Merge "Fix a bug about missing committing app visibility" into qt-dev

am: c5d71fc809

Change-Id: I860f0c800873346fe5125688073a5413a82a8e45
This commit is contained in:
Tiger Huang
2019-06-05 04:56:18 -07:00
committed by android-build-merger

View File

@@ -176,6 +176,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
boolean inPendingTransaction; boolean inPendingTransaction;
boolean allDrawn; boolean allDrawn;
private boolean mLastAllDrawn; private boolean mLastAllDrawn;
private boolean mUseTransferredAnimation;
// Set to true when this app creates a surface while in the middle of an animation. In that // Set to true when this app creates a surface while in the middle of an animation. In that
// case do not clear allDrawn until the animation completes. // case do not clear allDrawn until the animation completes.
@@ -618,9 +619,12 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
boolean runningAppAnimation = false; boolean runningAppAnimation = false;
if (transit != WindowManager.TRANSIT_UNSET) { if (transit != WindowManager.TRANSIT_UNSET) {
if (applyAnimationLocked(lp, transit, visible, isVoiceInteraction)) { if (mUseTransferredAnimation) {
delayed = runningAppAnimation = true; runningAppAnimation = isReallyAnimating();
} else if (applyAnimationLocked(lp, transit, visible, isVoiceInteraction)) {
runningAppAnimation = true;
} }
delayed = runningAppAnimation;
final WindowState window = findMainWindow(); final WindowState window = findMainWindow();
if (window != null && accessibilityController != null) { if (window != null && accessibilityController != null) {
accessibilityController.onAppWindowTransitionLocked(window, transit); accessibilityController.onAppWindowTransitionLocked(window, transit);
@@ -667,6 +671,7 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
getDisplayContent().getInputMonitor().updateInputWindowsLw(false /*force*/); getDisplayContent().getInputMonitor().updateInputWindowsLw(false /*force*/);
} }
} }
mUseTransferredAnimation = false;
if (isReallyAnimating()) { if (isReallyAnimating()) {
delayed = true; delayed = true;
@@ -1531,9 +1536,9 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
transferAnimation(fromToken); transferAnimation(fromToken);
// When transferring an animation, we no longer need to apply an animation to the // When transferring an animation, we no longer need to apply an animation to the
// the token we transfer the animation over. Thus, remove the animation from // the token we transfer the animation over. Thus, set this flag to indicate we've
// pending opening apps. // transferred the animation.
getDisplayContent().mOpeningApps.remove(this); mUseTransferredAnimation = true;
mWmService.updateFocusedWindowLocked( mWmService.updateFocusedWindowLocked(
UPDATE_FOCUS_WILL_PLACE_SURFACES, true /*updateInputWindows*/); UPDATE_FOCUS_WILL_PLACE_SURFACES, true /*updateInputWindows*/);