Move open system setting to the PermissionsPresenter

This commit is contained in:
Benoit Marty 2023-09-21 14:19:03 +02:00 committed by Benoit Marty
parent 9f0b5dbc64
commit dd5d67d186
14 changed files with 139 additions and 31 deletions

View file

@ -19,4 +19,5 @@ package io.element.android.libraries.permissions.api
sealed interface PermissionsEvents {
data object AskPermissionToUser : PermissionsEvents
data object CloseDialog : PermissionsEvents
data object OpenSystemSettingAndCloseDialog : PermissionsEvents
}

View file

@ -29,7 +29,6 @@ import io.element.android.libraries.ui.strings.CommonStrings
@Composable
fun PermissionsView(
state: PermissionsState,
onOpenSystemSettings: () -> Unit,
modifier: Modifier = Modifier,
) {
if (state.showDialog.not()) return
@ -40,8 +39,7 @@ fun PermissionsView(
content = state.permission.toDialogContent(),
submitText = stringResource(id = CommonStrings.action_open_settings),
onSubmitClicked = {
state.eventSink.invoke(PermissionsEvents.CloseDialog)
onOpenSystemSettings()
state.eventSink.invoke(PermissionsEvents.OpenSystemSettingAndCloseDialog)
},
onDismiss = { state.eventSink.invoke(PermissionsEvents.CloseDialog) },
)
@ -62,6 +60,5 @@ private fun String.toDialogContent(): String {
internal fun PermissionsViewPreview(@PreviewParameter(PermissionsViewStateProvider::class) state: PermissionsState) = ElementPreview {
PermissionsView(
state = state,
onOpenSystemSettings = {},
)
}