Loading packages/Shell/AndroidManifest.xml +3 −0 Original line number Diff line number Diff line Loading @@ -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" Loading services/core/java/com/android/server/pm/permission/PermissionManagerService.java +5 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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); Loading Loading @@ -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; Loading @@ -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); Loading Loading
packages/Shell/AndroidManifest.xml +3 −0 Original line number Diff line number Diff line Loading @@ -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" Loading
services/core/java/com/android/server/pm/permission/PermissionManagerService.java +5 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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); Loading Loading @@ -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; Loading @@ -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); Loading