Loading core/java/android/app/AppOpsManager.java +6 −6 Original line number Diff line number Diff line Loading @@ -2822,12 +2822,12 @@ public class AppOpsManager { LongSparseArray.StringParcelling.class); return new OpFeatureEntry.Builder(source.readBoolean(), (LongSparseLongArray) longSparseLongArrayParcelling.unparcel(source), (LongSparseLongArray) longSparseLongArrayParcelling.unparcel(source), (LongSparseLongArray) longSparseLongArrayParcelling.unparcel(source), (LongSparseLongArray) longSparseLongArrayParcelling.unparcel(source), (LongSparseArray<String>) longSparseStringArrayParcelling.unparcel(source), (LongSparseArray<String>) longSparseStringArrayParcelling.unparcel(source)); longSparseLongArrayParcelling.unparcel(source), longSparseLongArrayParcelling.unparcel(source), longSparseLongArrayParcelling.unparcel(source), longSparseLongArrayParcelling.unparcel(source), longSparseStringArrayParcelling.unparcel(source), longSparseStringArrayParcelling.unparcel(source)); } } Loading core/java/android/util/LongSparseArray.java +12 −53 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package android.util; import android.os.Parcel; import android.os.Parcelable; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; Loading @@ -25,6 +24,8 @@ import com.android.internal.util.Preconditions; import libcore.util.EmptyArray; import java.util.Arrays; /** * 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 Loading Loading @@ -450,22 +451,25 @@ public class LongSparseArray<E> implements Cloneable { /** * @hide */ public static class StringParcelling implements com.android.internal.util.Parcelling { public static class StringParcelling implements com.android.internal.util.Parcelling<LongSparseArray<String>> { @Override public void parcel(Object item, Parcel dest, int parcelFlags) { if (item == null) { public void parcel(LongSparseArray<String> array, Parcel dest, int parcelFlags) { if (array == null) { dest.writeInt(-1); return; } LongSparseArray<String> array = (LongSparseArray<String>) item; dest.writeInt(array.mSize); int size = array.mSize; dest.writeInt(size); dest.writeLongArray(array.mKeys); dest.writeStringArray((String[]) array.mValues); dest.writeStringArray(Arrays.copyOfRange(array.mValues, 0, size, String[].class)); } @Override public Object unparcel(Parcel source) { public LongSparseArray<String> unparcel(Parcel source) { int size = source.readInt(); if (size == -1) { return null; Loading @@ -490,49 +494,4 @@ public class LongSparseArray<E> implements Cloneable { return array; } } /** * @hide */ public static class Parcelling<T extends Parcelable> implements com.android.internal.util.Parcelling { @Override public void parcel(Object item, Parcel dest, int parcelFlags) { if (item == null) { dest.writeInt(-1); return; } LongSparseArray<T> array = (LongSparseArray<T>) item; dest.writeInt(array.mSize); dest.writeLongArray(array.mKeys); dest.writeParcelableArray((T[]) array.mValues, parcelFlags); } @Override public Object unparcel(Parcel source) { int size = source.readInt(); if (size == -1) { return null; } LongSparseArray<T> array = new LongSparseArray<>(0); array.mSize = size; array.mKeys = source.createLongArray(); array.mValues = source.readParcelableArray(null); // Make sure array is sane Preconditions.checkArgument(array.mKeys.length >= size); Preconditions.checkArgument(array.mValues.length >= size); if (size > 0) { long last = array.mKeys[0]; for (int i = 1; i < size; i++) { Preconditions.checkArgument(last < array.mKeys[i]); } } return array; } } } core/java/android/util/LongSparseLongArray.java +5 −5 Original line number Diff line number Diff line Loading @@ -289,22 +289,22 @@ public class LongSparseLongArray implements Cloneable { /** * @hide */ public static class Parcelling implements com.android.internal.util.Parcelling { public static class Parcelling implements com.android.internal.util.Parcelling<LongSparseLongArray> { @Override public void parcel(Object item, Parcel dest, int parcelFlags) { if (item == null) { public void parcel(LongSparseLongArray array, Parcel dest, int parcelFlags) { if (array == null) { dest.writeInt(-1); return; } LongSparseLongArray array = (LongSparseLongArray) item; dest.writeInt(array.mSize); dest.writeLongArray(array.mKeys); dest.writeLongArray(array.mValues); } @Override public Object unparcel(Parcel source) { public LongSparseLongArray unparcel(Parcel source) { int size = source.readInt(); if (size == -1) { return null; Loading Loading
core/java/android/app/AppOpsManager.java +6 −6 Original line number Diff line number Diff line Loading @@ -2822,12 +2822,12 @@ public class AppOpsManager { LongSparseArray.StringParcelling.class); return new OpFeatureEntry.Builder(source.readBoolean(), (LongSparseLongArray) longSparseLongArrayParcelling.unparcel(source), (LongSparseLongArray) longSparseLongArrayParcelling.unparcel(source), (LongSparseLongArray) longSparseLongArrayParcelling.unparcel(source), (LongSparseLongArray) longSparseLongArrayParcelling.unparcel(source), (LongSparseArray<String>) longSparseStringArrayParcelling.unparcel(source), (LongSparseArray<String>) longSparseStringArrayParcelling.unparcel(source)); longSparseLongArrayParcelling.unparcel(source), longSparseLongArrayParcelling.unparcel(source), longSparseLongArrayParcelling.unparcel(source), longSparseLongArrayParcelling.unparcel(source), longSparseStringArrayParcelling.unparcel(source), longSparseStringArrayParcelling.unparcel(source)); } } Loading
core/java/android/util/LongSparseArray.java +12 −53 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package android.util; import android.os.Parcel; import android.os.Parcelable; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; Loading @@ -25,6 +24,8 @@ import com.android.internal.util.Preconditions; import libcore.util.EmptyArray; import java.util.Arrays; /** * 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 Loading Loading @@ -450,22 +451,25 @@ public class LongSparseArray<E> implements Cloneable { /** * @hide */ public static class StringParcelling implements com.android.internal.util.Parcelling { public static class StringParcelling implements com.android.internal.util.Parcelling<LongSparseArray<String>> { @Override public void parcel(Object item, Parcel dest, int parcelFlags) { if (item == null) { public void parcel(LongSparseArray<String> array, Parcel dest, int parcelFlags) { if (array == null) { dest.writeInt(-1); return; } LongSparseArray<String> array = (LongSparseArray<String>) item; dest.writeInt(array.mSize); int size = array.mSize; dest.writeInt(size); dest.writeLongArray(array.mKeys); dest.writeStringArray((String[]) array.mValues); dest.writeStringArray(Arrays.copyOfRange(array.mValues, 0, size, String[].class)); } @Override public Object unparcel(Parcel source) { public LongSparseArray<String> unparcel(Parcel source) { int size = source.readInt(); if (size == -1) { return null; Loading @@ -490,49 +494,4 @@ public class LongSparseArray<E> implements Cloneable { return array; } } /** * @hide */ public static class Parcelling<T extends Parcelable> implements com.android.internal.util.Parcelling { @Override public void parcel(Object item, Parcel dest, int parcelFlags) { if (item == null) { dest.writeInt(-1); return; } LongSparseArray<T> array = (LongSparseArray<T>) item; dest.writeInt(array.mSize); dest.writeLongArray(array.mKeys); dest.writeParcelableArray((T[]) array.mValues, parcelFlags); } @Override public Object unparcel(Parcel source) { int size = source.readInt(); if (size == -1) { return null; } LongSparseArray<T> array = new LongSparseArray<>(0); array.mSize = size; array.mKeys = source.createLongArray(); array.mValues = source.readParcelableArray(null); // Make sure array is sane Preconditions.checkArgument(array.mKeys.length >= size); Preconditions.checkArgument(array.mValues.length >= size); if (size > 0) { long last = array.mKeys[0]; for (int i = 1; i < size; i++) { Preconditions.checkArgument(last < array.mKeys[i]); } } return array; } } }
core/java/android/util/LongSparseLongArray.java +5 −5 Original line number Diff line number Diff line Loading @@ -289,22 +289,22 @@ public class LongSparseLongArray implements Cloneable { /** * @hide */ public static class Parcelling implements com.android.internal.util.Parcelling { public static class Parcelling implements com.android.internal.util.Parcelling<LongSparseLongArray> { @Override public void parcel(Object item, Parcel dest, int parcelFlags) { if (item == null) { public void parcel(LongSparseLongArray array, Parcel dest, int parcelFlags) { if (array == null) { dest.writeInt(-1); return; } LongSparseLongArray array = (LongSparseLongArray) item; dest.writeInt(array.mSize); dest.writeLongArray(array.mKeys); dest.writeLongArray(array.mValues); } @Override public Object unparcel(Parcel source) { public LongSparseLongArray unparcel(Parcel source) { int size = source.readInt(); if (size == -1) { return null; Loading