Loading core/java/android/os/IUserManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -139,7 +139,7 @@ interface IUserManager { boolean isUserForeground(int userId); boolean isUserVisible(int userId); int[] getVisibleUsers(); int getMainDisplayIdAssignedToUser(); int getMainDisplayIdAssignedToUser(int userId); boolean isForegroundUserAdmin(); boolean isUserNameSet(int userId); boolean hasRestrictedProfiles(int userId); Loading core/java/android/os/UserManager.java +5 −1 Original line number Diff line number Diff line Loading @@ -3706,9 +3706,13 @@ public class UserManager { * @hide */ @TestApi @UserHandleAware( requiresAnyOfPermissionsIfNotCaller = { android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public int getMainDisplayIdAssignedToUser() { try { return mService.getMainDisplayIdAssignedToUser(); return mService.getMainDisplayIdAssignedToUser(mUserId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } Loading services/core/java/com/android/server/pm/UserManagerService.java +9 −5 Original line number Diff line number Diff line Loading @@ -2647,11 +2647,15 @@ public class UserManagerService extends IUserManager.Stub { } @Override public int getMainDisplayIdAssignedToUser() { // Not checking for any permission as it returns info about calling user int userId = UserHandle.getUserId(Binder.getCallingUid()); int displayId = mUserVisibilityMediator.getMainDisplayAssignedToUser(userId); return displayId; public int getMainDisplayIdAssignedToUser(int userId) { final int callingUserId = UserHandle.getCallingUserId(); if (callingUserId != userId && !hasManageUsersOrPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)) { throw new SecurityException("Caller from user " + callingUserId + " needs MANAGE_USERS " + "or INTERACT_ACROSS_USERS permission to get the main display for (" + userId + ")"); } return mUserVisibilityMediator.getMainDisplayAssignedToUser(userId); } @Override Loading Loading
core/java/android/os/IUserManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -139,7 +139,7 @@ interface IUserManager { boolean isUserForeground(int userId); boolean isUserVisible(int userId); int[] getVisibleUsers(); int getMainDisplayIdAssignedToUser(); int getMainDisplayIdAssignedToUser(int userId); boolean isForegroundUserAdmin(); boolean isUserNameSet(int userId); boolean hasRestrictedProfiles(int userId); Loading
core/java/android/os/UserManager.java +5 −1 Original line number Diff line number Diff line Loading @@ -3706,9 +3706,13 @@ public class UserManager { * @hide */ @TestApi @UserHandleAware( requiresAnyOfPermissionsIfNotCaller = { android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public int getMainDisplayIdAssignedToUser() { try { return mService.getMainDisplayIdAssignedToUser(); return mService.getMainDisplayIdAssignedToUser(mUserId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } Loading
services/core/java/com/android/server/pm/UserManagerService.java +9 −5 Original line number Diff line number Diff line Loading @@ -2647,11 +2647,15 @@ public class UserManagerService extends IUserManager.Stub { } @Override public int getMainDisplayIdAssignedToUser() { // Not checking for any permission as it returns info about calling user int userId = UserHandle.getUserId(Binder.getCallingUid()); int displayId = mUserVisibilityMediator.getMainDisplayAssignedToUser(userId); return displayId; public int getMainDisplayIdAssignedToUser(int userId) { final int callingUserId = UserHandle.getCallingUserId(); if (callingUserId != userId && !hasManageUsersOrPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)) { throw new SecurityException("Caller from user " + callingUserId + " needs MANAGE_USERS " + "or INTERACT_ACROSS_USERS permission to get the main display for (" + userId + ")"); } return mUserVisibilityMediator.getMainDisplayAssignedToUser(userId); } @Override Loading