Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40ee4c49 authored by Nate Myren's avatar Nate Myren Committed by Automerger Merge Worker
Browse files

Merge "Reset any non-runtime permissions with user sensitive" into rvc-dev am: 5db9071c

Change-Id: Ibf9d0a428492b8fb5a1fac4fba7ec2e28cad0082
parents d49d6f50 5db9071c
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -2497,10 +2497,24 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        synchronized (mLock) {
            ArraySet<String> newImplicitPermissions = new ArraySet<>();

            // TODO ntmyren: Remove once propagated to droidfood
            int flagMask = PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED
                    | PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED;
            int user = UserHandle.getUserId(pkg.getUid());

            final int N = pkg.getRequestedPermissions().size();
            for (int i = 0; i < N; i++) {
                final String permName = pkg.getRequestedPermissions().get(i);
                final BasePermission bp = mSettings.getPermissionLocked(permName);

                // TODO ntmyren: Remove once propagated to droidfood
                if (bp != null && !bp.isRuntime()) {
                    PermissionState permState = permissionsState.getInstallPermissionState(bp.name);
                    if (permState == null || (permState.getFlags() & flagMask) != 0) {
                        permissionsState.updatePermissionFlags(bp, user, flagMask, 0);
                    }
                }

                final boolean appSupportsRuntimePermissions =
                        pkg.getTargetSdkVersion() >= Build.VERSION_CODES.M;
                String upgradedActivityRecognitionPermission = null;