Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a56cd4d authored by Felipe Leme's avatar Felipe Leme Committed by Android (Google) Code Review
Browse files

Merge "Temporary fix on isUserVisibleOnDisplay(userId, displayId)."

parents 0ded60cc 4ab0f4fe
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -329,6 +329,12 @@ public abstract class UserManagerInternal {
     */
    public abstract void unassignUserFromDisplay(@UserIdInt int userId);

    /**
     * Returns {@code true} if the user is visible (as defined by
     * {@link UserManager#isUserVisible()}.
     */
    public abstract boolean isUserVisible(@UserIdInt int userId);

    /**
     * Returns {@code true} if the user is visible (as defined by
     * {@link UserManager#isUserVisible()} in the given display.
+12 −0
Original line number Diff line number Diff line
@@ -1770,6 +1770,13 @@ public class UserManagerService extends IUserManager.Stub {

    // TODO(b/239982558): try to merge with isUserVisibleUnchecked() (once both are unit tested)
    boolean isUserVisibleOnDisplay(@UserIdInt int userId, int displayId) {
        // TODO(b/244644281): temporary workaround to let WM use this API without breaking current
        // behavior (otherwise current user / profiles wouldn't be able to launch activities on
        // other non-passenger displays, like cluster, display, or virtual displays)
        if (isCurrentUserOrRunningProfileOfCurrentUser(userId)) {
            return true;
        }

        if (displayId == Display.DEFAULT_DISPLAY) {
            return isCurrentUserOrRunningProfileOfCurrentUser(userId);
        }
@@ -6727,6 +6734,11 @@ public class UserManagerService extends IUserManager.Stub {
            }
        }

        @Override
        public boolean isUserVisible(int userId) {
            return isUserVisibleUnchecked(userId);
        }

        @Override
        public boolean isUserVisible(int userId, int displayId) {
            return isUserVisibleOnDisplay(userId, displayId);