Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DeniedPermanently triggered when clicking outside of permissions dialog #21

Open
a0g83agbc84 opened this issue Sep 19, 2022 · 4 comments

Comments

@a0g83agbc84
Copy link

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
            }
        }
@deva666
Copy link
Owner

deva666 commented Sep 26, 2022

Thanks for reporting this, I found the problem. Will rollout a fix in the next few days.

@toby-thanathip
Copy link

@deva666 Has this been fixed already in the latest version? 🙏

@deva666
Copy link
Owner

deva666 commented Oct 27, 2022

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.

@deva666
Copy link
Owner

deva666 commented Nov 1, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants