Open app settings from the permission dialog.
This commit is contained in:
+4
@@ -18,12 +18,14 @@ package io.element.android.features.preferences.impl.user.editprofile
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import com.bumble.appyx.core.modality.BuildContext
|
||||
import com.bumble.appyx.core.node.Node
|
||||
import com.bumble.appyx.core.plugin.Plugin
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedInject
|
||||
import io.element.android.anvilannotations.ContributesNode
|
||||
import io.element.android.libraries.androidutils.system.openAppSettingsPage
|
||||
import io.element.android.libraries.architecture.NodeInputs
|
||||
import io.element.android.libraries.architecture.inputs
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
@@ -46,10 +48,12 @@ class EditUserProfileNode @AssistedInject constructor(
|
||||
@Composable
|
||||
override fun View(modifier: Modifier) {
|
||||
val state = presenter.present()
|
||||
val context = LocalContext.current
|
||||
EditUserProfileView(
|
||||
state = state,
|
||||
onBackPressed = ::navigateUp,
|
||||
onProfileEdited = ::navigateUp,
|
||||
onOpenSystemSettings = { context.openAppSettingsPage() },
|
||||
modifier = modifier
|
||||
)
|
||||
}
|
||||
|
||||
+6
-1
@@ -69,6 +69,7 @@ fun EditUserProfileView(
|
||||
state: EditUserProfileState,
|
||||
onBackPressed: () -> Unit,
|
||||
onProfileEdited: () -> Unit,
|
||||
onOpenSystemSettings: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val coroutineScope = rememberCoroutineScope()
|
||||
@@ -169,7 +170,10 @@ fun EditUserProfileView(
|
||||
else -> Unit
|
||||
}
|
||||
}
|
||||
PermissionsView(state = state.cameraPermissionState)
|
||||
PermissionsView(
|
||||
state = state.cameraPermissionState,
|
||||
onOpenSystemSettings = onOpenSystemSettings,
|
||||
)
|
||||
}
|
||||
|
||||
private fun Modifier.clearFocusOnTap(focusManager: FocusManager): Modifier =
|
||||
@@ -186,6 +190,7 @@ internal fun EditUserProfileViewPreview(@PreviewParameter(EditUserProfileStatePr
|
||||
EditUserProfileView(
|
||||
onBackPressed = {},
|
||||
onProfileEdited = {},
|
||||
onOpenSystemSettings = {},
|
||||
state = state,
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user