From 2ab82ffae343795196cf92bcff63149b30cb42a3 Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Tue, 04 Nov 2025 14:30:55 +0000
Subject: [PATCH] uri改回 path

---
 libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt |   43 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt b/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt
index 066c538..eceeb09 100644
--- a/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt
+++ b/libmvi/src/main/java/com/runt/open/mvi/base/BaseActivity.kt
@@ -40,6 +40,7 @@
 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
@@ -101,6 +102,36 @@
         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()
@@ -178,7 +209,7 @@
 
         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需要申请权限 //是否有所有问读写权限
@@ -194,7 +225,7 @@
         }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)
@@ -202,7 +233,7 @@
     }
 
     @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>>){
@@ -412,7 +443,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 = "";
@@ -438,10 +469,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)
                     }

--
Gitblit v1.9.1