Updated on 2026-08-14
This commit is contained in:
parent
07d5ede58c
commit
e1b50efbe0
16 changed files with 21 additions and 222 deletions
|
|
@ -6,7 +6,6 @@ import androidx.compose.runtime.MutableState
|
|||
import com.google.accompanist.permissions.ExperimentalPermissionsApi
|
||||
import com.google.accompanist.permissions.isGranted
|
||||
import com.google.accompanist.permissions.rememberPermissionState
|
||||
import com.google.accompanist.permissions.shouldShowRationale
|
||||
|
||||
/**
|
||||
* Returns push permission requester.
|
||||
|
|
@ -16,21 +15,13 @@ import com.google.accompanist.permissions.shouldShowRationale
|
|||
@OptIn(ExperimentalPermissionsApi::class)
|
||||
@Composable
|
||||
fun requestPushPermission(
|
||||
isFirstTimeAsking: Boolean,
|
||||
pushPermission: String?,
|
||||
isClicked: MutableState<Boolean>,
|
||||
onAllow: () -> Unit,
|
||||
onDeny: () -> Unit,
|
||||
onOpenSettings: () -> Unit,
|
||||
): () -> Unit {
|
||||
val permissionState = pushPermission?.let { permission ->
|
||||
val tempPermissionState = rememberPermissionState(permission = permission)
|
||||
rememberPermissionState(permission = permission) {
|
||||
val isGranted = tempPermissionState.status.isGranted
|
||||
val shouldShowRationale = tempPermissionState.status.shouldShowRationale
|
||||
|
||||
if (isGranted && !shouldShowRationale && !isFirstTimeAsking) onOpenSettings()
|
||||
}
|
||||
rememberPermissionState(permission = permission)
|
||||
}
|
||||
|
||||
// Check if user granted permission and close bottom sheet
|
||||
|
|
@ -44,7 +35,7 @@ fun requestPushPermission(
|
|||
}
|
||||
|
||||
return if (permissionState == null) {
|
||||
onOpenSettings
|
||||
{}
|
||||
} else {
|
||||
permissionState::launchPermissionRequest
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue