修复恢复报错bug

pull/302/head
gedoor 5 years ago
parent 775ddbcf25
commit e5c336ee29
  1. 8
      app/src/main/java/io/legado/app/help/storage/WebDavHelp.kt
  2. 7
      app/src/main/java/io/legado/app/ui/config/BackupRestoreUi.kt

@ -70,7 +70,7 @@ object WebDavHelp {
return names return names
} }
suspend fun showRestoreDialog(context: Context, restoreSuccess: () -> Unit): Boolean { suspend fun showRestoreDialog(context: Context): Boolean {
val names = withContext(IO) { getWebDavFileNames() } val names = withContext(IO) { getWebDavFileNames() }
return if (names.isNotEmpty()) { return if (names.isNotEmpty()) {
withContext(Main) { withContext(Main) {
@ -79,7 +79,7 @@ object WebDavHelp {
items = names items = names
) { _, index -> ) { _, index ->
if (index in 0 until names.size) { if (index in 0 until names.size) {
restoreWebDav(names[index], restoreSuccess) restoreWebDav(names[index])
} }
} }
} }
@ -89,7 +89,7 @@ object WebDavHelp {
} }
} }
private fun restoreWebDav(name: String, success: () -> Unit) { private fun restoreWebDav(name: String) {
Coroutine.async { Coroutine.async {
rootWebDavUrl.let { rootWebDavUrl.let {
if (name == SyncBookProgress.fileName) { if (name == SyncBookProgress.fileName) {
@ -103,8 +103,6 @@ object WebDavHelp {
Restore.restoreConfig() Restore.restoreConfig()
} }
} }
}.onSuccess {
success.invoke()
}.onError { }.onError {
App.INSTANCE.toast("WebDavError:${it.localizedMessage}") App.INSTANCE.toast("WebDavError:${it.localizedMessage}")
} }

@ -77,9 +77,8 @@ object BackupRestoreUi {
fun restore(fragment: Fragment) { fun restore(fragment: Fragment) {
Coroutine.async(context = Main) { Coroutine.async(context = Main) {
if (!WebDavHelp.showRestoreDialog(fragment.requireContext()) { val restoreFromWebDav = WebDavHelp.showRestoreDialog(fragment.requireContext())
fragment.toast(R.string.restore_success) if (!restoreFromWebDav) {
}) {
val backupPath = fragment.getPrefString(PreferKey.backupPath) val backupPath = fragment.getPrefString(PreferKey.backupPath)
if (backupPath?.isNotEmpty() == true) { if (backupPath?.isNotEmpty() == true) {
if (backupPath.isContentPath()) { if (backupPath.isContentPath()) {
@ -113,8 +112,6 @@ object BackupRestoreUi {
AppConfig.backupPath = path AppConfig.backupPath = path
Restore.restoreDatabase(path) Restore.restoreDatabase(path)
Restore.restoreConfig(path) Restore.restoreConfig(path)
}.onSuccess {
fragment.toast(R.string.restore_success)
} }
} }
.request() .request()

Loading…
Cancel
Save