Move open system setting to the PermissionsPresenter
This commit is contained in:
parent
9f0b5dbc64
commit
dd5d67d186
14 changed files with 139 additions and 31 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 = {},
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue