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

Commit 0a7b51a2 authored by Tejas Khorana's avatar Tejas Khorana Committed by Android (Google) Code Review
Browse files

Merge "indexOfValue now uses .equals (cont.)"

parents 2b1fa7f9 fb5166da
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -40466,6 +40466,7 @@ package android.util {
    method public E get(long, E);
    method public int indexOfKey(long);
    method public int indexOfValue(E);
    method public int indexOfValueByValue(E);
    method public long keyAt(int);
    method public void put(long, E);
    method public void remove(long);
+1 −0
Original line number Diff line number Diff line
@@ -43632,6 +43632,7 @@ package android.util {
    method public E get(long, E);
    method public int indexOfKey(long);
    method public int indexOfValue(E);
    method public int indexOfValueByValue(E);
    method public long keyAt(int);
    method public void put(long, E);
    method public void remove(long);
+1 −0
Original line number Diff line number Diff line
@@ -40546,6 +40546,7 @@ package android.util {
    method public E get(long, E);
    method public int indexOfKey(long);
    method public int indexOfValue(E);
    method public int indexOfValueByValue(E);
    method public long keyAt(int);
    method public void put(long, E);
    method public void remove(long);
+31 −2
Original line number Diff line number Diff line
@@ -299,10 +299,39 @@ public class LongSparseArray<E> implements Cloneable {
            gc();
        }

        for (int i = 0; i < mSize; i++)
            if (mValues[i] == value)
        for (int i = 0; i < mSize; i++) {
            if (mValues[i] == value) {
                return i;
            }
        }
        return -1;
    }

    /**
     * Returns an index for which {@link #valueAt} would return the
     * specified key, or a negative number if no keys map to the
     * specified value.
     * <p>Beware that this is a linear search, unlike lookups by key,
     * and that multiple keys can map to the same value and this will
     * find only one of them.
     * <p>Note also that this method uses {@code equals} unlike {@code indexOfValue}.
     */
    public int indexOfValueByValue(E value) {
        if (mGarbage) {
            gc();
        }

        for (int i = 0; i < mSize; i++) {
            if (value == null) {
                if (mValues[i] == null) {
                    return i;
                }
            } else {
                if (value.equals(mValues[i])) {
                    return i;
                }
            }
        }
        return -1;
    }