diff --git a/core/api/current.txt b/core/api/current.txt index b4eb62a20bc31..94ba409995e2d 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -31591,7 +31591,7 @@ package android.os { method public void readMap(@NonNull java.util.Map, @Nullable ClassLoader, @NonNull Class, @NonNull Class); method @Deprecated @Nullable public T readParcelable(@Nullable ClassLoader); method @Nullable public T readParcelable(@Nullable ClassLoader, @NonNull Class); - method @Nullable public android.os.Parcelable[] readParcelableArray(@Nullable ClassLoader); + method @Deprecated @Nullable public android.os.Parcelable[] readParcelableArray(@Nullable ClassLoader); method @Nullable public T[] readParcelableArray(@Nullable ClassLoader, @NonNull Class); method @Deprecated @Nullable public android.os.Parcelable.Creator readParcelableCreator(@Nullable ClassLoader); method @Nullable public android.os.Parcelable.Creator readParcelableCreator(@Nullable ClassLoader, @NonNull Class); diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index 8894c85fa7b41..4d5f97c599070 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -4388,9 +4388,16 @@ public final class Parcel { * The given class loader will be used to load any enclosed * Parcelables. * @return the Parcelable array, or null if the array is null + * + * @deprecated Use the type-safer version {@link #readParcelableArray(ClassLoader, Class)} + * starting from Android {@link Build.VERSION_CODES#TIRAMISU}. Also consider changing the + * format to use {@link #createTypedArray(Parcelable.Creator)} if possible (eg. if the + * items' class is final) since this is also more performant. Note that changing to the + * latter also requires changing the writes. */ + @Deprecated @Nullable - public final Parcelable[] readParcelableArray(@Nullable ClassLoader loader) { + public Parcelable[] readParcelableArray(@Nullable ClassLoader loader) { int N = readInt(); if (N < 0) { return null;