diff options
| author | Olawale Ogunwale <ogunwale@google.com> | 2015-03-12 21:38:41 +0000 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2015-03-12 21:38:41 +0000 |
| commit | 1d67698bb4c67ffa934d45edf7d5415d582a3c90 (patch) | |
| tree | bfe9bbfb48f2d1b4db98c78e8f96f3f6a9c9882a | |
| parent | 2f9529168974fb6ca3a70372fd802e845e015bfd (diff) | |
| parent | 53729e2933540307b090e64ee89cbae26c67de8f (diff) | |
| download | frameworks_base-1d67698bb4c67ffa934d45edf7d5415d582a3c90.zip frameworks_base-1d67698bb4c67ffa934d45edf7d5415d582a3c90.tar.gz frameworks_base-1d67698bb4c67ffa934d45edf7d5415d582a3c90.tar.bz2 | |
am 53729e29: Merge "Wait for opening apps ready before stopping freezing display"
* commit '53729e2933540307b090e64ee89cbae26c67de8f':
Wait for opening apps ready before stopping freezing display
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index fb2bb5f..c7406bf 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -4108,6 +4108,8 @@ public class WindowManagerService extends IWindowManager.Stub mAppTransition.prepare(); mStartingIconInTransition = false; mSkipAppTransitionAnimation = false; + } + if (mAppTransition.isTransitionSet()) { mH.removeMessages(H.APP_TRANSITION_TIMEOUT); mH.sendEmptyMessageDelayed(H.APP_TRANSITION_TIMEOUT, 5000); } @@ -7926,8 +7928,12 @@ public class WindowManagerService extends IWindowManager.Stub case APP_TRANSITION_TIMEOUT: { synchronized (mWindowMap) { - if (mAppTransition.isTransitionSet()) { - if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** APP TRANSITION TIMEOUT"); + if (mAppTransition.isTransitionSet() || !mOpeningApps.isEmpty() + || !mClosingApps.isEmpty()) { + if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** APP TRANSITION TIMEOUT." + + " isTransitionSet()=" + mAppTransition.isTransitionSet() + + " mOpeningApps.size()=" + mOpeningApps.size() + + " mClosingApps.size()=" + mClosingApps.size()); mAppTransition.setTimeout(); performLayoutAndPlaceSurfacesLocked(); } @@ -9089,10 +9095,7 @@ public class WindowManagerService extends IWindowManager.Stub "Checking " + NN + " opening apps (frozen=" + mDisplayFrozen + " timeout=" + mAppTransition.isTimeout() + ")..."); - if (!mDisplayFrozen && !mAppTransition.isTimeout()) { - // If the display isn't frozen, wait to do anything until - // all of the apps are ready. Otherwise just go because - // we'll unfreeze the display when everyone is ready. + if (!mAppTransition.isTimeout()) { for (i=0; i<NN && goodToGo; i++) { AppWindowToken wtoken = mOpeningApps.valueAt(i); if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, @@ -10728,12 +10731,13 @@ public class WindowManagerService extends IWindowManager.Stub } if (mWaitingForConfig || mAppsFreezingScreen > 0 || mWindowsFreezingScreen - || mClientFreezingScreen) { + || mClientFreezingScreen || !mOpeningApps.isEmpty()) { if (DEBUG_ORIENTATION) Slog.d(TAG, "stopFreezingDisplayLocked: Returning mWaitingForConfig=" + mWaitingForConfig + ", mAppsFreezingScreen=" + mAppsFreezingScreen + ", mWindowsFreezingScreen=" + mWindowsFreezingScreen - + ", mClientFreezingScreen=" + mClientFreezingScreen); + + ", mClientFreezingScreen=" + mClientFreezingScreen + + ", mOpeningApps.size()=" + mOpeningApps.size()); return; } |
