| | |
| | | import com.runt.open.mvi.R |
| | | import com.runt.open.mvi.base.model.BaseViewModel |
| | | import com.runt.open.mvi.base.model.ViewModelFactory |
| | | import com.runt.open.mvi.utils.FileUtils |
| | | import com.runt.open.mvi.utils.PreferencesUtils |
| | | import java.io.File |
| | | import java.lang.reflect.ParameterizedType |
| | |
| | | initViews() //初始化UI |
| | | mViewModel!!.onCreate(this as BaseActivity<LayoutView<BaseViewModel> , BaseViewModel>) |
| | | loadData() //加载数据 |
| | | } |
| | | |
| | | override fun onPause() { |
| | | super.onPause() |
| | | mViewModel!!.onPause() |
| | | Log.i(TAG , "onPause: ") |
| | | } |
| | | |
| | | override fun onResume() { |
| | | super.onResume() |
| | | mViewModel!!.onResume() |
| | | Log.i(TAG , "onResume: ") |
| | | } |
| | | |
| | | override fun onStart() { |
| | | super.onStart() |
| | | mViewModel!!.onStart() |
| | | Log.i(TAG , "onStart: ") |
| | | } |
| | | |
| | | override fun onStop() { |
| | | super.onStop() |
| | | mViewModel!!.onStop() |
| | | Log.i(TAG , "onStop: ") |
| | | } |
| | | |
| | | override fun onDestroy() { |
| | | super.onDestroy() |
| | | mViewModel!!.onDestroy() |
| | | Log.i(TAG , "onDestroy: ") |
| | | } |
| | | |
| | | abstract fun init() |
| | |
| | | |
| | | val cR : ContentResolver = getContentResolver() |
| | | val mime = MimeTypeMap.getSingleton() |
| | | var filePath = mViewModel!!.getFilePathFromUri(fileUriList.get(0)!!); |
| | | var filePath = FileUtils.getFilePathFromUri(fileUriList.get(0)!!); |
| | | //文件不存在或读写权限受限 |
| | | if(filePath == null){ |
| | | //android 11需要申请权限 //是否有所有问读写权限 |
| | |
| | | }else{ |
| | | var filePathes = ArrayList<String>() |
| | | for (i in 0 until fileUriList.size) { |
| | | var filePath = mViewModel!!.getFilePathFromUri(fileUriList.get(i)!!); |
| | | var filePath = FileUtils.getFilePathFromUri(fileUriList.get(i)!!); |
| | | filePathes.add(filePath!!) |
| | | } |
| | | requestFileResult?.onChanged(filePathes) |
| | |
| | | } |
| | | |
| | | @Retention(AnnotationRetention.SOURCE) |
| | | @StringDef(Manifest.permission.READ_MEDIA_VIDEO, Manifest.permission.READ_MEDIA_AUDIO, Manifest.permission.READ_MEDIA_IMAGES) |
| | | @StringDef(Manifest.permission.READ_MEDIA_VIDEO, Manifest.permission.READ_MEDIA_AUDIO, Manifest.permission.READ_MEDIA_IMAGES,Manifest.permission.READ_EXTERNAL_STORAGE) |
| | | annotation class ManifestType |
| | | |
| | | fun requestFile(@ManifestType fileType :String,maxCount:Int = 1,fileResult:Observer<List<String>>){ |
| | |
| | | for (permission in list) { |
| | | if (ContextCompat.checkSelfPermission(this , permission) != PackageManager.PERMISSION_GRANTED) { |
| | | allGranted = false |
| | | if (showPop) { |
| | | if (showPop && !allGranted) { |
| | | // TODO: |
| | | var title = "" |
| | | var message = ""; |
| | |
| | | }*/else if(permissions.contains(Manifest.permission.READ_MEDIA_AUDIO)){ |
| | | title = "申请音频文件权限"; |
| | | message = " 通过音频文件权限后,可将音频文件的声音添加到直播中的音频流中" |
| | | }/*else if(permissions.contains(Manifest.permission.POST_NOTIFICATIONS)){ |
| | | }else if(permissions.contains(Manifest.permission.POST_NOTIFICATIONS)){ |
| | | title = "申请通知栏权限"; |
| | | message = "通过通知栏权限后,可开启后台服务,保证相机、话筒、截屏、扬声器等功能不被系统终止" |
| | | }*/ |
| | | } |
| | | if(!TextUtils.isEmpty(title)){ |
| | | mViewModel!!.showPopupWindow(title = title, message = message) |
| | | } |