mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
LoggedInEvents -> LoggedInEvent
This commit is contained in:
+6
-6
@@ -8,11 +8,11 @@
|
|||||||
|
|
||||||
package io.element.android.appnav.loggedin
|
package io.element.android.appnav.loggedin
|
||||||
|
|
||||||
sealed interface LoggedInEvents {
|
sealed interface LoggedInEvent {
|
||||||
data class CloseErrorDialog(val doNotShowAgain: Boolean) : LoggedInEvents
|
data class CloseErrorDialog(val doNotShowAgain: Boolean) : LoggedInEvent
|
||||||
data object CheckSlidingSyncProxyAvailability : LoggedInEvents
|
data object CheckSlidingSyncProxyAvailability : LoggedInEvent
|
||||||
data object LogoutAndMigrateToNativeSlidingSync : LoggedInEvents
|
data object LogoutAndMigrateToNativeSlidingSync : LoggedInEvent
|
||||||
data object DismissLocalNetworkPermissionPrompt : LoggedInEvents
|
data object DismissLocalNetworkPermissionPrompt : LoggedInEvent
|
||||||
|
|
||||||
data object RequestLocationNetworkPermission : LoggedInEvents
|
data object RequestLocationNetworkPermission : LoggedInEvent
|
||||||
}
|
}
|
||||||
@@ -149,9 +149,9 @@ class LoggedInPresenter(
|
|||||||
else -> LocalNetworkPermissionDialog.Settings
|
else -> LocalNetworkPermissionDialog.Settings
|
||||||
}
|
}
|
||||||
|
|
||||||
fun handleEvent(event: LoggedInEvents) {
|
fun handleEvent(event: LoggedInEvent) {
|
||||||
when (event) {
|
when (event) {
|
||||||
is LoggedInEvents.CloseErrorDialog -> {
|
is LoggedInEvent.CloseErrorDialog -> {
|
||||||
pusherRegistrationState.value = AsyncData.Uninitialized
|
pusherRegistrationState.value = AsyncData.Uninitialized
|
||||||
if (event.doNotShowAgain) {
|
if (event.doNotShowAgain) {
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
@@ -159,17 +159,17 @@ class LoggedInPresenter(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LoggedInEvents.CheckSlidingSyncProxyAvailability -> coroutineScope.launch {
|
LoggedInEvent.CheckSlidingSyncProxyAvailability -> coroutineScope.launch {
|
||||||
forceNativeSlidingSyncMigration = matrixClient.needsForcedNativeSlidingSyncMigration().getOrDefault(false)
|
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
|
// Force the logout since Native Sliding Sync is already enforced by the SDK
|
||||||
matrixClient.logout(userInitiated = true, ignoreSdkError = true)
|
matrixClient.logout(userInitiated = true, ignoreSdkError = true)
|
||||||
}
|
}
|
||||||
LoggedInEvents.DismissLocalNetworkPermissionPrompt -> {
|
LoggedInEvent.DismissLocalNetworkPermissionPrompt -> {
|
||||||
localNetworkPromptDismissedThisSession = true
|
localNetworkPromptDismissedThisSession = true
|
||||||
}
|
}
|
||||||
LoggedInEvents.RequestLocationNetworkPermission -> {
|
LoggedInEvent.RequestLocationNetworkPermission -> {
|
||||||
if (localNetworkPermissionDialog == LocalNetworkPermissionDialog.Settings) {
|
if (localNetworkPermissionDialog == LocalNetworkPermissionDialog.Settings) {
|
||||||
localNetworkPermissionState.eventSink(PermissionsEvent.OpenSystemSettingAndCloseDialog)
|
localNetworkPermissionState.eventSink(PermissionsEvent.OpenSystemSettingAndCloseDialog)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -18,5 +18,5 @@ data class LoggedInState(
|
|||||||
val forceNativeSlidingSyncMigration: Boolean,
|
val forceNativeSlidingSyncMigration: Boolean,
|
||||||
val appName: String,
|
val appName: String,
|
||||||
val localNetworkPermissionDialog: LocalNetworkPermissionDialog,
|
val localNetworkPermissionDialog: LocalNetworkPermissionDialog,
|
||||||
val eventSink: (LoggedInEvents) -> Unit,
|
val eventSink: (LoggedInEvent) -> Unit,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ fun LoggedInView(
|
|||||||
) {
|
) {
|
||||||
OnLifecycleEvent { _, event ->
|
OnLifecycleEvent { _, event ->
|
||||||
if (event == Lifecycle.Event.ON_RESUME) {
|
if (event == Lifecycle.Event.ON_RESUME) {
|
||||||
state.eventSink(LoggedInEvents.CheckSlidingSyncProxyAvailability)
|
state.eventSink(LoggedInEvent.CheckSlidingSyncProxyAvailability)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Box(
|
Box(
|
||||||
@@ -63,10 +63,10 @@ fun LoggedInView(
|
|||||||
content = stringResource(id = CommonStrings.common_error_registering_pusher_android, reason),
|
content = stringResource(id = CommonStrings.common_error_registering_pusher_android, reason),
|
||||||
cancelText = stringResource(id = CommonStrings.common_settings),
|
cancelText = stringResource(id = CommonStrings.common_settings),
|
||||||
onDismiss = {
|
onDismiss = {
|
||||||
state.eventSink(LoggedInEvents.CloseErrorDialog(it))
|
state.eventSink(LoggedInEvent.CloseErrorDialog(it))
|
||||||
},
|
},
|
||||||
onCancel = {
|
onCancel = {
|
||||||
state.eventSink(LoggedInEvents.CloseErrorDialog(false))
|
state.eventSink(LoggedInEvent.CloseErrorDialog(false))
|
||||||
navigateToNotificationTroubleshoot()
|
navigateToNotificationTroubleshoot()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@@ -79,15 +79,15 @@ fun LoggedInView(
|
|||||||
ForceNativeSlidingSyncMigrationDialog(
|
ForceNativeSlidingSyncMigrationDialog(
|
||||||
appName = state.appName,
|
appName = state.appName,
|
||||||
onSubmit = {
|
onSubmit = {
|
||||||
state.eventSink(LoggedInEvents.LogoutAndMigrateToNativeSlidingSync)
|
state.eventSink(LoggedInEvent.LogoutAndMigrateToNativeSlidingSync)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
LocalNetworkPermissionDialogView(
|
LocalNetworkPermissionDialogView(
|
||||||
dialog = state.localNetworkPermissionDialog,
|
dialog = state.localNetworkPermissionDialog,
|
||||||
onSubmit = { state.eventSink(LoggedInEvents.RequestLocationNetworkPermission) },
|
onSubmit = { state.eventSink(LoggedInEvent.RequestLocationNetworkPermission) },
|
||||||
onDismiss = { state.eventSink(LoggedInEvents.DismissLocalNetworkPermissionPrompt) },
|
onDismiss = { state.eventSink(LoggedInEvent.DismissLocalNetworkPermissionPrompt) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ class LoggedInPresenterTest {
|
|||||||
lambda.assertions()
|
lambda.assertions()
|
||||||
.isCalledOnce()
|
.isCalledOnce()
|
||||||
// Reset the error and do not show again
|
// Reset the error and do not show again
|
||||||
finalState.eventSink(LoggedInEvents.CloseErrorDialog(doNotShowAgain = false))
|
finalState.eventSink(LoggedInEvent.CloseErrorDialog(doNotShowAgain = false))
|
||||||
val lastState = awaitItem()
|
val lastState = awaitItem()
|
||||||
assertThat(lastState.pusherRegistrationState.isUninitialized()).isTrue()
|
assertThat(lastState.pusherRegistrationState.isUninitialized()).isTrue()
|
||||||
assertThat(lastState.ignoreRegistrationError).isFalse()
|
assertThat(lastState.ignoreRegistrationError).isFalse()
|
||||||
@@ -240,7 +240,7 @@ class LoggedInPresenterTest {
|
|||||||
lambda.assertions()
|
lambda.assertions()
|
||||||
.isCalledOnce()
|
.isCalledOnce()
|
||||||
// Reset the error and do not show again
|
// Reset the error and do not show again
|
||||||
finalState.eventSink(LoggedInEvents.CloseErrorDialog(doNotShowAgain = true))
|
finalState.eventSink(LoggedInEvent.CloseErrorDialog(doNotShowAgain = true))
|
||||||
skipItems(1)
|
skipItems(1)
|
||||||
setIgnoreRegistrationErrorLambda.assertions()
|
setIgnoreRegistrationErrorLambda.assertions()
|
||||||
.isCalledOnce()
|
.isCalledOnce()
|
||||||
@@ -296,7 +296,7 @@ class LoggedInPresenterTest {
|
|||||||
).test {
|
).test {
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
assertThat(initialState.forceNativeSlidingSyncMigration).isFalse()
|
assertThat(initialState.forceNativeSlidingSyncMigration).isFalse()
|
||||||
initialState.eventSink(LoggedInEvents.CheckSlidingSyncProxyAvailability)
|
initialState.eventSink(LoggedInEvent.CheckSlidingSyncProxyAvailability)
|
||||||
assertThat(awaitItem().forceNativeSlidingSyncMigration).isTrue()
|
assertThat(awaitItem().forceNativeSlidingSyncMigration).isTrue()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -318,7 +318,7 @@ class LoggedInPresenterTest {
|
|||||||
).test {
|
).test {
|
||||||
val initialState = awaitItem()
|
val initialState = awaitItem()
|
||||||
|
|
||||||
initialState.eventSink(LoggedInEvents.LogoutAndMigrateToNativeSlidingSync)
|
initialState.eventSink(LoggedInEvent.LogoutAndMigrateToNativeSlidingSync)
|
||||||
|
|
||||||
advanceUntilIdle()
|
advanceUntilIdle()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user