@@ -154,25 +154,43 @@ private fun ContentWithPermissionHandling(
154154 }
155155 }
156156
157- is PermissionStatus .Denied -> {
158- Column (
159- modifier = Modifier
160- .fillMaxSize()
161- .padding(16 .dp),
162- horizontalAlignment = Alignment .CenterHorizontally ,
163- verticalArrangement = Arrangement .Center ,
164- ) {
165- val textToShow = if (cameraPermissionState.status.shouldShowRationale) {
166- " The camera is needed to take pictures. Please grant the permission."
167- } else {
168- " Camera permission is required to use this feature."
169- }
170- Text (text = textToShow)
171- Spacer (modifier = Modifier .height(8 .dp))
172- Button (onClick = { cameraPermissionState.launchPermissionRequest() }) {
173- Text (" Request Permission" )
174- }
175- }
157+ is PermissionStatus .Denied -> CameraPermissionDeniedView (
158+ cameraPermissionState.status,
159+ cameraPermissionState,
160+ )
161+ }
162+ }
163+
164+ /* *
165+ * Composable function that displays a message when camera permission is denied.
166+ *
167+ * It provides an option to request the permission again.
168+ *
169+ * @param status The current [PermissionStatus] of the camera permission.
170+ * @param cameraPermissionState The [PermissionState] for the camera permission, used to request permission again.
171+ */
172+ @Composable
173+ @OptIn(ExperimentalPermissionsApi ::class )
174+ private fun CameraPermissionDeniedView (
175+ status : PermissionStatus ,
176+ cameraPermissionState : PermissionState ,
177+ ) {
178+ Column (
179+ modifier = Modifier
180+ .fillMaxSize()
181+ .padding(16 .dp),
182+ horizontalAlignment = Alignment .CenterHorizontally ,
183+ verticalArrangement = Arrangement .Center ,
184+ ) {
185+ val textToShow = if (status.shouldShowRationale) {
186+ " The camera is needed to take pictures. Please grant the permission."
187+ } else {
188+ " Camera permission is required to use this feature."
189+ }
190+ Text (text = textToShow)
191+ Spacer (modifier = Modifier .height(8 .dp))
192+ Button (onClick = { cameraPermissionState.launchPermissionRequest() }) {
193+ Text (" Request Permission" )
176194 }
177195 }
178196}
0 commit comments