mirror of
https://github.com/whyorean/AuroraStore.git
synced 2026-06-19 04:58:47 -04:00
Enforce proxy settings on Glide
https://gitlab.com/AuroraOSS/AuroraStore/issues/173
This commit is contained in:
@@ -96,7 +96,9 @@ dependencies {
|
||||
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
|
||||
//Glide
|
||||
implementation 'com.github.bumptech.glide:glide:4.9.0'
|
||||
implementation "com.github.bumptech.glide:okhttp3-integration:4.9.0"
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
|
||||
|
||||
//Fetch - Downloader
|
||||
implementation 'androidx.tonyodev.fetch2:xfetch2:3.1.4'
|
||||
implementation 'androidx.tonyodev.fetch2okhttp:xfetch2okhttp:3.1.4'
|
||||
|
||||
@@ -26,14 +26,22 @@ import android.graphics.Bitmap;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.aurora.store.utility.Util;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.GlideBuilder;
|
||||
import com.bumptech.glide.Registry;
|
||||
import com.bumptech.glide.annotation.GlideModule;
|
||||
import com.bumptech.glide.integration.okhttp3.OkHttpUrlLoader;
|
||||
import com.bumptech.glide.load.engine.cache.InternalCacheDiskCacheFactory;
|
||||
import com.bumptech.glide.load.engine.cache.LruResourceCache;
|
||||
import com.bumptech.glide.load.model.GlideUrl;
|
||||
import com.bumptech.glide.module.AppGlideModule;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.signature.ObjectKey;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
import static com.bumptech.glide.load.DecodeFormat.PREFER_ARGB_8888;
|
||||
|
||||
@GlideModule
|
||||
@@ -50,6 +58,13 @@ public class AuroraGlide extends AppGlideModule {
|
||||
.skipMemoryCache(false);
|
||||
}
|
||||
|
||||
private static OkHttpClient getOkHttpClient(Context context) {
|
||||
final OkHttpClient.Builder builder = new OkHttpClient.Builder();
|
||||
if (Util.isNetworkProxyEnabled(context))
|
||||
builder.proxy(Util.getNetworkProxy(context));
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
|
||||
int memoryCacheSizeBytes = 1024 * 1024 * 50;
|
||||
@@ -57,4 +72,11 @@ public class AuroraGlide extends AppGlideModule {
|
||||
builder.setDiskCache(new InternalCacheDiskCacheFactory(context, memoryCacheSizeBytes));
|
||||
builder.setDefaultRequestOptions(requestOptions(context));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
|
||||
final OkHttpClient okHttpClient = getOkHttpClient(context);
|
||||
final OkHttpUrlLoader.Factory okHttpUrlLoader = new OkHttpUrlLoader.Factory(okHttpClient);
|
||||
registry.replace(GlideUrl.class, InputStream.class, okHttpUrlLoader);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user