mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
EditDefaultNotificationSettingStateEvents -> EditDefaultNotificationSettingStateEvent
This commit is contained in:
+3
-3
@@ -76,12 +76,12 @@ class EditDefaultNotificationSettingPresenter(
|
||||
displayMentionsOnlyDisclaimer = !notificationSettingsService.canHomeServerPushEncryptedEventsToDevice().getOrDefault(true)
|
||||
}
|
||||
|
||||
fun handleEvent(event: EditDefaultNotificationSettingStateEvents) {
|
||||
fun handleEvent(event: EditDefaultNotificationSettingStateEvent) {
|
||||
when (event) {
|
||||
is EditDefaultNotificationSettingStateEvents.SetNotificationMode -> {
|
||||
is EditDefaultNotificationSettingStateEvent.SetNotificationMode -> {
|
||||
localCoroutineScope.setDefaultNotificationMode(event.mode, changeNotificationSettingAction)
|
||||
}
|
||||
EditDefaultNotificationSettingStateEvents.ClearError -> changeNotificationSettingAction.value = AsyncAction.Uninitialized
|
||||
EditDefaultNotificationSettingStateEvent.ClearError -> changeNotificationSettingAction.value = AsyncAction.Uninitialized
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -18,5 +18,5 @@ data class EditDefaultNotificationSettingState(
|
||||
val roomsWithUserDefinedMode: ImmutableList<EditNotificationSettingRoomInfo>,
|
||||
val changeNotificationSettingAction: AsyncAction<Unit>,
|
||||
val displayMentionsOnlyDisclaimer: Boolean,
|
||||
val eventSink: (EditDefaultNotificationSettingStateEvents) -> Unit,
|
||||
val eventSink: (EditDefaultNotificationSettingStateEvent) -> Unit,
|
||||
)
|
||||
|
||||
+3
-3
@@ -10,7 +10,7 @@ package io.element.android.features.preferences.impl.notifications.edit
|
||||
|
||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||
|
||||
sealed interface EditDefaultNotificationSettingStateEvents {
|
||||
data class SetNotificationMode(val mode: RoomNotificationMode) : EditDefaultNotificationSettingStateEvents
|
||||
data object ClearError : EditDefaultNotificationSettingStateEvents
|
||||
sealed interface EditDefaultNotificationSettingStateEvent {
|
||||
data class SetNotificationMode(val mode: RoomNotificationMode) : EditDefaultNotificationSettingStateEvent
|
||||
data object ClearError : EditDefaultNotificationSettingStateEvent
|
||||
}
|
||||
+2
-2
@@ -70,7 +70,7 @@ fun EditDefaultNotificationSettingView(
|
||||
mode = item,
|
||||
isSelected = state.mode == item,
|
||||
displayMentionsOnlyDisclaimer = state.displayMentionsOnlyDisclaimer,
|
||||
onSelectOption = { state.eventSink(EditDefaultNotificationSettingStateEvents.SetNotificationMode(it)) }
|
||||
onSelectOption = { state.eventSink(EditDefaultNotificationSettingStateEvent.SetNotificationMode(it)) }
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -116,7 +116,7 @@ fun EditDefaultNotificationSettingView(
|
||||
AsyncActionView(
|
||||
async = state.changeNotificationSettingAction,
|
||||
errorMessage = { stringResource(R.string.screen_notification_settings_edit_failed_updating_default_mode) },
|
||||
onErrorDismiss = { state.eventSink(EditDefaultNotificationSettingStateEvents.ClearError) },
|
||||
onErrorDismiss = { state.eventSink(EditDefaultNotificationSettingStateEvent.ClearError) },
|
||||
onSuccess = {},
|
||||
)
|
||||
}
|
||||
|
||||
+4
-4
@@ -10,7 +10,7 @@ package io.element.android.features.preferences.impl.notifications
|
||||
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.features.preferences.impl.notifications.edit.EditDefaultNotificationSettingPresenter
|
||||
import io.element.android.features.preferences.impl.notifications.edit.EditDefaultNotificationSettingStateEvents
|
||||
import io.element.android.features.preferences.impl.notifications.edit.EditDefaultNotificationSettingStateEvent
|
||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||
import io.element.android.libraries.matrix.test.AN_EXCEPTION
|
||||
import io.element.android.libraries.matrix.test.A_ROOM_ID
|
||||
@@ -150,7 +150,7 @@ class EditDefaultNotificationSettingsPresenterTest {
|
||||
),
|
||||
)
|
||||
presenter.test {
|
||||
awaitItem().eventSink(EditDefaultNotificationSettingStateEvents.SetNotificationMode(RoomNotificationMode.ALL_MESSAGES))
|
||||
awaitItem().eventSink(EditDefaultNotificationSettingStateEvent.SetNotificationMode(RoomNotificationMode.ALL_MESSAGES))
|
||||
val loadedState = consumeItemsUntilPredicate {
|
||||
it.mode == RoomNotificationMode.ALL_MESSAGES
|
||||
}.last()
|
||||
@@ -166,12 +166,12 @@ class EditDefaultNotificationSettingsPresenterTest {
|
||||
val presenter = createEditDefaultNotificationSettingPresenter(notificationSettingsService)
|
||||
notificationSettingsService.givenSetDefaultNotificationModeError(AN_EXCEPTION)
|
||||
presenter.test {
|
||||
awaitItem().eventSink(EditDefaultNotificationSettingStateEvents.SetNotificationMode(RoomNotificationMode.ALL_MESSAGES))
|
||||
awaitItem().eventSink(EditDefaultNotificationSettingStateEvent.SetNotificationMode(RoomNotificationMode.ALL_MESSAGES))
|
||||
val errorState = consumeItemsUntilPredicate {
|
||||
it.changeNotificationSettingAction.isFailure()
|
||||
}.last()
|
||||
assertThat(errorState.changeNotificationSettingAction.isFailure()).isTrue()
|
||||
errorState.eventSink(EditDefaultNotificationSettingStateEvents.ClearError)
|
||||
errorState.eventSink(EditDefaultNotificationSettingStateEvent.ClearError)
|
||||
val clearErrorState = consumeItemsUntilPredicate {
|
||||
it.changeNotificationSettingAction.isUninitialized()
|
||||
}.last()
|
||||
|
||||
Reference in New Issue
Block a user