Skip to content

Instantly share code, notes, and snippets.

@Gnzlt
Last active September 17, 2023 22:25
Show Gist options
  • Save Gnzlt/23b8199a4d5eb91825f91d9e94aef37a to your computer and use it in GitHub Desktop.
Save Gnzlt/23b8199a4d5eb91825f91d9e94aef37a to your computer and use it in GitHub Desktop.
Jetpack Compose extension function to show Previews when using permission checks
package com.example
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalInspectionMode
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.PermissionState
import com.google.accompanist.permissions.PermissionStatus
/**
* Wrapper for [com.google.accompanist.permissions.rememberPermissionState] to grant permissions when in Inspection mode
*/
@OptIn(ExperimentalPermissionsApi::class)
@Composable
fun rememberPermissionState(
permission: String,
onPermissionResult: (Boolean) -> Unit = {},
): PermissionState =
if (LocalInspectionMode.current) {
object : PermissionState {
override val permission: String = permission
override val status: PermissionStatus = PermissionStatus.Granted
override fun launchPermissionRequest() {}
}
} else {
com.google.accompanist.permissions.rememberPermissionState(permission, onPermissionResult)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment