From d60e4b8c8a1aa6dda5bff9479b33f10cc66ed740 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Sat, 6 Feb 2016 01:11:40 +0100 Subject: [PATCH] Updated Glide --- app/build.gradle | 4 +- app/proguard-rules.pro | 6 +- app/src/main/AndroidManifest.xml | 2 +- .../glide/artistimage/ArtistImageLoader.java | 2 +- .../glide/okhttp/OkHttpGlideModule.java | 31 -------- .../glide/okhttp/OkHttpStreamFetcher.java | 78 ------------------- .../glide/okhttp/OkHttpUrlLoader.java | 76 ------------------ app/src/main/res/layout/dialog_playlist.xml | 12 --- 8 files changed, 9 insertions(+), 202 deletions(-) delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpGlideModule.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpStreamFetcher.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpUrlLoader.java delete mode 100644 app/src/main/res/layout/dialog_playlist.xml diff --git a/app/build.gradle b/app/build.gradle index dd301929..4d93b0db 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -131,7 +131,6 @@ dependencies { compile 'com.android.support:percent:23.1.1' compile 'com.android.support:preference-v7:23.1.1' compile 'com.github.ksoichiro:android-observablescrollview:1.6.0' - compile 'asia.ivity.android:drag-sort-listview:1.0' compile 'com.github.semoncat.seekarc:library:0.1' compile 'com.github.kabouzeid:AndroidSlidingUpPanel:3.2.1' compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' @@ -142,6 +141,7 @@ dependencies { compile 'com.anjlab.android.iab.v3:library:1.0.+' compile 'de.psdev.licensesdialog:licensesdialog:1.8.0' compile 'com.github.kabouzeid:AppIntro:3.3.0k' - compile 'com.github.bumptech.glide:glide:3.6.1' + compile 'com.github.bumptech.glide:glide:3.7.0' + compile 'com.github.bumptech.glide:okhttp3-integration:1.4.0@aar' compile 'com.github.kabouzeid:RecyclerView-FastScroll:v1.4-kmod' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 8f141003..ee0e6965 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -22,8 +22,12 @@ -keepattributes Signature -keepattributes Exceptions -# Glide Modules +# Glide -keep public class * implements com.bumptech.glide.module.GlideModule +-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { + **[] $VALUES; + public *; +} # ButterKnife -keep class butterknife.** { *; } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ad414671..45b052ea 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -113,7 +113,7 @@ android:value="GlideModule" /> - *

If you're using gradle, you can include this module simply by depending on the aar, the - * module will be merged in by manifest merger. For other build systems or for more more - * information, see {@link GlideModule}.

- */ -public class OkHttpGlideModule implements GlideModule { - @Override - public void applyOptions(Context context, GlideBuilder builder) { - // Do nothing. - } - - @Override - public void registerComponents(Context context, Glide glide) { - glide.register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory()); - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpStreamFetcher.java b/app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpStreamFetcher.java deleted file mode 100644 index b27c9d7d..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpStreamFetcher.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.kabouzeid.gramophone.glide.okhttp; - -import android.util.Log; - -import com.bumptech.glide.Priority; -import com.bumptech.glide.load.data.DataFetcher; -import com.bumptech.glide.load.model.GlideUrl; -import com.bumptech.glide.util.ContentLengthInputStream; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Map; - -import okhttp3.Call; -import okhttp3.Request; -import okhttp3.Response; -import okhttp3.ResponseBody; - -/** - * Fetches an {@link InputStream} using the okhttp library. - */ -public class OkHttpStreamFetcher implements DataFetcher { - private static final String TAG = "OkHttpFetcher"; - private final Call.Factory client; - private final GlideUrl url; - private InputStream stream; - private ResponseBody responseBody; - - public OkHttpStreamFetcher(Call.Factory client, GlideUrl url) { - this.client = client; - this.url = url; - } - - @Override - public InputStream loadData(Priority priority) throws Exception { - Request.Builder requestBuilder = new Request.Builder().url(url.toStringUrl()); - for (Map.Entry headerEntry : url.getHeaders().entrySet()) { - String key = headerEntry.getKey(); - requestBuilder.addHeader(key, headerEntry.getValue()); - } - Request request = requestBuilder.build(); - - Response response = client.newCall(request).execute(); - if (response.isSuccessful()) { - long contentLength = response.body().contentLength(); - responseBody = response.body(); - stream = ContentLengthInputStream.obtain(responseBody.byteStream(), contentLength); - } else { - Log.d(TAG, "OkHttp got error response: " + response.code() + ", " + response.message()); - } - - return stream; - } - - @Override - public void cleanup() { - try { - if (stream != null) { - stream.close(); - } - } catch (IOException e) { - // Ignored - } - if (responseBody != null) { - responseBody.close(); - } - } - - @Override - public String getId() { - return url.getCacheKey(); - } - - @Override - public void cancel() { - // TODO: call cancel on the client when this method is called on a background thread. See #257 - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpUrlLoader.java b/app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpUrlLoader.java deleted file mode 100644 index 44d91c3a..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/glide/okhttp/OkHttpUrlLoader.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.kabouzeid.gramophone.glide.okhttp; - -import android.content.Context; - -import com.bumptech.glide.load.data.DataFetcher; -import com.bumptech.glide.load.model.GenericLoaderFactory; -import com.bumptech.glide.load.model.GlideUrl; -import com.bumptech.glide.load.model.ModelLoader; -import com.bumptech.glide.load.model.ModelLoaderFactory; - -import java.io.InputStream; - -import okhttp3.Call; -import okhttp3.OkHttpClient; - -/** - * A simple model loader for fetching media over http/https using OkHttp. - */ -public class OkHttpUrlLoader implements ModelLoader { - - private final Call.Factory client; - - public OkHttpUrlLoader(Call.Factory client) { - this.client = client; - } - - @Override - public DataFetcher getResourceFetcher(GlideUrl model, int width, int height) { - return new OkHttpStreamFetcher(client, model); - } - - /** - * The default factory for {@link OkHttpUrlLoader}s. - */ - public static class Factory implements ModelLoaderFactory { - private static volatile Call.Factory internalClient; - private Call.Factory client; - - private static Call.Factory getInternalClient() { - if (internalClient == null) { - synchronized (Factory.class) { - if (internalClient == null) { - internalClient = new OkHttpClient(); - } - } - } - return internalClient; - } - - /** - * Constructor for a new Factory that runs requests using a static singleton client. - */ - public Factory() { - this(getInternalClient()); - } - - /** - * Constructor for a new Factory that runs requests using given client. - * - * @param client this is typically an instance of {@code OkHttpClient}. - */ - public Factory(Call.Factory client) { - this.client = client; - } - - @Override - public ModelLoader build(Context context, GenericLoaderFactory factories) { - return new OkHttpUrlLoader(client); - } - - @Override - public void teardown() { - // Do nothing, this instance doesn't own the client. - } - } -} diff --git a/app/src/main/res/layout/dialog_playlist.xml b/app/src/main/res/layout/dialog_playlist.xml deleted file mode 100644 index c576f1d1..00000000 --- a/app/src/main/res/layout/dialog_playlist.xml +++ /dev/null @@ -1,12 +0,0 @@ - -