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();
|
mAppTransition.prepare();
|
||||||
mStartingIconInTransition = false;
|
mStartingIconInTransition = false;
|
||||||
mSkipAppTransitionAnimation = false;
|
mSkipAppTransitionAnimation = false;
|
||||||
|
}
|
||||||
|
if (mAppTransition.isTransitionSet()) {
|
||||||
mH.removeMessages(H.APP_TRANSITION_TIMEOUT);
|
mH.removeMessages(H.APP_TRANSITION_TIMEOUT);
|
||||||
mH.sendEmptyMessageDelayed(H.APP_TRANSITION_TIMEOUT, 5000);
|
mH.sendEmptyMessageDelayed(H.APP_TRANSITION_TIMEOUT, 5000);
|
||||||
}
|
}
|
||||||
@@ -7906,8 +7908,12 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
|
|
||||||
case APP_TRANSITION_TIMEOUT: {
|
case APP_TRANSITION_TIMEOUT: {
|
||||||
synchronized (mWindowMap) {
|
synchronized (mWindowMap) {
|
||||||
if (mAppTransition.isTransitionSet()) {
|
if (mAppTransition.isTransitionSet() || !mOpeningApps.isEmpty()
|
||||||
if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** APP TRANSITION TIMEOUT");
|
|| !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();
|
mAppTransition.setTimeout();
|
||||||
performLayoutAndPlaceSurfacesLocked();
|
performLayoutAndPlaceSurfacesLocked();
|
||||||
}
|
}
|
||||||
@@ -9069,10 +9075,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
"Checking " + NN + " opening apps (frozen="
|
"Checking " + NN + " opening apps (frozen="
|
||||||
+ mDisplayFrozen + " timeout="
|
+ mDisplayFrozen + " timeout="
|
||||||
+ mAppTransition.isTimeout() + ")...");
|
+ mAppTransition.isTimeout() + ")...");
|
||||||
if (!mDisplayFrozen && !mAppTransition.isTimeout()) {
|
if (!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.
|
|
||||||
for (i=0; i<NN && goodToGo; i++) {
|
for (i=0; i<NN && goodToGo; i++) {
|
||||||
AppWindowToken wtoken = mOpeningApps.valueAt(i);
|
AppWindowToken wtoken = mOpeningApps.valueAt(i);
|
||||||
if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
|
if (DEBUG_APP_TRANSITIONS) Slog.v(TAG,
|
||||||
@@ -10706,12 +10709,13 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mWaitingForConfig || mAppsFreezingScreen > 0 || mWindowsFreezingScreen
|
if (mWaitingForConfig || mAppsFreezingScreen > 0 || mWindowsFreezingScreen
|
||||||
|| mClientFreezingScreen) {
|
|| mClientFreezingScreen || !mOpeningApps.isEmpty()) {
|
||||||
if (DEBUG_ORIENTATION) Slog.d(TAG,
|
if (DEBUG_ORIENTATION) Slog.d(TAG,
|
||||||
"stopFreezingDisplayLocked: Returning mWaitingForConfig=" + mWaitingForConfig
|
"stopFreezingDisplayLocked: Returning mWaitingForConfig=" + mWaitingForConfig
|
||||||
+ ", mAppsFreezingScreen=" + mAppsFreezingScreen
|
+ ", mAppsFreezingScreen=" + mAppsFreezingScreen
|
||||||
+ ", mWindowsFreezingScreen=" + mWindowsFreezingScreen
|
+ ", mWindowsFreezingScreen=" + mWindowsFreezingScreen
|
||||||
+ ", mClientFreezingScreen=" + mClientFreezingScreen);
|
+ ", mClientFreezingScreen=" + mClientFreezingScreen
|
||||||
|
+ ", mOpeningApps.size()=" + mOpeningApps.size());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user