Fix quickReject logic for transformed views
When a parent draws its child views, each child's bounds is checked against the current dirty region. If the view falls outside of that region is is rejected and doesn't enter into the parent's DisplayList. This works in general, for both transformed and untransformed views (because we skip this check if the view is transformed). But it breaks down when the transform properties of the view change later, since DisplayList properties simply push these values down to the view's DisplayList without invalidating the parent. If a view is rejected when untransformed, then there is nothing to cause it to be considered again until something causes an invalidate of the parent. The fix is to note when a view is rejected and record that information. Later, when one of the transform-related properties change, we invalidate the parent to force the check to happen again, which will cause the view to get drawn if it's visible. Issue #6477730 quickRejected views must recreate their DisplayLists on transform changes Change-Id: I70caf198005cd7e424a37bccc6ae050e09880a6c
Loading
Please register or sign in to comment