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

Change-Id: Ifcd7e0ce300d43dece5f1cd731fab4cce8a831ee
This commit is contained in:
Chavi Weingarten
2020-05-29 15:46:09 +00:00
committed by Automerger Merge Worker

View File

@@ -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())