summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Varun Shah <varunshah@google.com> 2018-10-31 20:36:47 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-10-31 20:36:47 +0000
commitcf0d1807cda205ca20ca01914dea0cd20b77a1de (patch)
treeec7c29c34d50a58635829c4a19290b1bc6ebf2f6
parent173fdc4d3ff152f4ec7a565d4b94cb244342d10b (diff)
parent5cf9f41ed6ab7115c98b5d5fdde98e523c185413 (diff)
Merge "Added an app id security check in isAppForeground."
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index c6fdf15d67e2..b06320a9c4a1 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -5138,6 +5138,14 @@ public class ActivityManagerService extends IActivityManager.Stub
@Override
public boolean isAppForeground(int uid) {
+ int callerUid = Binder.getCallingUid();
+ if (UserHandle.isCore(callerUid) || callerUid == uid) {
+ return isAppForegroundInternal(uid);
+ }
+ return false;
+ }
+
+ private boolean isAppForegroundInternal(int uid) {
synchronized (this) {
UidRecord uidRec = mActiveUids.get(uid);
if (uidRec == null || uidRec.idle) {