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

Commit 09fe5a32 authored by Eugene Susla's avatar Eugene Susla Committed by Automerger Merge Worker
Browse files

Merge "Fix auto revoke installer whitelist APIs" into rvc-dev am: 511c3aa9...

Merge "Fix auto revoke installer whitelist APIs" into rvc-dev am: 511c3aa9 am: 8a63b1ab am: 7315ea9e am: 920029ce

Change-Id: I91a3da176864c9c51128a471b0fb2cb25719a108
parents 594a7cb5 920029ce
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -291,6 +291,9 @@
    <uses-permission android:name="android.permission.ACCESS_TV_TUNER" />
    <uses-permission android:name="android.permission.TUNER_RESOURCE_ACCESS" />

    <!-- Permissions required for CTS test - AutoRevokeTest -->
    <uses-permission android:name="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS" />

    <application android:label="@string/app_label"
                android:theme="@android:style/Theme.DeviceDefault.DayNight"
                android:defaultToDeviceProtectedStorage="true"
+5 −3
Original line number Diff line number Diff line
@@ -1289,6 +1289,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {

        final AndroidPackage pkg = mPackageManagerInt.getPackage(packageName);
        final int callingUid = Binder.getCallingUid();
        final int packageUid = UserHandle.getUid(userId, pkg.getUid());

        if (!checkAutoRevokeAccess(pkg, callingUid)) {
            return false;
@@ -1296,7 +1297,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {

        if (mAppOpsManager
                .checkOpNoThrow(AppOpsManager.OP_AUTO_REVOKE_MANAGED_BY_INSTALLER,
                        callingUid, packageName)
                        packageUid, packageName)
                != MODE_ALLOWED) {
            // Whitelist user set - don't override
            return false;
@@ -1305,7 +1306,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        final long identity = Binder.clearCallingIdentity();
        try {
            mAppOpsManager.setMode(AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED,
                    callingUid, packageName,
                    packageUid, packageName,
                    whitelisted ? MODE_IGNORED : MODE_ALLOWED);
        } finally {
            Binder.restoreCallingIdentity(identity);
@@ -1338,6 +1339,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {

        final AndroidPackage pkg = mPackageManagerInt.getPackage(packageName);
        final int callingUid = Binder.getCallingUid();
        final int packageUid = UserHandle.getUid(userId, pkg.getUid());

        if (!checkAutoRevokeAccess(pkg, callingUid)) {
            return false;
@@ -1346,7 +1348,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        final long identity = Binder.clearCallingIdentity();
        try {
            return mAppOpsManager.checkOpNoThrow(
                    AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED, callingUid, packageName)
                    AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED, packageUid, packageName)
                    == MODE_IGNORED;
        } finally {
            Binder.restoreCallingIdentity(identity);