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

Change-Id: Ie440aa114b264006ce51a831c11ea7c22fcac353
This commit is contained in:
Automerger Merge Worker
2020-03-14 01:41:31 +00:00

View File

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