jimu-decompiled/sources/com/bumptech/glide/load/resource/transcode/TranscoderRegistry.java
2025-05-13 19:24:51 +02:00

58 lines
1.8 KiB
Java

package com.bumptech.glide.load.resource.transcode;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/* loaded from: classes.dex */
public class TranscoderRegistry {
private final List<Entry<?, ?>> a = new ArrayList();
private static final class Entry<Z, R> {
private final Class<Z> a;
private final Class<R> b;
final ResourceTranscoder<Z, R> c;
Entry(Class<Z> cls, Class<R> cls2, ResourceTranscoder<Z, R> resourceTranscoder) {
this.a = cls;
this.b = cls2;
this.c = resourceTranscoder;
}
public boolean a(Class<?> cls, Class<?> cls2) {
return this.a.isAssignableFrom(cls) && cls2.isAssignableFrom(this.b);
}
}
public synchronized <Z, R> void a(Class<Z> cls, Class<R> cls2, ResourceTranscoder<Z, R> resourceTranscoder) {
this.a.add(new Entry<>(cls, cls2, resourceTranscoder));
}
public synchronized <Z, R> List<Class<R>> b(Class<Z> cls, Class<R> cls2) {
ArrayList arrayList = new ArrayList();
if (cls2.isAssignableFrom(cls)) {
arrayList.add(cls2);
return arrayList;
}
Iterator<Entry<?, ?>> it = this.a.iterator();
while (it.hasNext()) {
if (it.next().a(cls, cls2)) {
arrayList.add(cls2);
}
}
return arrayList;
}
public synchronized <Z, R> ResourceTranscoder<Z, R> a(Class<Z> cls, Class<R> cls2) {
if (cls2.isAssignableFrom(cls)) {
return UnitTranscoder.a();
}
for (Entry<?, ?> entry : this.a) {
if (entry.a(cls, cls2)) {
return (ResourceTranscoder<Z, R>) entry.c;
}
}
throw new IllegalArgumentException("No transcoder registered to transcode from " + cls + " to " + cls2);
}
}