ModelToResourceClassCache.smali
.class public Lcom/bumptech/glide/provider/ModelToResourceClassCache;
.super Ljava/lang/Object;
.source "ModelToResourceClassCache.java"
# instance fields
.field private final registeredResourceClassCache:Landroidx/collection/ArrayMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/collection/ArrayMap<",
"Lcom/bumptech/glide/util/MultiClassKey;",
"Ljava/util/List<",
"Ljava/lang/Class<",
"*>;>;>;"
}
.end annotation
.end field
.field private final resourceClassKeyRef:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lcom/bumptech/glide/util/MultiClassKey;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 15
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->resourceClassKeyRef:Ljava/util/concurrent/atomic/AtomicReference;
.line 16
new-instance v0, Landroidx/collection/ArrayMap;
invoke-direct {v0}, Landroidx/collection/ArrayMap;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->registeredResourceClassCache:Landroidx/collection/ArrayMap;
return-void
.end method
# virtual methods
.method public clear()V
.registers 3
.line 50
iget-object v0, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->registeredResourceClassCache:Landroidx/collection/ArrayMap;
monitor-enter v0
.line 51
:try_start_3
iget-object v1, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->registeredResourceClassCache:Landroidx/collection/ArrayMap;
invoke-virtual {v1}, Landroidx/collection/ArrayMap;->clear()V
.line 52
monitor-exit v0
.line 53
return-void
.line 52
:catchall_a
move-exception v1
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw v1
.end method
.method public get(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/List;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;)",
"Ljava/util/List<",
"Ljava/lang/Class<",
"*>;>;"
}
.end annotation
.line 24
.local p1, "modelClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.local p2, "resourceClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.local p3, "transcodeClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
iget-object v0, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->resourceClassKeyRef:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/bumptech/glide/util/MultiClassKey;
.line 25
.local v0, "key":Lcom/bumptech/glide/util/MultiClassKey;
if-nez v0, :cond_12
.line 26
new-instance v1, Lcom/bumptech/glide/util/MultiClassKey;
invoke-direct {v1, p1, p2, p3}, Lcom/bumptech/glide/util/MultiClassKey;-><init>(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
move-object v0, v1
goto :goto_15
.line 28
:cond_12
invoke-virtual {v0, p1, p2, p3}, Lcom/bumptech/glide/util/MultiClassKey;->set(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
.line 31
:goto_15
iget-object v1, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->registeredResourceClassCache:Landroidx/collection/ArrayMap;
monitor-enter v1
.line 32
:try_start_18
iget-object v2, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->registeredResourceClassCache:Landroidx/collection/ArrayMap;
invoke-virtual {v2, v0}, Landroidx/collection/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
.line 33
.local v2, "result":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Class<*>;>;"
monitor-exit v1
:try_end_21
.catchall {:try_start_18 .. :try_end_21} :catchall_27
.line 34
iget-object v1, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->resourceClassKeyRef:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v1, v0}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
.line 35
return-object v2
.line 33
.end local v2 # "result":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Class<*>;>;"
:catchall_27
move-exception v2
:try_start_28
monitor-exit v1
:try_end_29
.catchall {:try_start_28 .. :try_end_29} :catchall_27
throw v2
.end method
.method public put(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/util/List;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;",
"Ljava/util/List<",
"Ljava/lang/Class<",
"*>;>;)V"
}
.end annotation
.line 43
.local p1, "modelClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.local p2, "resourceClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.local p3, "transcodeClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.local p4, "resourceClasses":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Class<*>;>;"
iget-object v0, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->registeredResourceClassCache:Landroidx/collection/ArrayMap;
monitor-enter v0
.line 44
:try_start_3
iget-object v1, p0, Lcom/bumptech/glide/provider/ModelToResourceClassCache;->registeredResourceClassCache:Landroidx/collection/ArrayMap;
new-instance v2, Lcom/bumptech/glide/util/MultiClassKey;
invoke-direct {v2, p1, p2, p3}, Lcom/bumptech/glide/util/MultiClassKey;-><init>(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
invoke-virtual {v1, v2, p4}, Landroidx/collection/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 46
monitor-exit v0
.line 47
return-void
.line 46
:catchall_f
move-exception v1
monitor-exit v0
:try_end_11
.catchall {:try_start_3 .. :try_end_11} :catchall_f
throw v1
.end method