diff --git a/ion/build.gradle b/ion/build.gradle index 8686f654..78d70db0 100644 --- a/ion/build.gradle +++ b/ion/build.gradle @@ -15,8 +15,8 @@ repositories { dependencies { compile 'com.android.support:support-v4:+' - compile project(':AndroidAsync:AndroidAsync') compile 'com.google.code.gson:gson:2.3' + compile fileTree(dir: 'libs', include: '*.jar') // for when i wanna test this against gms conscrypt androidTestCompile 'com.google.android.gms:play-services:+' diff --git a/ion/ion-ion.iml b/ion/ion-ion.iml index 593d7609..e7f7a140 100644 --- a/ion/ion-ion.iml +++ b/ion/ion-ion.iml @@ -1,9 +1,9 @@ - + - @@ -81,9 +81,7 @@ - - @@ -91,8 +89,8 @@ + - diff --git a/ion/ion.iml b/ion/ion.iml deleted file mode 100644 index 3752d127..00000000 --- a/ion/ion.iml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ion/libs/android-support-v4.jar b/ion/libs/android-support-v4.jar deleted file mode 100644 index c31cede4..00000000 Binary files a/ion/libs/android-support-v4.jar and /dev/null differ diff --git a/ion/libs/androidasync-2.0.8.jar b/ion/libs/androidasync-2.0.8.jar new file mode 100644 index 00000000..8bcd8820 Binary files /dev/null and b/ion/libs/androidasync-2.0.8.jar differ diff --git a/ion/libs/gson-2.2.4.jar b/ion/libs/gson-2.2.4.jar deleted file mode 100644 index 75fe27c5..00000000 Binary files a/ion/libs/gson-2.2.4.jar and /dev/null differ diff --git a/ion/project.properties b/ion/project.properties index 8875576c..be1aca0b 100644 --- a/ion/project.properties +++ b/ion/project.properties @@ -16,4 +16,4 @@ android.library=true -android.library.reference.1=../../AndroidAsync/AndroidAsync + diff --git a/ion/src/com/koushikdutta/ion/HeaderException.java b/ion/src/com/koushikdutta/ion/HeaderException.java new file mode 100644 index 00000000..2b70a7b9 --- /dev/null +++ b/ion/src/com/koushikdutta/ion/HeaderException.java @@ -0,0 +1,18 @@ +package com.koushikdutta.ion; + +/** + * Created by collin on 3/5/15. + */ + public class HeaderException extends Exception { + + private HeadersResponse response; + + public HeaderException(HeadersResponse headersResponse) { + response = headersResponse; + } + + public int getCode() { + return response != null ? response.code() : -1; + } + + } diff --git a/ion/src/com/koushikdutta/ion/LoadBitmap.java b/ion/src/com/koushikdutta/ion/LoadBitmap.java index 5f16b52a..cb173be4 100644 --- a/ion/src/com/koushikdutta/ion/LoadBitmap.java +++ b/ion/src/com/koushikdutta/ion/LoadBitmap.java @@ -33,6 +33,13 @@ public void onCompleted(Exception e, final ByteBufferList result) { return; } + if (emitterTransform != null && emitterTransform.headers != null) { + if (emitterTransform.headers.code() == 410) { + report(new HeaderException(emitterTransform.headers), null); + return; + } + } + if (ion.bitmapsPending.tag(key) != this) { result.recycle(); return; diff --git a/ion/src/com/koushikdutta/ion/gif/GifDecoder.java b/ion/src/com/koushikdutta/ion/gif/GifDecoder.java index e8a30d6d..82de2f60 100755 --- a/ion/src/com/koushikdutta/ion/gif/GifDecoder.java +++ b/ion/src/com/koushikdutta/ion/gif/GifDecoder.java @@ -45,7 +45,7 @@ public class GifDecoder implements Cloneable { private int dispose = 0; private int lastDispose = 0; private boolean transparency = false; // use transparent color - private int delay = 0; // delay in milliseconds + private int delay = 100; // delay in milliseconds private int transIndex; // transparent color index private static final int MaxStackSize = 4096; @@ -447,6 +447,9 @@ private void readGraphicControlExt() { } transparency = (packed & 1) != 0; delay = readShort() * 10; // delay in milliseconds + if (delay < 20) { + delay = 100; + } transIndex = read(); // transparent color index read(); // block terminator } @@ -573,7 +576,7 @@ private void resetFrame(GifFrame newFrame) { lastBgColor = bgColor; dispose = 0; transparency = false; - delay = 0; + delay = 100; lct = null; }