diff options
| -rw-r--r-- | core/java/android/util/ArraySet.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/Base64.java | 1 | ||||
| -rw-r--r-- | core/java/android/util/IntArray.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/LongArray.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/LongArrayQueue.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/LongSparseArray.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/LongSparseLongArray.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/Range.java | 5 | ||||
| -rw-r--r-- | core/java/android/util/SparseArray.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/SparseBooleanArray.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/SparseIntArray.java | 2 | ||||
| -rw-r--r-- | core/java/android/util/SparseLongArray.java | 2 | ||||
| -rw-r--r-- | core/java/com/android/internal/util/ArrayUtils.java | 35 | ||||
| -rw-r--r-- | framework-minus-apex-ravenwood-policies.txt | 80 |
14 files changed, 116 insertions, 25 deletions
diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java index 73114e26e417..adebe2cbb458 100644 --- a/core/java/android/util/ArraySet.java +++ b/core/java/android/util/ArraySet.java @@ -20,8 +20,6 @@ import android.annotation.Nullable; import android.annotation.TestApi; import android.compat.annotation.UnsupportedAppUsage; -import libcore.util.EmptyArray; - import java.lang.reflect.Array; import java.util.Arrays; import java.util.Collection; diff --git a/core/java/android/util/Base64.java b/core/java/android/util/Base64.java index 33cc5e37da62..92abd7c15f5f 100644 --- a/core/java/android/util/Base64.java +++ b/core/java/android/util/Base64.java @@ -26,7 +26,6 @@ import java.io.UnsupportedEncodingException; * href="http://www.ietf.org/rfc/rfc2045.txt">2045</a> and <a * href="http://www.ietf.org/rfc/rfc3548.txt">3548</a>. */ -@android.ravenwood.annotations.RavenwoodWholeClassKeep public class Base64 { /** * Default values for encoder/decoder flags. diff --git a/core/java/android/util/IntArray.java b/core/java/android/util/IntArray.java index ac76fc2eb469..c04a71c4d31b 100644 --- a/core/java/android/util/IntArray.java +++ b/core/java/android/util/IntArray.java @@ -19,8 +19,6 @@ package android.util; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; -import libcore.util.EmptyArray; - import java.util.Arrays; /** diff --git a/core/java/android/util/LongArray.java b/core/java/android/util/LongArray.java index 9f269ed74048..3101c0da6986 100644 --- a/core/java/android/util/LongArray.java +++ b/core/java/android/util/LongArray.java @@ -23,8 +23,6 @@ import android.os.Build; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; -import libcore.util.EmptyArray; - import java.util.Arrays; /** diff --git a/core/java/android/util/LongArrayQueue.java b/core/java/android/util/LongArrayQueue.java index 5c701dbebdfb..354f8df0a43d 100644 --- a/core/java/android/util/LongArrayQueue.java +++ b/core/java/android/util/LongArrayQueue.java @@ -19,8 +19,6 @@ package android.util; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; -import libcore.util.EmptyArray; - import java.util.NoSuchElementException; /** diff --git a/core/java/android/util/LongSparseArray.java b/core/java/android/util/LongSparseArray.java index 2f14b2537cf9..8402ab2d871c 100644 --- a/core/java/android/util/LongSparseArray.java +++ b/core/java/android/util/LongSparseArray.java @@ -24,8 +24,6 @@ import com.android.internal.util.GrowingArrayUtils; import com.android.internal.util.Preconditions; import com.android.internal.util.function.LongObjPredicate; -import libcore.util.EmptyArray; - import java.util.Arrays; import java.util.Objects; diff --git a/core/java/android/util/LongSparseLongArray.java b/core/java/android/util/LongSparseLongArray.java index f23ec91f0b79..d4a012602f80 100644 --- a/core/java/android/util/LongSparseLongArray.java +++ b/core/java/android/util/LongSparseLongArray.java @@ -23,8 +23,6 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; import com.android.internal.util.Preconditions; -import libcore.util.EmptyArray; - /** * 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 diff --git a/core/java/android/util/Range.java b/core/java/android/util/Range.java index 41c171a0bbd7..750696b9b90f 100644 --- a/core/java/android/util/Range.java +++ b/core/java/android/util/Range.java @@ -19,7 +19,8 @@ package android.util; import static com.android.internal.util.Preconditions.*; import android.annotation.Nullable; -import android.hardware.camera2.utils.HashCodeHelpers; + +import java.util.Objects; /** * Immutable class for describing the range of two numeric values. @@ -351,7 +352,7 @@ public final class Range<T extends Comparable<? super T>> { */ @Override public int hashCode() { - return HashCodeHelpers.hashCodeGeneric(mLower, mUpper); + return Objects.hash(mLower, mUpper); } private final T mLower; diff --git a/core/java/android/util/SparseArray.java b/core/java/android/util/SparseArray.java index cd03d83b818c..c18cac3a4fbc 100644 --- a/core/java/android/util/SparseArray.java +++ b/core/java/android/util/SparseArray.java @@ -22,8 +22,6 @@ import android.compat.annotation.UnsupportedAppUsage; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; -import libcore.util.EmptyArray; - import java.util.Objects; /** diff --git a/core/java/android/util/SparseBooleanArray.java b/core/java/android/util/SparseBooleanArray.java index 12a99004daed..795f4c99f356 100644 --- a/core/java/android/util/SparseBooleanArray.java +++ b/core/java/android/util/SparseBooleanArray.java @@ -22,8 +22,6 @@ import android.compat.annotation.UnsupportedAppUsage; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; -import libcore.util.EmptyArray; - /** * SparseBooleanArrays map integers to booleans. * Unlike a normal array of booleans diff --git a/core/java/android/util/SparseIntArray.java b/core/java/android/util/SparseIntArray.java index 0e98c285c227..24d04be1b46d 100644 --- a/core/java/android/util/SparseIntArray.java +++ b/core/java/android/util/SparseIntArray.java @@ -21,8 +21,6 @@ import android.compat.annotation.UnsupportedAppUsage; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; -import libcore.util.EmptyArray; - import java.util.Arrays; /** diff --git a/core/java/android/util/SparseLongArray.java b/core/java/android/util/SparseLongArray.java index e86b6472dc39..4b257e62bc75 100644 --- a/core/java/android/util/SparseLongArray.java +++ b/core/java/android/util/SparseLongArray.java @@ -19,8 +19,6 @@ package android.util; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; -import libcore.util.EmptyArray; - /** * SparseLongArrays map integers to longs. Unlike a normal array of longs, * there can be gaps in the indices. It is intended to be more memory efficient diff --git a/core/java/com/android/internal/util/ArrayUtils.java b/core/java/com/android/internal/util/ArrayUtils.java index b64771b88e25..686e1fc2c34e 100644 --- a/core/java/com/android/internal/util/ArrayUtils.java +++ b/core/java/com/android/internal/util/ArrayUtils.java @@ -21,11 +21,10 @@ import android.annotation.Nullable; import android.compat.annotation.UnsupportedAppUsage; import android.os.Build; import android.util.ArraySet; +import android.util.EmptyArray; import dalvik.system.VMRuntime; -import libcore.util.EmptyArray; - import java.io.File; import java.lang.reflect.Array; import java.util.ArrayList; @@ -84,6 +83,38 @@ public class ArrayUtils { return (T[])VMRuntime.getRuntime().newUnpaddedArray(clazz, minLen); } + public static byte[] newUnpaddedByteArray$ravenwood(int minLen) { + return new byte[minLen]; + } + + public static char[] newUnpaddedCharArray$ravenwood(int minLen) { + return new char[minLen]; + } + + public static int[] newUnpaddedIntArray$ravenwood(int minLen) { + return new int[minLen]; + } + + public static boolean[] newUnpaddedBooleanArray$ravenwood(int minLen) { + return new boolean[minLen]; + } + + public static long[] newUnpaddedLongArray$ravenwood(int minLen) { + return new long[minLen]; + } + + public static float[] newUnpaddedFloatArray$ravenwood(int minLen) { + return new float[minLen]; + } + + public static Object[] newUnpaddedObjectArray$ravenwood(int minLen) { + return new Object[minLen]; + } + + public static <T> T[] newUnpaddedArray$ravenwood(Class<T> clazz, int minLen) { + return (T[]) Array.newInstance(clazz, minLen); + } + /** * Checks if the beginnings of two byte arrays are equal. * diff --git a/framework-minus-apex-ravenwood-policies.txt b/framework-minus-apex-ravenwood-policies.txt index c3ca1220387c..8e76fd22f99a 100644 --- a/framework-minus-apex-ravenwood-policies.txt +++ b/framework-minus-apex-ravenwood-policies.txt @@ -1,11 +1,91 @@ # Ravenwood "policy" file for framework-minus-apex. +# Collections class android.util.ArrayMap stubclass +class android.util.ArraySet stubclass +class android.util.LongSparseArray stubclass +class android.util.SparseArrayMap stubclass +class android.util.SparseArray stubclass +class android.util.SparseBooleanArray stubclass +class android.util.SparseIntArray stubclass +class android.util.SparseLongArray stubclass class android.util.ContainerHelpers stubclass class android.util.EmptyArray stubclass class android.util.MapCollections stubclass +# Logging class android.util.Log stubclass class android.util.Log !com.android.hoststubgen.nativesubstitution.Log_host +class android.util.LogPrinter stubclass +# String Manipulation +class android.util.Printer stubclass +class android.util.PrintStreamPrinter stubclass +class android.util.PrintWriterPrinter stubclass +class android.util.StringBuilderPrinter stubclass + +# Properties +class android.util.Property stubclass +class android.util.FloatProperty stubclass +class android.util.IntProperty stubclass +class android.util.NoSuchPropertyException stubclass +class android.util.ReflectiveProperty stubclass + +# Exceptions +class android.util.AndroidException stubclass +class android.util.AndroidRuntimeException stubclass + +# JSON +class android.util.JsonReader stubclass +class android.util.JsonWriter stubclass +class android.util.MalformedJsonException stubclass + +# Base64 +class android.util.Base64 stubclass +class android.util.Base64DataException stubclass +class android.util.Base64InputStream stubclass +class android.util.Base64OutputStream stubclass + +# Data Holders +class android.util.MutableFloat stubclass +class android.util.MutableShort stubclass +class android.util.MutableBoolean stubclass +class android.util.MutableByte stubclass +class android.util.MutableChar stubclass +class android.util.MutableDouble stubclass +class android.util.Pair stubclass +class android.util.Range stubclass +class android.util.Rational stubclass +class android.util.Size stubclass +class android.util.SizeF stubclass + +# Proto +class android.util.proto.EncodedBuffer stubclass +class android.util.proto.ProtoInputStream stubclass +class android.util.proto.ProtoOutputStream stubclass +class android.util.proto.ProtoParseException stubclass +class android.util.proto.ProtoStream stubclass +class android.util.proto.ProtoUtils stubclass +class android.util.proto.WireTypeMismatchException stubclass + +# Misc +class android.util.Dumpable stubclass +class android.util.DebugUtils stubclass +class android.util.UtilConfig stubclass +class android.util.Patterns stubclass + +# Internals +class com.android.internal.util.ArrayUtils stubclass + method newUnpaddedByteArray (I)[B @newUnpaddedByteArray$ravenwood + method newUnpaddedCharArray (I)[C @newUnpaddedCharArray$ravenwood + method newUnpaddedIntArray (I)[I @newUnpaddedIntArray$ravenwood + method newUnpaddedBooleanArray (I)[Z @newUnpaddedBooleanArray$ravenwood + method newUnpaddedLongArray (I)[J @newUnpaddedLongArray$ravenwood + method newUnpaddedFloatArray (I)[F @newUnpaddedFloatArray$ravenwood + method newUnpaddedObjectArray (I)[Ljava/lang/Object; @newUnpaddedObjectArray$ravenwood + method newUnpaddedArray (Ljava/lang/Class;I)[Ljava/lang/Object; @newUnpaddedArray$ravenwood + +class com.android.internal.util.GrowingArrayUtils stubclass class com.android.internal.util.LineBreakBufferedWriter stubclass +class com.android.internal.util.Preconditions stubclass +class com.android.internal.util.StringPool stubclass |