mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 21:32:34 +00:00
Use AsyncView in NotificationSettingsView
This commit is contained in:
committed by
Benoit Marty
parent
1e09d9c65f
commit
cc5321f65a
+8
-15
@@ -24,9 +24,8 @@ import androidx.compose.ui.res.stringResource
|
|||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import io.element.android.libraries.androidutils.system.startNotificationSettingsIntent
|
import io.element.android.libraries.androidutils.system.startNotificationSettingsIntent
|
||||||
import io.element.android.libraries.architecture.Async
|
|
||||||
import io.element.android.libraries.designsystem.atomic.molecules.DialogLikeBannerMolecule
|
import io.element.android.libraries.designsystem.atomic.molecules.DialogLikeBannerMolecule
|
||||||
import io.element.android.libraries.designsystem.components.ProgressDialog
|
import io.element.android.libraries.designsystem.components.async.AsyncView
|
||||||
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
|
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
|
||||||
import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory
|
import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory
|
||||||
import io.element.android.libraries.designsystem.components.preferences.PreferencePage
|
import io.element.android.libraries.designsystem.components.preferences.PreferencePage
|
||||||
@@ -79,19 +78,13 @@ fun NotificationSettingsView(
|
|||||||
// onCallsNotificationsChanged = { state.eventSink(NotificationSettingsEvents.SetCallNotificationsEnabled(it)) },
|
// onCallsNotificationsChanged = { state.eventSink(NotificationSettingsEvents.SetCallNotificationsEnabled(it)) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
when (state.changeNotificationSettingAction) {
|
val errorMessage = stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode)
|
||||||
is Async.Loading -> {
|
AsyncView(
|
||||||
ProgressDialog()
|
async = state.changeNotificationSettingAction,
|
||||||
}
|
errorTransform = { errorMessage },
|
||||||
is Async.Failure -> {
|
onErrorDismiss = { state.eventSink(NotificationSettingsEvents.ClearNotificationChangeError) },
|
||||||
ErrorDialog(
|
onSuccess = {},
|
||||||
title = stringResource(CommonStrings.dialog_title_error),
|
)
|
||||||
content = stringResource(CommonStrings.screen_notification_settings_edit_failed_updating_default_mode),
|
|
||||||
onDismiss = { state.eventSink(NotificationSettingsEvents.ClearNotificationChangeError) },
|
|
||||||
)
|
|
||||||
}
|
|
||||||
else -> Unit
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user