That fuck shit the fascists are using
at master 61 lines 1.7 kB view raw
1package org.tm.archive.glide; 2 3import androidx.annotation.NonNull; 4import androidx.annotation.Nullable; 5 6import com.bumptech.glide.load.Options; 7import com.bumptech.glide.load.model.GlideUrl; 8import com.bumptech.glide.load.model.ModelLoader; 9import com.bumptech.glide.load.model.ModelLoaderFactory; 10import com.bumptech.glide.load.model.MultiModelLoaderFactory; 11 12import org.tm.archive.badges.models.Badge; 13import org.tm.archive.dependencies.ApplicationDependencies; 14 15import java.io.InputStream; 16 17import okhttp3.OkHttpClient; 18 19/** 20 * A loader which will load a sprite sheet for a particular badge at the correct dpi for this device. 21 */ 22public class BadgeLoader implements ModelLoader<Badge, InputStream> { 23 24 private final OkHttpClient client; 25 26 private BadgeLoader(OkHttpClient client) { 27 this.client = client; 28 } 29 30 @Override 31 public @Nullable LoadData<InputStream> buildLoadData(@NonNull Badge request, int width, int height, @NonNull Options options) { 32 return new LoadData<>(request, new OkHttpStreamFetcher(client, new GlideUrl(request.getImageUrl().toString()))); 33 } 34 35 @Override 36 public boolean handles(@NonNull Badge badgeSpriteSheetRequest) { 37 return true; 38 } 39 40 public static Factory createFactory() { 41 return new Factory(ApplicationDependencies.getSignalOkHttpClient()); 42 } 43 44 public static class Factory implements ModelLoaderFactory<Badge, InputStream> { 45 46 private final OkHttpClient client; 47 48 private Factory(@NonNull OkHttpClient client) { 49 this.client = client; 50 } 51 52 @Override 53 public @NonNull ModelLoader<Badge, InputStream> build(@NonNull MultiModelLoaderFactory multiFactory) { 54 return new BadgeLoader(client); 55 } 56 57 @Override 58 public void teardown() { 59 } 60 } 61}