Merge "Treat MODE_FOREGROUND as ALLOWED for appop checks" into rvc-dev am: c670246edb am: 2fbdb1b4fc am: 1a9ebdd9af

Change-Id: Idd502a8759fed330ef5577c71c07a51459bfb851
This commit is contained in:
Automerger Merge Worker
2020-03-14 02:12:52 +00:00

View File

@@ -435,10 +435,11 @@ public final class PermissionChecker {
final AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
final int opMode = (forDataDelivery)
? appOpsManager.noteProxyOpNoThrow(op, packageName, uid, attributionTag, message)
: appOpsManager.unsafeCheckOpNoThrow(op, uid, packageName);
: appOpsManager.unsafeCheckOpRawNoThrow(op, uid, packageName);
switch (opMode) {
case AppOpsManager.MODE_ALLOWED: {
case AppOpsManager.MODE_ALLOWED:
case AppOpsManager.MODE_FOREGROUND: {
return PERMISSION_GRANTED;
}
case AppOpsManager.MODE_DEFAULT: {
@@ -467,12 +468,14 @@ public final class PermissionChecker {
final AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
final int opMode = (forDataDelivery)
? appOpsManager.noteProxyOpNoThrow(op, packageName, uid, attributionTag, message)
: appOpsManager.unsafeCheckOpNoThrow(op, uid, packageName);
: appOpsManager.unsafeCheckOpRawNoThrow(op, uid, packageName);
if (opMode == AppOpsManager.MODE_ALLOWED) {
return PERMISSION_GRANTED;
} else {
return PERMISSION_SOFT_DENIED;
switch (opMode) {
case AppOpsManager.MODE_ALLOWED:
case AppOpsManager.MODE_FOREGROUND:
return PERMISSION_GRANTED;
default:
return PERMISSION_SOFT_DENIED;
}
}
}