diff --git a/services/core/java/com/android/server/pm/UserManagerInternal.java b/services/core/java/com/android/server/pm/UserManagerInternal.java index d358e43c67620..daddafd82aa7b 100644 --- a/services/core/java/com/android/server/pm/UserManagerInternal.java +++ b/services/core/java/com/android/server/pm/UserManagerInternal.java @@ -308,4 +308,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 c0176501b0260..c8f81e66c9d3b 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -6875,7 +6875,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