Merge "Clear calling uid before changing whitelist" into oc-dev
am: 97e3db9aee
Change-Id: Icc858733afb22720a9adf1a1c4e85ba47cf03e2d
diff --git a/services/core/java/com/android/server/am/PendingIntentRecord.java b/services/core/java/com/android/server/am/PendingIntentRecord.java
index a580d4b..7ba67c5 100644
--- a/services/core/java/com/android/server/am/PendingIntentRecord.java
+++ b/services/core/java/com/android/server/am/PendingIntentRecord.java
@@ -271,10 +271,15 @@
resolvedType = key.requestResolvedType;
}
+ final int callingUid = Binder.getCallingUid();
+ final int callingPid = Binder.getCallingPid();
+
+ final long origId = Binder.clearCallingIdentity();
+
if (whitelistDuration > 0) {
StringBuilder tag = new StringBuilder(64);
tag.append("pendingintent:");
- UserHandle.formatUid(tag, Binder.getCallingUid());
+ UserHandle.formatUid(tag, callingUid);
tag.append(":");
if (finalIntent.getAction() != null) {
tag.append(finalIntent.getAction());
@@ -283,12 +288,10 @@
} else if (finalIntent.getData() != null) {
tag.append(finalIntent.getData());
}
- owner.tempWhitelistForPendingIntentLocked(Binder.getCallingPid(),
- Binder.getCallingUid(), uid, whitelistDuration, tag.toString());
+ owner.tempWhitelistForPendingIntentLocked(callingPid,
+ callingUid, uid, whitelistDuration, tag.toString());
}
- final long origId = Binder.clearCallingIdentity();
-
boolean sendFinish = finishedReceiver != null;
int userId = key.userId;
if (userId == UserHandle.USER_CURRENT) {