fedilab-Android-App/app/src/main/java/app/fedilab/android/client/Glide/HttpsUrlLoader.java

58 lines
1.6 KiB
Java
Raw Normal View History

2019-05-18 11:10:30 +02:00
package app.fedilab.android.client.Glide;
2017-12-13 11:09:58 +01:00
2018-01-20 09:13:17 +01:00
import android.content.Context;
2019-06-11 19:38:26 +02:00
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
2017-12-13 11:09:58 +01:00
import com.bumptech.glide.load.Options;
import com.bumptech.glide.load.model.GlideUrl;
import com.bumptech.glide.load.model.ModelLoader;
import com.bumptech.glide.load.model.ModelLoaderFactory;
import com.bumptech.glide.load.model.MultiModelLoaderFactory;
import java.io.InputStream;
2018-01-20 09:13:17 +01:00
import java.lang.ref.WeakReference;
2017-12-13 11:09:58 +01:00
/**
* Created by Thomas on 13/12/2017.
2017-12-13 11:19:55 +01:00
* Custom UrlLoader
2017-12-13 11:09:58 +01:00
*/
public class HttpsUrlLoader implements ModelLoader<GlideUrl, InputStream> {
2018-01-20 09:13:17 +01:00
private static WeakReference<Context> contextWeakReference;
2017-12-13 11:09:58 +01:00
2018-01-20 09:13:17 +01:00
HttpsUrlLoader(Context context) {
contextWeakReference = new WeakReference<>(context);}
2017-12-13 11:09:58 +01:00
@Nullable
@Override
2018-01-20 09:13:17 +01:00
public LoadData<InputStream> buildLoadData(@NonNull GlideUrl glideUrl, int width, int height, @NonNull Options options) {
return new LoadData<>(glideUrl, new CustomStreamFetcher(contextWeakReference.get(), glideUrl));
2017-12-13 11:09:58 +01:00
}
@Override
2018-01-20 09:13:17 +01:00
public boolean handles(@NonNull GlideUrl glideUrl) {
2017-12-13 11:09:58 +01:00
return true;
}
public static class Factory implements ModelLoaderFactory<GlideUrl, InputStream> {
2018-01-20 09:13:17 +01:00
Factory(Context context){
contextWeakReference = new WeakReference<>(context);
}
@NonNull
2017-12-13 11:09:58 +01:00
@Override
2018-01-20 09:13:17 +01:00
public ModelLoader<GlideUrl, InputStream> build(@NonNull MultiModelLoaderFactory multiFactory) {
return new HttpsUrlLoader(contextWeakReference.get());
2017-12-13 11:09:58 +01:00
}
@Override
public void teardown() {
}
}
}