Browse Source

Fix enabled state and ClearError events.

pull/1621/head
David Langley 11 months ago
parent
commit
b5ca65ed0f
  1. 11
      features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt

11
features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/UserDefinedRoomNotificationSettingsView.kt

@ -32,13 +32,14 @@ import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import io.element.android.features.roomdetails.impl.R import io.element.android.features.roomdetails.impl.R
import io.element.android.libraries.architecture.Async import io.element.android.libraries.architecture.Async
import io.element.android.libraries.designsystem.VectorIcons import io.element.android.libraries.core.bool.orTrue
import io.element.android.libraries.designsystem.components.ProgressDialog import io.element.android.libraries.designsystem.components.ProgressDialog
import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.components.preferences.PreferenceText import io.element.android.libraries.designsystem.components.preferences.PreferenceText
import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.theme.components.Scaffold
import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.designsystem.utils.CommonDrawables
@Composable @Composable
fun UserDefinedRoomNotificationSettingsView( fun UserDefinedRoomNotificationSettingsView(
@ -66,7 +67,7 @@ fun UserDefinedRoomNotificationSettingsView(
if (roomNotificationSettings != null && state.displayNotificationMode != null) { if (roomNotificationSettings != null && state.displayNotificationMode != null) {
RoomNotificationSettingsOptions( RoomNotificationSettingsOptions(
selected = state.displayNotificationMode, selected = state.displayNotificationMode,
enabled = roomNotificationSettings.isDefault, enabled = !state.displayIsDefault.orTrue(),
onOptionSelected = { onOptionSelected = {
state.eventSink(RoomNotificationSettingsEvents.RoomNotificationModeChanged(it.mode)) state.eventSink(RoomNotificationSettingsEvents.RoomNotificationModeChanged(it.mode))
}, },
@ -75,7 +76,7 @@ fun UserDefinedRoomNotificationSettingsView(
PreferenceText( PreferenceText(
title = stringResource(R.string.screen_room_notification_settings_edit_remove_setting), title = stringResource(R.string.screen_room_notification_settings_edit_remove_setting),
icon = ImageVector.vectorResource(VectorIcons.Delete), icon = ImageVector.vectorResource(CommonDrawables.ic_compound_delete),
tintColor = MaterialTheme.colorScheme.error, tintColor = MaterialTheme.colorScheme.error,
onClick = { onClick = {
state.eventSink(RoomNotificationSettingsEvents.DeleteCustomNotification) state.eventSink(RoomNotificationSettingsEvents.DeleteCustomNotification)
@ -87,7 +88,7 @@ fun UserDefinedRoomNotificationSettingsView(
ProgressDialog() ProgressDialog()
} }
is Async.Failure -> { is Async.Failure -> {
ShowChangeNotificationSettingError(state) ShowChangeNotificationSettingError(state, RoomNotificationSettingsEvents.ClearSetNotificationError)
} }
else -> Unit else -> Unit
} }
@ -97,7 +98,7 @@ fun UserDefinedRoomNotificationSettingsView(
ProgressDialog() ProgressDialog()
} }
is Async.Failure -> { is Async.Failure -> {
ShowChangeNotificationSettingError(state) ShowChangeNotificationSettingError(state, RoomNotificationSettingsEvents.ClearRestoreDefaultError)
} }
is Async.Success -> { is Async.Success -> {
LaunchedEffect(state.restoreDefaultAction) { LaunchedEffect(state.restoreDefaultAction) {

Loading…
Cancel
Save