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

Commit c34c37f7 authored by Fyodor Kupolov's avatar Fyodor Kupolov Committed by Android (Google) Code Review
Browse files

Merge "Synchronously finish boot when user starts in background"

parents 6ee84050 2e6acce4
Loading
Loading
Loading
Loading
+0 −17
Original line number Diff line number Diff line
@@ -1549,14 +1549,6 @@ public final class ActivityStackSupervisor implements DisplayListener {
                    mService.mUserController.finishUserSwitch(startingUsers.get(i));
                }
            }
            // Complete starting up of background users
            if (mStartingBackgroundUsers.size() > 0) {
                startingUsers = new ArrayList<UserState>(mStartingBackgroundUsers);
                mStartingBackgroundUsers.clear();
                for (int i = 0; i < startingUsers.size(); i++) {
                    mService.mUserController.finishUserBoot(startingUsers.get(i));
                }
            }
        }

        mService.trimApplications();
@@ -2765,15 +2757,6 @@ public final class ActivityStackSupervisor implements DisplayListener {
        return homeInFront;
    }

    /**
     * Add background users to send boot completed events to.
     * @param userId The user being started in the background
     * @param uss The state object for the user.
     */
    public void startBackgroundUserLocked(int userId, UserState uss) {
        mStartingBackgroundUsers.add(uss);
    }

    /** Checks whether the userid is a profile of the current user. */
    boolean isCurrentProfileLocked(int userId) {
        if (userId == mCurrentUser) return true;
+3 −3
Original line number Diff line number Diff line
@@ -202,11 +202,11 @@ final class UserController {
        }
    }

    void finishUserBoot(UserState uss) {
    private void finishUserBoot(UserState uss) {
        finishUserBoot(uss, null);
    }

    void finishUserBoot(UserState uss, IIntentReceiver resultTo) {
    private void finishUserBoot(UserState uss, IIntentReceiver resultTo) {
        final int userId = uss.mHandle.getIdentifier();
        synchronized (mService) {
            // Bail if we ended up with a stale user
@@ -711,7 +711,7 @@ final class UserController {
                        moveUserToForegroundLocked(uss, oldUserId, userId);
                    }
                } else {
                    mService.mStackSupervisor.startBackgroundUserLocked(userId, uss);
                    mService.mUserController.finishUserBoot(uss);
                }

                if (needStart) {