fix: WebDAV错误触发的崩溃
This commit is contained in:
@@ -35,7 +35,6 @@ import io.legado.app.BuildConfig
|
|||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.base.BaseComposeActivity
|
import io.legado.app.base.BaseComposeActivity
|
||||||
import io.legado.app.constant.AppConst.appInfo
|
import io.legado.app.constant.AppConst.appInfo
|
||||||
import io.legado.app.constant.PreferKey
|
|
||||||
import io.legado.app.help.book.BookHelp
|
import io.legado.app.help.book.BookHelp
|
||||||
import io.legado.app.help.config.AppConfig
|
import io.legado.app.help.config.AppConfig
|
||||||
import io.legado.app.help.config.LocalConfig
|
import io.legado.app.help.config.LocalConfig
|
||||||
@@ -56,6 +55,7 @@ import io.legado.app.ui.widget.dialog.VariableDialog
|
|||||||
import io.legado.app.utils.LogUtils
|
import io.legado.app.utils.LogUtils
|
||||||
import io.legado.app.utils.showDialogFragment
|
import io.legado.app.utils.showDialogFragment
|
||||||
import io.legado.app.utils.startActivity
|
import io.legado.app.utils.startActivity
|
||||||
|
import kotlinx.coroutines.CancellationException
|
||||||
import kotlinx.coroutines.Dispatchers.IO
|
import kotlinx.coroutines.Dispatchers.IO
|
||||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -391,8 +391,13 @@ open class MainActivity : BaseComposeActivity(), VariableDialog.Callback {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
val lastBackupFile =
|
val lastBackupFile = try {
|
||||||
withContext(IO) { viewModel.getLatestWebDavBackup() } ?: return@launch
|
withContext(IO) { viewModel.getLatestWebDavBackup() }
|
||||||
|
} catch (error: CancellationException) {
|
||||||
|
throw error
|
||||||
|
} catch (_: Exception) {
|
||||||
|
return@launch
|
||||||
|
} ?: return@launch
|
||||||
if (lastBackupFile.lastModify - LocalConfig.lastBackup > DateUtils.MINUTE_IN_MILLIS) {
|
if (lastBackupFile.lastModify - LocalConfig.lastBackup > DateUtils.MINUTE_IN_MILLIS) {
|
||||||
LocalConfig.lastBackup = lastBackupFile.lastModify
|
LocalConfig.lastBackup = lastBackupFile.lastModify
|
||||||
alert(R.string.restore, R.string.webdav_after_local_restore_confirm) {
|
alert(R.string.restore, R.string.webdav_after_local_restore_confirm) {
|
||||||
|
|||||||
Reference in New Issue
Block a user