diff options
author | 2015-10-15 16:02:53 +0000 | |
---|---|---|
committer | 2015-10-15 16:02:53 +0000 | |
commit | d25c9018fbbc9318f48f139489a0ceabf7a52ef3 (patch) | |
tree | 02338ea845f816e44da871d3e7b0e4a607fd5ea8 | |
parent | e4111566cae1a176a9e89ab32dba47ce1c7a4922 (diff) | |
parent | 18a759df06db0af59d1982b4652cc029755e4785 (diff) |
Merge "Throw IndexOutOfBoundsException for invalid start/count values"
-rw-r--r-- | core/java/android/view/ViewGroup.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 44aabd2e739e..7c7ad9102695 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -4636,7 +4636,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } private void removeViewInternal(int index, View view) { - if (mTransition != null) { mTransition.removeChild(this, view); } @@ -4729,12 +4728,17 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } private void removeViewsInternal(int start, int count) { + final int end = start + count; + + if (start < 0 || count < 0 || end > mChildrenCount) { + throw new IndexOutOfBoundsException(); + } + final View focused = mFocused; final boolean detach = mAttachInfo != null; boolean clearChildFocus = false; final View[] children = mChildren; - final int end = start + count; for (int i = start; i < end; i++) { final View view = children[i]; |