summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorBernardo Rufino <brufino@google.com>2021-10-06 10:08:22 +0100
committerBernardo Rufino <brufino@google.com>2021-10-06 15:25:33 +0000
commit40e22dc991d25120cb0288c17c23706cea347285 (patch)
tree6cffc19e605506d6cb8524409c62037a87f5bef1 /core/java/android
parent2885623021713f808431ba90b14015eaa9d7860d (diff)
Improve Bundle/PersistableBundle docs
around equals(), hashCode(), toString() Test: TH passes Bug: 122589814 Bug: 62611412 Bug: 122589479 Change-Id: Ia644e437f9b5642228c2a7138b0518f73ef2996c
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/os/Bundle.java7
-rw-r--r--core/java/android/os/PersistableBundle.java9
2 files changed, 15 insertions, 1 deletions
diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java
index b3827b3106b8..6d5cdc2a531b 100644
--- a/core/java/android/os/Bundle.java
+++ b/core/java/android/os/Bundle.java
@@ -33,6 +33,9 @@ import java.util.List;
/**
* A mapping from String keys to various {@link Parcelable} values.
*
+ * <p><b>Warning:</b> Note that {@link Bundle} is a lazy container and as such it does NOT implement
+ * {@link #equals(Object)} or {@link #hashCode()}.
+ *
* @see PersistableBundle
*/
public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
@@ -1229,6 +1232,10 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable {
maybePrefillHasFds();
}
+ /**
+ * Returns a string representation of the {@link Bundle} that may be suitable for debugging. It
+ * won't print the internal map if its content hasn't been unparcelled.
+ */
@Override
public synchronized String toString() {
if (mParcelledData != null) {
diff --git a/core/java/android/os/PersistableBundle.java b/core/java/android/os/PersistableBundle.java
index c7edbec6749d..ce615aa660ec 100644
--- a/core/java/android/os/PersistableBundle.java
+++ b/core/java/android/os/PersistableBundle.java
@@ -42,6 +42,9 @@ import java.util.ArrayList;
* supported by this class is purposefully restricted to simple objects that can
* safely be persisted to and restored from disk.
*
+ * <p><b>Warning:</b> Note that {@link PersistableBundle} is a lazy container and as such it does
+ * NOT implement {@link #equals(Object)} or {@link #hashCode()}.
+ *
* @see Bundle
*/
public final class PersistableBundle extends BaseBundle implements Cloneable, Parcelable,
@@ -310,8 +313,12 @@ public final class PersistableBundle extends BaseBundle implements Cloneable, Pa
return new PersistableBundle(); // An empty mutable PersistableBundle
}
+ /**
+ * Returns a string representation of the {@link PersistableBundle} that may be suitable for
+ * debugging. It won't print the internal map if its content hasn't been unparcelled.
+ */
@Override
- synchronized public String toString() {
+ public synchronized String toString() {
if (mParcelledData != null) {
if (isEmptyParcel()) {
return "PersistableBundle[EMPTY_PARCEL]";