summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author wilsonshih <wilsonshih@google.com> 2021-12-24 10:32:15 +0800
committer wilsonshih <wilsonshih@google.com> 2021-12-29 16:50:48 +0800
commitfb669d9ca7db18c98b665ed639bc5057a118720a (patch)
treed9a68aa4e0956d6ce1c91c903edea88771d4e188
parentca48c3874f6f9ad80a42005fd8d087cdc57c711b (diff)
Fixes starting window being occluded when enable shell transition
- Fix starting window layer so the layer won't become lower when Shell is applying finish transaction. - Fix cannot remove starting window because there were set mAnimatingExit to true while the window is in transition without apply exit animation. Bug: 211045248 Bug: 211844337 Test: enable shell transition, run OpenAppColdTest Change-Id: Ie05b356048ea2db907704911736f0f93e49eb2e8
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java6
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java2
2 files changed, 3 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index fc1fd92c5ba3..7be128b53f8c 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -2548,10 +2548,8 @@ public class WindowManagerService extends IWindowManager.Stub
if (win.mAttrs.type == TYPE_APPLICATION_STARTING) {
transit = WindowManagerPolicy.TRANSIT_PREVIEW_DONE;
}
- if (win.inTransition()) {
- focusMayChange = true;
- win.mAnimatingExit = true;
- } else if (win.isWinVisibleLw() && winAnimator.applyAnimationLocked(transit, false)) {
+
+ if (win.isWinVisibleLw() && winAnimator.applyAnimationLocked(transit, false)) {
focusMayChange = true;
win.mAnimatingExit = true;
} else if (win.mDisplayContent.okToAnimate() && win.isAnimating(TRANSITION | PARENTS,
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index f6729c552cc3..e8f2e9e71090 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -5427,7 +5427,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
@Override
void assignLayer(Transaction t, int layer) {
- if (isStartingWindowAssociatedToTask()) {
+ if (mStartingData != null) {
// The starting window should cover the task.
t.setLayer(mSurfaceControl, Integer.MAX_VALUE);
return;