PermissionHelper
Helper de permissions centralisé.
Deux modes d'utilisation :
1. Vérification synchrone (sans Activity) :
val status = permissionHelper.check(PermissionRequest.Camera)Content copied to clipboard
2. Demande runtime (nécessite une FragmentActivity) :
// Dans onCreate ou onStart :
val launcher = permissionHelper.registerLauncher(activity) { results ->
results.forEach { (permission, status) -> /* … */}
}
// Déclenchement — le callback est toujours invoqué, même si tout est déjà accordé :
permissionHelper.request(PermissionRequest.Camera, launcher)Content copied to clipboard
Enregistrement Koin :
single { PermissionHelper(androidContext()) }Content copied to clipboard
Functions
Link copied to clipboard
Vérifie le statut d'une PermissionRequest sans déclencher de dialogue. Pour une request multi-permissions, retourne PermissionStatus.Granted seulement si toutes les permissions sont accordées.
Link copied to clipboard
true si toutes les permissions du request sont accordées.
Link copied to clipboard
Ouvre les réglages de l'app — utile après un PermissionStatus.PermanentlyDenied.
Link copied to clipboard
fun registerLauncher(activity: FragmentActivity, onResult: (Map<String, PermissionStatus>) -> Unit): ActivityResultLauncher<Array<String>>
Enregistre un launcher de permission à partir d'une FragmentActivity. À appeler dans onCreate ou onStart, avant que l'Activity soit started.
Link copied to clipboard
fun request(request: PermissionRequest, launcher: ActivityResultLauncher<Array<String>>, onAllGranted: () -> Unit = {})