Merge "Third batch of permission in-process API refactoring."
This commit is contained in:
@@ -1836,8 +1836,8 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
* @param pkg The package for which to reset.
|
||||
* @param userId The device user for which to do a reset.
|
||||
*/
|
||||
private void resetRuntimePermissionsInternal(final AndroidPackage pkg,
|
||||
final int userId) {
|
||||
private void resetRuntimePermissionsInternal(@NonNull AndroidPackage pkg,
|
||||
@UserIdInt int userId) {
|
||||
final String packageName = pkg.getPackageName();
|
||||
|
||||
// These are flags that can change base on user actions.
|
||||
@@ -2658,7 +2658,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private Set<String> getGrantedPermissions(@NonNull String packageName,
|
||||
private Set<String> getGrantedPermissionsInternal(@NonNull String packageName,
|
||||
@UserIdInt int userId) {
|
||||
final PackageSetting ps = mPackageManagerInt.getPackageSetting(packageName);
|
||||
if (ps == null) {
|
||||
@@ -2697,7 +2697,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private int[] getPermissionGids(@NonNull String permissionName, @UserIdInt int userId) {
|
||||
private int[] getPermissionGidsInternal(@NonNull String permissionName, @UserIdInt int userId) {
|
||||
synchronized (mLock) {
|
||||
Permission permission = mRegistry.getPermission(permissionName);
|
||||
if (permission == null) {
|
||||
@@ -5068,12 +5068,16 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
@Override
|
||||
public Set<String> getGrantedPermissions(@NonNull String packageName,
|
||||
@UserIdInt int userId) {
|
||||
return PermissionManagerService.this.getGrantedPermissions(packageName, userId);
|
||||
Objects.requireNonNull(packageName, "packageName");
|
||||
Preconditions.checkArgumentNonNegative(userId, "userId");
|
||||
return getGrantedPermissionsInternal(packageName, userId);
|
||||
}
|
||||
@NonNull
|
||||
@Override
|
||||
public int[] getPermissionGids(@NonNull String permissionName, @UserIdInt int userId) {
|
||||
return PermissionManagerService.this.getPermissionGids(permissionName, userId);
|
||||
Objects.requireNonNull(permissionName, "permissionName");
|
||||
Preconditions.checkArgumentNonNegative(userId, "userId");
|
||||
return getPermissionGidsInternal(permissionName, userId);
|
||||
}
|
||||
@NonNull
|
||||
@Override
|
||||
@@ -5114,13 +5118,15 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
.updateAllPermissions(volumeUuid, sdkUpdated, mDefaultPermissionCallback);
|
||||
}
|
||||
@Override
|
||||
public void resetRuntimePermissions(AndroidPackage pkg, int userId) {
|
||||
PermissionManagerService.this.resetRuntimePermissionsInternal(pkg, userId);
|
||||
public void resetRuntimePermissions(@NonNull AndroidPackage pkg, @UserIdInt int userId) {
|
||||
Objects.requireNonNull(pkg, "pkg");
|
||||
Preconditions.checkArgumentNonNegative(userId, "userId");
|
||||
resetRuntimePermissionsInternal(pkg, userId);
|
||||
}
|
||||
@Override
|
||||
public void resetAllRuntimePermissions(final int userId) {
|
||||
mPackageManagerInt.forEachPackage(
|
||||
(AndroidPackage pkg) -> resetRuntimePermissionsInternal(pkg, userId));
|
||||
public void resetAllRuntimePermissions(@UserIdInt int userId) {
|
||||
Preconditions.checkArgumentNonNegative(userId, "userId");
|
||||
mPackageManagerInt.forEachPackage(pkg -> resetRuntimePermissionsInternal(pkg, userId));
|
||||
}
|
||||
@Override
|
||||
public void enforceCrossUserPermission(int callingUid, int userId,
|
||||
@@ -5354,12 +5360,6 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
packageName, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void grantDefaultPermissionsToDefaultBrowser(String packageName, int userId) {
|
||||
mDefaultPermissionGrantPolicy.grantDefaultPermissionsToDefaultBrowser(packageName,
|
||||
userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNewUserCreated(int userId) {
|
||||
// NOTE: This adds UPDATE_PERMISSIONS_REPLACE_PKG
|
||||
|
||||
@@ -257,20 +257,25 @@ public abstract class PermissionManagerServiceInternal extends PermissionManager
|
||||
public abstract void updateAllPermissions(@Nullable String volumeUuid, boolean sdkUpdate);
|
||||
|
||||
/**
|
||||
* Resets any user permission state changes (eg. permissions and flags) of all
|
||||
* packages installed for the given user.
|
||||
* Reset the runtime permission state changes for a package.
|
||||
*
|
||||
* @see #resetRuntimePermissions(AndroidPackage, int)
|
||||
*/
|
||||
public abstract void resetAllRuntimePermissions(@UserIdInt int userId);
|
||||
|
||||
/**
|
||||
* Resets any user permission state changes (eg. permissions and flags) of the
|
||||
* specified package for the given user.
|
||||
* TODO(zhanghai): Turn this into package change callback?
|
||||
*
|
||||
* @param pkg the package
|
||||
* @param userId the user ID
|
||||
*/
|
||||
//@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
|
||||
public abstract void resetRuntimePermissions(@NonNull AndroidPackage pkg,
|
||||
@UserIdInt int userId);
|
||||
|
||||
/**
|
||||
* Reset the runtime permission state changes for all packages.
|
||||
*
|
||||
* @param userId the user ID
|
||||
*/
|
||||
//@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
|
||||
public abstract void resetAllRuntimePermissions(@UserIdInt int userId);
|
||||
|
||||
/**
|
||||
* We might auto-grant permissions if any permission of the group is already granted. Hence if
|
||||
* the group of a granted permission changes we need to revoke it to avoid having permissions of
|
||||
@@ -357,15 +362,25 @@ public abstract class PermissionManagerServiceInternal extends PermissionManager
|
||||
|
||||
/**
|
||||
* Get all the permissions granted to a package.
|
||||
*
|
||||
* @param packageName the name of the package
|
||||
* @param userId the user ID
|
||||
* @return the names of the granted permissions
|
||||
*/
|
||||
//@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
|
||||
@NonNull
|
||||
public abstract Set<String> getGrantedPermissions(@NonNull String packageName,
|
||||
@UserIdInt int userId);
|
||||
|
||||
/**
|
||||
* Get the GIDs of a permission.
|
||||
*
|
||||
* @param permissionName the name of the permission
|
||||
* @param userId the user ID
|
||||
* @return the GIDs of the permission
|
||||
*/
|
||||
@Nullable
|
||||
//@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
|
||||
@NonNull
|
||||
public abstract int[] getPermissionGids(@NonNull String permissionName, @UserIdInt int userId);
|
||||
|
||||
/**
|
||||
@@ -404,10 +419,6 @@ public abstract class PermissionManagerServiceInternal extends PermissionManager
|
||||
boolean requireFullPermission, boolean checkShell,
|
||||
boolean requirePermissionWhenSameUser, @NonNull String message);
|
||||
|
||||
/** Grants default browser permissions to the given package */
|
||||
public abstract void grantDefaultPermissionsToDefaultBrowser(
|
||||
@NonNull String packageName, @UserIdInt int userId);
|
||||
|
||||
/** HACK HACK methods to allow for partial migration of data to the PermissionManager class */
|
||||
@Nullable
|
||||
public abstract Permission getPermissionTEMP(@NonNull String permName);
|
||||
|
||||
Reference in New Issue
Block a user