summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/contacts/editor/StructuredNameEditorView.java23
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;
+ }
}
}