Merge remote-tracking branch 'origin/master'

This commit is contained in:
kunfei
2023-03-21 21:23:27 +08:00
2 changed files with 28 additions and 17 deletions
@@ -8,6 +8,7 @@ import androidx.annotation.LayoutRes
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import io.legado.app.R import io.legado.app.R
import io.legado.app.constant.AppLog
import io.legado.app.help.coroutine.Coroutine import io.legado.app.help.coroutine.Coroutine
import io.legado.app.lib.theme.ThemeStore import io.legado.app.lib.theme.ThemeStore
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
@@ -54,6 +55,8 @@ abstract class BaseDialogFragment(
//在每个add事务前增加一个remove事务,防止连续的add //在每个add事务前增加一个remove事务,防止连续的add
manager.beginTransaction().remove(this).commit() manager.beginTransaction().remove(this).commit()
super.show(manager, tag) super.show(manager, tag)
}.onFailure {
AppLog.put("显示对话框失败 tag:$tag", it)
} }
} }
@@ -6,6 +6,7 @@ import android.os.Bundle
import android.webkit.MimeTypeMap import android.webkit.MimeTypeMap
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.lifecycle.lifecycleScope
import io.legado.app.R import io.legado.app.R
import io.legado.app.base.VMBaseActivity import io.legado.app.base.VMBaseActivity
import io.legado.app.constant.AppConst import io.legado.app.constant.AppConst
@@ -25,9 +26,8 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
import java.io.File import java.io.File
class HandleFileActivity : class HandleFileActivity :
VMBaseActivity<ActivityTranslucenceBinding, HandleFileViewModel>( VMBaseActivity<ActivityTranslucenceBinding, HandleFileViewModel>(),
theme = Theme.Transparent FilePickerDialog.CallBack {
), FilePickerDialog.CallBack {
override val binding by viewBinding(ActivityTranslucenceBinding::inflate) override val binding by viewBinding(ActivityTranslucenceBinding::inflate)
override val viewModel by viewModels<HandleFileViewModel>() override val viewModel by viewModels<HandleFileViewModel>()
@@ -104,24 +104,32 @@ class HandleFileActivity :
}.onFailure { }.onFailure {
AppLog.put(getString(R.string.open_sys_dir_picker_error), it) AppLog.put(getString(R.string.open_sys_dir_picker_error), it)
toastOnUi(R.string.open_sys_dir_picker_error) toastOnUi(R.string.open_sys_dir_picker_error)
FilePickerDialog.show( checkPermissions {
supportFragmentManager, FilePickerDialog.show(
mode = HandleFileContract.FILE, supportFragmentManager,
allowExtensions = allowExtensions mode = HandleFileContract.FILE,
) allowExtensions = allowExtensions
)
}
} }
10 -> checkPermissions { 10 -> checkPermissions {
FilePickerDialog.show( @Suppress("DEPRECATION")
supportFragmentManager, lifecycleScope.launchWhenResumed {
mode = HandleFileContract.DIR FilePickerDialog.show(
) supportFragmentManager,
mode = HandleFileContract.DIR
)
}
} }
11 -> checkPermissions { 11 -> checkPermissions {
FilePickerDialog.show( @Suppress("DEPRECATION")
supportFragmentManager, lifecycleScope.launchWhenResumed {
mode = HandleFileContract.FILE, FilePickerDialog.show(
allowExtensions = allowExtensions supportFragmentManager,
) mode = HandleFileContract.FILE,
allowExtensions = allowExtensions
)
}
} }
111 -> getFileData()?.let { 111 -> getFileData()?.let {
viewModel.upload(it.first, it.second, it.third) { url -> viewModel.upload(it.first, it.second, it.third) { url ->