Merge "Ignore insets provider visibility when checking performLayout" into rvc-dev am: 9511c45efc am: cdc4c30ea9

Change-Id: I5bf9f7930512410062a76cc8beee0cd9e9105a42
This commit is contained in:
Chavi Weingarten
2020-05-29 16:00:58 +00:00
committed by Automerger Merge Worker

View File

@@ -1790,7 +1790,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
final ActivityRecord atoken = mActivityRecord; final ActivityRecord atoken = mActivityRecord;
return mViewVisibility == View.GONE return mViewVisibility == View.GONE
|| !mRelayoutCalled || !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) || (atoken != null && !atoken.mVisibleRequested)
|| isParentWindowGoneForLayout() || isParentWindowGoneForLayout()
|| (mAnimatingExit && !isAnimatingLw()) || (mAnimatingExit && !isAnimatingLw())