summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chris Craik <ccraik@google.com> 2015-10-15 16:02:53 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-10-15 16:02:53 +0000
commitd25c9018fbbc9318f48f139489a0ceabf7a52ef3 (patch)
tree02338ea845f816e44da871d3e7b0e4a607fd5ea8
parente4111566cae1a176a9e89ab32dba47ce1c7a4922 (diff)
parent18a759df06db0af59d1982b4652cc029755e4785 (diff)
Merge "Throw IndexOutOfBoundsException for invalid start/count values"
-rw-r--r--core/java/android/view/ViewGroup.java8
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];