aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhihong Xu <zhihongx@google.com>2012-09-04 10:32:48 -0700
committerJon Boekenoogen <jboekeno@google.com>2012-09-18 09:41:25 -0700
commitc61ca12c178f4f4430523de2565e2b2b095d82e7 (patch)
treee85266e6924cbe9bf10ef8631eb0e1176475398f
parent6fb5d4828313a611b33b9bdd0cc6152d51b67347 (diff)
downloadrobolectric-c61ca12c178f4f4430523de2565e2b2b095d82e7.tar.gz
Made Parcel.writeString() handle null string
-rw-r--r--src/main/java/com/xtremelabs/robolectric/shadows/ShadowIntent.java28
-rw-r--r--src/main/java/com/xtremelabs/robolectric/shadows/ShadowParcel.java3
-rw-r--r--src/test/java/com/xtremelabs/robolectric/shadows/ParcelTest.java14
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() {