Skip to content

Instantly share code, notes, and snippets.

@hamurcuabi
Created April 14, 2022 18:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hamurcuabi/52bea192be74077a2fb5187d954bedc5 to your computer and use it in GitHub Desktop.
Save hamurcuabi/52bea192be74077a2fb5187d954bedc5 to your computer and use it in GitHub Desktop.
// register permission on top of Fragment or Activity like below
private val cameraPermission = registerPermission {
onCameraPermissionResult(it)
}
private val storagePermission = registerPermission {
onStoragePermissionResult(it)
}
// Launch it in any where you want
//Single
cameraPermission.launchSinglePermission(android.Manifest.permission.CAMERA)
// Multiple
storagePermission.launchMultiplePermission(
arrayOf(
android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
android.Manifest.permission.READ_EXTERNAL_STORAGE
)
)
//Get result with state
private fun onStoragePermissionResult(state: PermissionUtil.PermissionState) {
when (state) {
PermissionUtil.PermissionState.Denied -> {
TODO()
}
PermissionUtil.PermissionState.Granted -> {
TODO()
}
PermissionUtil.PermissionState.PermanentlyDenied -> {
TODO()
}
}
}
//Get result with state
private fun onCameraPermissionResult(state: PermissionUtil.PermissionState) {
when (state) {
PermissionUtil.PermissionState.Denied -> {
TODO()
}
PermissionUtil.PermissionState.Granted -> {
TODO()
}
PermissionUtil.PermissionState.PermanentlyDenied -> {
TODO()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment