diff options
| author | 2016-12-09 20:10:53 +0000 | |
|---|---|---|
| committer | 2016-12-09 20:10:53 +0000 | |
| commit | bc8940f42542c75f68abba0a7f860d0c812fbcd5 (patch) | |
| tree | f5f7ab80b27f24e9fa791f96fff37081c57d8878 | |
| parent | ca9a29f1582d2ef5d6eb1d0cb19fa02312a49890 (diff) | |
| parent | 2fe1990ba779ef3fdb77cc596ff9eefeaeef613d (diff) | |
[DO NOT MERGE] Increased user switch timeout to 3s
am: 2fe1990ba7
Change-Id: I0c33b2804fe41885c02567d3ed5208993b46086a
| -rw-r--r-- | services/core/java/com/android/server/am/UserController.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index 4bc148bef290..1ef3728c6444 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -112,7 +112,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 ActivityManagerService mService; private final Handler mHandler; @@ -1085,6 +1085,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 @@ -1096,6 +1097,11 @@ final class UserController { @Override public void sendResult(Bundle data) throws RemoteException { synchronized (mService) { + 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) { |