fix(migrate-dialog): Fix Migrate Manga dialog won't show the second time (#1409)

Also handle the case migrate-dialog keeps loading forever in case of exception
This commit is contained in:
Cuong-Tran 2025-12-17 12:00:00 +07:00
parent e79b3f97f4
commit b28778221e

View file

@ -159,6 +159,7 @@ private class MigrateDialogScreenModel(
target = target, target = target,
applicableFlags = applicableFlags, applicableFlags = applicableFlags,
selectedFlags = selectedFlags, selectedFlags = selectedFlags,
isMigrated = false,
) )
} }
} }
@ -180,8 +181,14 @@ private class MigrateDialogScreenModel(
// sourcePreference.migrationFlags().set(state.selectedFlags) // sourcePreference.migrationFlags().set(state.selectedFlags)
// KMK <-- // KMK <--
mutableState.update { it.copy(isMigrating = true) } mutableState.update { it.copy(isMigrating = true) }
migrateManga(current, target, replace, /* KMK --> */ state.selectedFlags /* KMK <-- */) try {
mutableState.update { it.copy(isMigrating = false, isMigrated = true) } migrateManga(current, target, replace, /* KMK --> */ state.selectedFlags /* KMK <-- */)
mutableState.update { it.copy(isMigrating = false, isMigrated = true) }
// KMK -->
} catch (_: Throwable) {
mutableState.update { it.copy(isMigrating = false, isMigrated = false) }
// KMK <--
}
} }
data class State( data class State(