Peko
Peko copied to clipboard
DeniedPermanently triggered when clicking outside of permissions dialog
Hey,
When the user does not click on any button of the Android native request dialog but outside, the dialog gets dismissed and Peko triggers the PermissionResult.Denied.DeniedPermanently
result. I think in this case PermissionResult.Cancelled
should be called. The native dialog is triggered on next Activity execution despite Peko's PermissionResult.Denied.DeniedPermanently
result.
Compile SDK: 33 Android version: 13
CoroutineScope(Default).launch {
val result = requestPermissionsAsync(
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION
)
when (result) {
is PermissionResult.Granted -> {Log.e("Activity", "GRANTED") } // woohoo, all requested permissions granted
is PermissionResult.Denied.JustDenied -> {Log.e("Activity", "JUST DENIED") } // at least one permission was denied, maybe we forgot to register it in the AndroidManifest?
is PermissionResult.Denied.NeedsRationale -> {Log.e("Activity", "NEEDS") } // user clicked Deny, let's show a rationale
is PermissionResult.Denied.DeniedPermanently -> { Log.e("Activity", "DENIED PERM")} // Android System won't show Permission dialog anymore, let's tell the user we can't proceed
is PermissionResult.Cancelled -> {Log.e("Activity", "CANCELLED") } // interaction was interrupted
}
}
Thanks for reporting this, I found the problem. Will rollout a fix in the next few days.
@deva666 Has this been fixed already in the latest version? 🙏
No, the idea I had to fix this is not working. Honestly, not sure if it is even possible to detect when user cancels a dialog. Since it is a Android System Dialog. Any help/suggestions are welcome here.
Same problem, no solution yet https://stackoverflow.com/questions/69658964/how-to-distinguish-never-ask-again-state-and-canceled-state-for-android-runt