Loading services/core/java/com/android/server/am/ActiveServices.java +2 −3 Original line number Diff line number Diff line Loading @@ -2810,14 +2810,13 @@ public final class ActiveServices { } List<ActivityManager.RunningServiceInfo> getRunningServiceInfoLocked(int maxNum, int flags, int callingUid, boolean allowed) { int callingUid, boolean allowed, boolean canInteractAcrossUsers) { ArrayList<ActivityManager.RunningServiceInfo> res = new ArrayList<ActivityManager.RunningServiceInfo>(); final long ident = Binder.clearCallingIdentity(); try { if (ActivityManager.checkUidPermission(INTERACT_ACROSS_USERS_FULL, callingUid) == PERMISSION_GRANTED) { if (canInteractAcrossUsers) { int[] users = mAm.mUserController.getUsers(); for (int ui=0; ui<users.length && res.size() < maxNum; ui++) { ArrayMap<ComponentName, ServiceRecord> alls = getServicesLocked(users[ui]); Loading services/core/java/com/android/server/am/ActivityManagerService.java +8 −5 Original line number Diff line number Diff line Loading @@ -17506,12 +17506,15 @@ public class ActivityManagerService extends IActivityManager.Stub public List<ActivityManager.RunningServiceInfo> getServices(int maxNum, int flags) { enforceNotIsolatedCaller("getServices"); synchronized (this) { final int callingUid = Binder.getCallingUid(); final boolean canInteractAcrossUsers = (ActivityManager.checkUidPermission( INTERACT_ACROSS_USERS_FULL, callingUid) == PERMISSION_GRANTED); final boolean allowed = isGetTasksAllowed("getServices", Binder.getCallingPid(), callingUid); return mServices.getRunningServiceInfoLocked(maxNum, flags, callingUid, allowed); synchronized (this) { return mServices.getRunningServiceInfoLocked(maxNum, flags, callingUid, allowed, canInteractAcrossUsers); } } Loading
services/core/java/com/android/server/am/ActiveServices.java +2 −3 Original line number Diff line number Diff line Loading @@ -2810,14 +2810,13 @@ public final class ActiveServices { } List<ActivityManager.RunningServiceInfo> getRunningServiceInfoLocked(int maxNum, int flags, int callingUid, boolean allowed) { int callingUid, boolean allowed, boolean canInteractAcrossUsers) { ArrayList<ActivityManager.RunningServiceInfo> res = new ArrayList<ActivityManager.RunningServiceInfo>(); final long ident = Binder.clearCallingIdentity(); try { if (ActivityManager.checkUidPermission(INTERACT_ACROSS_USERS_FULL, callingUid) == PERMISSION_GRANTED) { if (canInteractAcrossUsers) { int[] users = mAm.mUserController.getUsers(); for (int ui=0; ui<users.length && res.size() < maxNum; ui++) { ArrayMap<ComponentName, ServiceRecord> alls = getServicesLocked(users[ui]); Loading
services/core/java/com/android/server/am/ActivityManagerService.java +8 −5 Original line number Diff line number Diff line Loading @@ -17506,12 +17506,15 @@ public class ActivityManagerService extends IActivityManager.Stub public List<ActivityManager.RunningServiceInfo> getServices(int maxNum, int flags) { enforceNotIsolatedCaller("getServices"); synchronized (this) { final int callingUid = Binder.getCallingUid(); final boolean canInteractAcrossUsers = (ActivityManager.checkUidPermission( INTERACT_ACROSS_USERS_FULL, callingUid) == PERMISSION_GRANTED); final boolean allowed = isGetTasksAllowed("getServices", Binder.getCallingPid(), callingUid); return mServices.getRunningServiceInfoLocked(maxNum, flags, callingUid, allowed); synchronized (this) { return mServices.getRunningServiceInfoLocked(maxNum, flags, callingUid, allowed, canInteractAcrossUsers); } }