That fuck shit the fascists are using
at master 74 lines 2.0 kB view raw
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}