Merge "Sync app ops for all runtime permissions in PermissionPolicyService."
This commit is contained in:
committed by
Android (Google) Code Review
commit
2998a810e6
@@ -1558,7 +1558,6 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
}
|
||||
};
|
||||
|
||||
final AppOpsManager appOpsManager = mContext.getSystemService(AppOpsManager.class);
|
||||
for (int i = 0; i < permissionCount; i++) {
|
||||
final String permName = pkg.requestedPermissions.get(i);
|
||||
final BasePermission bp;
|
||||
@@ -1624,16 +1623,9 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
|
||||
// If this permission was granted by default, make sure it is.
|
||||
if ((oldFlags & FLAG_PERMISSION_GRANTED_BY_DEFAULT) != 0) {
|
||||
// PermissionPolicyService will handle the app op for runtime permissions later.
|
||||
grantRuntimePermissionInternal(permName, packageName, false,
|
||||
Process.SYSTEM_UID, userId, delayingPermCallback);
|
||||
// Allow app op later as we are holding mPackages
|
||||
// PermissionPolicyService will handle the app op for foreground/background
|
||||
// permissions.
|
||||
String appOp = AppOpsManager.permissionToOp(permName);
|
||||
if (appOp != null) {
|
||||
mHandler.post(() -> appOpsManager.setUidMode(appOp, uid,
|
||||
AppOpsManager.MODE_ALLOWED));
|
||||
}
|
||||
// If permission review is enabled the permissions for a legacy apps
|
||||
// are represented as constantly granted runtime ones, so don't revoke.
|
||||
} else if ((flags & FLAG_PERMISSION_REVIEW_REQUIRED) == 0) {
|
||||
|
||||
@@ -499,8 +499,7 @@ public final class PermissionPolicyService extends SystemService {
|
||||
|
||||
private void addPermissionAppOp(@NonNull PackageInfo packageInfo,
|
||||
@NonNull PermissionInfo permissionInfo) {
|
||||
// TODO: Sync all permissions in the future.
|
||||
if (!permissionInfo.isRestricted() && permissionInfo.backgroundPermission == null) {
|
||||
if (!permissionInfo.isRuntime()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user