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

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

View File

@@ -1812,7 +1812,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())