Loading core/java/android/os/UserHandle.java +13 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,19 @@ public final class UserHandle implements Parcelable { } } /** * Whether a UID belongs to a system core component or not. * @hide */ public static boolean isCore(int uid) { if (uid >= 0) { final int appId = getAppId(uid); return appId < Process.FIRST_APPLICATION_UID; } else { return false; } } /** * Returns the user for a given uid. * @param uid A uid for an application running in a particular user. Loading services/core/java/com/android/server/am/ActivityManagerService.java +8 −0 Original line number Diff line number Diff line Loading @@ -7846,6 +7846,14 @@ public class ActivityManagerService extends IActivityManager.Stub @Override public boolean isAppForeground(int uid) throws RemoteException { 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) { Loading
core/java/android/os/UserHandle.java +13 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,19 @@ public final class UserHandle implements Parcelable { } } /** * Whether a UID belongs to a system core component or not. * @hide */ public static boolean isCore(int uid) { if (uid >= 0) { final int appId = getAppId(uid); return appId < Process.FIRST_APPLICATION_UID; } else { return false; } } /** * Returns the user for a given uid. * @param uid A uid for an application running in a particular user. Loading
services/core/java/com/android/server/am/ActivityManagerService.java +8 −0 Original line number Diff line number Diff line Loading @@ -7846,6 +7846,14 @@ public class ActivityManagerService extends IActivityManager.Stub @Override public boolean isAppForeground(int uid) throws RemoteException { 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) {