That fuck shit the fascists are using
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}