diff options
| -rw-r--r-- | core/api/current.txt | 4 | ||||
| -rw-r--r-- | core/java/android/os/BaseBundle.java | 2 | ||||
| -rw-r--r-- | core/java/android/os/Bundle.java | 5 |
3 files changed, 6 insertions, 5 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 5e1c271b7906..1e327281bc2c 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -29630,7 +29630,7 @@ package android.os { method @Deprecated @Nullable public android.os.Parcelable[] getParcelableArray(@Nullable String); method @Nullable public <T> T[] getParcelableArray(@Nullable String, @NonNull Class<T>); method @Deprecated @Nullable public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayList(@Nullable String); - method @Nullable public <T> java.util.ArrayList<T> getParcelableArrayList(@Nullable String, @NonNull Class<T>); + method @Nullable public <T> java.util.ArrayList<T> getParcelableArrayList(@Nullable String, @NonNull Class<? extends T>); method @Deprecated @Nullable public java.io.Serializable getSerializable(@Nullable String); method @Nullable public <T extends java.io.Serializable> T getSerializable(@Nullable String, @NonNull Class<T>); method public short getShort(String); @@ -29639,7 +29639,7 @@ package android.os { method @Nullable public android.util.Size getSize(@Nullable String); method @Nullable public android.util.SizeF getSizeF(@Nullable String); method @Deprecated @Nullable public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(@Nullable String); - method @Nullable public <T> android.util.SparseArray<T> getSparseParcelableArray(@Nullable String, @NonNull Class<T>); + method @Nullable public <T> android.util.SparseArray<T> getSparseParcelableArray(@Nullable String, @NonNull Class<? extends T>); method @Nullable public java.util.ArrayList<java.lang.String> getStringArrayList(@Nullable String); method public boolean hasFileDescriptors(); method public void putAll(android.os.Bundle); diff --git a/core/java/android/os/BaseBundle.java b/core/java/android/os/BaseBundle.java index 45812e551618..e5dab0539a8e 100644 --- a/core/java/android/os/BaseBundle.java +++ b/core/java/android/os/BaseBundle.java @@ -1453,7 +1453,7 @@ public class BaseBundle { @SuppressWarnings("unchecked") @Nullable - <T> ArrayList<T> getArrayList(@Nullable String key, @NonNull Class<T> clazz) { + <T> ArrayList<T> getArrayList(@Nullable String key, @NonNull Class<? extends T> clazz) { unparcel(); try { return getValue(key, ArrayList.class, requireNonNull(clazz)); diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java index edbbb59ac77d..a19b51b7811b 100644 --- a/core/java/android/os/Bundle.java +++ b/core/java/android/os/Bundle.java @@ -1059,7 +1059,8 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable { @SuppressLint("NullableCollection") @SuppressWarnings("unchecked") @Nullable - public <T> ArrayList<T> getParcelableArrayList(@Nullable String key, @NonNull Class<T> clazz) { + public <T> ArrayList<T> getParcelableArrayList(@Nullable String key, + @NonNull Class<? extends T> clazz) { // The reason for not using <T extends Parcelable> is because the caller could provide a // super class to restrict the children that doesn't implement Parcelable itself while the // children do, more details at b/210800751 (same reasoning applies here). @@ -1107,7 +1108,7 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable { @SuppressWarnings("unchecked") @Nullable public <T> SparseArray<T> getSparseParcelableArray(@Nullable String key, - @NonNull Class<T> clazz) { + @NonNull Class<? extends T> clazz) { // The reason for not using <T extends Parcelable> is because the caller could provide a // super class to restrict the children that doesn't implement Parcelable itself while the // children do, more details at b/210800751 (same reasoning applies here). |