Updated on 2026-08-14

This commit is contained in:
Tangem 2024-08-01 15:40:30 +05:00
parent 07d5ede58c
commit e1b50efbe0
16 changed files with 21 additions and 222 deletions

View file

@ -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
}