Don't display security banner for unknown RecoveryState (#3579)

* Don't display security banner for unknown `RecoveryState`

* Don't display 'set up recovery' if its status is unknown.

Add more screenshot tests.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
Jorge Martin Espinosa 2024-10-02 11:28:33 +02:00 committed by GitHub
parent 729334ba4d
commit f344a1282c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 76 additions and 39 deletions

View file

@ -186,9 +186,9 @@ class RoomListPresenter @Inject constructor(
currentSecurityBannerDismissed -> SecurityBannerState.None
syncState == SyncState.Running -> {
when (recoveryState) {
RecoveryState.UNKNOWN,
RecoveryState.DISABLED -> SecurityBannerState.SetUpRecovery
RecoveryState.INCOMPLETE -> SecurityBannerState.RecoveryKeyConfirmation
RecoveryState.UNKNOWN,
RecoveryState.WAITING_FOR_SYNC,
RecoveryState.ENABLED -> SecurityBannerState.None
}

View file

@ -236,7 +236,9 @@ class RoomListPresenterTest {
@Test
fun `present - handle DismissRecoveryKeyPrompt`() = runTest {
val encryptionService = FakeEncryptionService()
val encryptionService = FakeEncryptionService().apply {
recoveryStateStateFlow.emit(RecoveryState.DISABLED)
}
val roomListService = FakeRoomListService().apply {
postAllRoomsLoadingState(RoomList.LoadingState.Loaded(1))
}

View file

@ -20,6 +20,11 @@ open class SecureBackupRootStateProvider : PreviewParameterProvider<SecureBackup
aSecureBackupRootState(backupState = BackupState.UNKNOWN, doesBackupExistOnServer = AsyncData.Success(true)),
aSecureBackupRootState(backupState = BackupState.UNKNOWN, doesBackupExistOnServer = AsyncData.Success(false)),
aSecureBackupRootState(backupState = BackupState.UNKNOWN, doesBackupExistOnServer = AsyncData.Failure(Exception("An error"))),
aSecureBackupRootState(backupState = BackupState.WAITING_FOR_SYNC),
aSecureBackupRootState(backupState = BackupState.CREATING),
aSecureBackupRootState(backupState = BackupState.RESUMING),
aSecureBackupRootState(backupState = BackupState.DOWNLOADING),
aSecureBackupRootState(backupState = BackupState.DISABLING),
aSecureBackupRootState(backupState = BackupState.ENABLED),
aSecureBackupRootState(recoveryState = RecoveryState.UNKNOWN),
aSecureBackupRootState(recoveryState = RecoveryState.ENABLED),

View file

@ -143,8 +143,8 @@ fun SecureBackupRootView(
// Setup recovery
when (state.recoveryState) {
RecoveryState.WAITING_FOR_SYNC -> Unit
RecoveryState.UNKNOWN,
RecoveryState.WAITING_FOR_SYNC -> Unit
RecoveryState.DISABLED -> {
PreferenceText(
title = stringResource(id = R.string.screen_chat_backup_recovery_action_setup),

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0
size 39222
oid sha256:a202e12e176f62f47fbb44b3191b869a0a2377785da0e840e6d76c434f83a33c
size 20811

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a202e12e176f62f47fbb44b3191b869a0a2377785da0e840e6d76c434f83a33c
size 20811

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3728049139125f924a03e60cdc7afd40b8a4a780dc75141132deff2494319ae1
size 24834

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0
size 39222

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:487d6f57e9a2692c92b7398738861f4f2ec34e47093e1f0bcf922036078f4814
size 29427

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ab05233b230d48117469cb1dfc8f3b1599d9a4202692a764ac85095a1ceb354b
size 40230
oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a
size 21828

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c1e7eb64596e452ae9c3e0c43be7206d2283e79f055d0b70cbe7c0060b4f105
size 40201
oid sha256:331c84158362c6b187817f869b116cbddd5cd649cadcd77838dbf597c2307ede
size 21787

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce693dacc67c3e131e2ce18f66814aa26a49c213d77181e025e57c7b5ab89657
size 45699
oid sha256:3bb3fe56b0aa449bb685f04dd536e72a9e74c35b9c352685e90c562dc08b405a
size 26549

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ab05233b230d48117469cb1dfc8f3b1599d9a4202692a764ac85095a1ceb354b
size 40230
oid sha256:5dc2e635fd87eca043ef02138704c0df3a088d3c1bf5deb0600c79e99f87f4dc
size 19174

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0
size 39222
oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a
size 21828

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3728049139125f924a03e60cdc7afd40b8a4a780dc75141132deff2494319ae1
size 24834
oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a
size 21828

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0
size 39222
oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a
size 21828

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:487d6f57e9a2692c92b7398738861f4f2ec34e47093e1f0bcf922036078f4814
size 29427
oid sha256:272d02d5baf278e6d21b0f7bc468528aa9df7255729dae2a3fadbd04c4838f9e
size 20810

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a
size 21828

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12
size 38423
oid sha256:1b7c8180e8d0c43ee3b1a9eaeab5f7d0e902ab040bc3bc90cb4c5ba6888a024c
size 20330

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b7c8180e8d0c43ee3b1a9eaeab5f7d0e902ab040bc3bc90cb4c5ba6888a024c
size 20330

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:912d13b5103bafc4c8698e905f141aed8232d6a8b671031634276e74a8a413ad
size 24378

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12
size 38423

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f13b6aeb9c6a72a04102334a818c215d687bfa75b73e23e0a7cffd1b8a117ed2
size 28672

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:daace1b22edaf57b2640087261a27ceccaebca8e3e5f14d4ac3b889a04b82f5e
size 39365
oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06
size 21280

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b692fa22a39a61d145ba3d65111e775d80f1efb31efeb7995356489afc0bf156
size 39312
oid sha256:c9e3732d11921769aad90dd29a4e676079be7a3cdbe2381222c3f196a8567f9e
size 21230

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5aa1078680c90bd27b4ebb72c3359e923b49f1b444a813c4e08e967fc234fe2a
size 44835
oid sha256:6addb08090717d2f70fd59636861374e19ea3d9074e204108cbdb89a3d1733e9
size 26081

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:daace1b22edaf57b2640087261a27ceccaebca8e3e5f14d4ac3b889a04b82f5e
size 39365
oid sha256:a53a5892a85f6ac4c1dd0c5052f3e16c17b81344cef07efefc694a9615b16d57
size 18729

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12
size 38423
oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06
size 21280

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:912d13b5103bafc4c8698e905f141aed8232d6a8b671031634276e74a8a413ad
size 24378
oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06
size 21280

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12
size 38423
oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06
size 21280

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f13b6aeb9c6a72a04102334a818c215d687bfa75b73e23e0a7cffd1b8a117ed2
size 28672
oid sha256:30ce4665555f92354269d2cb7d6076dc3a5780b122ca0a613d71023b45a696c5
size 20330

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06
size 21280