Loading core/java/android/view/ViewGroup.java +23 −7 Original line number Diff line number Diff line Loading @@ -5045,14 +5045,30 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager offset.y += dy; } if (rect.intersect(0, 0, mRight - mLeft, mBottom - mTop)) { if (mParent == null) return true; r.set((int) (rect.left + 0.5f), (int) (rect.top + 0.5f), (int) (rect.right + 0.5f), (int) (rect.bottom + 0.5f)); return mParent.getChildVisibleRect(this, r, offset); boolean rectIsVisible = true; if (mParent instanceof ViewGroup && ((ViewGroup)mParent).getClipChildren()) { // clipChildren clips to the child's bounds rectIsVisible = rect.intersect(0, 0, mRight - mLeft, mBottom - mTop); } return false; if (rectIsVisible && (mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { // Clip to padding rectIsVisible = rect.intersect(mPaddingLeft, mPaddingTop, mRight - mLeft - mPaddingLeft - mPaddingRight, mBottom - mTop - mPaddingTop - mPaddingBottom); } if (rectIsVisible && mClipBounds != null) { // Clip to clipBounds rectIsVisible = rect.intersect(mClipBounds.left, mClipBounds.top, mClipBounds.right, mClipBounds.bottom); } r.set((int) (rect.left + 0.5f), (int) (rect.top + 0.5f), (int) (rect.right + 0.5f), (int) (rect.bottom + 0.5f)); if (rectIsVisible && mParent != null) { rectIsVisible = mParent.getChildVisibleRect(this, r, offset); } return rectIsVisible; } /** Loading Loading
core/java/android/view/ViewGroup.java +23 −7 Original line number Diff line number Diff line Loading @@ -5045,14 +5045,30 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager offset.y += dy; } if (rect.intersect(0, 0, mRight - mLeft, mBottom - mTop)) { if (mParent == null) return true; r.set((int) (rect.left + 0.5f), (int) (rect.top + 0.5f), (int) (rect.right + 0.5f), (int) (rect.bottom + 0.5f)); return mParent.getChildVisibleRect(this, r, offset); boolean rectIsVisible = true; if (mParent instanceof ViewGroup && ((ViewGroup)mParent).getClipChildren()) { // clipChildren clips to the child's bounds rectIsVisible = rect.intersect(0, 0, mRight - mLeft, mBottom - mTop); } return false; if (rectIsVisible && (mGroupFlags & CLIP_TO_PADDING_MASK) == CLIP_TO_PADDING_MASK) { // Clip to padding rectIsVisible = rect.intersect(mPaddingLeft, mPaddingTop, mRight - mLeft - mPaddingLeft - mPaddingRight, mBottom - mTop - mPaddingTop - mPaddingBottom); } if (rectIsVisible && mClipBounds != null) { // Clip to clipBounds rectIsVisible = rect.intersect(mClipBounds.left, mClipBounds.top, mClipBounds.right, mClipBounds.bottom); } r.set((int) (rect.left + 0.5f), (int) (rect.top + 0.5f), (int) (rect.right + 0.5f), (int) (rect.bottom + 0.5f)); if (rectIsVisible && mParent != null) { rectIsVisible = mParent.getChildVisibleRect(this, r, offset); } return rectIsVisible; } /** Loading