diff options
author | Dmitri Plotnikov <dplotnikov@google.com> | 2011-03-01 10:59:23 -0800 |
---|---|---|
committer | Dmitri Plotnikov <dplotnikov@google.com> | 2011-03-01 10:59:23 -0800 |
commit | 83cc117f09934ab275419bc5ffc8c60a16a28fc3 (patch) | |
tree | ccb3f3934f22ccb784a0079f6a03e84d068eac48 /src/com/android/contacts/editor/StructuredNameEditorView.java | |
parent | cb9c38817a33c9e990bc3d754fe3bba2da72d136 (diff) | |
download | packages_apps_Contacts-83cc117f09934ab275419bc5ffc8c60a16a28fc3.tar.gz packages_apps_Contacts-83cc117f09934ab275419bc5ffc8c60a16a28fc3.tar.bz2 packages_apps_Contacts-83cc117f09934ab275419bc5ffc8c60a16a28fc3.zip |
Using the right class loader for unmarshalling
Bug: 3497767
Change-Id: I68d54f07cd4e65843e90f8f819212798df018acd
Diffstat (limited to 'src/com/android/contacts/editor/StructuredNameEditorView.java')
-rw-r--r-- | src/com/android/contacts/editor/StructuredNameEditorView.java | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/com/android/contacts/editor/StructuredNameEditorView.java b/src/com/android/contacts/editor/StructuredNameEditorView.java index 5c9e04b8f..cf97c6ccf 100644 --- a/src/com/android/contacts/editor/StructuredNameEditorView.java +++ b/src/com/android/contacts/editor/StructuredNameEditorView.java @@ -222,34 +222,38 @@ public class StructuredNameEditorView extends TextFieldsEditorView { @Override protected void onRestoreInstanceState(Parcelable state) { SavedState ss = (SavedState) state; - super.onRestoreInstanceState(ss.getSuperState()); + super.onRestoreInstanceState(ss.mSuperState); mChanged = ss.mChanged; mSnapshot = ss.mSnapshot; } - private static class SavedState extends BaseSavedState { + private static class SavedState implements Parcelable { public boolean mChanged; public ContentValues mSnapshot; + public Parcelable mSuperState; SavedState(Parcelable superState) { - super(superState); + mSuperState = superState; } private SavedState(Parcel in) { - super(in); + ClassLoader loader = getClass().getClassLoader(); + mSuperState = in.readParcelable(loader); + mChanged = in.readInt() != 0; - mSnapshot = in.readParcelable(SavedState.class.getClassLoader()); + mSnapshot = in.readParcelable(loader); } @Override public void writeToParcel(Parcel out, int flags) { - super.writeToParcel(out, flags); + out.writeParcelable(mSuperState, 0); + out.writeInt(mChanged ? 1 : 0); out.writeParcelable(mSnapshot, 0); } - @SuppressWarnings({"unused", "hiding" }) + @SuppressWarnings({"unused"}) public static final Parcelable.Creator<SavedState> CREATOR = new Parcelable.Creator<SavedState>() { @Override @@ -262,5 +266,10 @@ public class StructuredNameEditorView extends TextFieldsEditorView { return new SavedState[size]; } }; + + @Override + public int describeContents() { + return 0; + } } } |