mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-10-31 16:22:49 +00:00
ChangeServerEvents -> ChangeServerEvent
This commit is contained in:
+5
-5
@@ -10,9 +10,9 @@ package io.element.android.features.login.impl.changeserver
|
||||
|
||||
import io.element.android.features.login.impl.accountprovider.AccountProvider
|
||||
|
||||
sealed interface ChangeServerEvents {
|
||||
data class ChangeServer(val accountProvider: AccountProvider) : ChangeServerEvents
|
||||
data object ClearError : ChangeServerEvents
|
||||
data object RequestLocalNetworkPermission : ChangeServerEvents
|
||||
data object DismissLocalNetworkPermission : ChangeServerEvents
|
||||
sealed interface ChangeServerEvent {
|
||||
data class ChangeServer(val accountProvider: AccountProvider) : ChangeServerEvent
|
||||
data object ClearError : ChangeServerEvent
|
||||
data object RequestLocalNetworkPermission : ChangeServerEvent
|
||||
data object DismissLocalNetworkPermission : ChangeServerEvent
|
||||
}
|
||||
+5
-5
@@ -42,12 +42,12 @@ class ChangeServerPresenter(
|
||||
onProceed = { provider -> changeServer(provider, changeServerAction) },
|
||||
)
|
||||
|
||||
fun handleEvent(event: ChangeServerEvents) {
|
||||
fun handleEvent(event: ChangeServerEvent) {
|
||||
when (event) {
|
||||
ChangeServerEvents.ClearError -> changeServerAction.value = AsyncData.Uninitialized
|
||||
is ChangeServerEvents.ChangeServer -> gateState.submit(event.accountProvider)
|
||||
ChangeServerEvents.DismissLocalNetworkPermission -> gateState.abort()
|
||||
ChangeServerEvents.RequestLocalNetworkPermission -> gateState.requestPermission()
|
||||
ChangeServerEvent.ClearError -> changeServerAction.value = AsyncData.Uninitialized
|
||||
is ChangeServerEvent.ChangeServer -> gateState.submit(event.accountProvider)
|
||||
ChangeServerEvent.DismissLocalNetworkPermission -> gateState.abort()
|
||||
ChangeServerEvent.RequestLocalNetworkPermission -> gateState.requestPermission()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -17,5 +17,5 @@ data class ChangeServerState(
|
||||
// configuring (and re-networking) the homeserver a second time.
|
||||
val changeServerAction: AsyncData<MatrixHomeServerDetails>,
|
||||
val localNetworkPermissionDialog: LocalNetworkPermissionDialog,
|
||||
val eventSink: (ChangeServerEvents) -> Unit
|
||||
val eventSink: (ChangeServerEvent) -> Unit
|
||||
)
|
||||
|
||||
+10
-10
@@ -47,7 +47,7 @@ fun ChangeServerView(
|
||||
modifier = modifier,
|
||||
content = stringResource(R.string.screen_change_server_error_invalid_homeserver),
|
||||
onSubmit = {
|
||||
eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
}
|
||||
)
|
||||
ChangeServerError.UnsupportedServer ->
|
||||
@@ -55,7 +55,7 @@ fun ChangeServerView(
|
||||
modifier = modifier,
|
||||
content = stringResource(R.string.screen_login_error_unsupported_authentication),
|
||||
onSubmit = {
|
||||
eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
}
|
||||
)
|
||||
is ChangeServerError.Error -> {
|
||||
@@ -63,7 +63,7 @@ fun ChangeServerView(
|
||||
modifier = modifier,
|
||||
content = error.messageStr ?: stringResource(CommonStrings.error_unknown),
|
||||
onSubmit = {
|
||||
eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -72,10 +72,10 @@ fun ChangeServerView(
|
||||
modifier = modifier,
|
||||
onLearnMoreClick = {
|
||||
onLearnMoreClick()
|
||||
eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
},
|
||||
onDismiss = {
|
||||
eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -90,10 +90,10 @@ fun ChangeServerView(
|
||||
submitText = stringResource(R.string.screen_change_server_error_element_pro_required_action_android),
|
||||
onSubmitClick = {
|
||||
context.openGooglePlay(error.applicationId)
|
||||
eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
},
|
||||
onDismiss = {
|
||||
eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
},
|
||||
)
|
||||
}
|
||||
@@ -106,7 +106,7 @@ fun ChangeServerView(
|
||||
error.unauthorisedAccountProviderTitle,
|
||||
),
|
||||
onSubmit = {
|
||||
eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -125,10 +125,10 @@ fun ChangeServerView(
|
||||
LocalNetworkPermissionDialogView(
|
||||
dialog = state.localNetworkPermissionDialog,
|
||||
onSubmit = {
|
||||
eventSink.invoke(ChangeServerEvents.RequestLocalNetworkPermission)
|
||||
eventSink.invoke(ChangeServerEvent.RequestLocalNetworkPermission)
|
||||
},
|
||||
onDismiss = {
|
||||
eventSink.invoke(ChangeServerEvents.DismissLocalNetworkPermission)
|
||||
eventSink.invoke(ChangeServerEvent.DismissLocalNetworkPermission)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@ import io.element.android.appconfig.AuthenticationConfig
|
||||
import io.element.android.features.enterprise.api.EnterpriseService
|
||||
import io.element.android.features.login.impl.accountprovider.AccountProvider
|
||||
import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource
|
||||
import io.element.android.features.login.impl.changeserver.ChangeServerEvents
|
||||
import io.element.android.features.login.impl.changeserver.ChangeServerEvent
|
||||
import io.element.android.features.login.impl.changeserver.ChangeServerState
|
||||
import io.element.android.features.login.impl.login.LoginModeEvent
|
||||
import io.element.android.features.login.impl.login.LoginModeState
|
||||
@@ -134,12 +134,12 @@ class ConfirmAccountProviderPresenter(
|
||||
val accountProviderUrl = host.ensureProtocol()
|
||||
submittedAccountProvider = accountProviderUrl
|
||||
changeServerState.eventSink(
|
||||
ChangeServerEvents.ChangeServer(AccountProvider(url = accountProviderUrl))
|
||||
ChangeServerEvent.ChangeServer(AccountProvider(url = accountProviderUrl))
|
||||
)
|
||||
}
|
||||
ConfirmAccountProviderEvents.ClearError -> {
|
||||
loginModeState.eventSink(LoginModeEvent.ClearError)
|
||||
changeServerState.eventSink(ChangeServerEvents.ClearError)
|
||||
changeServerState.eventSink(ChangeServerEvent.ClearError)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -63,7 +63,7 @@ class ChangeServerPresenterTest {
|
||||
).test {
|
||||
val initialState = awaitItem()
|
||||
assertThat(initialState.changeServerAction).isEqualTo(AsyncData.Uninitialized)
|
||||
initialState.eventSink.invoke(ChangeServerEvents.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
initialState.eventSink.invoke(ChangeServerEvent.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
val loadingState = awaitItem()
|
||||
assertThat(loadingState.changeServerAction).isInstanceOf(AsyncData.Loading::class.java)
|
||||
val successState = awaitItem()
|
||||
@@ -87,13 +87,13 @@ class ChangeServerPresenterTest {
|
||||
).test {
|
||||
val initialState = awaitItem()
|
||||
assertThat(initialState.changeServerAction).isEqualTo(AsyncData.Uninitialized)
|
||||
initialState.eventSink.invoke(ChangeServerEvents.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
initialState.eventSink.invoke(ChangeServerEvent.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
val loadingState = awaitItem()
|
||||
assertThat(loadingState.changeServerAction).isInstanceOf(AsyncData.Loading::class.java)
|
||||
val failureState = awaitItem()
|
||||
assertThat(failureState.changeServerAction).isInstanceOf(AsyncData.Failure::class.java)
|
||||
// Clear error
|
||||
failureState.eventSink.invoke(ChangeServerEvents.ClearError)
|
||||
failureState.eventSink.invoke(ChangeServerEvent.ClearError)
|
||||
val finalState = awaitItem()
|
||||
assertThat(finalState.changeServerAction).isEqualTo(AsyncData.Uninitialized)
|
||||
}
|
||||
@@ -115,7 +115,7 @@ class ChangeServerPresenterTest {
|
||||
).test {
|
||||
val initialState = awaitItem()
|
||||
assertThat(initialState.changeServerAction).isEqualTo(AsyncData.Uninitialized)
|
||||
initialState.eventSink.invoke(ChangeServerEvents.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
initialState.eventSink.invoke(ChangeServerEvent.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
val loadingState = awaitItem()
|
||||
assertThat(loadingState.changeServerAction).isInstanceOf(AsyncData.Loading::class.java)
|
||||
val failureState = awaitItem()
|
||||
@@ -139,7 +139,7 @@ class ChangeServerPresenterTest {
|
||||
val initialState = awaitItem()
|
||||
assertThat(initialState.changeServerAction).isEqualTo(AsyncData.Uninitialized)
|
||||
val anAccountProvider = AccountProvider(url = A_HOMESERVER_URL)
|
||||
initialState.eventSink.invoke(ChangeServerEvents.ChangeServer(anAccountProvider))
|
||||
initialState.eventSink.invoke(ChangeServerEvent.ChangeServer(anAccountProvider))
|
||||
val loadingState = awaitItem()
|
||||
assertThat(loadingState.changeServerAction).isInstanceOf(AsyncData.Loading::class.java)
|
||||
val failureState = awaitItem()
|
||||
@@ -167,7 +167,7 @@ class ChangeServerPresenterTest {
|
||||
val initialState = awaitItem()
|
||||
assertThat(initialState.changeServerAction).isEqualTo(AsyncData.Uninitialized)
|
||||
val anAccountProvider = AccountProvider(url = A_HOMESERVER_URL)
|
||||
initialState.eventSink.invoke(ChangeServerEvents.ChangeServer(anAccountProvider))
|
||||
initialState.eventSink.invoke(ChangeServerEvent.ChangeServer(anAccountProvider))
|
||||
// Skip loading state
|
||||
skipItems(1)
|
||||
val failureState = awaitItem()
|
||||
@@ -194,7 +194,7 @@ class ChangeServerPresenterTest {
|
||||
).test {
|
||||
val initialState = awaitItem()
|
||||
assertThat(initialState.localNetworkPermissionDialog).isEqualTo(LocalNetworkPermissionDialog.None)
|
||||
initialState.eventSink.invoke(ChangeServerEvents.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
initialState.eventSink.invoke(ChangeServerEvent.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
val promptState = expectMostRecentItem()
|
||||
// Dialog is shown, permission has not been requested yet, setHomeserver has not been called.
|
||||
assertThat(promptState.localNetworkPermissionDialog).isNotEqualTo(LocalNetworkPermissionDialog.None)
|
||||
@@ -213,10 +213,10 @@ class ChangeServerPresenterTest {
|
||||
permissionsPresenter = FakePermissionsPresenter(),
|
||||
).test {
|
||||
val initialState = awaitItem()
|
||||
initialState.eventSink.invoke(ChangeServerEvents.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
initialState.eventSink.invoke(ChangeServerEvent.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
val promptState = expectMostRecentItem()
|
||||
assertThat(promptState.localNetworkPermissionDialog).isNotEqualTo(LocalNetworkPermissionDialog.None)
|
||||
promptState.eventSink.invoke(ChangeServerEvents.DismissLocalNetworkPermission)
|
||||
promptState.eventSink.invoke(ChangeServerEvent.DismissLocalNetworkPermission)
|
||||
val dismissedState = expectMostRecentItem()
|
||||
assertThat(dismissedState.localNetworkPermissionDialog).isEqualTo(LocalNetworkPermissionDialog.None)
|
||||
assertThat(dismissedState.changeServerAction).isEqualTo(AsyncData.Uninitialized)
|
||||
@@ -236,7 +236,7 @@ class ChangeServerPresenterTest {
|
||||
permissionsPresenter = permissionsPresenter,
|
||||
).test {
|
||||
val initialState = awaitItem()
|
||||
initialState.eventSink.invoke(ChangeServerEvents.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
initialState.eventSink.invoke(ChangeServerEvent.ChangeServer(AccountProvider(url = A_HOMESERVER_URL)))
|
||||
val promptState = expectMostRecentItem()
|
||||
assertThat(promptState.localNetworkPermissionDialog).isNotEqualTo(LocalNetworkPermissionDialog.None)
|
||||
permissionsPresenter.setPermissionGranted()
|
||||
|
||||
Reference in New Issue
Block a user