Merge "Parcel: markForBinder -> obtain(IBinder)" am: fb7a6db2a2 am: 73c85c59f7 am: 2a607b900b am: 9063197cdb am: 5bd7497aa7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1840654
Change-Id: I5b6e3e54620363bb1e21ba35ed61a064dbad35ab
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index e8e2e6e..47c7f2e 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -476,6 +476,23 @@
}
/**
+ * Retrieve a new Parcel object from the pool for use with a specific binder.
+ *
+ * Associate this parcel with a binder object. This marks the parcel as being prepared for a
+ * transaction on this specific binder object. Based on this, the format of the wire binder
+ * protocol may change. For future compatibility, it is recommended to use this for all
+ * Parcels.
+ *
+ * @hide
+ */
+ @NonNull
+ public static Parcel obtain(@NonNull IBinder binder) {
+ Parcel parcel = Parcel.obtain();
+ parcel.markForBinder(binder);
+ return parcel;
+ }
+
+ /**
* Put a Parcel object back into the pool. You must not touch
* the object after this call.
*/
@@ -549,16 +566,9 @@
}
/**
- * Associate this parcel with a binder object. This marks the parcel as being prepared for a
- * transaction on this specific binder object. Based on this, the format of the wire binder
- * protocol may change. This should be called before any data is written to the parcel. If this
- * is called multiple times, this will only be marked for the last binder. For future
- * compatibility, it is recommended to call this on all parcels which are being sent over
- * binder.
- *
* @hide
*/
- public void markForBinder(@NonNull IBinder binder) {
+ private void markForBinder(@NonNull IBinder binder) {
nativeMarkForBinder(mNativePtr, binder);
}