summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlawale Ogunwale <ogunwale@google.com>2015-03-12 21:38:41 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-03-12 21:38:41 +0000
commit1d67698bb4c67ffa934d45edf7d5415d582a3c90 (patch)
treebfe9bbfb48f2d1b4db98c78e8f96f3f6a9c9882a
parent2f9529168974fb6ca3a70372fd802e845e015bfd (diff)
parent53729e2933540307b090e64ee89cbae26c67de8f (diff)
downloadframeworks_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.java20
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;
}