mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-03-01 14:16:49 +00:00
Fix incorrect backup passphrase error toast not showing.
This commit is contained in:
@@ -93,12 +93,11 @@ class RestoreLocalBackupFragment : LoggingFragment(R.layout.fragment_restore_loc
|
||||
}
|
||||
}
|
||||
|
||||
restoreLocalBackupViewModel.backupComplete.observe(viewLifecycleOwner) {
|
||||
if (it.first) {
|
||||
val importResult = it.second
|
||||
if (importResult == null) {
|
||||
onBackupCompletedSuccessfully()
|
||||
} else {
|
||||
restoreLocalBackupViewModel.importResult.observe(viewLifecycleOwner) { importResult ->
|
||||
when (importResult) {
|
||||
null -> Unit
|
||||
RestoreRepository.BackupImportResult.SUCCESS -> onBackupCompletedSuccessfully()
|
||||
else -> {
|
||||
handleBackupImportError(importResult)
|
||||
restoreLocalBackupViewModel.backupImportErrorShown()
|
||||
}
|
||||
@@ -151,14 +150,17 @@ class RestoreLocalBackupFragment : LoggingFragment(R.layout.fragment_restore_loc
|
||||
Log.i(TAG, "Notifying user of restore failure due to version downgrade.")
|
||||
Toast.makeText(requireContext(), R.string.RegistrationActivity_backup_failure_downgrade, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
RestoreRepository.BackupImportResult.FAILURE_FOREIGN_KEY -> {
|
||||
Log.i(TAG, "Notifying user of restore failure due to foreign key.")
|
||||
Toast.makeText(requireContext(), R.string.RegistrationActivity_backup_failure_foreign_key, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
RestoreRepository.BackupImportResult.FAILURE_UNKNOWN -> {
|
||||
Log.i(TAG, "Notifying user of restore failure due to incorrect passphrase.")
|
||||
Toast.makeText(requireContext(), R.string.RegistrationActivity_incorrect_backup_passphrase, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
RestoreRepository.BackupImportResult.SUCCESS -> {
|
||||
Log.w(TAG, "Successful backup import should not be handled in this function.", IllegalStateException())
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ data class RestoreLocalBackupState(
|
||||
val backupVerifyingInProgress: Boolean = false,
|
||||
val backupProgressCount: Long = -1,
|
||||
val backupEstimatedTotalCount: Long = -1,
|
||||
val backupRestoreComplete: Boolean = false,
|
||||
val backupImportResult: RestoreRepository.BackupImportResult? = null,
|
||||
val abort: Boolean = false
|
||||
)
|
||||
|
||||
@@ -30,7 +30,7 @@ class RestoreLocalBackupViewModel(fileBackupUri: Uri) : ViewModel() {
|
||||
|
||||
val backupReadError = store.map { it.backupFileStateError }.asLiveData()
|
||||
|
||||
val backupComplete = store.map { Pair(it.backupRestoreComplete, it.backupImportResult) }.asLiveData()
|
||||
val importResult = store.map { it.backupImportResult }.asLiveData()
|
||||
|
||||
fun prepareRestore(context: Context) {
|
||||
val backupFileUri = store.value.uri
|
||||
@@ -99,9 +99,8 @@ class RestoreLocalBackupViewModel(fileBackupUri: Uri) : ViewModel() {
|
||||
|
||||
store.update {
|
||||
it.copy(
|
||||
backupImportResult = if (importResult == RestoreRepository.BackupImportResult.SUCCESS) null else importResult,
|
||||
backupImportResult = importResult,
|
||||
restoreInProgress = false,
|
||||
backupRestoreComplete = importResult == RestoreRepository.BackupImportResult.SUCCESS,
|
||||
backupEstimatedTotalCount = -1L,
|
||||
backupProgressCount = -1L,
|
||||
backupVerifyingInProgress = false
|
||||
|
||||
Reference in New Issue
Block a user