.class public Lcom/bumptech/glide/provider/LoadPathCache; .super Ljava/lang/Object; .source "LoadPathCache.java" # static fields .field private static final NO_PATHS_SIGNAL:Lcom/bumptech/glide/load/engine/LoadPath; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/bumptech/glide/load/engine/LoadPath<", "***>;" } .end annotation .end field # instance fields .field private final cache:Landroidx/collection/ArrayMap; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/collection/ArrayMap<", "Lcom/bumptech/glide/util/MultiClassKey;", "Lcom/bumptech/glide/load/engine/LoadPath<", "***>;>;" } .end annotation .end field .field private final keyRef: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 ()V .registers 14 .line 18 new-instance v6, Lcom/bumptech/glide/load/engine/LoadPath; const-class v1, Ljava/lang/Object; const-class v2, Ljava/lang/Object; const-class v3, Ljava/lang/Object; new-instance v0, Lcom/bumptech/glide/load/engine/DecodePath; const-class v8, Ljava/lang/Object; const-class v9, Ljava/lang/Object; const-class v10, Ljava/lang/Object; .line 28 invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List; move-result-object v11 new-instance v12, Lcom/bumptech/glide/load/resource/transcode/UnitTranscoder; invoke-direct {v12}, Lcom/bumptech/glide/load/resource/transcode/UnitTranscoder;->()V const/4 v13, 0x0 move-object v7, v0 invoke-direct/range {v7 .. v13}, Lcom/bumptech/glide/load/engine/DecodePath;->(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/util/List;Lcom/bumptech/glide/load/resource/transcode/ResourceTranscoder;Landroidx/core/util/Pools$Pool;)V .line 23 invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List; move-result-object v4 const/4 v5, 0x0 move-object v0, v6 invoke-direct/range {v0 .. v5}, Lcom/bumptech/glide/load/engine/LoadPath;->(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/util/List;Landroidx/core/util/Pools$Pool;)V sput-object v6, Lcom/bumptech/glide/provider/LoadPathCache;->NO_PATHS_SIGNAL:Lcom/bumptech/glide/load/engine/LoadPath; return-void .end method .method public constructor ()V .registers 2 .line 17 invoke-direct {p0}, Ljava/lang/Object;->()V .line 33 new-instance v0, Landroidx/collection/ArrayMap; invoke-direct {v0}, Landroidx/collection/ArrayMap;->()V iput-object v0, p0, Lcom/bumptech/glide/provider/LoadPathCache;->cache:Landroidx/collection/ArrayMap; .line 34 new-instance v0, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;->()V iput-object v0, p0, Lcom/bumptech/glide/provider/LoadPathCache;->keyRef:Ljava/util/concurrent/atomic/AtomicReference; return-void .end method .method private getKey(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)Lcom/bumptech/glide/util/MultiClassKey; .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "*>;", "Ljava/lang/Class<", "*>;", "Ljava/lang/Class<", "*>;)", "Lcom/bumptech/glide/util/MultiClassKey;" } .end annotation .line 77 iget-object v0, p0, Lcom/bumptech/glide/provider/LoadPathCache;->keyRef: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; if-nez v0, :cond_10 .line 79 new-instance v0, Lcom/bumptech/glide/util/MultiClassKey; invoke-direct {v0}, Lcom/bumptech/glide/util/MultiClassKey;->()V .line 81 :cond_10 invoke-virtual {v0, p1, p2, p3}, Lcom/bumptech/glide/util/MultiClassKey;->set(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V return-object v0 .end method # virtual methods .method public get(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)Lcom/bumptech/glide/load/engine/LoadPath; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TData;>;", "Ljava/lang/Class<", "TTResource;>;", "Ljava/lang/Class<", "TTranscode;>;)", "Lcom/bumptech/glide/load/engine/LoadPath<", "TData;TTResource;TTranscode;>;" } .end annotation .line 54 invoke-direct {p0, p1, p2, p3}, Lcom/bumptech/glide/provider/LoadPathCache;->getKey(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)Lcom/bumptech/glide/util/MultiClassKey; move-result-object p1 .line 56 iget-object p2, p0, Lcom/bumptech/glide/provider/LoadPathCache;->cache:Landroidx/collection/ArrayMap; monitor-enter p2 .line 57 :try_start_7 iget-object p3, p0, Lcom/bumptech/glide/provider/LoadPathCache;->cache:Landroidx/collection/ArrayMap; invoke-virtual {p3, p1}, Landroidx/collection/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p3 check-cast p3, Lcom/bumptech/glide/load/engine/LoadPath; .line 58 monitor-exit p2 :try_end_10 .catchall {:try_start_7 .. :try_end_10} :catchall_16 .line 59 iget-object p2, p0, Lcom/bumptech/glide/provider/LoadPathCache;->keyRef:Ljava/util/concurrent/atomic/AtomicReference; invoke-virtual {p2, p1}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V return-object p3 :catchall_16 move-exception p1 .line 58 :try_start_17 monitor-exit p2 :try_end_18 .catchall {:try_start_17 .. :try_end_18} :catchall_16 throw p1 .end method .method public isEmptyLoadPath(Lcom/bumptech/glide/load/engine/LoadPath;)Z .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/engine/LoadPath<", "***>;)Z" } .end annotation .line 42 sget-object v0, Lcom/bumptech/glide/provider/LoadPathCache;->NO_PATHS_SIGNAL:Lcom/bumptech/glide/load/engine/LoadPath; invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result p1 return p1 .end method .method public put(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Lcom/bumptech/glide/load/engine/LoadPath;)V .registers 8 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "*>;", "Ljava/lang/Class<", "*>;", "Ljava/lang/Class<", "*>;", "Lcom/bumptech/glide/load/engine/LoadPath<", "***>;)V" } .end annotation .line 68 iget-object v0, p0, Lcom/bumptech/glide/provider/LoadPathCache;->cache:Landroidx/collection/ArrayMap; monitor-enter v0 .line 69 :try_start_3 iget-object v1, p0, Lcom/bumptech/glide/provider/LoadPathCache;->cache:Landroidx/collection/ArrayMap; new-instance v2, Lcom/bumptech/glide/util/MultiClassKey; invoke-direct {v2, p1, p2, p3}, Lcom/bumptech/glide/util/MultiClassKey;->(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V if-eqz p4, :cond_d goto :goto_f .line 71 :cond_d sget-object p4, Lcom/bumptech/glide/provider/LoadPathCache;->NO_PATHS_SIGNAL:Lcom/bumptech/glide/load/engine/LoadPath; .line 69 :goto_f invoke-virtual {v1, v2, p4}, Landroidx/collection/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 72 monitor-exit v0 return-void :catchall_14 move-exception p1 monitor-exit v0 :try_end_16 .catchall {:try_start_3 .. :try_end_16} :catchall_14 throw p1 .end method