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))
}