From 7782abe5d207e001182777d673cdf8c7aa5fd32d Mon Sep 17 00:00:00 2001 From: Jeongik Cha Date: Thu, 14 May 2020 00:50:53 +0900 Subject: [PATCH] Add isStable in Parcelable interface Bug: 156242606 Test: m Change-Id: I353958ebe24911ac9fb684878931aecad7e09b97 --- core/java/android/os/Parcelable.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/core/java/android/os/Parcelable.java b/core/java/android/os/Parcelable.java index 6632ca51e74c5..9b360edb7238b 100644 --- a/core/java/android/os/Parcelable.java +++ b/core/java/android/os/Parcelable.java @@ -118,7 +118,21 @@ public interface Parcelable { * by this Parcelable object instance. */ public @ContentsFlags int describeContents(); - + + /** + * 'Stable' means this parcelable is guaranteed to be stable for multiple years. + * It must be guaranteed by setting stability field in aidl_interface, + * OR explicitly override this method from @JavaOnlyStableParcelable marked Parcelable. + * WARNING: isStable() is only expected to be overridden by auto-generated code, + * OR @JavaOnlyStableParcelable marked Parcelable only if there is guaranteed to + * be only once copy of the parcelable on the system. + * @return true if this parcelable is stable. + * @hide + */ + default boolean isStable() { + return false; + } + /** * Flatten this object in to a Parcel. *