Second batch of permission in-process API refactoring.
- Refactored isPermissionReviewRequired(),
grantRequestedRuntimePermissions(),
setAllowlistedRestrictedPermissions(), and setAutoRevokeExempted(),
- Added javadoc for the methods, and refactor the parameter types to
conform with API guidelines.
- The methods are taking an int array of user IDs because they
are (mostly) used in handlePackagePostInstall, where the install can
happen for multiple users at once, and allowing the API
implementation to handle multiple users at once allows optimization,
namely calling restorePermissionState() only once for all users.
- Fixed the bug that auto revoke exemption could only be set for the
primary users post install, but not non-primary users.
- Renamed the methods to be inclusive, replacing the term with
allowlist. However setAutoRevokeAllowlisted() is a bit confusing so
I'm renaming it to setAutoRevokeExempted().
- Removed the callingUid parameter from the methods. Since the methods
were called from handlePackagePostInstall(), which is called by a
handler thread upon receiving the corresponding message, it is
basically useless and for two methods we were already passing
Process.myUid().
- Renamed/Created the API implementation methods, so that *Internal()
methods perform no checks, whereas non-internal ones perform checks.
Bug: 158736025
Test: presubmit
Change-Id: I6965e2c715bc65ddb8e2aa51c03ccb1031c3a161
4 files changed