Passing non-null class loader to readParcelable
Bug: 2512038
Change-Id: I5c1e20f1fb40e81949c3c88e7f3210d11fcb31f0
diff --git a/src/com/android/contacts/ContactEntryAdapter.java b/src/com/android/contacts/ContactEntryAdapter.java
index 9f11165..34ee505 100644
--- a/src/com/android/contacts/ContactEntryAdapter.java
+++ b/src/com/android/contacts/ContactEntryAdapter.java
@@ -66,10 +66,11 @@
* Helper for making subclasses parcelable.
*/
protected void readFromParcel(Parcel p) {
+ final ClassLoader loader = getClass().getClassLoader();
type = p.readInt();
label = p.readString();
data = p.readString();
- uri = p.readParcelable(null);
+ uri = p.readParcelable(loader);
id = p.readLong();
maxLines = p.readInt();
mimetype = p.readString();
diff --git a/src/com/android/contacts/model/EntityDelta.java b/src/com/android/contacts/model/EntityDelta.java
index 1f152e1..47b6db2 100644
--- a/src/com/android/contacts/model/EntityDelta.java
+++ b/src/com/android/contacts/model/EntityDelta.java
@@ -448,10 +448,11 @@
}
public void readFromParcel(Parcel source) {
+ final ClassLoader loader = getClass().getClassLoader();
final int size = source.readInt();
- mValues = source.<ValuesDelta> readParcelable(null);
+ mValues = source.<ValuesDelta> readParcelable(loader);
for (int i = 0; i < size; i++) {
- final ValuesDelta child = source.<ValuesDelta> readParcelable(null);
+ final ValuesDelta child = source.<ValuesDelta> readParcelable(loader);
this.addEntry(child);
}
}
@@ -810,8 +811,9 @@
}
public void readFromParcel(Parcel source) {
- mBefore = source.<ContentValues> readParcelable(null);
- mAfter = source.<ContentValues> readParcelable(null);
+ final ClassLoader loader = getClass().getClassLoader();
+ mBefore = source.<ContentValues> readParcelable(loader);
+ mAfter = source.<ContentValues> readParcelable(loader);
mIdColumn = source.readString();
}