.class public Lcom/bumptech/glide/load/engine/Engine; .super Ljava/lang/Object; .source "Engine.java" # interfaces .implements Lcom/bumptech/glide/load/engine/EngineJobListener; .implements Lcom/bumptech/glide/load/engine/cache/MemoryCache$ResourceRemovedListener; .implements Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;, Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory;, Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider;, Lcom/bumptech/glide/load/engine/Engine$LoadStatus; } .end annotation # static fields .field private static final JOB_POOL_SIZE:I = 0x96 .field private static final TAG:Ljava/lang/String; = "Engine" .field private static final VERBOSE_IS_LOGGABLE:Z # instance fields .field private final activeResources:Lcom/bumptech/glide/load/engine/ActiveResources; .field private final cache:Lcom/bumptech/glide/load/engine/cache/MemoryCache; .field private final decodeJobFactory:Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory; .field private final diskCacheProvider:Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider; .field private final engineJobFactory:Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory; .field private final jobs:Lcom/bumptech/glide/load/engine/Jobs; .field private final keyFactory:Lcom/bumptech/glide/load/engine/EngineKeyFactory; .field private final resourceRecycler:Lcom/bumptech/glide/load/engine/ResourceRecycler; # direct methods .method static constructor ()V .registers 2 .line 35 const-string v0, "Engine" const/4 v1, 0x2 invoke-static {v0, v1}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z move-result v0 sput-boolean v0, Lcom/bumptech/glide/load/engine/Engine;->VERBOSE_IS_LOGGABLE:Z return-void .end method .method constructor (Lcom/bumptech/glide/load/engine/cache/MemoryCache;Lcom/bumptech/glide/load/engine/cache/DiskCache$Factory;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/Jobs;Lcom/bumptech/glide/load/engine/EngineKeyFactory;Lcom/bumptech/glide/load/engine/ActiveResources;Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory;Lcom/bumptech/glide/load/engine/ResourceRecycler;Z)V .registers 24 move-object v6, p0 move-object v7, p1 .line 82 invoke-direct {p0}, Ljava/lang/Object;->()V .line 83 iput-object v7, v6, Lcom/bumptech/glide/load/engine/Engine;->cache:Lcom/bumptech/glide/load/engine/cache/MemoryCache; .line 84 new-instance v8, Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider; move-object v0, p2 invoke-direct {v8, p2}, Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider;->(Lcom/bumptech/glide/load/engine/cache/DiskCache$Factory;)V iput-object v8, v6, Lcom/bumptech/glide/load/engine/Engine;->diskCacheProvider:Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider; if-nez p9, :cond_19 .line 87 new-instance v0, Lcom/bumptech/glide/load/engine/ActiveResources; move/from16 v1, p13 invoke-direct {v0, v1}, Lcom/bumptech/glide/load/engine/ActiveResources;->(Z)V goto :goto_1b :cond_19 move-object/from16 v0, p9 .line 89 :goto_1b iput-object v0, v6, Lcom/bumptech/glide/load/engine/Engine;->activeResources:Lcom/bumptech/glide/load/engine/ActiveResources; .line 90 invoke-virtual {v0, p0}, Lcom/bumptech/glide/load/engine/ActiveResources;->setListener(Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;)V if-nez p8, :cond_28 .line 93 new-instance v0, Lcom/bumptech/glide/load/engine/EngineKeyFactory; invoke-direct {v0}, Lcom/bumptech/glide/load/engine/EngineKeyFactory;->()V goto :goto_2a :cond_28 move-object/from16 v0, p8 .line 95 :goto_2a iput-object v0, v6, Lcom/bumptech/glide/load/engine/Engine;->keyFactory:Lcom/bumptech/glide/load/engine/EngineKeyFactory; if-nez p7, :cond_34 .line 98 new-instance v0, Lcom/bumptech/glide/load/engine/Jobs; invoke-direct {v0}, Lcom/bumptech/glide/load/engine/Jobs;->()V goto :goto_36 :cond_34 move-object/from16 v0, p7 .line 100 :goto_36 iput-object v0, v6, Lcom/bumptech/glide/load/engine/Engine;->jobs:Lcom/bumptech/glide/load/engine/Jobs; if-nez p10, :cond_47 .line 103 new-instance v9, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory; move-object v0, v9 move-object v1, p3 move-object v2, p4 move-object v3, p5 move-object/from16 v4, p6 move-object v5, p0 invoke-direct/range {v0 .. v5}, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->(Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/EngineJobListener;)V goto :goto_49 :cond_47 move-object/from16 v9, p10 .line 107 :goto_49 iput-object v9, v6, Lcom/bumptech/glide/load/engine/Engine;->engineJobFactory:Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory; if-nez p11, :cond_53 .line 110 new-instance v0, Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory; invoke-direct {v0, v8}, Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory;->(Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;)V goto :goto_55 :cond_53 move-object/from16 v0, p11 .line 112 :goto_55 iput-object v0, v6, Lcom/bumptech/glide/load/engine/Engine;->decodeJobFactory:Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory; if-nez p12, :cond_5f .line 115 new-instance v0, Lcom/bumptech/glide/load/engine/ResourceRecycler; invoke-direct {v0}, Lcom/bumptech/glide/load/engine/ResourceRecycler;->()V goto :goto_61 :cond_5f move-object/from16 v0, p12 .line 117 :goto_61 iput-object v0, v6, Lcom/bumptech/glide/load/engine/Engine;->resourceRecycler:Lcom/bumptech/glide/load/engine/ResourceRecycler; .line 119 invoke-interface {p1, p0}, Lcom/bumptech/glide/load/engine/cache/MemoryCache;->setResourceRemovedListener(Lcom/bumptech/glide/load/engine/cache/MemoryCache$ResourceRemovedListener;)V return-void .end method .method public constructor (Lcom/bumptech/glide/load/engine/cache/MemoryCache;Lcom/bumptech/glide/load/engine/cache/DiskCache$Factory;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Z)V .registers 22 const/4 v11, 0x0 const/4 v12, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 const/4 v9, 0x0 const/4 v10, 0x0 move-object v0, p0 move-object v1, p1 move-object/from16 v2, p2 move-object/from16 v3, p3 move-object/from16 v4, p4 move-object/from16 v5, p5 move-object/from16 v6, p6 move/from16 v13, p7 .line 53 invoke-direct/range {v0 .. v13}, Lcom/bumptech/glide/load/engine/Engine;->(Lcom/bumptech/glide/load/engine/cache/MemoryCache;Lcom/bumptech/glide/load/engine/cache/DiskCache$Factory;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/executor/GlideExecutor;Lcom/bumptech/glide/load/engine/Jobs;Lcom/bumptech/glide/load/engine/EngineKeyFactory;Lcom/bumptech/glide/load/engine/ActiveResources;Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory;Lcom/bumptech/glide/load/engine/ResourceRecycler;Z)V return-void .end method .method private getEngineResourceFromCache(Lcom/bumptech/glide/load/Key;)Lcom/bumptech/glide/load/engine/EngineResource; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/Key;", ")", "Lcom/bumptech/glide/load/engine/EngineResource<", "*>;" } .end annotation .line 270 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->cache:Lcom/bumptech/glide/load/engine/cache/MemoryCache; invoke-interface {v0, p1}, Lcom/bumptech/glide/load/engine/cache/MemoryCache;->remove(Lcom/bumptech/glide/load/Key;)Lcom/bumptech/glide/load/engine/Resource; move-result-object p1 if-nez p1, :cond_a const/4 p1, 0x0 goto :goto_18 .line 275 :cond_a instance-of v0, p1, Lcom/bumptech/glide/load/engine/EngineResource; if-eqz v0, :cond_11 .line 277 check-cast p1, Lcom/bumptech/glide/load/engine/EngineResource; goto :goto_18 .line 279 :cond_11 new-instance v0, Lcom/bumptech/glide/load/engine/EngineResource; const/4 v1, 0x1 invoke-direct {v0, p1, v1, v1}, Lcom/bumptech/glide/load/engine/EngineResource;->(Lcom/bumptech/glide/load/engine/Resource;ZZ)V move-object p1, v0 :goto_18 return-object p1 .end method .method private loadFromActiveResources(Lcom/bumptech/glide/load/Key;Z)Lcom/bumptech/glide/load/engine/EngineResource; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/Key;", "Z)", "Lcom/bumptech/glide/load/engine/EngineResource<", "*>;" } .end annotation if-nez p2, :cond_4 const/4 p1, 0x0 return-object p1 .line 248 :cond_4 iget-object p2, p0, Lcom/bumptech/glide/load/engine/Engine;->activeResources:Lcom/bumptech/glide/load/engine/ActiveResources; invoke-virtual {p2, p1}, Lcom/bumptech/glide/load/engine/ActiveResources;->get(Lcom/bumptech/glide/load/Key;)Lcom/bumptech/glide/load/engine/EngineResource; move-result-object p1 if-eqz p1, :cond_f .line 250 invoke-virtual {p1}, Lcom/bumptech/glide/load/engine/EngineResource;->acquire()V :cond_f return-object p1 .end method .method private loadFromCache(Lcom/bumptech/glide/load/Key;Z)Lcom/bumptech/glide/load/engine/EngineResource; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/Key;", "Z)", "Lcom/bumptech/glide/load/engine/EngineResource<", "*>;" } .end annotation if-nez p2, :cond_4 const/4 p1, 0x0 return-object p1 .line 261 :cond_4 invoke-direct {p0, p1}, Lcom/bumptech/glide/load/engine/Engine;->getEngineResourceFromCache(Lcom/bumptech/glide/load/Key;)Lcom/bumptech/glide/load/engine/EngineResource; move-result-object p2 if-eqz p2, :cond_12 .line 263 invoke-virtual {p2}, Lcom/bumptech/glide/load/engine/EngineResource;->acquire()V .line 264 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->activeResources:Lcom/bumptech/glide/load/engine/ActiveResources; invoke-virtual {v0, p1, p2}, Lcom/bumptech/glide/load/engine/ActiveResources;->activate(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineResource;)V :cond_12 return-object p2 .end method .method private static logWithTimeAndKey(Ljava/lang/String;JLcom/bumptech/glide/load/Key;)V .registers 5 .line 240 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const-string v0, " in " invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-static {p1, p2}, Lcom/bumptech/glide/util/LogTime;->getElapsedMillis(J)D move-result-wide p1 invoke-virtual {p0, p1, p2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; move-result-object p0 const-string p1, "ms, key: " invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 const-string p1, "Engine" invoke-static {p1, p0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I return-void .end method # virtual methods .method public clearDiskCache()V .registers 2 .line 329 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->diskCacheProvider:Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider; invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider;->getDiskCache()Lcom/bumptech/glide/load/engine/cache/DiskCache; move-result-object v0 invoke-interface {v0}, Lcom/bumptech/glide/load/engine/cache/DiskCache;->clear()V return-void .end method .method public declared-synchronized load(Lcom/bumptech/glide/GlideContext;Ljava/lang/Object;Lcom/bumptech/glide/load/Key;IILjava/lang/Class;Ljava/lang/Class;Lcom/bumptech/glide/Priority;Lcom/bumptech/glide/load/engine/DiskCacheStrategy;Ljava/util/Map;ZZLcom/bumptech/glide/load/Options;ZZZZLcom/bumptech/glide/request/ResourceCallback;Ljava/util/concurrent/Executor;)Lcom/bumptech/glide/load/engine/Engine$LoadStatus; .registers 51 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/GlideContext;", "Ljava/lang/Object;", "Lcom/bumptech/glide/load/Key;", "II", "Ljava/lang/Class<", "*>;", "Ljava/lang/Class<", "TR;>;", "Lcom/bumptech/glide/Priority;", "Lcom/bumptech/glide/load/engine/DiskCacheStrategy;", "Ljava/util/Map<", "Ljava/lang/Class<", "*>;", "Lcom/bumptech/glide/load/Transformation<", "*>;>;ZZ", "Lcom/bumptech/glide/load/Options;", "ZZZZ", "Lcom/bumptech/glide/request/ResourceCallback;", "Ljava/util/concurrent/Executor;", ")", "Lcom/bumptech/glide/load/engine/Engine$LoadStatus;" } .end annotation move-object/from16 v1, p0 move/from16 v0, p14 move-object/from16 v8, p18 move-object/from16 v9, p19 monitor-enter p0 .line 169 :try_start_9 sget-boolean v10, Lcom/bumptech/glide/load/engine/Engine;->VERBOSE_IS_LOGGABLE:Z if-eqz v10, :cond_12 invoke-static {}, Lcom/bumptech/glide/util/LogTime;->getLogTime()J move-result-wide v2 goto :goto_14 :cond_12 const-wide/16 v2, 0x0 :goto_14 move-wide v11, v2 .line 171 iget-object v13, v1, Lcom/bumptech/glide/load/engine/Engine;->keyFactory:Lcom/bumptech/glide/load/engine/EngineKeyFactory; move-object/from16 v14, p2 move-object/from16 v15, p3 move/from16 v16, p4 move/from16 v17, p5 move-object/from16 v18, p10 move-object/from16 v19, p6 move-object/from16 v20, p7 move-object/from16 v21, p13 invoke-virtual/range {v13 .. v21}, Lcom/bumptech/glide/load/engine/EngineKeyFactory;->buildKey(Ljava/lang/Object;Lcom/bumptech/glide/load/Key;IILjava/util/Map;Ljava/lang/Class;Ljava/lang/Class;Lcom/bumptech/glide/load/Options;)Lcom/bumptech/glide/load/engine/EngineKey; move-result-object v13 .line 174 invoke-direct {v1, v13, v0}, Lcom/bumptech/glide/load/engine/Engine;->loadFromActiveResources(Lcom/bumptech/glide/load/Key;Z)Lcom/bumptech/glide/load/engine/EngineResource; move-result-object v2 const/4 v3, 0x0 if-eqz v2, :cond_40 .line 176 sget-object v0, Lcom/bumptech/glide/load/DataSource;->MEMORY_CACHE:Lcom/bumptech/glide/load/DataSource; invoke-interface {v8, v2, v0}, Lcom/bumptech/glide/request/ResourceCallback;->onResourceReady(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V if-eqz v10, :cond_3e .line 178 const-string v0, "Loaded resource from active resources" invoke-static {v0, v11, v12, v13}, Lcom/bumptech/glide/load/engine/Engine;->logWithTimeAndKey(Ljava/lang/String;JLcom/bumptech/glide/load/Key;)V :try_end_3e .catchall {:try_start_9 .. :try_end_3e} :catchall_bd .line 180 :cond_3e monitor-exit p0 return-object v3 .line 183 :cond_40 :try_start_40 invoke-direct {v1, v13, v0}, Lcom/bumptech/glide/load/engine/Engine;->loadFromCache(Lcom/bumptech/glide/load/Key;Z)Lcom/bumptech/glide/load/engine/EngineResource; move-result-object v2 if-eqz v2, :cond_54 .line 185 sget-object v0, Lcom/bumptech/glide/load/DataSource;->MEMORY_CACHE:Lcom/bumptech/glide/load/DataSource; invoke-interface {v8, v2, v0}, Lcom/bumptech/glide/request/ResourceCallback;->onResourceReady(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V if-eqz v10, :cond_52 .line 187 const-string v0, "Loaded resource from cache" invoke-static {v0, v11, v12, v13}, Lcom/bumptech/glide/load/engine/Engine;->logWithTimeAndKey(Ljava/lang/String;JLcom/bumptech/glide/load/Key;)V :try_end_52 .catchall {:try_start_40 .. :try_end_52} :catchall_bd .line 189 :cond_52 monitor-exit p0 return-object v3 .line 192 :cond_54 :try_start_54 iget-object v2, v1, Lcom/bumptech/glide/load/engine/Engine;->jobs:Lcom/bumptech/glide/load/engine/Jobs; move/from16 v15, p17 invoke-virtual {v2, v13, v15}, Lcom/bumptech/glide/load/engine/Jobs;->get(Lcom/bumptech/glide/load/Key;Z)Lcom/bumptech/glide/load/engine/EngineJob; move-result-object v2 if-eqz v2, :cond_6f .line 194 invoke-virtual {v2, v8, v9}, Lcom/bumptech/glide/load/engine/EngineJob;->addCallback(Lcom/bumptech/glide/request/ResourceCallback;Ljava/util/concurrent/Executor;)V if-eqz v10, :cond_68 .line 196 const-string v0, "Added to existing load" invoke-static {v0, v11, v12, v13}, Lcom/bumptech/glide/load/engine/Engine;->logWithTimeAndKey(Ljava/lang/String;JLcom/bumptech/glide/load/Key;)V .line 198 :cond_68 new-instance v0, Lcom/bumptech/glide/load/engine/Engine$LoadStatus; invoke-direct {v0, v1, v8, v2}, Lcom/bumptech/glide/load/engine/Engine$LoadStatus;->(Lcom/bumptech/glide/load/engine/Engine;Lcom/bumptech/glide/request/ResourceCallback;Lcom/bumptech/glide/load/engine/EngineJob;)V :try_end_6d .catchall {:try_start_54 .. :try_end_6d} :catchall_bd monitor-exit p0 return-object v0 .line 201 :cond_6f :try_start_6f iget-object v2, v1, Lcom/bumptech/glide/load/engine/Engine;->engineJobFactory:Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory; move-object v3, v13 move/from16 v4, p14 move/from16 v5, p15 move/from16 v6, p16 move/from16 v7, p17 .line 202 invoke-virtual/range {v2 .. v7}, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->build(Lcom/bumptech/glide/load/Key;ZZZZ)Lcom/bumptech/glide/load/engine/EngineJob; move-result-object v0 .line 209 iget-object v14, v1, Lcom/bumptech/glide/load/engine/Engine;->decodeJobFactory:Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory; move-object/from16 v15, p1 move-object/from16 v16, p2 move-object/from16 v17, v13 move-object/from16 v18, p3 move/from16 v19, p4 move/from16 v20, p5 move-object/from16 v21, p6 move-object/from16 v22, p7 move-object/from16 v23, p8 move-object/from16 v24, p9 move-object/from16 v25, p10 move/from16 v26, p11 move/from16 v27, p12 move/from16 v28, p17 move-object/from16 v29, p13 move-object/from16 v30, v0 .line 210 invoke-virtual/range {v14 .. v30}, Lcom/bumptech/glide/load/engine/Engine$DecodeJobFactory;->build(Lcom/bumptech/glide/GlideContext;Ljava/lang/Object;Lcom/bumptech/glide/load/engine/EngineKey;Lcom/bumptech/glide/load/Key;IILjava/lang/Class;Ljava/lang/Class;Lcom/bumptech/glide/Priority;Lcom/bumptech/glide/load/engine/DiskCacheStrategy;Ljava/util/Map;ZZZLcom/bumptech/glide/load/Options;Lcom/bumptech/glide/load/engine/DecodeJob$Callback;)Lcom/bumptech/glide/load/engine/DecodeJob; move-result-object v2 .line 228 iget-object v3, v1, Lcom/bumptech/glide/load/engine/Engine;->jobs:Lcom/bumptech/glide/load/engine/Jobs; invoke-virtual {v3, v13, v0}, Lcom/bumptech/glide/load/engine/Jobs;->put(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineJob;)V .line 230 invoke-virtual {v0, v8, v9}, Lcom/bumptech/glide/load/engine/EngineJob;->addCallback(Lcom/bumptech/glide/request/ResourceCallback;Ljava/util/concurrent/Executor;)V .line 231 invoke-virtual {v0, v2}, Lcom/bumptech/glide/load/engine/EngineJob;->start(Lcom/bumptech/glide/load/engine/DecodeJob;)V if-eqz v10, :cond_b6 .line 234 const-string v2, "Started new load" invoke-static {v2, v11, v12, v13}, Lcom/bumptech/glide/load/engine/Engine;->logWithTimeAndKey(Ljava/lang/String;JLcom/bumptech/glide/load/Key;)V .line 236 :cond_b6 new-instance v2, Lcom/bumptech/glide/load/engine/Engine$LoadStatus; invoke-direct {v2, v1, v8, v0}, Lcom/bumptech/glide/load/engine/Engine$LoadStatus;->(Lcom/bumptech/glide/load/engine/Engine;Lcom/bumptech/glide/request/ResourceCallback;Lcom/bumptech/glide/load/engine/EngineJob;)V :try_end_bb .catchall {:try_start_6f .. :try_end_bb} :catchall_bd monitor-exit p0 return-object v2 :catchall_bd move-exception v0 :try_start_be monitor-exit p0 :try_end_bf .catchall {:try_start_be .. :try_end_bf} :catchall_bd throw v0 .end method .method public declared-synchronized onEngineJobCancelled(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/load/Key;)V .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/engine/EngineJob<", "*>;", "Lcom/bumptech/glide/load/Key;", ")V" } .end annotation monitor-enter p0 .line 310 :try_start_1 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->jobs:Lcom/bumptech/glide/load/engine/Jobs; invoke-virtual {v0, p2, p1}, Lcom/bumptech/glide/load/engine/Jobs;->removeIfCurrent(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineJob;)V :try_end_6 .catchall {:try_start_1 .. :try_end_6} :catchall_8 .line 311 monitor-exit p0 return-void :catchall_8 move-exception p1 :try_start_9 monitor-exit p0 :try_end_a .catchall {:try_start_9 .. :try_end_a} :catchall_8 throw p1 .end method .method public declared-synchronized onEngineJobComplete(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineResource;)V .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/engine/EngineJob<", "*>;", "Lcom/bumptech/glide/load/Key;", "Lcom/bumptech/glide/load/engine/EngineResource<", "*>;)V" } .end annotation monitor-enter p0 if-eqz p3, :cond_11 .line 298 :try_start_3 invoke-virtual {p3, p2, p0}, Lcom/bumptech/glide/load/engine/EngineResource;->setResourceListener(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;)V .line 300 invoke-virtual {p3}, Lcom/bumptech/glide/load/engine/EngineResource;->isCacheable()Z move-result v0 if-eqz v0, :cond_11 .line 301 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->activeResources:Lcom/bumptech/glide/load/engine/ActiveResources; invoke-virtual {v0, p2, p3}, Lcom/bumptech/glide/load/engine/ActiveResources;->activate(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineResource;)V .line 305 :cond_11 iget-object p3, p0, Lcom/bumptech/glide/load/engine/Engine;->jobs:Lcom/bumptech/glide/load/engine/Jobs; invoke-virtual {p3, p2, p1}, Lcom/bumptech/glide/load/engine/Jobs;->removeIfCurrent(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineJob;)V :try_end_16 .catchall {:try_start_3 .. :try_end_16} :catchall_18 .line 306 monitor-exit p0 return-void :catchall_18 move-exception p1 :try_start_19 monitor-exit p0 :try_end_1a .catchall {:try_start_19 .. :try_end_1a} :catchall_18 throw p1 .end method .method public declared-synchronized onResourceReleased(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineResource;)V .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/Key;", "Lcom/bumptech/glide/load/engine/EngineResource<", "*>;)V" } .end annotation monitor-enter p0 .line 320 :try_start_1 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->activeResources:Lcom/bumptech/glide/load/engine/ActiveResources; invoke-virtual {v0, p1}, Lcom/bumptech/glide/load/engine/ActiveResources;->deactivate(Lcom/bumptech/glide/load/Key;)V .line 321 invoke-virtual {p2}, Lcom/bumptech/glide/load/engine/EngineResource;->isCacheable()Z move-result v0 if-eqz v0, :cond_12 .line 322 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->cache:Lcom/bumptech/glide/load/engine/cache/MemoryCache; invoke-interface {v0, p1, p2}, Lcom/bumptech/glide/load/engine/cache/MemoryCache;->put(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/Resource;)Lcom/bumptech/glide/load/engine/Resource; goto :goto_17 .line 324 :cond_12 iget-object p1, p0, Lcom/bumptech/glide/load/engine/Engine;->resourceRecycler:Lcom/bumptech/glide/load/engine/ResourceRecycler; invoke-virtual {p1, p2}, Lcom/bumptech/glide/load/engine/ResourceRecycler;->recycle(Lcom/bumptech/glide/load/engine/Resource;)V :try_end_17 .catchall {:try_start_1 .. :try_end_17} :catchall_19 .line 326 :goto_17 monitor-exit p0 return-void :catchall_19 move-exception p1 :try_start_1a monitor-exit p0 :try_end_1b .catchall {:try_start_1a .. :try_end_1b} :catchall_19 throw p1 .end method .method public onResourceRemoved(Lcom/bumptech/glide/load/engine/Resource;)V .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/engine/Resource<", "*>;)V" } .end annotation .line 315 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->resourceRecycler:Lcom/bumptech/glide/load/engine/ResourceRecycler; invoke-virtual {v0, p1}, Lcom/bumptech/glide/load/engine/ResourceRecycler;->recycle(Lcom/bumptech/glide/load/engine/Resource;)V return-void .end method .method public release(Lcom/bumptech/glide/load/engine/Resource;)V .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/engine/Resource<", "*>;)V" } .end annotation .line 285 instance-of v0, p1, Lcom/bumptech/glide/load/engine/EngineResource; if-eqz v0, :cond_a .line 286 check-cast p1, Lcom/bumptech/glide/load/engine/EngineResource; invoke-virtual {p1}, Lcom/bumptech/glide/load/engine/EngineResource;->release()V return-void .line 288 :cond_a new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "Cannot release anything but an EngineResource" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public shutdown()V .registers 2 .line 334 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->engineJobFactory:Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory; invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->shutdown()V .line 335 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->diskCacheProvider:Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider; invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/Engine$LazyDiskCacheProvider;->clearDiskCacheIfCreated()V .line 336 iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine;->activeResources:Lcom/bumptech/glide/load/engine/ActiveResources; invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/ActiveResources;->shutdown()V return-void .end method