diff --git a/services/core/java/com/android/server/pm/UserManagerInternal.java b/services/core/java/com/android/server/pm/UserManagerInternal.java index 5731af68df95e..297439f33a8b1 100644 --- a/services/core/java/com/android/server/pm/UserManagerInternal.java +++ b/services/core/java/com/android/server/pm/UserManagerInternal.java @@ -315,4 +315,10 @@ public abstract class UserManagerInternal { /** TODO(b/239982558): add javadoc / mention invalid_id is used to unassing */ public abstract void assignUserToDisplay(@UserIdInt int userId, int displayId); + + /** + * Returns {@code true} if the user is visible (as defined by + * {@link UserManager#isUserVisible()} in the given display. + */ + public abstract boolean isUserVisible(@UserIdInt int userId, int displayId); } diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 87ab87df0b0c1..e423ea9170d71 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -7005,7 +7005,12 @@ public class UserManagerService extends IUserManager.Stub { mUsersOnSecondaryDisplays.put(userId, displayId); } } - } + + @Override + public boolean isUserVisible(int userId, int displayId) { + return isUserVisibleOnDisplay(userId, displayId); + } + } // class LocalService /** * Check if user has restrictions