Engine$EngineJobFactory.smali
.class Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;
.super Ljava/lang/Object;
.source "Engine.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/bumptech/glide/load/engine/Engine;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "EngineJobFactory"
.end annotation
# instance fields
.field final animationExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.field final diskCacheExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.field final engineJobListener:Lcom/bumptech/glide/load/engine/EngineJobListener;
.field final pool:Landroidx/core/util/Pools$Pool;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/core/util/Pools$Pool<",
"Lcom/bumptech/glide/load/engine/EngineJob<",
"*>;>;"
}
.end annotation
.end field
.field final resourceListener:Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;
.field final sourceExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.field final sourceUnlimitedExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(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;Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;)V
.registers 9
.param p1, "diskCacheExecutor" # Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.param p2, "sourceExecutor" # Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.param p3, "sourceUnlimitedExecutor" # Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.param p4, "animationExecutor" # Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.param p5, "engineJobListener" # Lcom/bumptech/glide/load/engine/EngineJobListener;
.param p6, "resourceListener" # Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;
.line 563
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 539
new-instance v0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory$1;
invoke-direct {v0, p0}, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory$1;-><init>(Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;)V
.line 541
const/16 v1, 0x96
invoke-static {v1, v0}, Lcom/bumptech/glide/util/pool/FactoryPools;->threadSafe(ILcom/bumptech/glide/util/pool/FactoryPools$Factory;)Landroidx/core/util/Pools$Pool;
move-result-object v0
iput-object v0, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->pool:Landroidx/core/util/Pools$Pool;
.line 564
iput-object p1, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->diskCacheExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 565
iput-object p2, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->sourceExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 566
iput-object p3, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->sourceUnlimitedExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 567
iput-object p4, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->animationExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 568
iput-object p5, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->engineJobListener:Lcom/bumptech/glide/load/engine/EngineJobListener;
.line 569
iput-object p6, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->resourceListener:Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;
.line 570
return-void
.end method
# virtual methods
.method build(Lcom/bumptech/glide/load/Key;ZZZZ)Lcom/bumptech/glide/load/engine/EngineJob;
.registers 13
.param p1, "key" # Lcom/bumptech/glide/load/Key;
.param p2, "isMemoryCacheable" # Z
.param p3, "useUnlimitedSourceGeneratorPool" # Z
.param p4, "useAnimationPool" # Z
.param p5, "onlyRetrieveFromCache" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"<R:",
"Ljava/lang/Object;",
">(",
"Lcom/bumptech/glide/load/Key;",
"ZZZZ)",
"Lcom/bumptech/glide/load/engine/EngineJob<",
"TR;>;"
}
.end annotation
.line 587
iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->pool:Landroidx/core/util/Pools$Pool;
invoke-interface {v0}, Landroidx/core/util/Pools$Pool;->acquire()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/bumptech/glide/load/engine/EngineJob;
invoke-static {v0}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/bumptech/glide/load/engine/EngineJob;
.line 588
.local v0, "result":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
move-object v1, v0
move-object v2, p1
move v3, p2
move v4, p3
move v5, p4
move v6, p5
invoke-virtual/range {v1 .. v6}, Lcom/bumptech/glide/load/engine/EngineJob;->init(Lcom/bumptech/glide/load/Key;ZZZZ)Lcom/bumptech/glide/load/engine/EngineJob;
move-result-object v1
return-object v1
.end method
.method shutdown()V
.registers 2
.line 574
iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->diskCacheExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
invoke-static {v0}, Lcom/bumptech/glide/util/Executors;->shutdownAndAwaitTermination(Ljava/util/concurrent/ExecutorService;)V
.line 575
iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->sourceExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
invoke-static {v0}, Lcom/bumptech/glide/util/Executors;->shutdownAndAwaitTermination(Ljava/util/concurrent/ExecutorService;)V
.line 576
iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->sourceUnlimitedExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
invoke-static {v0}, Lcom/bumptech/glide/util/Executors;->shutdownAndAwaitTermination(Ljava/util/concurrent/ExecutorService;)V
.line 577
iget-object v0, p0, Lcom/bumptech/glide/load/engine/Engine$EngineJobFactory;->animationExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
invoke-static {v0}, Lcom/bumptech/glide/util/Executors;->shutdownAndAwaitTermination(Ljava/util/concurrent/ExecutorService;)V
.line 578
return-void
.end method