diff options
author | Nate Myren <ntmyren@google.com> | 2020-11-20 15:41:59 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-11-20 15:41:59 +0000 |
commit | 35c4f102e4fe2eb2bda685fb8f7ea001acfecdcd (patch) | |
tree | ea9d062cf687bfb80e405803bed0a2cce32f0958 | |
parent | df28f95e9e8579e79711ec3e5381b790c327c8a1 (diff) | |
parent | 5ddb7fa4cd281316a85636d4a5758a15d384ea92 (diff) |
Merge "Allow self blames to be trusted" into rvc-qpr-dev
-rw-r--r-- | services/core/java/com/android/server/appop/AppOpsService.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index 847be514b419..12eb8f214121 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -2993,9 +2993,10 @@ public class AppOpsService extends IAppOpsService.Stub { // voice recognizer is also the voice interactor to noteproxy op. final boolean isTrustVoiceServiceProxy = AppOpsManager.isTrustedVoiceServiceProxy(mContext, proxyPackageName, code); + final boolean isSelfBlame = Binder.getCallingUid() == proxiedUid; final boolean isProxyTrusted = mContext.checkPermission( Manifest.permission.UPDATE_APP_OPS_STATS, -1, proxyUid) - == PackageManager.PERMISSION_GRANTED || isTrustVoiceServiceProxy; + == PackageManager.PERMISSION_GRANTED || isTrustVoiceServiceProxy || isSelfBlame; final int proxyFlags = isProxyTrusted ? AppOpsManager.OP_FLAG_TRUSTED_PROXY : AppOpsManager.OP_FLAG_UNTRUSTED_PROXY; |