aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2015-02-15 10:53:31 -0800
committerKoushik Dutta <koushd@gmail.com>2015-02-15 10:53:31 -0800
commitbd2147e130b5ce1aa3cd0ec5e1eed6154264d3ba (patch)
treedf1557dcf7b4b7a272db60e16106d12a4fa6bbc4 /AndroidAsync
parentf0b68cf59f117a160e9247ecb1883cea2a1b0cc6 (diff)
downloadAndroidAsync-bd2147e130b5ce1aa3cd0ec5e1eed6154264d3ba.tar.gz
AndroidAsync-bd2147e130b5ce1aa3cd0ec5e1eed6154264d3ba.tar.bz2
AndroidAsync-bd2147e130b5ce1aa3cd0ec5e1eed6154264d3ba.zip
pushparser fix for 0 len byte array
Diffstat (limited to 'AndroidAsync')
-rw-r--r--AndroidAsync/AndroidAsync-AndroidAsync.iml2
-rw-r--r--AndroidAsync/src/com/koushikdutta/async/PushParser.java7
2 files changed, 6 insertions, 3 deletions
diff --git a/AndroidAsync/AndroidAsync-AndroidAsync.iml b/AndroidAsync/AndroidAsync-AndroidAsync.iml
index d1b73c2..c5d0925 100644
--- a/AndroidAsync/AndroidAsync-AndroidAsync.iml
+++ b/AndroidAsync/AndroidAsync-AndroidAsync.iml
@@ -80,9 +80,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
- <excludeFolder url="file://$MODULE_DIR$/build/libs" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
- <excludeFolder url="file://$MODULE_DIR$/build/poms" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
diff --git a/AndroidAsync/src/com/koushikdutta/async/PushParser.java b/AndroidAsync/src/com/koushikdutta/async/PushParser.java
index 51a79cc..27bece4 100644
--- a/AndroidAsync/src/com/koushikdutta/async/PushParser.java
+++ b/AndroidAsync/src/com/koushikdutta/async/PushParser.java
@@ -47,7 +47,8 @@ public class PushParser implements DataCallback {
ParseCallback<byte[]> callback;
public ByteArrayWaiter(int length, ParseCallback<byte[]> callback) {
super(length);
- if (length <= 0) throw new IllegalArgumentException("length should be > 0");
+ if (length <= 0)
+ throw new IllegalArgumentException("length should be > 0");
this.callback = callback;
}
@@ -71,6 +72,10 @@ public class PushParser implements DataCallback {
@Override
public Waiter onDataAvailable(DataEmitter emitter, ByteBufferList bb) {
int length = bb.getInt();
+ if (length == 0) {
+ callback.parsed(new byte[0]);
+ return null;
+ }
return new ByteArrayWaiter(length, callback);
}
}