EngineJob.smali
.class Lcom/bumptech/glide/load/engine/EngineJob;
.super Ljava/lang/Object;
.source "EngineJob.java"
# interfaces
.implements Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
.implements Lcom/bumptech/glide/util/pool/FactoryPools$Poolable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;,
Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;,
Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;,
Lcom/bumptech/glide/load/engine/EngineJob$CallResourceReady;,
Lcom/bumptech/glide/load/engine/EngineJob$CallLoadFailed;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<R:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lcom/bumptech/glide/load/engine/DecodeJob$Callback<",
"TR;>;",
"Lcom/bumptech/glide/util/pool/FactoryPools$Poolable;"
}
.end annotation
# static fields
.field private static final DEFAULT_FACTORY:Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;
# instance fields
.field private final animationExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.field final cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
.field dataSource:Lcom/bumptech/glide/load/DataSource;
.field private decodeJob:Lcom/bumptech/glide/load/engine/DecodeJob;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/bumptech/glide/load/engine/DecodeJob<",
"TR;>;"
}
.end annotation
.end field
.field private final diskCacheExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.field private final engineJobListener:Lcom/bumptech/glide/load/engine/EngineJobListener;
.field engineResource:Lcom/bumptech/glide/load/engine/EngineResource;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/bumptech/glide/load/engine/EngineResource<",
"*>;"
}
.end annotation
.end field
.field private final engineResourceFactory:Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;
.field exception:Lcom/bumptech/glide/load/engine/GlideException;
.field private hasLoadFailed:Z
.field private hasResource:Z
.field private isCacheable:Z
.field private volatile isCancelled:Z
.field private key:Lcom/bumptech/glide/load/Key;
.field private onlyRetrieveFromCache:Z
.field private final pendingCallbacks:Ljava/util/concurrent/atomic/AtomicInteger;
.field private 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 private resource:Lcom/bumptech/glide/load/engine/Resource;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/bumptech/glide/load/engine/Resource<",
"*>;"
}
.end annotation
.end field
.field private final resourceListener:Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;
.field private final sourceExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.field private final sourceUnlimitedExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.field private final stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
.field private useAnimationPool:Z
.field private useUnlimitedSourceGeneratorPool:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 28
new-instance v0, Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;
invoke-direct {v0}, Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;-><init>()V
sput-object v0, Lcom/bumptech/glide/load/engine/EngineJob;->DEFAULT_FACTORY:Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;
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;Landroidx/core/util/Pools$Pool;)V
.registers 17
.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;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"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;",
"Landroidx/core/util/Pools$Pool<",
"Lcom/bumptech/glide/load/engine/EngineJob<",
"*>;>;)V"
}
.end annotation
.line 81
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
.local p7, "pool":Landroidx/core/util/Pools$Pool;, "Landroidx/core/util/Pools$Pool<Lcom/bumptech/glide/load/engine/EngineJob<*>;>;"
sget-object v8, Lcom/bumptech/glide/load/engine/EngineJob;->DEFAULT_FACTORY:Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move-object v5, p5
move-object v6, p6
move-object/from16 v7, p7
invoke-direct/range {v0 .. v8}, Lcom/bumptech/glide/load/engine/EngineJob;-><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;Landroidx/core/util/Pools$Pool;Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;)V
.line 90
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;Landroidx/core/util/Pools$Pool;Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;)V
.registers 10
.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;
.param p8, "engineResourceFactory" # Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"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;",
"Landroidx/core/util/Pools$Pool<",
"Lcom/bumptech/glide/load/engine/EngineJob<",
"*>;>;",
"Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;",
")V"
}
.end annotation
.line 101
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
.local p7, "pool":Landroidx/core/util/Pools$Pool;, "Landroidx/core/util/Pools$Pool<Lcom/bumptech/glide/load/engine/EngineJob<*>;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 30
new-instance v0, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-direct {v0}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
.line 34
invoke-static {}, Lcom/bumptech/glide/util/pool/StateVerifier;->newInstance()Lcom/bumptech/glide/util/pool/StateVerifier;
move-result-object v0
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
.line 43
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->pendingCallbacks:Ljava/util/concurrent/atomic/AtomicInteger;
.line 102
iput-object p1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->diskCacheExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 103
iput-object p2, p0, Lcom/bumptech/glide/load/engine/EngineJob;->sourceExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 104
iput-object p3, p0, Lcom/bumptech/glide/load/engine/EngineJob;->sourceUnlimitedExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 105
iput-object p4, p0, Lcom/bumptech/glide/load/engine/EngineJob;->animationExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 106
iput-object p5, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineJobListener:Lcom/bumptech/glide/load/engine/EngineJobListener;
.line 107
iput-object p6, p0, Lcom/bumptech/glide/load/engine/EngineJob;->resourceListener:Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;
.line 108
iput-object p7, p0, Lcom/bumptech/glide/load/engine/EngineJob;->pool:Landroidx/core/util/Pools$Pool;
.line 109
iput-object p8, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResourceFactory:Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;
.line 110
return-void
.end method
.method private getActiveSourceExecutor()Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.registers 2
.line 195
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->useUnlimitedSourceGeneratorPool:Z
if-eqz v0, :cond_7
.line 196
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->sourceUnlimitedExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
goto :goto_10
.line 197
:cond_7
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->useAnimationPool:Z
if-eqz v0, :cond_e
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->animationExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
goto :goto_10
:cond_e
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->sourceExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.line 195
:goto_10
return-object v0
.end method
.method private isDone()Z
.registers 2
.line 217
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasLoadFailed:Z
if-nez v0, :cond_f
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasResource:Z
if-nez v0, :cond_f
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCancelled:Z
if-eqz v0, :cond_d
goto :goto_f
:cond_d
const/4 v0, 0x0
goto :goto_10
:cond_f
:goto_f
const/4 v0, 0x1
:goto_10
return v0
.end method
.method private declared-synchronized release()V
.registers 4
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 297
:try_start_1
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->key:Lcom/bumptech/glide/load/Key;
if-eqz v0, :cond_2a
.line 300
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->clear()V
.line 301
const/4 v0, 0x0
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->key:Lcom/bumptech/glide/load/Key;
.line 302
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResource:Lcom/bumptech/glide/load/engine/EngineResource;
.line 303
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->resource:Lcom/bumptech/glide/load/engine/Resource;
.line 304
const/4 v1, 0x0
iput-boolean v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasLoadFailed:Z
.line 305
iput-boolean v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCancelled:Z
.line 306
iput-boolean v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasResource:Z
.line 307
iget-object v2, p0, Lcom/bumptech/glide/load/engine/EngineJob;->decodeJob:Lcom/bumptech/glide/load/engine/DecodeJob;
invoke-virtual {v2, v1}, Lcom/bumptech/glide/load/engine/DecodeJob;->release(Z)V
.line 308
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->decodeJob:Lcom/bumptech/glide/load/engine/DecodeJob;
.line 309
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->exception:Lcom/bumptech/glide/load/engine/GlideException;
.line 310
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->dataSource:Lcom/bumptech/glide/load/DataSource;
.line 311
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->pool:Landroidx/core/util/Pools$Pool;
invoke-interface {v0, p0}, Landroidx/core/util/Pools$Pool;->release(Ljava/lang/Object;)Z
:try_end_28
.catchall {:try_start_1 .. :try_end_28} :catchall_30
.line 312
monitor-exit p0
return-void
.line 298
.end local p0 # "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
:cond_2a
:try_start_2a
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v0
:try_end_30
.catchall {:try_start_2a .. :try_end_30} :catchall_30
.line 296
:catchall_30
move-exception v0
monitor-exit p0
throw v0
.end method
# virtual methods
.method declared-synchronized addCallback(Lcom/bumptech/glide/request/ResourceCallback;Ljava/util/concurrent/Executor;)V
.registers 5
.param p1, "cb" # Lcom/bumptech/glide/request/ResourceCallback;
.param p2, "callbackExecutor" # Ljava/util/concurrent/Executor;
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 135
:try_start_1
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
invoke-virtual {v0}, Lcom/bumptech/glide/util/pool/StateVerifier;->throwIfRecycled()V
.line 136
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v0, p1, p2}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->add(Lcom/bumptech/glide/request/ResourceCallback;Ljava/util/concurrent/Executor;)V
.line 137
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasResource:Z
const/4 v1, 0x1
if-eqz v0, :cond_1c
.line 140
invoke-virtual {p0, v1}, Lcom/bumptech/glide/load/engine/EngineJob;->incrementPendingCallbacks(I)V
.line 141
new-instance v0, Lcom/bumptech/glide/load/engine/EngineJob$CallResourceReady;
invoke-direct {v0, p0, p1}, Lcom/bumptech/glide/load/engine/EngineJob$CallResourceReady;-><init>(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/request/ResourceCallback;)V
invoke-interface {p2, v0}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
goto :goto_37
.line 142
.end local p0 # "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
:cond_1c
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasLoadFailed:Z
if-eqz v0, :cond_2c
.line 143
invoke-virtual {p0, v1}, Lcom/bumptech/glide/load/engine/EngineJob;->incrementPendingCallbacks(I)V
.line 144
new-instance v0, Lcom/bumptech/glide/load/engine/EngineJob$CallLoadFailed;
invoke-direct {v0, p0, p1}, Lcom/bumptech/glide/load/engine/EngineJob$CallLoadFailed;-><init>(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/request/ResourceCallback;)V
invoke-interface {p2, v0}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
goto :goto_37
.line 146
:cond_2c
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCancelled:Z
if-nez v0, :cond_31
goto :goto_32
:cond_31
const/4 v1, 0x0
:goto_32
const-string v0, "Cannot add callbacks to a cancelled EngineJob"
invoke-static {v1, v0}, Lcom/bumptech/glide/util/Preconditions;->checkArgument(ZLjava/lang/String;)V
:try_end_37
.catchall {:try_start_1 .. :try_end_37} :catchall_39
.line 148
:goto_37
monitor-exit p0
return-void
.line 134
.end local p1 # "cb":Lcom/bumptech/glide/request/ResourceCallback;
.end local p2 # "callbackExecutor":Ljava/util/concurrent/Executor;
:catchall_39
move-exception p1
monitor-exit p0
throw p1
.end method
.method callCallbackOnLoadFailed(Lcom/bumptech/glide/request/ResourceCallback;)V
.registers 4
.param p1, "cb" # Lcom/bumptech/glide/request/ResourceCallback;
.line 172
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
:try_start_0
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->exception:Lcom/bumptech/glide/load/engine/GlideException;
invoke-interface {p1, v0}, Lcom/bumptech/glide/request/ResourceCallback;->onLoadFailed(Lcom/bumptech/glide/load/engine/GlideException;)V
:try_end_5
.catchall {:try_start_0 .. :try_end_5} :catchall_7
.line 175
nop
.line 176
return-void
.line 173
:catchall_7
move-exception v0
.line 174
.local v0, "t":Ljava/lang/Throwable;
new-instance v1, Lcom/bumptech/glide/load/engine/CallbackException;
invoke-direct {v1, v0}, Lcom/bumptech/glide/load/engine/CallbackException;-><init>(Ljava/lang/Throwable;)V
throw v1
.end method
.method callCallbackOnResourceReady(Lcom/bumptech/glide/request/ResourceCallback;)V
.registers 4
.param p1, "cb" # Lcom/bumptech/glide/request/ResourceCallback;
.line 158
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
:try_start_0
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResource:Lcom/bumptech/glide/load/engine/EngineResource;
iget-object v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->dataSource:Lcom/bumptech/glide/load/DataSource;
invoke-interface {p1, v0, v1}, Lcom/bumptech/glide/request/ResourceCallback;->onResourceReady(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V
:try_end_7
.catchall {:try_start_0 .. :try_end_7} :catchall_9
.line 161
nop
.line 162
return-void
.line 159
:catchall_9
move-exception v0
.line 160
.local v0, "t":Ljava/lang/Throwable;
new-instance v1, Lcom/bumptech/glide/load/engine/CallbackException;
invoke-direct {v1, v0}, Lcom/bumptech/glide/load/engine/CallbackException;-><init>(Ljava/lang/Throwable;)V
throw v1
.end method
.method cancel()V
.registers 3
.line 202
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->isDone()Z
move-result v0
if-eqz v0, :cond_7
.line 203
return-void
.line 206
:cond_7
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCancelled:Z
.line 207
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->decodeJob:Lcom/bumptech/glide/load/engine/DecodeJob;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/DecodeJob;->cancel()V
.line 208
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineJobListener:Lcom/bumptech/glide/load/engine/EngineJobListener;
iget-object v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->key:Lcom/bumptech/glide/load/Key;
invoke-interface {v0, p0, v1}, Lcom/bumptech/glide/load/engine/EngineJobListener;->onEngineJobCancelled(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/load/Key;)V
.line 209
return-void
.end method
.method decrementPendingCallbacks()V
.registers 5
.line 278
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
const/4 v0, 0x0
.line 279
.local v0, "toRelease":Lcom/bumptech/glide/load/engine/EngineResource;, "Lcom/bumptech/glide/load/engine/EngineResource<*>;"
monitor-enter p0
.line 280
:try_start_2
iget-object v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
invoke-virtual {v1}, Lcom/bumptech/glide/util/pool/StateVerifier;->throwIfRecycled()V
.line 281
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->isDone()Z
move-result v1
const-string v2, "Not yet complete!"
invoke-static {v1, v2}, Lcom/bumptech/glide/util/Preconditions;->checkArgument(ZLjava/lang/String;)V
.line 282
iget-object v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->pendingCallbacks:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v1
.line 283
.local v1, "decremented":I
if-ltz v1, :cond_1a
const/4 v2, 0x1
goto :goto_1b
:cond_1a
const/4 v2, 0x0
:goto_1b
const-string v3, "Can\'t decrement below 0"
invoke-static {v2, v3}, Lcom/bumptech/glide/util/Preconditions;->checkArgument(ZLjava/lang/String;)V
.line 284
if-nez v1, :cond_28
.line 285
iget-object v2, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResource:Lcom/bumptech/glide/load/engine/EngineResource;
move-object v0, v2
.line 287
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->release()V
.line 289
.end local v1 # "decremented":I
:cond_28
monitor-exit p0
:try_end_29
.catchall {:try_start_2 .. :try_end_29} :catchall_2f
.line 291
if-eqz v0, :cond_2e
.line 292
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/EngineResource;->release()V
.line 294
:cond_2e
return-void
.line 289
:catchall_2f
move-exception v1
:try_start_30
monitor-exit p0
:try_end_31
.catchall {:try_start_30 .. :try_end_31} :catchall_2f
throw v1
.end method
.method public getVerifier()Lcom/bumptech/glide/util/pool/StateVerifier;
.registers 2
.line 380
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
return-object v0
.end method
.method declared-synchronized incrementPendingCallbacks(I)V
.registers 4
.param p1, "count" # I
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 269
:try_start_1
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->isDone()Z
move-result v0
const-string v1, "Not yet complete!"
invoke-static {v0, v1}, Lcom/bumptech/glide/util/Preconditions;->checkArgument(ZLjava/lang/String;)V
.line 270
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->pendingCallbacks:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicInteger;->getAndAdd(I)I
move-result v0
if-nez v0, :cond_1b
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResource:Lcom/bumptech/glide/load/engine/EngineResource;
if-eqz v0, :cond_1b
.line 271
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResource:Lcom/bumptech/glide/load/engine/EngineResource;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/EngineResource;->acquire()V
:try_end_1b
.catchall {:try_start_1 .. :try_end_1b} :catchall_1d
.line 273
.end local p0 # "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
:cond_1b
monitor-exit p0
return-void
.line 268
.end local p1 # "count":I
:catchall_1d
move-exception p1
monitor-exit p0
throw p1
.end method
.method declared-synchronized init(Lcom/bumptech/glide/load/Key;ZZZZ)Lcom/bumptech/glide/load/engine/EngineJob;
.registers 6
.param p1, "key" # Lcom/bumptech/glide/load/Key;
.param p2, "isCacheable" # Z
.param p3, "useUnlimitedSourceGeneratorPool" # Z
.param p4, "useAnimationPool" # Z
.param p5, "onlyRetrieveFromCache" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/Key;",
"ZZZZ)",
"Lcom/bumptech/glide/load/engine/EngineJob<",
"TR;>;"
}
.end annotation
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 119
:try_start_1
iput-object p1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->key:Lcom/bumptech/glide/load/Key;
.line 120
iput-boolean p2, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCacheable:Z
.line 121
iput-boolean p3, p0, Lcom/bumptech/glide/load/engine/EngineJob;->useUnlimitedSourceGeneratorPool:Z
.line 122
iput-boolean p4, p0, Lcom/bumptech/glide/load/engine/EngineJob;->useAnimationPool:Z
.line 123
iput-boolean p5, p0, Lcom/bumptech/glide/load/engine/EngineJob;->onlyRetrieveFromCache:Z
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_d
.line 124
monitor-exit p0
return-object p0
.line 118
.end local p0 # "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
.end local p1 # "key":Lcom/bumptech/glide/load/Key;
.end local p2 # "isCacheable":Z
.end local p3 # "useUnlimitedSourceGeneratorPool":Z
.end local p4 # "useAnimationPool":Z
.end local p5 # "onlyRetrieveFromCache":Z
:catchall_d
move-exception p1
monitor-exit p0
throw p1
.end method
.method declared-synchronized isCancelled()Z
.registers 2
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 213
:try_start_1
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCancelled:Z
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_5
monitor-exit p0
return v0
.end local p0 # "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
:catchall_5
move-exception v0
monitor-exit p0
throw v0
.end method
.method notifyCallbacksOfException()V
.registers 8
.line 349
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 350
:try_start_1
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
invoke-virtual {v0}, Lcom/bumptech/glide/util/pool/StateVerifier;->throwIfRecycled()V
.line 351
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCancelled:Z
if-eqz v0, :cond_f
.line 352
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->release()V
.line 353
monitor-exit p0
return-void
.line 354
:cond_f
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->isEmpty()Z
move-result v0
if-nez v0, :cond_5e
.line 356
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasLoadFailed:Z
if-nez v0, :cond_56
.line 359
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasLoadFailed:Z
.line 361
iget-object v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->key:Lcom/bumptech/glide/load/Key;
.line 363
.local v1, "localKey":Lcom/bumptech/glide/load/Key;
iget-object v2, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v2}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->copy()Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
move-result-object v2
.line 366
.local v2, "copy":Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v2}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->size()I
move-result v3
add-int/2addr v3, v0
invoke-virtual {p0, v3}, Lcom/bumptech/glide/load/engine/EngineJob;->incrementPendingCallbacks(I)V
.line 367
monitor-exit p0
:try_end_2f
.catchall {:try_start_1 .. :try_end_2f} :catchall_66
.line 369
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineJobListener:Lcom/bumptech/glide/load/engine/EngineJobListener;
const/4 v3, 0x0
invoke-interface {v0, p0, v1, v3}, Lcom/bumptech/glide/load/engine/EngineJobListener;->onEngineJobComplete(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineResource;)V
.line 371
invoke-virtual {v2}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_39
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_52
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;
.line 372
.local v3, "entry":Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;
iget-object v4, v3, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;->executor:Ljava/util/concurrent/Executor;
new-instance v5, Lcom/bumptech/glide/load/engine/EngineJob$CallLoadFailed;
iget-object v6, v3, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;->cb:Lcom/bumptech/glide/request/ResourceCallback;
invoke-direct {v5, p0, v6}, Lcom/bumptech/glide/load/engine/EngineJob$CallLoadFailed;-><init>(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/request/ResourceCallback;)V
invoke-interface {v4, v5}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
.line 373
.end local v3 # "entry":Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;
goto :goto_39
.line 374
:cond_52
invoke-virtual {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->decrementPendingCallbacks()V
.line 375
return-void
.line 357
.end local v1 # "localKey":Lcom/bumptech/glide/load/Key;
.end local v2 # "copy":Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
:cond_56
:try_start_56
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Already failed once"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 355
:cond_5e
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Received an exception without any callbacks to notify"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 367
:catchall_66
move-exception v0
monitor-exit p0
:try_end_68
.catchall {:try_start_56 .. :try_end_68} :catchall_66
goto :goto_6a
:goto_69
throw v0
:goto_6a
goto :goto_69
.end method
.method notifyCallbacksOfResult()V
.registers 9
.line 232
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 233
:try_start_1
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
invoke-virtual {v0}, Lcom/bumptech/glide/util/pool/StateVerifier;->throwIfRecycled()V
.line 234
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCancelled:Z
if-eqz v0, :cond_14
.line 237
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->resource:Lcom/bumptech/glide/load/engine/Resource;
invoke-interface {v0}, Lcom/bumptech/glide/load/engine/Resource;->recycle()V
.line 238
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->release()V
.line 239
monitor-exit p0
return-void
.line 240
:cond_14
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->isEmpty()Z
move-result v0
if-nez v0, :cond_74
.line 242
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasResource:Z
if-nez v0, :cond_6c
.line 245
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResourceFactory:Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;
iget-object v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->resource:Lcom/bumptech/glide/load/engine/Resource;
iget-boolean v2, p0, Lcom/bumptech/glide/load/engine/EngineJob;->isCacheable:Z
iget-object v3, p0, Lcom/bumptech/glide/load/engine/EngineJob;->key:Lcom/bumptech/glide/load/Key;
iget-object v4, p0, Lcom/bumptech/glide/load/engine/EngineJob;->resourceListener:Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;
invoke-virtual {v0, v1, v2, v3, v4}, Lcom/bumptech/glide/load/engine/EngineJob$EngineResourceFactory;->build(Lcom/bumptech/glide/load/engine/Resource;ZLcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineResource$ResourceListener;)Lcom/bumptech/glide/load/engine/EngineResource;
move-result-object v0
iput-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResource:Lcom/bumptech/glide/load/engine/EngineResource;
.line 250
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasResource:Z
.line 251
iget-object v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v1}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->copy()Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
move-result-object v1
.line 252
.local v1, "copy":Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v1}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->size()I
move-result v2
add-int/2addr v2, v0
invoke-virtual {p0, v2}, Lcom/bumptech/glide/load/engine/EngineJob;->incrementPendingCallbacks(I)V
.line 254
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->key:Lcom/bumptech/glide/load/Key;
.line 255
.local v0, "localKey":Lcom/bumptech/glide/load/Key;
iget-object v2, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineResource:Lcom/bumptech/glide/load/engine/EngineResource;
.line 256
.local v2, "localResource":Lcom/bumptech/glide/load/engine/EngineResource;, "Lcom/bumptech/glide/load/engine/EngineResource<*>;"
monitor-exit p0
:try_end_46
.catchall {:try_start_1 .. :try_end_46} :catchall_7c
.line 258
iget-object v3, p0, Lcom/bumptech/glide/load/engine/EngineJob;->engineJobListener:Lcom/bumptech/glide/load/engine/EngineJobListener;
invoke-interface {v3, p0, v0, v2}, Lcom/bumptech/glide/load/engine/EngineJobListener;->onEngineJobComplete(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/engine/EngineResource;)V
.line 260
invoke-virtual {v1}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_4f
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_68
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;
.line 261
.local v4, "entry":Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;
iget-object v5, v4, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;->executor:Ljava/util/concurrent/Executor;
new-instance v6, Lcom/bumptech/glide/load/engine/EngineJob$CallResourceReady;
iget-object v7, v4, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;->cb:Lcom/bumptech/glide/request/ResourceCallback;
invoke-direct {v6, p0, v7}, Lcom/bumptech/glide/load/engine/EngineJob$CallResourceReady;-><init>(Lcom/bumptech/glide/load/engine/EngineJob;Lcom/bumptech/glide/request/ResourceCallback;)V
invoke-interface {v5, v6}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
.line 262
.end local v4 # "entry":Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbackAndExecutor;
goto :goto_4f
.line 263
:cond_68
invoke-virtual {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->decrementPendingCallbacks()V
.line 264
return-void
.line 243
.end local v0 # "localKey":Lcom/bumptech/glide/load/Key;
.end local v1 # "copy":Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
.end local v2 # "localResource":Lcom/bumptech/glide/load/engine/EngineResource;, "Lcom/bumptech/glide/load/engine/EngineResource<*>;"
:cond_6c
:try_start_6c
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Already have resource"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 241
:cond_74
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Received a resource without any callbacks to notify"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 256
:catchall_7c
move-exception v0
monitor-exit p0
:try_end_7e
.catchall {:try_start_6c .. :try_end_7e} :catchall_7c
goto :goto_80
:goto_7f
throw v0
:goto_80
goto :goto_7f
.end method
.method public onLoadFailed(Lcom/bumptech/glide/load/engine/GlideException;)V
.registers 3
.param p1, "e" # Lcom/bumptech/glide/load/engine/GlideException;
.line 325
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 326
:try_start_1
iput-object p1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->exception:Lcom/bumptech/glide/load/engine/GlideException;
.line 327
monitor-exit p0
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_8
.line 328
invoke-virtual {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->notifyCallbacksOfException()V
.line 329
return-void
.line 327
:catchall_8
move-exception v0
:try_start_9
monitor-exit p0
:try_end_a
.catchall {:try_start_9 .. :try_end_a} :catchall_8
throw v0
.end method
.method public onResourceReady(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V
.registers 4
.param p2, "dataSource" # Lcom/bumptech/glide/load/DataSource;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/engine/Resource<",
"TR;>;",
"Lcom/bumptech/glide/load/DataSource;",
")V"
}
.end annotation
.line 316
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
.local p1, "resource":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TR;>;"
monitor-enter p0
.line 317
:try_start_1
iput-object p1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->resource:Lcom/bumptech/glide/load/engine/Resource;
.line 318
iput-object p2, p0, Lcom/bumptech/glide/load/engine/EngineJob;->dataSource:Lcom/bumptech/glide/load/DataSource;
.line 319
monitor-exit p0
:try_end_6
.catchall {:try_start_1 .. :try_end_6} :catchall_a
.line 320
invoke-virtual {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->notifyCallbacksOfResult()V
.line 321
return-void
.line 319
:catchall_a
move-exception v0
:try_start_b
monitor-exit p0
:try_end_c
.catchall {:try_start_b .. :try_end_c} :catchall_a
throw v0
.end method
.method onlyRetrieveFromCache()Z
.registers 2
.line 191
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->onlyRetrieveFromCache:Z
return v0
.end method
.method declared-synchronized removeCallback(Lcom/bumptech/glide/request/ResourceCallback;)V
.registers 4
.param p1, "cb" # Lcom/bumptech/glide/request/ResourceCallback;
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
monitor-enter p0
.line 179
:try_start_1
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
invoke-virtual {v0}, Lcom/bumptech/glide/util/pool/StateVerifier;->throwIfRecycled()V
.line 180
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v0, p1}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->remove(Lcom/bumptech/glide/request/ResourceCallback;)V
.line 181
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->cbs:Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/EngineJob$ResourceCallbacksAndExecutors;->isEmpty()Z
move-result v0
if-eqz v0, :cond_2f
.line 182
invoke-virtual {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->cancel()V
.line 183
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasResource:Z
if-nez v0, :cond_21
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->hasLoadFailed:Z
if-eqz v0, :cond_1f
goto :goto_21
:cond_1f
const/4 v0, 0x0
goto :goto_22
.end local p0 # "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
:cond_21
:goto_21
const/4 v0, 0x1
.line 184
.local v0, "isFinishedRunning":Z
:goto_22
if-eqz v0, :cond_2f
iget-object v1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->pendingCallbacks:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v1
if-nez v1, :cond_2f
.line 185
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->release()V
:try_end_2f
.catchall {:try_start_1 .. :try_end_2f} :catchall_31
.line 188
.end local v0 # "isFinishedRunning":Z
:cond_2f
monitor-exit p0
return-void
.line 178
.end local p1 # "cb":Lcom/bumptech/glide/request/ResourceCallback;
:catchall_31
move-exception p1
monitor-exit p0
throw p1
.end method
.method public reschedule(Lcom/bumptech/glide/load/engine/DecodeJob;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/engine/DecodeJob<",
"*>;)V"
}
.end annotation
.line 335
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
.local p1, "job":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<*>;"
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->getActiveSourceExecutor()Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/bumptech/glide/load/engine/executor/GlideExecutor;->execute(Ljava/lang/Runnable;)V
.line 336
return-void
.end method
.method public declared-synchronized start(Lcom/bumptech/glide/load/engine/DecodeJob;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/engine/DecodeJob<",
"TR;>;)V"
}
.end annotation
.local p0, "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
.local p1, "decodeJob":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
monitor-enter p0
.line 128
:try_start_1
iput-object p1, p0, Lcom/bumptech/glide/load/engine/EngineJob;->decodeJob:Lcom/bumptech/glide/load/engine/DecodeJob;
.line 130
invoke-virtual {p1}, Lcom/bumptech/glide/load/engine/DecodeJob;->willDecodeFromCache()Z
move-result v0
if-eqz v0, :cond_c
iget-object v0, p0, Lcom/bumptech/glide/load/engine/EngineJob;->diskCacheExecutor:Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
goto :goto_10
.end local p0 # "this":Lcom/bumptech/glide/load/engine/EngineJob;, "Lcom/bumptech/glide/load/engine/EngineJob<TR;>;"
:cond_c
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/EngineJob;->getActiveSourceExecutor()Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
move-result-object v0
.line 131
.local v0, "executor":Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
:goto_10
invoke-virtual {v0, p1}, Lcom/bumptech/glide/load/engine/executor/GlideExecutor;->execute(Ljava/lang/Runnable;)V
:try_end_13
.catchall {:try_start_1 .. :try_end_13} :catchall_15
.line 132
monitor-exit p0
return-void
.line 127
.end local v0 # "executor":Lcom/bumptech/glide/load/engine/executor/GlideExecutor;
.end local p1 # "decodeJob":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
:catchall_15
move-exception p1
monitor-exit p0
throw p1
.end method