That fuck shit the fascists are using
1package org.tm.archive.blurhash;
2
3import androidx.annotation.NonNull;
4
5import com.bumptech.glide.Priority;
6import com.bumptech.glide.load.DataSource;
7import com.bumptech.glide.load.Options;
8import com.bumptech.glide.load.data.DataFetcher;
9import com.bumptech.glide.load.model.ModelLoader;
10import com.bumptech.glide.load.model.ModelLoaderFactory;
11import com.bumptech.glide.load.model.MultiModelLoaderFactory;
12import com.bumptech.glide.signature.ObjectKey;
13
14public final class BlurHashModelLoader implements ModelLoader<BlurHash, BlurHash> {
15
16 private BlurHashModelLoader() {}
17
18 @Override
19 public LoadData<BlurHash> buildLoadData(@NonNull BlurHash blurHash,
20 int width,
21 int height,
22 @NonNull Options options)
23 {
24 return new LoadData<>(new ObjectKey(blurHash.getHash()), new BlurDataFetcher(blurHash));
25 }
26
27 @Override
28 public boolean handles(@NonNull BlurHash blurHash) {
29 return true;
30 }
31
32 private final class BlurDataFetcher implements DataFetcher<BlurHash> {
33
34 private final BlurHash blurHash;
35
36 private BlurDataFetcher(@NonNull BlurHash blurHash) {
37 this.blurHash = blurHash;
38 }
39
40 @Override
41 public void loadData(@NonNull Priority priority, @NonNull DataCallback<? super BlurHash> callback) {
42 callback.onDataReady(blurHash);
43 }
44
45 @Override
46 public void cleanup() {
47 }
48
49 @Override
50 public void cancel() {
51 }
52
53 @Override
54 public @NonNull Class<BlurHash> getDataClass() {
55 return BlurHash.class;
56 }
57
58 @Override
59 public @NonNull DataSource getDataSource() {
60 return DataSource.LOCAL;
61 }
62 }
63
64 public static class Factory implements ModelLoaderFactory<BlurHash, BlurHash> {
65 @Override
66 public @NonNull ModelLoader<BlurHash, BlurHash> build(@NonNull MultiModelLoaderFactory multiFactory) {
67 return new BlurHashModelLoader();
68 }
69
70 @Override
71 public void teardown() {
72 }
73 }
74}