DecodeJob.smali
.class Lcom/bumptech/glide/load/engine/DecodeJob;
.super Ljava/lang/Object;
.source "DecodeJob.java"
# interfaces
.implements Lcom/bumptech/glide/load/engine/DataFetcherGenerator$FetcherReadyCallback;
.implements Ljava/lang/Runnable;
.implements Ljava/lang/Comparable;
.implements Lcom/bumptech/glide/util/pool/FactoryPools$Poolable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/bumptech/glide/load/engine/DecodeJob$Stage;,
Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;,
Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;,
Lcom/bumptech/glide/load/engine/DecodeJob$Callback;,
Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;,
Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;,
Lcom/bumptech/glide/load/engine/DecodeJob$DecodeCallback;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<R:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lcom/bumptech/glide/load/engine/DataFetcherGenerator$FetcherReadyCallback;",
"Ljava/lang/Runnable;",
"Ljava/lang/Comparable<",
"Lcom/bumptech/glide/load/engine/DecodeJob<",
"*>;>;",
"Lcom/bumptech/glide/util/pool/FactoryPools$Poolable;"
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "DecodeJob"
# instance fields
.field private callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/bumptech/glide/load/engine/DecodeJob$Callback<",
"TR;>;"
}
.end annotation
.end field
.field private currentAttemptingKey:Lcom/bumptech/glide/load/Key;
.field private currentData:Ljava/lang/Object;
.field private currentDataSource:Lcom/bumptech/glide/load/DataSource;
.field private currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/bumptech/glide/load/data/DataFetcher<",
"*>;"
}
.end annotation
.end field
.field private volatile currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
.field private currentSourceKey:Lcom/bumptech/glide/load/Key;
.field private currentThread:Ljava/lang/Thread;
.field private final decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/bumptech/glide/load/engine/DecodeHelper<",
"TR;>;"
}
.end annotation
.end field
.field private final deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager<",
"*>;"
}
.end annotation
.end field
.field private final diskCacheProvider:Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;
.field private diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy;
.field private glideContext:Lcom/bumptech/glide/GlideContext;
.field private height:I
.field private volatile isCallbackNotified:Z
.field private volatile isCancelled:Z
.field private loadKey:Lcom/bumptech/glide/load/engine/EngineKey;
.field private model:Ljava/lang/Object;
.field private onlyRetrieveFromCache:Z
.field private options:Lcom/bumptech/glide/load/Options;
.field private order:I
.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/DecodeJob<",
"*>;>;"
}
.end annotation
.end field
.field private priority:Lcom/bumptech/glide/Priority;
.field private final releaseManager:Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;
.field private runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
.field private signature:Lcom/bumptech/glide/load/Key;
.field private stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
.field private startFetchTime:J
.field private final stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
.field private final throwables:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.end field
.field private width:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;Landroidx/core/util/Pools$Pool;)V
.registers 4
.param p1, "diskCacheProvider" # Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;",
"Landroidx/core/util/Pools$Pool<",
"Lcom/bumptech/glide/load/engine/DecodeJob<",
"*>;>;)V"
}
.end annotation
.line 80
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p2, "pool":Landroidx/core/util/Pools$Pool;, "Landroidx/core/util/Pools$Pool<Lcom/bumptech/glide/load/engine/DecodeJob<*>;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 45
new-instance v0, Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-direct {v0}, Lcom/bumptech/glide/load/engine/DecodeHelper;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
.line 46
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List;
.line 47
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/DecodeJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
.line 50
new-instance v0, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;
invoke-direct {v0}, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;
.line 51
new-instance v0, Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;
invoke-direct {v0}, Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;-><init>()V
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseManager:Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;
.line 81
iput-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheProvider:Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;
.line 82
iput-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->pool:Landroidx/core/util/Pools$Pool;
.line 83
return-void
.end method
.method private decodeFromData(Lcom/bumptech/glide/load/data/DataFetcher;Ljava/lang/Object;Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/engine/Resource;
.registers 9
.param p3, "dataSource" # Lcom/bumptech/glide/load/DataSource;
.annotation system Ldalvik/annotation/Signature;
value = {
"<Data:",
"Ljava/lang/Object;",
">(",
"Lcom/bumptech/glide/load/data/DataFetcher<",
"*>;TData;",
"Lcom/bumptech/glide/load/DataSource;",
")",
"Lcom/bumptech/glide/load/engine/Resource<",
"TR;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/bumptech/glide/load/engine/GlideException;
}
.end annotation
.line 470
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p1, "fetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
.local p2, "data":Ljava/lang/Object;, "TData;"
if-nez p2, :cond_7
.line 471
const/4 v0, 0x0
.line 480
invoke-interface {p1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V
.line 471
return-object v0
.line 473
:cond_7
:try_start_7
invoke-static {}, Lcom/bumptech/glide/util/LogTime;->getLogTime()J
move-result-wide v0
.line 474
.local v0, "startTime":J
invoke-direct {p0, p2, p3}, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeFromFetcher(Ljava/lang/Object;Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/engine/Resource;
move-result-object v2
.line 475
.local v2, "result":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TR;>;"
const-string v3, "DecodeJob"
const/4 v4, 0x2
invoke-static {v3, v4}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result v3
if-eqz v3, :cond_2c
.line 476
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Decoded result "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {p0, v3, v0, v1}, Lcom/bumptech/glide/load/engine/DecodeJob;->logWithTimeAndKey(Ljava/lang/String;J)V
:try_end_2c
.catchall {:try_start_7 .. :try_end_2c} :catchall_31
.line 478
:cond_2c
nop
.line 480
invoke-interface {p1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V
.line 478
return-object v2
.line 480
.end local v0 # "startTime":J
.end local v2 # "result":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TR;>;"
:catchall_31
move-exception v0
invoke-interface {p1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V
throw v0
.end method
.method private decodeFromFetcher(Ljava/lang/Object;Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/engine/Resource;
.registers 5
.param p2, "dataSource" # Lcom/bumptech/glide/load/DataSource;
.annotation system Ldalvik/annotation/Signature;
value = {
"<Data:",
"Ljava/lang/Object;",
">(TData;",
"Lcom/bumptech/glide/load/DataSource;",
")",
"Lcom/bumptech/glide/load/engine/Resource<",
"TR;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/bumptech/glide/load/engine/GlideException;
}
.end annotation
.line 487
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p1, "data":Ljava/lang/Object;, "TData;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/bumptech/glide/load/engine/DecodeHelper;->getLoadPath(Ljava/lang/Class;)Lcom/bumptech/glide/load/engine/LoadPath;
move-result-object v0
.line 488
.local v0, "path":Lcom/bumptech/glide/load/engine/LoadPath;, "Lcom/bumptech/glide/load/engine/LoadPath<TData;*TR;>;"
invoke-direct {p0, p1, p2, v0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runLoadPath(Ljava/lang/Object;Lcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/engine/LoadPath;)Lcom/bumptech/glide/load/engine/Resource;
move-result-object v1
return-object v1
.end method
.method private decodeFromRetrievedData()V
.registers 5
.line 413
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
const-string v0, "DecodeJob"
const/4 v1, 0x2
invoke-static {v0, v1}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result v0
if-eqz v0, :cond_37
.line 414
iget-wide v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->startFetchTime:J
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "data: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentData:Ljava/lang/Object;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, ", cache key: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, ", fetcher: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const-string v3, "Retrieved data"
invoke-direct {p0, v3, v0, v1, v2}, Lcom/bumptech/glide/load/engine/DecodeJob;->logWithTimeAndKey(Ljava/lang/String;JLjava/lang/String;)V
.line 424
:cond_37
const/4 v0, 0x0
.line 426
.local v0, "resource":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TR;>;"
:try_start_38
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher;
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentData:Ljava/lang/Object;
iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource;
invoke-direct {p0, v1, v2, v3}, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeFromData(Lcom/bumptech/glide/load/data/DataFetcher;Ljava/lang/Object;Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/engine/Resource;
move-result-object v1
:try_end_42
.catch Lcom/bumptech/glide/load/engine/GlideException; {:try_start_38 .. :try_end_42} :catch_44
move-object v0, v1
.line 430
goto :goto_51
.line 427
:catch_44
move-exception v1
.line 428
.local v1, "e":Lcom/bumptech/glide/load/engine/GlideException;
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentAttemptingKey:Lcom/bumptech/glide/load/Key;
iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource;
invoke-virtual {v1, v2, v3}, Lcom/bumptech/glide/load/engine/GlideException;->setLoggingDetails(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/DataSource;)V
.line 429
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List;
invoke-interface {v2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 431
.end local v1 # "e":Lcom/bumptech/glide/load/engine/GlideException;
:goto_51
if-eqz v0, :cond_59
.line 432
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource;
invoke-direct {p0, v0, v1}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyEncodeAndRelease(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V
goto :goto_5c
.line 434
:cond_59
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runGenerators()V
.line 436
:goto_5c
return-void
.end method
.method private getNextGenerator()Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
.registers 4
.line 290
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$1;->$SwitchMap$com$bumptech$glide$load$engine$DecodeJob$Stage:[I
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
invoke-virtual {v1}, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_41
const/4 v1, 0x2
if-eq v0, v1, :cond_39
const/4 v1, 0x3
if-eq v0, v1, :cond_31
const/4 v1, 0x4
if-ne v0, v1, :cond_18
.line 298
const/4 v0, 0x0
return-object v0
.line 300
:cond_18
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unrecognized stage: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 296
:cond_31
new-instance v0, Lcom/bumptech/glide/load/engine/SourceGenerator;
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-direct {v0, v1, p0}, Lcom/bumptech/glide/load/engine/SourceGenerator;-><init>(Lcom/bumptech/glide/load/engine/DecodeHelper;Lcom/bumptech/glide/load/engine/DataFetcherGenerator$FetcherReadyCallback;)V
return-object v0
.line 294
:cond_39
new-instance v0, Lcom/bumptech/glide/load/engine/DataCacheGenerator;
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-direct {v0, v1, p0}, Lcom/bumptech/glide/load/engine/DataCacheGenerator;-><init>(Lcom/bumptech/glide/load/engine/DecodeHelper;Lcom/bumptech/glide/load/engine/DataFetcherGenerator$FetcherReadyCallback;)V
return-object v0
.line 292
:cond_41
new-instance v0, Lcom/bumptech/glide/load/engine/ResourceCacheGenerator;
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-direct {v0, v1, p0}, Lcom/bumptech/glide/load/engine/ResourceCacheGenerator;-><init>(Lcom/bumptech/glide/load/engine/DecodeHelper;Lcom/bumptech/glide/load/engine/DataFetcherGenerator$FetcherReadyCallback;)V
return-object v0
.end method
.method private getNextStage(Lcom/bumptech/glide/load/engine/DecodeJob$Stage;)Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
.registers 5
.param p1, "current" # Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
.line 350
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$1;->$SwitchMap$com$bumptech$glide$load$engine$DecodeJob$Stage:[I
invoke-virtual {p1}, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_4d
const/4 v1, 0x2
if-eq v0, v1, :cond_43
const/4 v1, 0x3
if-eq v0, v1, :cond_40
const/4 v1, 0x4
if-eq v0, v1, :cond_40
const/4 v1, 0x5
if-ne v0, v1, :cond_29
.line 352
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/DiskCacheStrategy;->decodeCachedResource()Z
move-result v0
if-eqz v0, :cond_22
.line 353
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->RESOURCE_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
goto :goto_28
.line 354
:cond_22
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->RESOURCE_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
invoke-direct {p0, v0}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextStage(Lcom/bumptech/glide/load/engine/DecodeJob$Stage;)Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
move-result-object v0
.line 352
:goto_28
return-object v0
.line 366
:cond_29
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unrecognized stage: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 364
:cond_40
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->FINISHED:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
return-object v0
.line 361
:cond_43
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->onlyRetrieveFromCache:Z
if-eqz v0, :cond_4a
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->FINISHED:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
goto :goto_4c
:cond_4a
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->SOURCE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
:goto_4c
return-object v0
.line 356
:cond_4d
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/DiskCacheStrategy;->decodeCachedData()Z
move-result v0
if-eqz v0, :cond_58
.line 357
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->DATA_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
goto :goto_5e
.line 358
:cond_58
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->DATA_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
invoke-direct {p0, v0}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextStage(Lcom/bumptech/glide/load/engine/DecodeJob$Stage;)Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
move-result-object v0
.line 356
:goto_5e
return-object v0
.end method
.method private getOptionsWithHardwareConfig(Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/Options;
.registers 7
.param p1, "dataSource" # Lcom/bumptech/glide/load/DataSource;
.line 493
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options;
.line 494
.local v0, "options":Lcom/bumptech/glide/load/Options;
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x1a
if-ge v1, v2, :cond_9
.line 495
return-object v0
.line 498
:cond_9
sget-object v1, Lcom/bumptech/glide/load/DataSource;->RESOURCE_DISK_CACHE:Lcom/bumptech/glide/load/DataSource;
if-eq p1, v1, :cond_18
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
.line 499
invoke-virtual {v1}, Lcom/bumptech/glide/load/engine/DecodeHelper;->isScaleOnlyOrNoTransform()Z
move-result v1
if-eqz v1, :cond_16
goto :goto_18
:cond_16
const/4 v1, 0x0
goto :goto_19
:cond_18
:goto_18
const/4 v1, 0x1
.line 500
.local v1, "isHardwareConfigSafe":Z
:goto_19
sget-object v2, Lcom/bumptech/glide/load/resource/bitmap/Downsampler;->ALLOW_HARDWARE_CONFIG:Lcom/bumptech/glide/load/Option;
invoke-virtual {v0, v2}, Lcom/bumptech/glide/load/Options;->get(Lcom/bumptech/glide/load/Option;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Boolean;
.line 504
.local v2, "isHardwareConfigAllowed":Ljava/lang/Boolean;
if-eqz v2, :cond_2c
invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z
move-result v3
if-eqz v3, :cond_2b
if-eqz v1, :cond_2c
.line 505
:cond_2b
return-object v0
.line 510
:cond_2c
new-instance v3, Lcom/bumptech/glide/load/Options;
invoke-direct {v3}, Lcom/bumptech/glide/load/Options;-><init>()V
move-object v0, v3
.line 511
iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options;
invoke-virtual {v0, v3}, Lcom/bumptech/glide/load/Options;->putAll(Lcom/bumptech/glide/load/Options;)V
.line 512
sget-object v3, Lcom/bumptech/glide/load/resource/bitmap/Downsampler;->ALLOW_HARDWARE_CONFIG:Lcom/bumptech/glide/load/Option;
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v4
invoke-virtual {v0, v3, v4}, Lcom/bumptech/glide/load/Options;->set(Lcom/bumptech/glide/load/Option;Ljava/lang/Object;)Lcom/bumptech/glide/load/Options;
.line 514
return-object v0
.end method
.method private getPriority()I
.registers 2
.line 207
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->priority:Lcom/bumptech/glide/Priority;
invoke-virtual {v0}, Lcom/bumptech/glide/Priority;->ordinal()I
move-result v0
return v0
.end method
.method private logWithTimeAndKey(Ljava/lang/String;J)V
.registers 5
.param p1, "message" # Ljava/lang/String;
.param p2, "startTime" # J
.line 532
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
const/4 v0, 0x0
invoke-direct {p0, p1, p2, p3, v0}, Lcom/bumptech/glide/load/engine/DecodeJob;->logWithTimeAndKey(Ljava/lang/String;JLjava/lang/String;)V
.line 533
return-void
.end method
.method private logWithTimeAndKey(Ljava/lang/String;JLjava/lang/String;)V
.registers 8
.param p1, "message" # Ljava/lang/String;
.param p2, "startTime" # J
.param p4, "extraArgs" # Ljava/lang/String;
.line 536
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " in "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 540
invoke-static {p2, p3}, Lcom/bumptech/glide/util/LogTime;->getElapsedMillis(J)D
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
const-string v1, ", load key: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->loadKey:Lcom/bumptech/glide/load/engine/EngineKey;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 543
if-eqz p4, :cond_32
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, ", "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
goto :goto_34
:cond_32
const-string v1, ""
:goto_34
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", thread: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 545
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 536
const-string v1, "DecodeJob"
invoke-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
.line 546
return-void
.end method
.method private notifyComplete(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 336
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p1, "resource":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TR;>;"
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->setNotifiedOrThrow()V
.line 337
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
invoke-interface {v0, p1, p2}, Lcom/bumptech/glide/load/engine/DecodeJob$Callback;->onResourceReady(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V
.line 338
return-void
.end method
.method private notifyEncodeAndRelease(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V
.registers 8
.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 439
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p1, "resource":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TR;>;"
instance-of v0, p1, Lcom/bumptech/glide/load/engine/Initializable;
if-eqz v0, :cond_a
.line 440
move-object v0, p1
check-cast v0, Lcom/bumptech/glide/load/engine/Initializable;
invoke-interface {v0}, Lcom/bumptech/glide/load/engine/Initializable;->initialize()V
.line 443
:cond_a
move-object v0, p1
.line 444
.local v0, "result":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TR;>;"
const/4 v1, 0x0
.line 445
.local v1, "lockedResource":Lcom/bumptech/glide/load/engine/LockedResource;, "Lcom/bumptech/glide/load/engine/LockedResource<TR;>;"
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;
invoke-virtual {v2}, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;->hasResourceToEncode()Z
move-result v2
if-eqz v2, :cond_19
.line 446
invoke-static {p1}, Lcom/bumptech/glide/load/engine/LockedResource;->obtain(Lcom/bumptech/glide/load/engine/Resource;)Lcom/bumptech/glide/load/engine/LockedResource;
move-result-object v1
.line 447
move-object v0, v1
.line 450
:cond_19
invoke-direct {p0, v0, p2}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyComplete(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V
.line 452
sget-object v2, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->ENCODE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
iput-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
.line 454
:try_start_20
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;
invoke-virtual {v2}, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;->hasResourceToEncode()Z
move-result v2
if-eqz v2, :cond_31
.line 455
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;
iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheProvider:Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;
iget-object v4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options;
invoke-virtual {v2, v3, v4}, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;->encode(Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;Lcom/bumptech/glide/load/Options;)V
:try_end_31
.catchall {:try_start_20 .. :try_end_31} :catchall_3a
.line 458
:cond_31
if-eqz v1, :cond_36
.line 459
invoke-virtual {v1}, Lcom/bumptech/glide/load/engine/LockedResource;->unlock()V
.line 464
:cond_36
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->onEncodeComplete()V
.line 465
return-void
.line 458
:catchall_3a
move-exception v2
if-eqz v1, :cond_40
.line 459
invoke-virtual {v1}, Lcom/bumptech/glide/load/engine/LockedResource;->unlock()V
:cond_40
throw v2
.end method
.method private notifyFailed()V
.registers 4
.line 329
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->setNotifiedOrThrow()V
.line 330
new-instance v0, Lcom/bumptech/glide/load/engine/GlideException;
new-instance v1, Ljava/util/ArrayList;
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List;
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
const-string v2, "Failed to load resource"
invoke-direct {v0, v2, v1}, Lcom/bumptech/glide/load/engine/GlideException;-><init>(Ljava/lang/String;Ljava/util/List;)V
.line 331
.local v0, "e":Lcom/bumptech/glide/load/engine/GlideException;
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
invoke-interface {v1, v0}, Lcom/bumptech/glide/load/engine/DecodeJob$Callback;->onLoadFailed(Lcom/bumptech/glide/load/engine/GlideException;)V
.line 332
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->onLoadFailed()V
.line 333
return-void
.end method
.method private onEncodeComplete()V
.registers 2
.line 160
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseManager:Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;->onEncodeComplete()Z
move-result v0
if-eqz v0, :cond_b
.line 161
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseInternal()V
.line 163
:cond_b
return-void
.end method
.method private onLoadFailed()V
.registers 2
.line 167
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseManager:Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;->onFailed()Z
move-result v0
if-eqz v0, :cond_b
.line 168
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseInternal()V
.line 170
:cond_b
return-void
.end method
.method private releaseInternal()V
.registers 5
.line 173
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseManager:Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;->reset()V
.line 174
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;->clear()V
.line 175
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/DecodeHelper;->clear()V
.line 176
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCallbackNotified:Z
.line 177
const/4 v1, 0x0
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->glideContext:Lcom/bumptech/glide/GlideContext;
.line 178
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->signature:Lcom/bumptech/glide/load/Key;
.line 179
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options;
.line 180
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->priority:Lcom/bumptech/glide/Priority;
.line 181
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->loadKey:Lcom/bumptech/glide/load/engine/EngineKey;
.line 182
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
.line 183
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
.line 184
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
.line 185
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentThread:Ljava/lang/Thread;
.line 186
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key;
.line 187
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentData:Ljava/lang/Object;
.line 188
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource;
.line 189
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher;
.line 190
const-wide/16 v2, 0x0
iput-wide v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->startFetchTime:J
.line 191
iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z
.line 192
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->model:Ljava/lang/Object;
.line 193
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 194
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->pool:Landroidx/core/util/Pools$Pool;
invoke-interface {v0, p0}, Landroidx/core/util/Pools$Pool;->release(Ljava/lang/Object;)Z
.line 195
return-void
.end method
.method private runGenerators()V
.registers 4
.line 305
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentThread:Ljava/lang/Thread;
.line 306
invoke-static {}, Lcom/bumptech/glide/util/LogTime;->getLogTime()J
move-result-wide v0
iput-wide v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->startFetchTime:J
.line 307
const/4 v0, 0x0
.line 308
.local v0, "isStarted":Z
:cond_d
iget-boolean v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z
if-nez v1, :cond_36
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
if-eqz v1, :cond_36
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
.line 310
invoke-interface {v1}, Lcom/bumptech/glide/load/engine/DataFetcherGenerator;->startNext()Z
move-result v1
move v0, v1
if-nez v1, :cond_36
.line 311
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
invoke-direct {p0, v1}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextStage(Lcom/bumptech/glide/load/engine/DecodeJob$Stage;)Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
move-result-object v1
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
.line 312
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextGenerator()Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
move-result-object v1
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
.line 314
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
sget-object v2, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->SOURCE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
if-ne v1, v2, :cond_d
.line 315
invoke-virtual {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->reschedule()V
.line 316
return-void
.line 320
:cond_36
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
sget-object v2, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->FINISHED:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
if-eq v1, v2, :cond_40
iget-boolean v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z
if-eqz v1, :cond_45
:cond_40
if-nez v0, :cond_45
.line 321
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyFailed()V
.line 326
:cond_45
return-void
.end method
.method private runLoadPath(Ljava/lang/Object;Lcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/engine/LoadPath;)Lcom/bumptech/glide/load/engine/Resource;
.registers 12
.param p2, "dataSource" # Lcom/bumptech/glide/load/DataSource;
.annotation system Ldalvik/annotation/Signature;
value = {
"<Data:",
"Ljava/lang/Object;",
"ResourceType:",
"Ljava/lang/Object;",
">(TData;",
"Lcom/bumptech/glide/load/DataSource;",
"Lcom/bumptech/glide/load/engine/LoadPath<",
"TData;TResourceType;TR;>;)",
"Lcom/bumptech/glide/load/engine/Resource<",
"TR;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/bumptech/glide/load/engine/GlideException;
}
.end annotation
.line 520
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p1, "data":Ljava/lang/Object;, "TData;"
.local p3, "path":Lcom/bumptech/glide/load/engine/LoadPath;, "Lcom/bumptech/glide/load/engine/LoadPath<TData;TResourceType;TR;>;"
invoke-direct {p0, p2}, Lcom/bumptech/glide/load/engine/DecodeJob;->getOptionsWithHardwareConfig(Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/Options;
move-result-object v6
.line 521
.local v6, "options":Lcom/bumptech/glide/load/Options;
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->glideContext:Lcom/bumptech/glide/GlideContext;
invoke-virtual {v0}, Lcom/bumptech/glide/GlideContext;->getRegistry()Lcom/bumptech/glide/Registry;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/bumptech/glide/Registry;->getRewinder(Ljava/lang/Object;)Lcom/bumptech/glide/load/data/DataRewinder;
move-result-object v7
.line 524
.local v7, "rewinder":Lcom/bumptech/glide/load/data/DataRewinder;, "Lcom/bumptech/glide/load/data/DataRewinder<TData;>;"
:try_start_e
iget v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->width:I
iget v4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->height:I
new-instance v5, Lcom/bumptech/glide/load/engine/DecodeJob$DecodeCallback;
invoke-direct {v5, p0, p2}, Lcom/bumptech/glide/load/engine/DecodeJob$DecodeCallback;-><init>(Lcom/bumptech/glide/load/engine/DecodeJob;Lcom/bumptech/glide/load/DataSource;)V
move-object v0, p3
move-object v1, v7
move-object v2, v6
invoke-virtual/range {v0 .. v5}, Lcom/bumptech/glide/load/engine/LoadPath;->load(Lcom/bumptech/glide/load/data/DataRewinder;Lcom/bumptech/glide/load/Options;IILcom/bumptech/glide/load/engine/DecodePath$DecodeCallback;)Lcom/bumptech/glide/load/engine/Resource;
move-result-object v0
:try_end_1e
.catchall {:try_start_e .. :try_end_1e} :catchall_22
.line 527
invoke-interface {v7}, Lcom/bumptech/glide/load/data/DataRewinder;->cleanup()V
.line 524
return-object v0
.line 527
:catchall_22
move-exception v0
invoke-interface {v7}, Lcom/bumptech/glide/load/data/DataRewinder;->cleanup()V
throw v0
.end method
.method private runWrapped()V
.registers 4
.line 272
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$1;->$SwitchMap$com$bumptech$glide$load$engine$DecodeJob$RunReason:[I
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
invoke-virtual {v1}, Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_34
const/4 v1, 0x2
if-eq v0, v1, :cond_30
const/4 v1, 0x3
if-ne v0, v1, :cond_17
.line 282
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeFromRetrievedData()V
.line 283
goto :goto_46
.line 285
:cond_17
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unrecognized run reason: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 279
:cond_30
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runGenerators()V
.line 280
goto :goto_46
.line 274
:cond_34
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->INITIALIZE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
invoke-direct {p0, v0}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextStage(Lcom/bumptech/glide/load/engine/DecodeJob$Stage;)Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
move-result-object v0
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
.line 275
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextGenerator()Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
move-result-object v0
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
.line 276
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runGenerators()V
.line 277
nop
.line 287
:goto_46
return-void
.end method
.method private setNotifiedOrThrow()V
.registers 4
.line 341
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
invoke-virtual {v0}, Lcom/bumptech/glide/util/pool/StateVerifier;->throwIfRecycled()V
.line 342
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCallbackNotified:Z
const/4 v1, 0x1
if-eqz v0, :cond_29
.line 343
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_14
const/4 v0, 0x0
goto :goto_21
:cond_14
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
sub-int/2addr v2, v1
invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Throwable;
.line 344
.local v0, "lastThrown":Ljava/lang/Throwable;
:goto_21
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "Already notified"
invoke-direct {v1, v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 346
.end local v0 # "lastThrown":Ljava/lang/Throwable;
:cond_29
iput-boolean v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCallbackNotified:Z
.line 347
return-void
.end method
# virtual methods
.method public cancel()V
.registers 2
.line 211
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z
.line 212
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
.line 213
.local v0, "local":Lcom/bumptech/glide/load/engine/DataFetcherGenerator;
if-eqz v0, :cond_a
.line 214
invoke-interface {v0}, Lcom/bumptech/glide/load/engine/DataFetcherGenerator;->cancel()V
.line 216
:cond_a
return-void
.end method
.method public compareTo(Lcom/bumptech/glide/load/engine/DecodeJob;)I
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/engine/DecodeJob<",
"*>;)I"
}
.end annotation
.line 199
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p1, "other":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<*>;"
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->getPriority()I
move-result v0
invoke-direct {p1}, Lcom/bumptech/glide/load/engine/DecodeJob;->getPriority()I
move-result v1
sub-int/2addr v0, v1
.line 200
.local v0, "result":I
if-nez v0, :cond_11
.line 201
iget v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->order:I
iget v2, p1, Lcom/bumptech/glide/load/engine/DecodeJob;->order:I
sub-int v0, v1, v2
.line 203
:cond_11
return v0
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.registers 2
.line 38
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
check-cast p1, Lcom/bumptech/glide/load/engine/DecodeJob;
invoke-virtual {p0, p1}, Lcom/bumptech/glide/load/engine/DecodeJob;->compareTo(Lcom/bumptech/glide/load/engine/DecodeJob;)I
move-result p1
return p1
.end method
.method public getVerifier()Lcom/bumptech/glide/util/pool/StateVerifier;
.registers 2
.line 551
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stateVerifier:Lcom/bumptech/glide/util/pool/StateVerifier;
return-object v0
.end method
.method init(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;I)Lcom/bumptech/glide/load/engine/DecodeJob;
.registers 34
.param p1, "glideContext" # Lcom/bumptech/glide/GlideContext;
.param p2, "model" # Ljava/lang/Object;
.param p3, "loadKey" # Lcom/bumptech/glide/load/engine/EngineKey;
.param p4, "signature" # Lcom/bumptech/glide/load/Key;
.param p5, "width" # I
.param p6, "height" # I
.param p9, "priority" # Lcom/bumptech/glide/Priority;
.param p10, "diskCacheStrategy" # Lcom/bumptech/glide/load/engine/DiskCacheStrategy;
.param p12, "isTransformationRequired" # Z
.param p13, "isScaleOnlyOrNoTransform" # Z
.param p14, "onlyRetrieveFromCache" # Z
.param p15, "options" # Lcom/bumptech/glide/load/Options;
.param p17, "order" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/GlideContext;",
"Ljava/lang/Object;",
"Lcom/bumptech/glide/load/engine/EngineKey;",
"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<",
"*>;>;ZZZ",
"Lcom/bumptech/glide/load/Options;",
"Lcom/bumptech/glide/load/engine/DecodeJob$Callback<",
"TR;>;I)",
"Lcom/bumptech/glide/load/engine/DecodeJob<",
"TR;>;"
}
.end annotation
.line 103
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p7, "resourceClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.local p8, "transcodeClass":Ljava/lang/Class;, "Ljava/lang/Class<TR;>;"
.local p11, "transformations":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/Class<*>;Lcom/bumptech/glide/load/Transformation<*>;>;"
.local p16, "callback":Lcom/bumptech/glide/load/engine/DecodeJob$Callback;, "Lcom/bumptech/glide/load/engine/DecodeJob$Callback<TR;>;"
move-object/from16 v0, p0
iget-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
iget-object v15, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheProvider:Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;
move-object/from16 v2, p1
move-object/from16 v3, p2
move-object/from16 v4, p4
move/from16 v5, p5
move/from16 v6, p6
move-object/from16 v7, p10
move-object/from16 v8, p7
move-object/from16 v9, p8
move-object/from16 v10, p9
move-object/from16 v11, p15
move-object/from16 v12, p11
move/from16 v13, p12
move/from16 v14, p13
invoke-virtual/range {v1 .. v15}, Lcom/bumptech/glide/load/engine/DecodeHelper;->init(Lcom/bumptech/glide/GlideContext;Ljava/lang/Object;Lcom/bumptech/glide/load/Key;IILcom/bumptech/glide/load/engine/DiskCacheStrategy;Ljava/lang/Class;Ljava/lang/Class;Lcom/bumptech/glide/Priority;Lcom/bumptech/glide/load/Options;Ljava/util/Map;ZZLcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;)V
.line 118
move-object/from16 v1, p1
iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->glideContext:Lcom/bumptech/glide/GlideContext;
.line 119
move-object/from16 v2, p4
iput-object v2, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->signature:Lcom/bumptech/glide/load/Key;
.line 120
move-object/from16 v3, p9
iput-object v3, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->priority:Lcom/bumptech/glide/Priority;
.line 121
move-object/from16 v4, p3
iput-object v4, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->loadKey:Lcom/bumptech/glide/load/engine/EngineKey;
.line 122
iput v5, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->width:I
.line 123
iput v6, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->height:I
.line 124
iput-object v7, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy;
.line 125
move/from16 v8, p14
iput-boolean v8, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->onlyRetrieveFromCache:Z
.line 126
move-object/from16 v9, p15
iput-object v9, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options;
.line 127
move-object/from16 v10, p16
iput-object v10, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
.line 128
move/from16 v11, p17
iput v11, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->order:I
.line 129
sget-object v12, Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;->INITIALIZE:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
iput-object v12, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
.line 130
move-object/from16 v12, p2
iput-object v12, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->model:Ljava/lang/Object;
.line 131
return-object v0
.end method
.method public onDataFetcherFailed(Lcom/bumptech/glide/load/Key;Ljava/lang/Exception;Lcom/bumptech/glide/load/data/DataFetcher;Lcom/bumptech/glide/load/DataSource;)V
.registers 8
.param p1, "attemptedKey" # Lcom/bumptech/glide/load/Key;
.param p2, "e" # Ljava/lang/Exception;
.param p4, "dataSource" # Lcom/bumptech/glide/load/DataSource;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/Key;",
"Ljava/lang/Exception;",
"Lcom/bumptech/glide/load/data/DataFetcher<",
"*>;",
"Lcom/bumptech/glide/load/DataSource;",
")V"
}
.end annotation
.line 400
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p3, "fetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
invoke-interface {p3}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V
.line 401
new-instance v0, Lcom/bumptech/glide/load/engine/GlideException;
const-string v1, "Fetching data failed"
invoke-direct {v0, v1, p2}, Lcom/bumptech/glide/load/engine/GlideException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.line 402
.local v0, "exception":Lcom/bumptech/glide/load/engine/GlideException;
invoke-interface {p3}, Lcom/bumptech/glide/load/data/DataFetcher;->getDataClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, p1, p4, v1}, Lcom/bumptech/glide/load/engine/GlideException;->setLoggingDetails(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/DataSource;Ljava/lang/Class;)V
.line 403
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 404
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentThread:Ljava/lang/Thread;
if-eq v1, v2, :cond_28
.line 405
sget-object v1, Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;->SWITCH_TO_SOURCE_SERVICE:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
.line 406
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
invoke-interface {v1, p0}, Lcom/bumptech/glide/load/engine/DecodeJob$Callback;->reschedule(Lcom/bumptech/glide/load/engine/DecodeJob;)V
goto :goto_2b
.line 408
:cond_28
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runGenerators()V
.line 410
:goto_2b
return-void
.end method
.method public onDataFetcherReady(Lcom/bumptech/glide/load/Key;Ljava/lang/Object;Lcom/bumptech/glide/load/data/DataFetcher;Lcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/Key;)V
.registers 8
.param p1, "sourceKey" # Lcom/bumptech/glide/load/Key;
.param p2, "data" # Ljava/lang/Object;
.param p4, "dataSource" # Lcom/bumptech/glide/load/DataSource;
.param p5, "attemptedKey" # Lcom/bumptech/glide/load/Key;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/bumptech/glide/load/Key;",
"Ljava/lang/Object;",
"Lcom/bumptech/glide/load/data/DataFetcher<",
"*>;",
"Lcom/bumptech/glide/load/DataSource;",
"Lcom/bumptech/glide/load/Key;",
")V"
}
.end annotation
.line 379
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p3, "fetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
iput-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key;
.line 380
iput-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentData:Ljava/lang/Object;
.line 381
iput-object p3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher;
.line 382
iput-object p4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource;
.line 383
iput-object p5, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentAttemptingKey:Lcom/bumptech/glide/load/Key;
.line 384
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentThread:Ljava/lang/Thread;
if-eq v0, v1, :cond_1c
.line 385
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;->DECODE_DATA:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
.line 386
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
invoke-interface {v0, p0}, Lcom/bumptech/glide/load/engine/DecodeJob$Callback;->reschedule(Lcom/bumptech/glide/load/engine/DecodeJob;)V
goto :goto_28
.line 388
:cond_1c
const-string v0, "DecodeJob.decodeFromRetrievedData"
invoke-static {v0}, Lcom/bumptech/glide/util/pool/GlideTrace;->beginSection(Ljava/lang/String;)V
.line 390
:try_start_21
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeFromRetrievedData()V
:try_end_24
.catchall {:try_start_21 .. :try_end_24} :catchall_29
.line 392
invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V
.line 393
nop
.line 395
:goto_28
return-void
.line 392
:catchall_29
move-exception v0
invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V
throw v0
.end method
.method onResourceDecoded(Lcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/engine/Resource;)Lcom/bumptech/glide/load/engine/Resource;
.registers 23
.param p1, "dataSource" # Lcom/bumptech/glide/load/DataSource;
.annotation system Ldalvik/annotation/Signature;
value = {
"<Z:",
"Ljava/lang/Object;",
">(",
"Lcom/bumptech/glide/load/DataSource;",
"Lcom/bumptech/glide/load/engine/Resource<",
"TZ;>;)",
"Lcom/bumptech/glide/load/engine/Resource<",
"TZ;>;"
}
.end annotation
.line 558
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
.local p2, "decoded":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TZ;>;"
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
invoke-interface/range {p2 .. p2}, Lcom/bumptech/glide/load/engine/Resource;->get()Ljava/lang/Object;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
.line 559
.local v3, "resourceSubClass":Ljava/lang/Class;, "Ljava/lang/Class<TZ;>;"
const/4 v4, 0x0
.line 560
.local v4, "appliedTransformation":Lcom/bumptech/glide/load/Transformation;, "Lcom/bumptech/glide/load/Transformation<TZ;>;"
move-object/from16 v5, p2
.line 561
.local v5, "transformed":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TZ;>;"
sget-object v6, Lcom/bumptech/glide/load/DataSource;->RESOURCE_DISK_CACHE:Lcom/bumptech/glide/load/DataSource;
if-eq v1, v6, :cond_28
.line 562
iget-object v6, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-virtual {v6, v3}, Lcom/bumptech/glide/load/engine/DecodeHelper;->getTransformation(Ljava/lang/Class;)Lcom/bumptech/glide/load/Transformation;
move-result-object v4
.line 563
iget-object v6, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->glideContext:Lcom/bumptech/glide/GlideContext;
iget v7, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->width:I
iget v8, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->height:I
invoke-interface {v4, v6, v2, v7, v8}, Lcom/bumptech/glide/load/Transformation;->transform(Landroid/content/Context;Lcom/bumptech/glide/load/engine/Resource;II)Lcom/bumptech/glide/load/engine/Resource;
move-result-object v5
move-object v13, v4
move-object v14, v5
goto :goto_2a
.line 561
:cond_28
move-object v13, v4
move-object v14, v5
.line 566
.end local v4 # "appliedTransformation":Lcom/bumptech/glide/load/Transformation;, "Lcom/bumptech/glide/load/Transformation<TZ;>;"
.end local v5 # "transformed":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TZ;>;"
.local v13, "appliedTransformation":Lcom/bumptech/glide/load/Transformation;, "Lcom/bumptech/glide/load/Transformation<TZ;>;"
.local v14, "transformed":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TZ;>;"
:goto_2a
invoke-virtual {v2, v14}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_33
.line 567
invoke-interface/range {p2 .. p2}, Lcom/bumptech/glide/load/engine/Resource;->recycle()V
.line 572
:cond_33
iget-object v4, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-virtual {v4, v14}, Lcom/bumptech/glide/load/engine/DecodeHelper;->isResourceEncoderAvailable(Lcom/bumptech/glide/load/engine/Resource;)Z
move-result v4
if-eqz v4, :cond_4a
.line 573
iget-object v4, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
invoke-virtual {v4, v14}, Lcom/bumptech/glide/load/engine/DecodeHelper;->getResultEncoder(Lcom/bumptech/glide/load/engine/Resource;)Lcom/bumptech/glide/load/ResourceEncoder;
move-result-object v4
.line 574
.local v4, "encoder":Lcom/bumptech/glide/load/ResourceEncoder;, "Lcom/bumptech/glide/load/ResourceEncoder<TZ;>;"
iget-object v5, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options;
invoke-interface {v4, v5}, Lcom/bumptech/glide/load/ResourceEncoder;->getEncodeStrategy(Lcom/bumptech/glide/load/Options;)Lcom/bumptech/glide/load/EncodeStrategy;
move-result-object v5
move-object v15, v4
move-object v12, v5
.local v5, "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
goto :goto_4f
.line 576
.end local v4 # "encoder":Lcom/bumptech/glide/load/ResourceEncoder;, "Lcom/bumptech/glide/load/ResourceEncoder<TZ;>;"
.end local v5 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
:cond_4a
const/4 v4, 0x0
.line 577
.restart local v4 # "encoder":Lcom/bumptech/glide/load/ResourceEncoder;, "Lcom/bumptech/glide/load/ResourceEncoder<TZ;>;"
sget-object v5, Lcom/bumptech/glide/load/EncodeStrategy;->NONE:Lcom/bumptech/glide/load/EncodeStrategy;
move-object v15, v4
move-object v12, v5
.line 580
.end local v4 # "encoder":Lcom/bumptech/glide/load/ResourceEncoder;, "Lcom/bumptech/glide/load/ResourceEncoder<TZ;>;"
.local v12, "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.local v15, "encoder":Lcom/bumptech/glide/load/ResourceEncoder;, "Lcom/bumptech/glide/load/ResourceEncoder<TZ;>;"
:goto_4f
move-object/from16 v16, v14
.line 581
.local v16, "result":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<TZ;>;"
iget-object v4, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
iget-object v5, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key;
invoke-virtual {v4, v5}, Lcom/bumptech/glide/load/engine/DecodeHelper;->isSourceKey(Lcom/bumptech/glide/load/Key;)Z
move-result v4
const/4 v5, 0x1
xor-int/2addr v4, v5
move v11, v4
.line 582
.local v11, "isFromAlternateCacheKey":Z
iget-object v4, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy;
invoke-virtual {v4, v11, v1, v12}, Lcom/bumptech/glide/load/engine/DiskCacheStrategy;->isResourceCacheable(ZLcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/EncodeStrategy;)Z
move-result v4
if-eqz v4, :cond_d3
.line 584
if-eqz v15, :cond_c5
.line 588
sget-object v4, Lcom/bumptech/glide/load/engine/DecodeJob$1;->$SwitchMap$com$bumptech$glide$load$EncodeStrategy:[I
invoke-virtual {v12}, Lcom/bumptech/glide/load/EncodeStrategy;->ordinal()I
move-result v6
aget v4, v4, v6
if-eq v4, v5, :cond_ac
const/4 v5, 0x2
if-ne v4, v5, :cond_94
.line 593
new-instance v17, Lcom/bumptech/glide/load/engine/ResourceCacheKey;
iget-object v4, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper;
.line 595
invoke-virtual {v4}, Lcom/bumptech/glide/load/engine/DecodeHelper;->getArrayPool()Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;
move-result-object v5
iget-object v6, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key;
iget-object v7, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->signature:Lcom/bumptech/glide/load/Key;
iget v8, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->width:I
iget v9, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->height:I
iget-object v10, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options;
move-object/from16 v4, v17
move-object/from16 v18, v10
move-object v10, v13
move/from16 v19, v11
.end local v11 # "isFromAlternateCacheKey":Z
.local v19, "isFromAlternateCacheKey":Z
move-object v11, v3
move-object v1, v12
.end local v12 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.local v1, "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
move-object/from16 v12, v18
invoke-direct/range {v4 .. v12}, Lcom/bumptech/glide/load/engine/ResourceCacheKey;-><init>(Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/Key;IILcom/bumptech/glide/load/Transformation;Ljava/lang/Class;Lcom/bumptech/glide/load/Options;)V
.line 603
.local v4, "key":Lcom/bumptech/glide/load/Key;
goto :goto_b9
.line 605
.end local v1 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.end local v4 # "key":Lcom/bumptech/glide/load/Key;
.end local v19 # "isFromAlternateCacheKey":Z
.restart local v11 # "isFromAlternateCacheKey":Z
.restart local v12 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
:cond_94
move-object v1, v12
.end local v12 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.restart local v1 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
new-instance v4, Ljava/lang/IllegalArgumentException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Unknown strategy: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v4, v5}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v4
.line 590
.end local v1 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.restart local v12 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
:cond_ac
move/from16 v19, v11
move-object v1, v12
.end local v11 # "isFromAlternateCacheKey":Z
.end local v12 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.restart local v1 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.restart local v19 # "isFromAlternateCacheKey":Z
new-instance v4, Lcom/bumptech/glide/load/engine/DataCacheKey;
iget-object v5, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key;
iget-object v6, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->signature:Lcom/bumptech/glide/load/Key;
invoke-direct {v4, v5, v6}, Lcom/bumptech/glide/load/engine/DataCacheKey;-><init>(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/Key;)V
.line 591
.restart local v4 # "key":Lcom/bumptech/glide/load/Key;
nop
.line 608
:goto_b9
invoke-static {v14}, Lcom/bumptech/glide/load/engine/LockedResource;->obtain(Lcom/bumptech/glide/load/engine/Resource;)Lcom/bumptech/glide/load/engine/LockedResource;
move-result-object v5
.line 609
.local v5, "lockedResult":Lcom/bumptech/glide/load/engine/LockedResource;, "Lcom/bumptech/glide/load/engine/LockedResource<TZ;>;"
iget-object v6, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;
invoke-virtual {v6, v4, v15, v5}, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;->init(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/ResourceEncoder;Lcom/bumptech/glide/load/engine/LockedResource;)V
.line 610
move-object/from16 v16, v5
goto :goto_d6
.line 585
.end local v1 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.end local v4 # "key":Lcom/bumptech/glide/load/Key;
.end local v5 # "lockedResult":Lcom/bumptech/glide/load/engine/LockedResource;, "Lcom/bumptech/glide/load/engine/LockedResource<TZ;>;"
.end local v19 # "isFromAlternateCacheKey":Z
.restart local v11 # "isFromAlternateCacheKey":Z
.restart local v12 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
:cond_c5
new-instance v4, Lcom/bumptech/glide/Registry$NoResultEncoderAvailableException;
invoke-interface {v14}, Lcom/bumptech/glide/load/engine/Resource;->get()Ljava/lang/Object;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
invoke-direct {v4, v5}, Lcom/bumptech/glide/Registry$NoResultEncoderAvailableException;-><init>(Ljava/lang/Class;)V
throw v4
.line 582
:cond_d3
move/from16 v19, v11
move-object v1, v12
.line 612
.end local v11 # "isFromAlternateCacheKey":Z
.end local v12 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.restart local v1 # "encodeStrategy":Lcom/bumptech/glide/load/EncodeStrategy;
.restart local v19 # "isFromAlternateCacheKey":Z
:goto_d6
return-object v16
.end method
.method release(Z)V
.registers 3
.param p1, "isRemovedFromQueue" # Z
.line 150
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseManager:Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;
invoke-virtual {v0, p1}, Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;->release(Z)Z
move-result v0
if-eqz v0, :cond_b
.line 151
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseInternal()V
.line 153
:cond_b
return-void
.end method
.method public reschedule()V
.registers 2
.line 372
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;->SWITCH_TO_SOURCE_SERVICE:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;
.line 373
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback;
invoke-interface {v0, p0}, Lcom/bumptech/glide/load/engine/DecodeJob$Callback;->reschedule(Lcom/bumptech/glide/load/engine/DecodeJob;)V
.line 374
return-void
.end method
.method public run()V
.registers 6
.line 225
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
const-string v0, "DecodeJob"
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->model:Ljava/lang/Object;
const-string v2, "DecodeJob#run(model=%s)"
invoke-static {v2, v1}, Lcom/bumptech/glide/util/pool/GlideTrace;->beginSectionFormat(Ljava/lang/String;Ljava/lang/Object;)V
.line 228
iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher;
.line 230
.local v1, "localFetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
:try_start_b
iget-boolean v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z
if-eqz v2, :cond_1b
.line 231
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyFailed()V
:try_end_12
.catch Lcom/bumptech/glide/load/engine/CallbackException; {:try_start_b .. :try_end_12} :catch_66
.catchall {:try_start_b .. :try_end_12} :catchall_28
.line 264
if-eqz v1, :cond_17
.line 265
invoke-interface {v1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V
.line 267
:cond_17
invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V
.line 232
return-void
.line 234
:cond_1b
:try_start_1b
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runWrapped()V
:try_end_1e
.catch Lcom/bumptech/glide/load/engine/CallbackException; {:try_start_1b .. :try_end_1e} :catch_66
.catchall {:try_start_1b .. :try_end_1e} :catchall_28
.line 264
if-eqz v1, :cond_23
.line 265
invoke-interface {v1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V
.line 267
:cond_23
invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V
.line 268
nop
.line 269
return-void
.line 239
:catchall_28
move-exception v2
.line 246
.local v2, "t":Ljava/lang/Throwable;
const/4 v3, 0x3
:try_start_2a
invoke-static {v0, v3}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result v3
if-eqz v3, :cond_50
.line 247
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "DecodeJob threw unexpectedly, isCancelled: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v4, ", stage: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v0, v3, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 253
:cond_50
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
sget-object v3, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->ENCODE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
if-eq v0, v3, :cond_5e
.line 254
iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List;
invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 255
invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyFailed()V
.line 257
:cond_5e
iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z
if-nez v0, :cond_64
.line 258
nop
.end local v1 # "localFetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
throw v2
.line 260
.restart local v1 # "localFetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
:cond_64
nop
.end local v1 # "localFetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
throw v2
.line 235
.end local v2 # "t":Ljava/lang/Throwable;
.restart local v1 # "localFetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
:catch_66
move-exception v0
.line 238
.local v0, "e":Lcom/bumptech/glide/load/engine/CallbackException;
nop
.end local v1 # "localFetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
throw v0
:try_end_69
.catchall {:try_start_2a .. :try_end_69} :catchall_69
.line 264
.end local v0 # "e":Lcom/bumptech/glide/load/engine/CallbackException;
.restart local v1 # "localFetcher":Lcom/bumptech/glide/load/data/DataFetcher;, "Lcom/bumptech/glide/load/data/DataFetcher<*>;"
:catchall_69
move-exception v0
if-eqz v1, :cond_6f
.line 265
invoke-interface {v1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V
.line 267
:cond_6f
invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V
throw v0
.end method
.method willDecodeFromCache()Z
.registers 3
.line 139
.local p0, "this":Lcom/bumptech/glide/load/engine/DecodeJob;, "Lcom/bumptech/glide/load/engine/DecodeJob<TR;>;"
sget-object v0, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->INITIALIZE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
invoke-direct {p0, v0}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextStage(Lcom/bumptech/glide/load/engine/DecodeJob$Stage;)Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
move-result-object v0
.line 140
.local v0, "firstStage":Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
sget-object v1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->RESOURCE_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
if-eq v0, v1, :cond_11
sget-object v1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->DATA_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage;
if-ne v0, v1, :cond_f
goto :goto_11
:cond_f
const/4 v1, 0x0
goto :goto_12
:cond_11
:goto_11
const/4 v1, 0x1
:goto_12
return v1
.end method