diff options
| author | 2020-05-29 15:45:56 +0000 | |
|---|---|---|
| committer | 2020-05-29 15:45:56 +0000 | |
| commit | bb9ea672ac2832a519cd653b9cd4cc1a70e6699c (patch) | |
| tree | 68f22ef477d5973287b4aaf8241967126122b582 | |
| parent | a6bcf4c2d87b0db7f29efa5a20fd647219684cd9 (diff) | |
| parent | 9511c45efc19fcf0d398af1a3b6f8f1e30cf6c7e (diff) | |
Merge "Ignore insets provider visibility when checking performLayout" into rvc-dev am: 9511c45efc
Change-Id: I03a19fab37a651c9d154669afa09638fe40f2c1c
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index ae21174583d2..46d6009b9ab8 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1790,7 +1790,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP final ActivityRecord atoken = mActivityRecord; return mViewVisibility == View.GONE || !mRelayoutCalled - || (atoken == null && !mToken.isVisible()) + // We can't check isVisible here because it will also check the client visibility + // for WindowTokens. Even if the client is not visible, we still need to perform + // a layout since they can request relayout when client visibility is false. + // TODO (b/157682066) investigate if we can clean up isVisible + || (atoken == null && !(wouldBeVisibleIfPolicyIgnored() && isVisibleByPolicy())) || (atoken != null && !atoken.mVisibleRequested) || isParentWindowGoneForLayout() || (mAnimatingExit && !isAnimatingLw()) |