From 31b831c3db78e4dc3356f0a50ac7410a7b312303 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Tue, 21 Mar 2023 19:58:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/base/BaseDialogFragment.kt | 3 ++ .../app/ui/document/HandleFileActivity.kt | 37 ++++++++++++------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/io/legado/app/base/BaseDialogFragment.kt b/app/src/main/java/io/legado/app/base/BaseDialogFragment.kt index 3df39f3f2..8bf17aecd 100644 --- a/app/src/main/java/io/legado/app/base/BaseDialogFragment.kt +++ b/app/src/main/java/io/legado/app/base/BaseDialogFragment.kt @@ -8,6 +8,7 @@ import androidx.annotation.LayoutRes import androidx.fragment.app.DialogFragment import androidx.fragment.app.FragmentManager import io.legado.app.R +import io.legado.app.constant.AppLog import io.legado.app.help.coroutine.Coroutine import io.legado.app.lib.theme.ThemeStore import kotlinx.coroutines.CoroutineScope @@ -54,6 +55,8 @@ abstract class BaseDialogFragment( //在每个add事务前增加一个remove事务,防止连续的add manager.beginTransaction().remove(this).commit() super.show(manager, tag) + }.onFailure { + AppLog.put("显示对话框失败 tag:$tag", it) } } diff --git a/app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt b/app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt index 761ebc90f..f3cd62fbb 100644 --- a/app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt +++ b/app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt @@ -6,6 +6,7 @@ import android.os.Bundle import android.webkit.MimeTypeMap import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.viewModels +import androidx.lifecycle.lifecycleScope import io.legado.app.R import io.legado.app.base.VMBaseActivity import io.legado.app.constant.AppConst @@ -104,24 +105,32 @@ class HandleFileActivity : }.onFailure { AppLog.put(getString(R.string.open_sys_dir_picker_error), it) toastOnUi(R.string.open_sys_dir_picker_error) - FilePickerDialog.show( - supportFragmentManager, - mode = HandleFileContract.FILE, - allowExtensions = allowExtensions - ) + checkPermissions { + FilePickerDialog.show( + supportFragmentManager, + mode = HandleFileContract.FILE, + allowExtensions = allowExtensions + ) + } } 10 -> checkPermissions { - FilePickerDialog.show( - supportFragmentManager, - mode = HandleFileContract.DIR - ) + @Suppress("DEPRECATION") + lifecycleScope.launchWhenResumed { + FilePickerDialog.show( + supportFragmentManager, + mode = HandleFileContract.DIR + ) + } } 11 -> checkPermissions { - FilePickerDialog.show( - supportFragmentManager, - mode = HandleFileContract.FILE, - allowExtensions = allowExtensions - ) + @Suppress("DEPRECATION") + lifecycleScope.launchWhenResumed { + FilePickerDialog.show( + supportFragmentManager, + mode = HandleFileContract.FILE, + allowExtensions = allowExtensions + ) + } } 111 -> getFileData()?.let { viewModel.upload(it.first, it.second, it.third) { url -> From c41f44123c2eb107f6a4925aa69f79ab2888c32a Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Tue, 21 Mar 2023 21:10:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/ui/document/HandleFileActivity.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt b/app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt index f3cd62fbb..34c125515 100644 --- a/app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt +++ b/app/src/main/java/io/legado/app/ui/document/HandleFileActivity.kt @@ -26,9 +26,8 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding import java.io.File class HandleFileActivity : - VMBaseActivity( - theme = Theme.Transparent - ), FilePickerDialog.CallBack { + VMBaseActivity(), + FilePickerDialog.CallBack { override val binding by viewBinding(ActivityTranslucenceBinding::inflate) override val viewModel by viewModels()