OSDN Git Service

android.view.Surface: Add parceling warning
authorEino-Ville Talvala <etalvala@google.com>
Tue, 30 Aug 2016 00:51:23 +0000 (17:51 -0700)
committerEino-Ville Talvala <etalvala@google.com>
Tue, 30 Aug 2016 00:51:23 +0000 (17:51 -0700)
Surface is parcelled partly in java, partly in native, and any fields
added in java have to be accounted for in the native side as well.

Add a warning to avoid issues in the future

Bug: 31162160
Change-Id: I48ca1bc3eea29f1ac3d3065f6defb6ed2be4052a

core/java/android/view/Surface.java

index dc19d32..f92d83a 100644 (file)
@@ -459,6 +459,8 @@ public class Surface implements Parcelable {
             // create a new native Surface and return it after reducing
             // the reference count on mNativeObject.  Either way, it is
             // not necessary to call nativeRelease() here.
+            // NOTE: This must be kept synchronized with the native parceling code
+            // in frameworks/native/libs/Surface.cpp
             mName = source.readString();
             mIsSingleBuffered = source.readInt() != 0;
             setNativeObjectLocked(nativeReadFromParcel(mNativeObject, source));
@@ -471,6 +473,8 @@ public class Surface implements Parcelable {
             throw new IllegalArgumentException("dest must not be null");
         }
         synchronized (mLock) {
+            // NOTE: This must be kept synchronized with the native parceling code
+            // in frameworks/native/libs/Surface.cpp
             dest.writeString(mName);
             dest.writeInt(mIsSingleBuffered ? 1 : 0);
             nativeWriteToParcel(mNativeObject, dest);