Commit 2704cd67 authored by wanglei's avatar wanglei

...

parent 44bc2714
...@@ -24,7 +24,9 @@ import com.base.browserwhite.utils.MediaStoreUtils.getMediaApkCountSize ...@@ -24,7 +24,9 @@ import com.base.browserwhite.utils.MediaStoreUtils.getMediaApkCountSize
import com.base.browserwhite.utils.MediaStoreUtils.getMediaAudioCountSize import com.base.browserwhite.utils.MediaStoreUtils.getMediaAudioCountSize
import com.base.browserwhite.utils.MediaStoreUtils.getMediaDocumentCountSize import com.base.browserwhite.utils.MediaStoreUtils.getMediaDocumentCountSize
import com.base.browserwhite.utils.MediaStoreUtils.getMediaFile import com.base.browserwhite.utils.MediaStoreUtils.getMediaFile
import com.base.browserwhite.utils.MediaStoreUtils.getMediaPhoto
import com.base.browserwhite.utils.MediaStoreUtils.getMediaPhotoCountSize import com.base.browserwhite.utils.MediaStoreUtils.getMediaPhotoCountSize
import com.base.browserwhite.utils.MediaStoreUtils.getMediaVideo
import com.base.browserwhite.utils.MediaStoreUtils.getMediaVideoCountSize import com.base.browserwhite.utils.MediaStoreUtils.getMediaVideoCountSize
import com.base.browserwhite.utils.MediaStoreUtils.getMediaZipCountSize import com.base.browserwhite.utils.MediaStoreUtils.getMediaZipCountSize
import com.base.browserwhite.utils.PermissionUtils.checkStorePermission import com.base.browserwhite.utils.PermissionUtils.checkStorePermission
...@@ -269,15 +271,20 @@ class FileFragment : BaseFragment<FragmentFileBinding>() { ...@@ -269,15 +271,20 @@ class FileFragment : BaseFragment<FragmentFileBinding>() {
} }
private var mediaLoaded: Boolean = false
private fun initMediaData() { private fun initMediaData() {
// 确保 Fragment 已经附加到 Activity // 确保 Fragment 已经附加到 Activity
if (!isAdded) { if (!isAdded || mediaLoaded) {
return return
} }
// 在新的线程中加载媒体文件列表 // 在新的线程中加载媒体文件列表
Thread { Thread {
val list = requireContext().getMediaFile().filter { val allList = arrayListOf<MediaBean>()
allList.addAll(requireContext().getMediaPhoto())
allList.addAll(requireContext().getMediaVideo())
allList.addAll(requireContext().getMediaFile())
allList.filter {
val file = File(it.path) val file = File(it.path)
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
true true
...@@ -288,10 +295,11 @@ class FileFragment : BaseFragment<FragmentFileBinding>() { ...@@ -288,10 +295,11 @@ class FileFragment : BaseFragment<FragmentFileBinding>() {
// 回到主线程更新 UI // 回到主线程更新 UI
activity?.runOnUiThread { activity?.runOnUiThread {
if (list.isEmpty()) { if (allList.isEmpty()) {
binding.tvTitleRecent.visibility = View.GONE binding.tvTitleRecent.visibility = View.GONE
} }
adapter.setData(list) adapter.setData(allList)
mediaLoaded = true
} }
}.start() }.start()
} }
......
...@@ -172,7 +172,7 @@ object MediaStoreUtils { ...@@ -172,7 +172,7 @@ object MediaStoreUtils {
val id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)) val id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID))
val uri = Uri.withAppendedPath(baseUri, id.toString()) val uri = Uri.withAppendedPath(baseUri, id.toString())
val path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA)) val path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA))
list.add(MediaBean(path = path, uri = uri)) list.add(MediaBean(path = path, uri = uri, mimeType = "image/*"))
} }
} }
} catch (e: Exception) { } catch (e: Exception) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment