diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-07-06 13:58:29 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-07-06 13:58:29 +0000 |
commit | 7980b19bc8fa1fb0c4b4b3abea891d6e245b3edd (patch) | |
tree | 8ba5db7000948713cfb2ecfe4043aa9523f7794e | |
parent | cbe9c295a3090aeaea29354b2b693c9d51cde617 (diff) | |
parent | baae7fa3578e7667e8b79dfd9f2a5bd9a308092b (diff) |
Merge "Track changes in libcore to remove a constructor"
-rw-r--r-- | core/java/android/util/IntArray.java | 18 | ||||
-rw-r--r-- | core/java/android/util/LongArray.java | 18 | ||||
-rw-r--r-- | core/java/com/android/internal/util/ArrayUtils.java | 13 |
3 files changed, 27 insertions, 22 deletions
diff --git a/core/java/android/util/IntArray.java b/core/java/android/util/IntArray.java index 3617aa7212dc..5a74ec0e52c0 100644 --- a/core/java/android/util/IntArray.java +++ b/core/java/android/util/IntArray.java @@ -18,9 +18,11 @@ package android.util; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; -import java.util.Arrays; + import libcore.util.EmptyArray; +import java.util.Arrays; + /** * Implements a growing array of int primitives. * @@ -102,7 +104,7 @@ public class IntArray implements Cloneable { ensureCapacity(1); int rightSegment = mSize - index; mSize++; - checkBounds(index); + ArrayUtils.checkBounds(mSize, index); if (rightSegment != 0) { // Move by 1 all values from the right of 'index' @@ -175,7 +177,7 @@ public class IntArray implements Cloneable { * Returns the value at the specified position in this array. */ public int get(int index) { - checkBounds(index); + ArrayUtils.checkBounds(mSize, index); return mValues[index]; } @@ -183,7 +185,7 @@ public class IntArray implements Cloneable { * Sets the value at the specified position in this array. */ public void set(int index, int value) { - checkBounds(index); + ArrayUtils.checkBounds(mSize, index); mValues[index] = value; } @@ -205,7 +207,7 @@ public class IntArray implements Cloneable { * Removes the value at the specified index from this array. */ public void remove(int index) { - checkBounds(index); + ArrayUtils.checkBounds(mSize, index); System.arraycopy(mValues, index + 1, mValues, index, mSize - index - 1); mSize--; } @@ -223,10 +225,4 @@ public class IntArray implements Cloneable { public int[] toArray() { return Arrays.copyOf(mValues, mSize); } - - private void checkBounds(int index) { - if (index < 0 || mSize <= index) { - throw new ArrayIndexOutOfBoundsException(mSize, index); - } - } } diff --git a/core/java/android/util/LongArray.java b/core/java/android/util/LongArray.java index 9b0489ca5c6e..9ddb0e21692a 100644 --- a/core/java/android/util/LongArray.java +++ b/core/java/android/util/LongArray.java @@ -18,9 +18,11 @@ package android.util; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; -import java.util.Arrays; + import libcore.util.EmptyArray; +import java.util.Arrays; + /** * Implements a growing array of long primitives. * @@ -102,7 +104,7 @@ public class LongArray implements Cloneable { ensureCapacity(1); int rightSegment = mSize - index; mSize++; - checkBounds(index); + ArrayUtils.checkBounds(mSize, index); if (rightSegment != 0) { // Move by 1 all values from the right of 'index' @@ -162,7 +164,7 @@ public class LongArray implements Cloneable { * Returns the value at the specified position in this array. */ public long get(int index) { - checkBounds(index); + ArrayUtils.checkBounds(mSize, index); return mValues[index]; } @@ -170,7 +172,7 @@ public class LongArray implements Cloneable { * Sets the value at the specified position in this array. */ public void set(int index, long value) { - checkBounds(index); + ArrayUtils.checkBounds(mSize, index); mValues[index] = value; } @@ -192,7 +194,7 @@ public class LongArray implements Cloneable { * Removes the value at the specified index from this array. */ public void remove(int index) { - checkBounds(index); + ArrayUtils.checkBounds(mSize, index); System.arraycopy(mValues, index + 1, mValues, index, mSize - index - 1); mSize--; } @@ -210,10 +212,4 @@ public class LongArray implements Cloneable { public long[] toArray() { return Arrays.copyOf(mValues, mSize); } - - private void checkBounds(int index) { - if (index < 0 || mSize <= index) { - throw new ArrayIndexOutOfBoundsException(mSize, index); - } - } } diff --git a/core/java/com/android/internal/util/ArrayUtils.java b/core/java/com/android/internal/util/ArrayUtils.java index 91bc6813c5fc..534f3b614f8d 100644 --- a/core/java/com/android/internal/util/ArrayUtils.java +++ b/core/java/com/android/internal/util/ArrayUtils.java @@ -587,4 +587,17 @@ public class ArrayUtils { public static @NonNull String[] defeatNullable(@Nullable String[] val) { return (val != null) ? val : EmptyArray.STRING; } + + /** + * Throws {@link ArrayIndexOutOfBoundsException} if the index is out of bounds. + * + * @param len length of the array. Must be non-negative + * @param index the index to check + * @throws ArrayIndexOutOfBoundsException if the {@code index} is out of bounds of the array + */ + public static void checkBounds(int len, int index) { + if (index < 0 || len <= index) { + throw new ArrayIndexOutOfBoundsException("length=" + len + "; index=" + index); + } + } } |