Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91ec9705 authored by Paul Scovanner's avatar Paul Scovanner
Browse files

Revert "Checkng upper bound in *Array classes."

This reverts commit 17d453ea.

Reason for revert: b/127750694

Change-Id: I0ffbf0e64109b3ec724e0687a27b231e335f76b4
parent 17d453ea
Loading
Loading
Loading
Loading
+2 −19
Original line number Diff line number Diff line
@@ -16,12 +16,12 @@

package android.util;

import libcore.util.EmptyArray;

import android.annotation.UnsupportedAppUsage;

import com.android.internal.util.ArrayUtils;

import libcore.util.EmptyArray;

import java.util.Collection;
import java.util.ConcurrentModificationException;
import java.util.Map;
@@ -453,10 +453,6 @@ public final class ArrayMap<K, V> implements Map<K, V> {
     * @return Returns the key stored at the given index.
     */
    public K keyAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        return (K)mArray[index << 1];
    }

@@ -466,10 +462,6 @@ public final class ArrayMap<K, V> implements Map<K, V> {
     * @return Returns the value stored at the given index.
     */
    public V valueAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        return (V)mArray[(index << 1) + 1];
    }

@@ -480,10 +472,6 @@ public final class ArrayMap<K, V> implements Map<K, V> {
     * @return Returns the previous value at the given index.
     */
    public V setValueAt(int index, V value) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        index = (index << 1) + 1;
        V old = (V)mArray[index];
        mArray[index] = value;
@@ -677,11 +665,6 @@ public final class ArrayMap<K, V> implements Map<K, V> {
     * @return Returns the value that was stored at this index.
     */
    public V removeAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }

        final Object old = mArray[(index << 1) + 1];
        final int osize = mSize;
        final int nsize;
+3 −16
Original line number Diff line number Diff line
@@ -21,6 +21,9 @@ import com.android.internal.util.GrowingArrayUtils;

import libcore.util.EmptyArray;

import java.util.Arrays;
import java.util.Objects;

/**
 * SparseArray mapping longs to Objects.  Unlike a normal array of Objects,
 * there can be gaps in the indices.  It is intended to be more memory efficient
@@ -144,10 +147,6 @@ public class LongSparseArray<E> implements Cloneable {
     * Removes the mapping at the specified index.
     */
    public void removeAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        if (mValues[index] != DELETED) {
            mValues[index] = DELETED;
            mGarbage = true;
@@ -237,10 +236,6 @@ public class LongSparseArray<E> implements Cloneable {
     * key.</p>
     */
    public long keyAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        if (mGarbage) {
            gc();
        }
@@ -261,10 +256,6 @@ public class LongSparseArray<E> implements Cloneable {
     */
    @SuppressWarnings("unchecked")
    public E valueAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        if (mGarbage) {
            gc();
        }
@@ -278,10 +269,6 @@ public class LongSparseArray<E> implements Cloneable {
     * LongSparseArray stores.
     */
    public void setValueAt(int index, E value) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        if (mGarbage) {
            gc();
        }
+3 −10
Original line number Diff line number Diff line
@@ -16,13 +16,14 @@

package android.util;

import android.annotation.UnsupportedAppUsage;

import com.android.internal.util.ArrayUtils;
import com.android.internal.util.GrowingArrayUtils;

import android.annotation.UnsupportedAppUsage;
import libcore.util.EmptyArray;

import java.util.Arrays;

/**
 * Map of {@code long} to {@code long}. Unlike a normal array of longs, there
 * can be gaps in the indices. It is intended to be more memory efficient than using a
@@ -172,10 +173,6 @@ public class LongSparseLongArray implements Cloneable {
     * key.</p>
     */
    public long keyAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        return mKeys[index];
    }

@@ -191,10 +188,6 @@ public class LongSparseLongArray implements Cloneable {
     * associated with the largest key.</p>
     */
    public long valueAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        return mValues[index];
    }

+1 −18
Original line number Diff line number Diff line
@@ -16,11 +16,10 @@

package android.util;

import android.annotation.UnsupportedAppUsage;

import com.android.internal.util.ArrayUtils;
import com.android.internal.util.GrowingArrayUtils;

import android.annotation.UnsupportedAppUsage;
import libcore.util.EmptyArray;

/**
@@ -172,10 +171,6 @@ public class SparseArray<E> implements Cloneable {
     * the behavior is undefined.</p>
     */
    public void removeAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        if (mValues[index] != DELETED) {
            mValues[index] = DELETED;
            mGarbage = true;
@@ -284,10 +279,6 @@ public class SparseArray<E> implements Cloneable {
     * the behavior is undefined.</p>
     */
    public int keyAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        if (mGarbage) {
            gc();
        }
@@ -311,10 +302,6 @@ public class SparseArray<E> implements Cloneable {
     */
    @SuppressWarnings("unchecked")
    public E valueAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        if (mGarbage) {
            gc();
        }
@@ -330,10 +317,6 @@ public class SparseArray<E> implements Cloneable {
     * <p>For indices outside of the range <code>0...size()-1</code>, the behavior is undefined.</p>
     */
    public void setValueAt(int index, E value) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        if (mGarbage) {
            gc();
        }
+1 −18
Original line number Diff line number Diff line
@@ -16,11 +16,10 @@

package android.util;

import android.annotation.UnsupportedAppUsage;

import com.android.internal.util.ArrayUtils;
import com.android.internal.util.GrowingArrayUtils;

import android.annotation.UnsupportedAppUsage;
import libcore.util.EmptyArray;

/**
@@ -168,10 +167,6 @@ public class SparseBooleanArray implements Cloneable {
     * key.</p>
     */
    public int keyAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        return mKeys[index];
    }

@@ -187,10 +182,6 @@ public class SparseBooleanArray implements Cloneable {
     * associated with the largest key.</p>
     */
    public boolean valueAt(int index) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        return mValues[index];
    }

@@ -198,19 +189,11 @@ public class SparseBooleanArray implements Cloneable {
     * Directly set the value at a particular index.
     */
    public void setValueAt(int index, boolean value) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        mValues[index] = value;
    }

    /** @hide */
    public void setKeyAt(int index, int key) {
        if (index >= mSize) {
            // The array might be slightly bigger than mSize, in which case, indexing won't fail.
            throw new ArrayIndexOutOfBoundsException(index);
        }
        mKeys[index] = key;
    }

Loading