Merge "Wait for opening apps ready before stopping freezing display"
This commit is contained in:
@ -4095,6 +4095,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);
|
||||
}
|
||||
@ -7906,8 +7908,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();
|
||||
}
|
||||
@ -9069,10 +9075,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,
|
||||
@ -10706,12 +10709,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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user