Merge "Fix auto revoke installer whitelist APIs" into rvc-dev am: 511c3aa955
Change-Id: I3a97457a60f9dfcc42e1dea65162c575b0c8b816
This commit is contained in:
@@ -291,6 +291,9 @@
|
|||||||
<uses-permission android:name="android.permission.ACCESS_TV_TUNER" />
|
<uses-permission android:name="android.permission.ACCESS_TV_TUNER" />
|
||||||
<uses-permission android:name="android.permission.TUNER_RESOURCE_ACCESS" />
|
<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"
|
<application android:label="@string/app_label"
|
||||||
android:theme="@android:style/Theme.DeviceDefault.DayNight"
|
android:theme="@android:style/Theme.DeviceDefault.DayNight"
|
||||||
android:defaultToDeviceProtectedStorage="true"
|
android:defaultToDeviceProtectedStorage="true"
|
||||||
|
|||||||
@@ -1289,6 +1289,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
|||||||
|
|
||||||
final AndroidPackage pkg = mPackageManagerInt.getPackage(packageName);
|
final AndroidPackage pkg = mPackageManagerInt.getPackage(packageName);
|
||||||
final int callingUid = Binder.getCallingUid();
|
final int callingUid = Binder.getCallingUid();
|
||||||
|
final int packageUid = UserHandle.getUid(userId, pkg.getUid());
|
||||||
|
|
||||||
if (!checkAutoRevokeAccess(pkg, callingUid)) {
|
if (!checkAutoRevokeAccess(pkg, callingUid)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -1296,7 +1297,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
|||||||
|
|
||||||
if (mAppOpsManager
|
if (mAppOpsManager
|
||||||
.checkOpNoThrow(AppOpsManager.OP_AUTO_REVOKE_MANAGED_BY_INSTALLER,
|
.checkOpNoThrow(AppOpsManager.OP_AUTO_REVOKE_MANAGED_BY_INSTALLER,
|
||||||
callingUid, packageName)
|
packageUid, packageName)
|
||||||
!= MODE_ALLOWED) {
|
!= MODE_ALLOWED) {
|
||||||
// Whitelist user set - don't override
|
// Whitelist user set - don't override
|
||||||
return false;
|
return false;
|
||||||
@@ -1305,7 +1306,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
|||||||
final long identity = Binder.clearCallingIdentity();
|
final long identity = Binder.clearCallingIdentity();
|
||||||
try {
|
try {
|
||||||
mAppOpsManager.setMode(AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED,
|
mAppOpsManager.setMode(AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED,
|
||||||
callingUid, packageName,
|
packageUid, packageName,
|
||||||
whitelisted ? MODE_IGNORED : MODE_ALLOWED);
|
whitelisted ? MODE_IGNORED : MODE_ALLOWED);
|
||||||
} finally {
|
} finally {
|
||||||
Binder.restoreCallingIdentity(identity);
|
Binder.restoreCallingIdentity(identity);
|
||||||
@@ -1338,6 +1339,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
|||||||
|
|
||||||
final AndroidPackage pkg = mPackageManagerInt.getPackage(packageName);
|
final AndroidPackage pkg = mPackageManagerInt.getPackage(packageName);
|
||||||
final int callingUid = Binder.getCallingUid();
|
final int callingUid = Binder.getCallingUid();
|
||||||
|
final int packageUid = UserHandle.getUid(userId, pkg.getUid());
|
||||||
|
|
||||||
if (!checkAutoRevokeAccess(pkg, callingUid)) {
|
if (!checkAutoRevokeAccess(pkg, callingUid)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -1346,7 +1348,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
|||||||
final long identity = Binder.clearCallingIdentity();
|
final long identity = Binder.clearCallingIdentity();
|
||||||
try {
|
try {
|
||||||
return mAppOpsManager.checkOpNoThrow(
|
return mAppOpsManager.checkOpNoThrow(
|
||||||
AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED, callingUid, packageName)
|
AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED, packageUid, packageName)
|
||||||
== MODE_IGNORED;
|
== MODE_IGNORED;
|
||||||
} finally {
|
} finally {
|
||||||
Binder.restoreCallingIdentity(identity);
|
Binder.restoreCallingIdentity(identity);
|
||||||
|
|||||||
Reference in New Issue
Block a user