diff options
Diffstat (limited to 'src/java/cyanogenmod/profiles/RingModeSettings.java')
-rw-r--r-- | src/java/cyanogenmod/profiles/RingModeSettings.java | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/src/java/cyanogenmod/profiles/RingModeSettings.java b/src/java/cyanogenmod/profiles/RingModeSettings.java index befff5d..bab74ac 100644 --- a/src/java/cyanogenmod/profiles/RingModeSettings.java +++ b/src/java/cyanogenmod/profiles/RingModeSettings.java @@ -22,6 +22,9 @@ import android.os.Parcel; import android.os.Parcelable; import cyanogenmod.os.Build; +import cyanogenmod.os.Concierge; +import cyanogenmod.os.Concierge.ParcelInfo; + import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -178,35 +181,23 @@ public final class RingModeSettings implements Parcelable { /** @hide */ @Override public void writeToParcel(Parcel dest, int flags) { - // Write parcelable version, make sure to define explicit changes - // within {@link Build.PARCELABLE_VERSION); - dest.writeInt(Build.PARCELABLE_VERSION); - - // Inject a placeholder that will store the parcel size from this point on - // (not including the size itself). - int sizePosition = dest.dataPosition(); - dest.writeInt(0); - int startPosition = dest.dataPosition(); + // Tell the concierge to prepare the parcel + ParcelInfo parcelInfo = Concierge.prepareParcel(dest); // === BOYSENBERRY === dest.writeInt(mOverride ? 1 : 0); dest.writeString(mValue); dest.writeInt(mDirty ? 1 : 0); - // Go back and write size - int parcelableSize = dest.dataPosition() - startPosition; - dest.setDataPosition(sizePosition); - dest.writeInt(parcelableSize); - dest.setDataPosition(startPosition + parcelableSize); + // Complete the parcel info for the concierge + parcelInfo.complete(); } /** @hide */ public void readFromParcel(Parcel in) { - // Read parcelable version, make sure to define explicit changes - // within {@link Build.PARCELABLE_VERSION); - int parcelableVersion = in.readInt(); - int parcelableSize = in.readInt(); - int startPosition = in.dataPosition(); + // Read parcelable version via the Concierge + ParcelInfo parcelInfo = Concierge.receiveParcel(in); + int parcelableVersion = parcelInfo.getParcelVersion(); // Pattern here is that all new members should be added to the end of // the writeToParcel method. Then we step through each version, until the latest @@ -217,6 +208,7 @@ public final class RingModeSettings implements Parcelable { mDirty = in.readInt() != 0; } - in.setDataPosition(startPosition + parcelableSize); + // Complete parcel info for the concierge + parcelInfo.complete(); } } |