Runt
2025-11-04 8b3df98765851e5b6a7f88548330297b34fa1eeb
libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt
@@ -65,7 +65,7 @@
    val PARAMS_TITLE = "title"
    private var requestFileResult:Observer<List<String>>? = null;
    private var requestFileResult:Observer<List<Uri>>? = null;
    private var fileLauncher : ActivityResultLauncher<Intent>? = null //选择文件
    private var multipleFileLauncher : ActivityResultLauncher<Array<String>>? = null //选择文件
@@ -223,20 +223,15 @@
            }
            requestFileResult?.onChanged(ArrayList())
        }else{
            var filePathes = ArrayList<String>()
            for (i in 0 until fileUriList.size) {
                var filePath = FileUtils.getFilePathFromUri(fileUriList.get(i)!!);
                filePathes.add(filePath!!)
            }
            requestFileResult?.onChanged(filePathes)
            requestFileResult?.onChanged(fileUriList)
        }
    }
    @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>>){
    fun requestFile(@ManifestType fileType :String,maxCount:Int = 1,fileResult:Observer<List<Uri>>){
        requestFileResult = fileResult;
        var permissions  = "";
        //android 13 权限申请细化类型
@@ -443,7 +438,7 @@
        for (permission in list) {
            if (ContextCompat.checkSelfPermission(this , permission) != PackageManager.PERMISSION_GRANTED) {
                allGranted = false
                if (showPop) {
                if (showPop && !allGranted) {
                    // TODO:
                    var title = ""
                    var message = "";
@@ -469,10 +464,10 @@
                    }*/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)
                    }