Add option to reset all runtime permissions on Android #2639
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.
This PR adds the option
--reset-permissionsto reset all runtime permissions of an app on Android before it is launched.I am currently working on porting the BLE library bleak for Android with briefcase and am also creating integration tests for this. In the integration tests, I create a virtual Bluetooth peripheral using bumble and connect it to the Android emulator (netsim, to be precise) to test the reading/writing of characteristics, etc. However, I also test the Bluetooth permissions by confirming the Bluetooth Permission dialog via uiautomator2.
However, when I test this locally and confirm the dialog once, it remains permanently stored in the emulator. The tests run because the permissions have already been granted, but the code coverage is worse. Therefore, I need the option
--reset-permissionsto have a reproducible starting point for the app.PR Checklist: