From 3cefe6a991ba650375e663e7095266e2273d2372 Mon Sep 17 00:00:00 2001 From: Samuel Tan Date: Mon, 14 Dec 2015 13:29:17 -0800 Subject: [PATCH] Add comments to keep Java and native binder PersistableBundle in sync Add comments stating that certain methods of the Java binder framework should be kept in sync with the corresponding methods mirrored in the native PersistableBundle implementation. BUG: 25815410 Change-Id: I475b2e9a527291eea58c8178cd733c444dfcfed5 --- core/java/android/os/BaseBundle.java | 6 ++++++ core/java/android/os/Parcel.java | 3 +++ 2 files changed, 9 insertions(+) diff --git a/core/java/android/os/BaseBundle.java b/core/java/android/os/BaseBundle.java index c3733085caf63..532070e36998e 100644 --- a/core/java/android/os/BaseBundle.java +++ b/core/java/android/os/BaseBundle.java @@ -31,7 +31,9 @@ public class BaseBundle { private static final String TAG = "Bundle"; static final boolean DEBUG = false; + // Keep in sync with frameworks/native/libs/binder/PersistableBundle.cpp. static final int BUNDLE_MAGIC = 0x4C444E42; // 'B' 'N' 'D' 'L' + static final Parcel EMPTY_PARCEL; static { @@ -1307,6 +1309,8 @@ public class BaseBundle { * @param parcel The parcel to copy this bundle to. */ void writeToParcelInner(Parcel parcel, int flags) { + // Keep implementation in sync with writeToParcel() in + // frameworks/native/libs/binder/PersistableBundle.cpp. if (mParcelledData != null) { if (mParcelledData == EMPTY_PARCEL) { parcel.writeInt(0); @@ -1344,6 +1348,8 @@ public class BaseBundle { * @param parcel The parcel to overwrite this bundle from. */ void readFromParcelInner(Parcel parcel) { + // Keep implementation in sync with readFromParcel() in + // frameworks/native/libs/binder/PersistableBundle.cpp. int length = parcel.readInt(); if (length < 0) { throw new RuntimeException("Bad length in parcel: " + length); diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index 290202194732b..26312475297c3 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -204,6 +204,7 @@ public final class Parcel { private static final Parcel[] sOwnedPool = new Parcel[POOL_SIZE]; private static final Parcel[] sHolderPool = new Parcel[POOL_SIZE]; + // Keep in sync with frameworks/native/libs/binder/PersistableBundle.cpp. private static final int VAL_NULL = -1; private static final int VAL_STRING = 0; private static final int VAL_INTEGER = 1; @@ -704,6 +705,8 @@ public final class Parcel { writeInt(-1); return; } + // Keep the format of this Parcel in sync with writeToParcelInner() in + // frameworks/native/libs/binder/PersistableBundle.cpp. final int N = val.size(); writeInt(N); if (DEBUG_ARRAY_MAP) {