mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-08-04 20:34:14 +01:00
Preserve storageCapable across restore progress emissions in local backup V1 restore.
This commit is contained in:
+7
-4
@@ -196,16 +196,18 @@ class LocalBackupRestoreViewModel(
|
||||
is LocalBackupRestoreProgress.Preparing -> LocalBackupRestoreState(
|
||||
restorePhase = LocalBackupRestoreState.RestorePhase.Preparing,
|
||||
aep = currentState.aep,
|
||||
v1Passphrase = currentState.v1Passphrase
|
||||
v1Passphrase = currentState.v1Passphrase,
|
||||
storageCapable = currentState.storageCapable
|
||||
)
|
||||
is LocalBackupRestoreProgress.InProgress -> LocalBackupRestoreState(
|
||||
restorePhase = LocalBackupRestoreState.RestorePhase.InProgress,
|
||||
progressFraction = progress.progressFraction,
|
||||
aep = currentState.aep,
|
||||
v1Passphrase = currentState.v1Passphrase
|
||||
v1Passphrase = currentState.v1Passphrase,
|
||||
storageCapable = currentState.storageCapable
|
||||
)
|
||||
is LocalBackupRestoreProgress.Complete -> {
|
||||
onRestoreComplete(_state.value.copy(aep = currentState.aep, v1Passphrase = currentState.v1Passphrase), progress)
|
||||
onRestoreComplete(_state.value.copy(aep = currentState.aep, v1Passphrase = currentState.v1Passphrase, storageCapable = currentState.storageCapable), progress)
|
||||
_state.value
|
||||
}
|
||||
is LocalBackupRestoreProgress.IncorrectCredential -> {
|
||||
@@ -218,7 +220,8 @@ class LocalBackupRestoreViewModel(
|
||||
restorePhase = LocalBackupRestoreState.RestorePhase.Error,
|
||||
errorMessage = progress.cause.message,
|
||||
aep = currentState.aep,
|
||||
v1Passphrase = currentState.v1Passphrase
|
||||
v1Passphrase = currentState.v1Passphrase,
|
||||
storageCapable = currentState.storageCapable
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+10
-2
@@ -302,7 +302,11 @@ class LocalBackupRestoreViewModelTest {
|
||||
)
|
||||
val initialState = LocalBackupRestoreState(backupInfo = backupInfo, selectedFolderUri = mockk())
|
||||
|
||||
every { mockRepository.restoreV1Backup(any(), any(), any()) } returns flowOf(LocalBackupRestoreProgress.Complete(restoredSvrPin = null, restoredProfileKey = null))
|
||||
every { mockRepository.restoreV1Backup(any(), any(), any()) } returns flowOf(
|
||||
LocalBackupRestoreProgress.Preparing,
|
||||
LocalBackupRestoreProgress.InProgress(bytesRead = 50, totalBytes = 100),
|
||||
LocalBackupRestoreProgress.Complete(restoredSvrPin = null, restoredProfileKey = null)
|
||||
)
|
||||
|
||||
viewModel.applyEvent(initialState, LocalBackupRestoreEvents.PassphraseSubmitted("passphrase"), stateEmitter)
|
||||
|
||||
@@ -326,7 +330,11 @@ class LocalBackupRestoreViewModelTest {
|
||||
)
|
||||
val initialState = LocalBackupRestoreState(backupInfo = backupInfo, selectedFolderUri = mockk())
|
||||
|
||||
every { mockRepository.restoreV1Backup(any(), any(), any()) } returns flowOf(LocalBackupRestoreProgress.Complete(restoredSvrPin = null, restoredProfileKey = null))
|
||||
every { mockRepository.restoreV1Backup(any(), any(), any()) } returns flowOf(
|
||||
LocalBackupRestoreProgress.Preparing,
|
||||
LocalBackupRestoreProgress.InProgress(bytesRead = 50, totalBytes = 100),
|
||||
LocalBackupRestoreProgress.Complete(restoredSvrPin = null, restoredProfileKey = null)
|
||||
)
|
||||
|
||||
viewModel.applyEvent(initialState, LocalBackupRestoreEvents.PassphraseSubmitted("passphrase"), stateEmitter)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user