81 lines
2.2 KiB
Java
81 lines
2.2 KiB
Java
package com.bumptech.glide.load.model;
|
|
|
|
import com.bumptech.glide.util.LruCache;
|
|
import com.bumptech.glide.util.Util;
|
|
import java.util.Queue;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class ModelCache<A, B> {
|
|
private final LruCache<ModelKey<A>, B> a;
|
|
|
|
public ModelCache(long j) {
|
|
this.a = new LruCache<ModelKey<A>, B>(this, j) { // from class: com.bumptech.glide.load.model.ModelCache.1
|
|
@Override // com.bumptech.glide.util.LruCache
|
|
protected /* bridge */ /* synthetic */ void a(Object obj, Object obj2) {
|
|
a((ModelKey) obj, (ModelKey<A>) obj2);
|
|
}
|
|
|
|
protected void a(ModelKey<A> modelKey, B b) {
|
|
modelKey.a();
|
|
}
|
|
};
|
|
}
|
|
|
|
public B a(A a, int i, int i2) {
|
|
ModelKey<A> a2 = ModelKey.a(a, i, i2);
|
|
B a3 = this.a.a((LruCache<ModelKey<A>, B>) a2);
|
|
a2.a();
|
|
return a3;
|
|
}
|
|
|
|
public void a(A a, int i, int i2, B b) {
|
|
this.a.b(ModelKey.a(a, i, i2), b);
|
|
}
|
|
|
|
static final class ModelKey<A> {
|
|
private static final Queue<ModelKey<?>> d = Util.a(0);
|
|
private int a;
|
|
private int b;
|
|
private A c;
|
|
|
|
private ModelKey() {
|
|
}
|
|
|
|
static <A> ModelKey<A> a(A a, int i, int i2) {
|
|
ModelKey<A> modelKey;
|
|
synchronized (d) {
|
|
modelKey = (ModelKey) d.poll();
|
|
}
|
|
if (modelKey == null) {
|
|
modelKey = new ModelKey<>();
|
|
}
|
|
modelKey.b(a, i, i2);
|
|
return modelKey;
|
|
}
|
|
|
|
private void b(A a, int i, int i2) {
|
|
this.c = a;
|
|
this.b = i;
|
|
this.a = i2;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (!(obj instanceof ModelKey)) {
|
|
return false;
|
|
}
|
|
ModelKey modelKey = (ModelKey) obj;
|
|
return this.b == modelKey.b && this.a == modelKey.a && this.c.equals(modelKey.c);
|
|
}
|
|
|
|
public int hashCode() {
|
|
return (((this.a * 31) + this.b) * 31) + this.c.hashCode();
|
|
}
|
|
|
|
public void a() {
|
|
synchronized (d) {
|
|
d.offer(this);
|
|
}
|
|
}
|
|
}
|
|
}
|