Add NotGranted
to PermissionState
for Android
#105
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Here's one idea to fix the issue with [deny and don't ask again] returning an incorrect state (#104), by adding a new state for Android:
NotGranted
. It's the most accurate description of the situation: it could beNotDetermined
orDeniedAlways
but there's no way to determine the difference between [deny] and [always deny] when requesting the state. One has to keep track of whether a permission has been requested in the app already, so that's up to consumers.This change does not affect iOS' behaviour, nor
providePermission()
/isPermissionGranted()
behaviour. Only on for requesting the current state on Android.Alternative solution would be to add no different state, but make Android return
Denied
by default. Benefit is that the state enum doesn't change and existing apps would be likely to keep working. Downside is that the default state isDenied
and that could look like a bug. But again, a documentation update helps.Before
See screen capture in #104
After