diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvents.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvent.kt similarity index 90% rename from appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvents.kt rename to appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvent.kt index 66fffce9e8..34ba2e6460 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvents.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInEvent.kt @@ -8,11 +8,11 @@ package io.element.android.appnav.loggedin -sealed interface LoggedInEvents { - data class CloseErrorDialog(val doNotShowAgain: Boolean) : LoggedInEvents - data object CheckSlidingSyncProxyAvailability : LoggedInEvents - data object LogoutAndMigrateToNativeSlidingSync : LoggedInEvents - data object DismissLocalNetworkPermissionPrompt : LoggedInEvents +sealed interface LoggedInEvent { + data class CloseErrorDialog(val doNotShowAgain: Boolean) : LoggedInEvent + data object CheckSlidingSyncProxyAvailability : LoggedInEvent + data object LogoutAndMigrateToNativeSlidingSync : LoggedInEvent + data object DismissLocalNetworkPermissionPrompt : LoggedInEvent - data object RequestLocationNetworkPermission : LoggedInEvents + data object RequestLocationNetworkPermission : LoggedInEvent } diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt index 5cd3efa801..f6faee0acf 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInPresenter.kt @@ -149,9 +149,9 @@ class LoggedInPresenter( else -> LocalNetworkPermissionDialog.Settings } - fun handleEvent(event: LoggedInEvents) { + fun handleEvent(event: LoggedInEvent) { when (event) { - is LoggedInEvents.CloseErrorDialog -> { + is LoggedInEvent.CloseErrorDialog -> { pusherRegistrationState.value = AsyncData.Uninitialized if (event.doNotShowAgain) { coroutineScope.launch { @@ -159,17 +159,17 @@ class LoggedInPresenter( } } } - LoggedInEvents.CheckSlidingSyncProxyAvailability -> coroutineScope.launch { + LoggedInEvent.CheckSlidingSyncProxyAvailability -> coroutineScope.launch { forceNativeSlidingSyncMigration = matrixClient.needsForcedNativeSlidingSyncMigration().getOrDefault(false) } - LoggedInEvents.LogoutAndMigrateToNativeSlidingSync -> coroutineScope.launch { + LoggedInEvent.LogoutAndMigrateToNativeSlidingSync -> coroutineScope.launch { // Force the logout since Native Sliding Sync is already enforced by the SDK matrixClient.logout(userInitiated = true, ignoreSdkError = true) } - LoggedInEvents.DismissLocalNetworkPermissionPrompt -> { + LoggedInEvent.DismissLocalNetworkPermissionPrompt -> { localNetworkPromptDismissedThisSession = true } - LoggedInEvents.RequestLocationNetworkPermission -> { + LoggedInEvent.RequestLocationNetworkPermission -> { if (localNetworkPermissionDialog == LocalNetworkPermissionDialog.Settings) { localNetworkPermissionState.eventSink(PermissionsEvent.OpenSystemSettingAndCloseDialog) } else { diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInState.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInState.kt index edc12383bf..33499341e7 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInState.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInState.kt @@ -18,5 +18,5 @@ data class LoggedInState( val forceNativeSlidingSyncMigration: Boolean, val appName: String, val localNetworkPermissionDialog: LocalNetworkPermissionDialog, - val eventSink: (LoggedInEvents) -> Unit, + val eventSink: (LoggedInEvent) -> Unit, ) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt index 7e607e7d92..060a24855a 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/loggedin/LoggedInView.kt @@ -37,7 +37,7 @@ fun LoggedInView( ) { OnLifecycleEvent { _, event -> if (event == Lifecycle.Event.ON_RESUME) { - state.eventSink(LoggedInEvents.CheckSlidingSyncProxyAvailability) + state.eventSink(LoggedInEvent.CheckSlidingSyncProxyAvailability) } } Box( @@ -63,10 +63,10 @@ fun LoggedInView( content = stringResource(id = CommonStrings.common_error_registering_pusher_android, reason), cancelText = stringResource(id = CommonStrings.common_settings), onDismiss = { - state.eventSink(LoggedInEvents.CloseErrorDialog(it)) + state.eventSink(LoggedInEvent.CloseErrorDialog(it)) }, onCancel = { - state.eventSink(LoggedInEvents.CloseErrorDialog(false)) + state.eventSink(LoggedInEvent.CloseErrorDialog(false)) navigateToNotificationTroubleshoot() } ) @@ -79,15 +79,15 @@ fun LoggedInView( ForceNativeSlidingSyncMigrationDialog( appName = state.appName, onSubmit = { - state.eventSink(LoggedInEvents.LogoutAndMigrateToNativeSlidingSync) + state.eventSink(LoggedInEvent.LogoutAndMigrateToNativeSlidingSync) } ) } LocalNetworkPermissionDialogView( dialog = state.localNetworkPermissionDialog, - onSubmit = { state.eventSink(LoggedInEvents.RequestLocationNetworkPermission) }, - onDismiss = { state.eventSink(LoggedInEvents.DismissLocalNetworkPermissionPrompt) }, + onSubmit = { state.eventSink(LoggedInEvent.RequestLocationNetworkPermission) }, + onDismiss = { state.eventSink(LoggedInEvent.DismissLocalNetworkPermissionPrompt) }, ) } diff --git a/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt b/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt index 0e2d459d1e..f85d35bbb5 100644 --- a/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt +++ b/appnav/src/test/kotlin/io/element/android/appnav/loggedin/LoggedInPresenterTest.kt @@ -210,7 +210,7 @@ class LoggedInPresenterTest { lambda.assertions() .isCalledOnce() // Reset the error and do not show again - finalState.eventSink(LoggedInEvents.CloseErrorDialog(doNotShowAgain = false)) + finalState.eventSink(LoggedInEvent.CloseErrorDialog(doNotShowAgain = false)) val lastState = awaitItem() assertThat(lastState.pusherRegistrationState.isUninitialized()).isTrue() assertThat(lastState.ignoreRegistrationError).isFalse() @@ -240,7 +240,7 @@ class LoggedInPresenterTest { lambda.assertions() .isCalledOnce() // Reset the error and do not show again - finalState.eventSink(LoggedInEvents.CloseErrorDialog(doNotShowAgain = true)) + finalState.eventSink(LoggedInEvent.CloseErrorDialog(doNotShowAgain = true)) skipItems(1) setIgnoreRegistrationErrorLambda.assertions() .isCalledOnce() @@ -296,7 +296,7 @@ class LoggedInPresenterTest { ).test { val initialState = awaitItem() assertThat(initialState.forceNativeSlidingSyncMigration).isFalse() - initialState.eventSink(LoggedInEvents.CheckSlidingSyncProxyAvailability) + initialState.eventSink(LoggedInEvent.CheckSlidingSyncProxyAvailability) assertThat(awaitItem().forceNativeSlidingSyncMigration).isTrue() } } @@ -318,7 +318,7 @@ class LoggedInPresenterTest { ).test { val initialState = awaitItem() - initialState.eventSink(LoggedInEvents.LogoutAndMigrateToNativeSlidingSync) + initialState.eventSink(LoggedInEvent.LogoutAndMigrateToNativeSlidingSync) advanceUntilIdle()