diff options
author | Zhihong Xu <zhihongx@google.com> | 2012-09-04 10:32:48 -0700 |
---|---|---|
committer | Jon Boekenoogen <jboekeno@google.com> | 2012-09-18 09:41:25 -0700 |
commit | c61ca12c178f4f4430523de2565e2b2b095d82e7 (patch) | |
tree | e85266e6924cbe9bf10ef8631eb0e1176475398f | |
parent | 6fb5d4828313a611b33b9bdd0cc6152d51b67347 (diff) | |
download | robolectric-c61ca12c178f4f4430523de2565e2b2b095d82e7.tar.gz |
Made Parcel.writeString() handle null string
3 files changed, 13 insertions, 32 deletions
diff --git a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowIntent.java b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowIntent.java index 11289602d..9f24e740a 100644 --- a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowIntent.java +++ b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowIntent.java @@ -608,16 +608,16 @@ public class ShadowIntent { @Implementation public void writeToParcel(Parcel out, int flags) { - writeStringToParcel(action, out); + out.writeString(action); if (data != null) { out.writeInt(1); Uri.writeToParcel(out, data); } else { out.writeInt(0); } - writeStringToParcel(type, out); + out.writeString(type); out.writeInt(flags); - writeStringToParcel(packageName, out); + out.writeString(packageName); ComponentName.writeToParcel(componentName, out); out.writeInt(categories.size()); for (String category : categories) { @@ -628,13 +628,13 @@ public class ShadowIntent { @Implementation public void readFromParcel(Parcel in) { - setAction(readStringFromParcel(in)); + setAction(in.readString()); if (in.readInt() != 0) { data = Uri.CREATOR.createFromParcel(in); } - type = readStringFromParcel(in); + type = in.readString(); flags = in.readInt(); - packageName = readStringFromParcel(in); + packageName = in.readString(); componentName = ComponentName.readFromParcel(in); int N = in.readInt(); for (int i = 0; i < N; i++) { @@ -643,22 +643,6 @@ public class ShadowIntent { extras.putAll(in.readBundle()); } - private void writeStringToParcel(String s, Parcel out) { - if (s != null) { - out.writeInt(1); - out.writeString(s); - } else { - out.writeInt(0); - } - } - - private String readStringFromParcel(Parcel in) { - if (in.readInt() != 0) { - return in.readString(); - } - return null; - } - private Serializable serializeCycle(Serializable serializable) { try { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); diff --git a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowParcel.java b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowParcel.java index d41a6811c..75c864a4c 100644 --- a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowParcel.java +++ b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowParcel.java @@ -27,9 +27,6 @@ public class ShadowParcel { @Implementation public void writeString(String str) { - if (str == null) { - return; - } parcelData.add(str); } diff --git a/src/test/java/com/xtremelabs/robolectric/shadows/ParcelTest.java b/src/test/java/com/xtremelabs/robolectric/shadows/ParcelTest.java index d2e5a1a9c..8072eb76b 100644 --- a/src/test/java/com/xtremelabs/robolectric/shadows/ParcelTest.java +++ b/src/test/java/com/xtremelabs/robolectric/shadows/ParcelTest.java @@ -65,13 +65,13 @@ public class ParcelTest { assertThat(parcel.readString(), equalTo(val)); } - @Test - public void testWriteNullString() { - parcel.writeString(null); - assertThat(parcel.readString(), nullValue()); - assertThat(shadowParcel.getIndex(), equalTo(0)); - assertThat(shadowParcel.getParcelData().size(), equalTo(0)); - } + @Test + public void testWriteNullString() { + parcel.writeString( null ); + assertThat( parcel.readString(), nullValue() ); + assertThat( shadowParcel.getIndex(), equalTo( 1 ) ); + assertThat( shadowParcel.getParcelData().size(), equalTo( 1 ) ); + } @Test public void testReadWriteMultipleStrings() { |