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

Commit 0e0986ed authored by Fyodor Kupolov's avatar Fyodor Kupolov
Browse files

Increased user switch timeout to 3s

Also report the actual delay if sendResult is eventually called.

Test: Manual
Bug: 30813554
Change-Id: I8e4241bd092975ca1d1aa5286ec8f7be6266fa1e
parent b3fe6500
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -114,7 +114,7 @@ final class UserController {

    // Amount of time we wait for observers to handle a user switch before
    // giving up on them and unfreezing the screen.
    static final int USER_SWITCH_TIMEOUT = 2 * 1000;
    static final int USER_SWITCH_TIMEOUT = 3 * 1000;

    private final Object mLock;
    private final Injector mInjector;
@@ -1088,6 +1088,7 @@ final class UserController {
                mCurWaitingUserSwitchCallbacks = curWaitingUserSwitchCallbacks;
            }
            final AtomicInteger waitingCallbacksCount = new AtomicInteger(observerCount);
            final long dispatchStartedTime = SystemClock.elapsedRealtime();
            for (int i = 0; i < observerCount; i++) {
                try {
                    // Prepend with unique prefix to guarantee that keys are unique
@@ -1099,6 +1100,11 @@ final class UserController {
                        @Override
                        public void sendResult(Bundle data) throws RemoteException {
                            synchronized (mLock) {
                                long delay = SystemClock.elapsedRealtime() - dispatchStartedTime;
                                if (delay > USER_SWITCH_TIMEOUT) {
                                    Slog.wtf(TAG, "User switch timeout: observer "  + name
                                            + " sent result after " + delay + " ms");
                                }
                                // Early return if this session is no longer valid
                                if (curWaitingUserSwitchCallbacks
                                        != mCurWaitingUserSwitchCallbacks) {