Loading services/core/java/com/android/server/am/ActivityManagerService.java +9 −4 Original line number Original line Diff line number Diff line Loading @@ -8568,7 +8568,7 @@ public class ActivityManagerService extends IActivityManager.Stub } } @Override @Override public boolean isAppForeground(int uid) throws RemoteException { public boolean isAppForeground(int uid) { synchronized (this) { synchronized (this) { UidRecord uidRec = mActiveUids.get(uid); UidRecord uidRec = mActiveUids.get(uid); if (uidRec == null || uidRec.idle) { if (uidRec == null || uidRec.idle) { Loading Loading @@ -14036,13 +14036,17 @@ public class ActivityManagerService extends IActivityManager.Stub public boolean isUidActive(int uid, String callingPackage) { public boolean isUidActive(int uid, String callingPackage) { if (!hasUsageStatsPermission(callingPackage)) { if (!hasUsageStatsPermission(callingPackage)) { enforceCallingPermission(android.Manifest.permission.PACKAGE_USAGE_STATS, enforceCallingPermission(android.Manifest.permission.PACKAGE_USAGE_STATS, "getPackageProcessState"); "isUidActive"); } } synchronized (this) { synchronized (this) { return isUidActiveLocked(uid); } } boolean isUidActiveLocked(int uid) { final UidRecord uidRecord = mActiveUids.get(uid); final UidRecord uidRecord = mActiveUids.get(uid); return uidRecord != null && !uidRecord.setIdle; return uidRecord != null && !uidRecord.setIdle; } } } @Override @Override public boolean convertFromTranslucent(IBinder token) { public boolean convertFromTranslucent(IBinder token) { Loading Loading @@ -21027,6 +21031,7 @@ public class ActivityManagerService extends IActivityManager.Stub } } } } if (brOptions.isDontSendToRestrictedApps() if (brOptions.isDontSendToRestrictedApps() && !isUidActiveLocked(callingUid) && isBackgroundRestrictedNoCheck(callingUid, callerPackage)) { && isBackgroundRestrictedNoCheck(callingUid, callerPackage)) { Slog.i(TAG, "Not sending broadcast " + action + " - app " + callerPackage Slog.i(TAG, "Not sending broadcast " + action + " - app " + callerPackage + " has background restrictions"); + " has background restrictions"); Loading
services/core/java/com/android/server/am/ActivityManagerService.java +9 −4 Original line number Original line Diff line number Diff line Loading @@ -8568,7 +8568,7 @@ public class ActivityManagerService extends IActivityManager.Stub } } @Override @Override public boolean isAppForeground(int uid) throws RemoteException { public boolean isAppForeground(int uid) { synchronized (this) { synchronized (this) { UidRecord uidRec = mActiveUids.get(uid); UidRecord uidRec = mActiveUids.get(uid); if (uidRec == null || uidRec.idle) { if (uidRec == null || uidRec.idle) { Loading Loading @@ -14036,13 +14036,17 @@ public class ActivityManagerService extends IActivityManager.Stub public boolean isUidActive(int uid, String callingPackage) { public boolean isUidActive(int uid, String callingPackage) { if (!hasUsageStatsPermission(callingPackage)) { if (!hasUsageStatsPermission(callingPackage)) { enforceCallingPermission(android.Manifest.permission.PACKAGE_USAGE_STATS, enforceCallingPermission(android.Manifest.permission.PACKAGE_USAGE_STATS, "getPackageProcessState"); "isUidActive"); } } synchronized (this) { synchronized (this) { return isUidActiveLocked(uid); } } boolean isUidActiveLocked(int uid) { final UidRecord uidRecord = mActiveUids.get(uid); final UidRecord uidRecord = mActiveUids.get(uid); return uidRecord != null && !uidRecord.setIdle; return uidRecord != null && !uidRecord.setIdle; } } } @Override @Override public boolean convertFromTranslucent(IBinder token) { public boolean convertFromTranslucent(IBinder token) { Loading Loading @@ -21027,6 +21031,7 @@ public class ActivityManagerService extends IActivityManager.Stub } } } } if (brOptions.isDontSendToRestrictedApps() if (brOptions.isDontSendToRestrictedApps() && !isUidActiveLocked(callingUid) && isBackgroundRestrictedNoCheck(callingUid, callerPackage)) { && isBackgroundRestrictedNoCheck(callingUid, callerPackage)) { Slog.i(TAG, "Not sending broadcast " + action + " - app " + callerPackage Slog.i(TAG, "Not sending broadcast " + action + " - app " + callerPackage + " has background restrictions"); + " has background restrictions");