.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 = { "", "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 constructor (Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider;Landroidx/core/util/Pools$Pool;)V .registers 4 .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 79 invoke-direct {p0}, Ljava/lang/Object;->()V .line 44 new-instance v0, Lcom/bumptech/glide/load/engine/DecodeHelper; invoke-direct {v0}, Lcom/bumptech/glide/load/engine/DecodeHelper;->()V iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper; .line 45 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List; .line 46 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 49 new-instance v0, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager; invoke-direct {v0}, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;->()V iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager; .line 50 new-instance v0, Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager; invoke-direct {v0}, Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager;->()V iput-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseManager:Lcom/bumptech/glide/load/engine/DecodeJob$ReleaseManager; .line 80 iput-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheProvider:Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider; .line 81 iput-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->pool:Landroidx/core/util/Pools$Pool; 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 8 .annotation system Ldalvik/annotation/Signature; value = { "(", "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 const-string v0, "Decoded result " if-nez p2, :cond_9 .line 472 invoke-interface {p1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V const/4 p1, 0x0 return-object p1 .line 465 :cond_9 :try_start_9 invoke-static {}, Lcom/bumptech/glide/util/LogTime;->getLogTime()J move-result-wide v1 .line 466 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 p2 .line 467 const-string p3, "DecodeJob" const/4 v3, 0x2 invoke-static {p3, v3}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z move-result p3 if-eqz p3, :cond_2a .line 468 new-instance p3, Ljava/lang/StringBuilder; invoke-direct {p3, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p3 invoke-direct {p0, p3, v1, v2}, Lcom/bumptech/glide/load/engine/DecodeJob;->logWithTimeAndKey(Ljava/lang/String;J)V :try_end_2a .catchall {:try_start_9 .. :try_end_2a} :catchall_2e .line 472 :cond_2a invoke-interface {p1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V return-object p2 :catchall_2e move-exception p2 invoke-interface {p1}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V throw p2 .end method .method private decodeFromFetcher(Ljava/lang/Object;Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/engine/Resource; .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(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 479 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 480 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 p1 return-object p1 .end method .method private decodeFromRetrievedData()V .registers 5 .line 410 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_39 .line 411 iget-wide v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->startFetchTime:J new-instance v2, Ljava/lang/StringBuilder; const-string v3, "data: " invoke-direct {v2, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V 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; move-result-object v2 const-string v3, ", cache key: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 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; move-result-object v2 const-string v3, ", fetcher: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 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; move-result-object v2 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 418 :cond_39 :try_start_39 iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher; iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentData:Ljava/lang/Object; iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource; invoke-direct {p0, v0, v1, v2}, 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 v0 :try_end_43 .catch Lcom/bumptech/glide/load/engine/GlideException; {:try_start_39 .. :try_end_43} :catch_44 goto :goto_52 :catch_44 move-exception v0 .line 420 iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentAttemptingKey:Lcom/bumptech/glide/load/Key; iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource; invoke-virtual {v0, v1, v2}, Lcom/bumptech/glide/load/engine/GlideException;->setLoggingDetails(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/DataSource;)V .line 421 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 const/4 v0, 0x0 :goto_52 if-eqz v0, :cond_5a .line 424 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_5d .line 426 :cond_5a invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runGenerators()V :goto_5d return-void .end method .method private getNextGenerator()Lcom/bumptech/glide/load/engine/DataFetcherGenerator; .registers 4 .line 290 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_3f const/4 v1, 0x2 if-eq v0, v1, :cond_37 const/4 v1, 0x3 if-eq v0, v1, :cond_2f const/4 v1, 0x4 if-ne v0, v1, :cond_18 const/4 v0, 0x0 return-object v0 .line 300 :cond_18 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Unrecognized stage: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 296 :cond_2f 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;->(Lcom/bumptech/glide/load/engine/DecodeHelper;Lcom/bumptech/glide/load/engine/DataFetcherGenerator$FetcherReadyCallback;)V return-object v0 .line 294 :cond_37 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;->(Lcom/bumptech/glide/load/engine/DecodeHelper;Lcom/bumptech/glide/load/engine/DataFetcherGenerator$FetcherReadyCallback;)V return-object v0 .line 292 :cond_3f 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;->(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 .line 349 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_4b const/4 v1, 0x2 if-eq v0, v1, :cond_41 const/4 v1, 0x3 if-eq v0, v1, :cond_3e const/4 v1, 0x4 if-eq v0, v1, :cond_3e const/4 v1, 0x5 if-ne v0, v1, :cond_29 .line 351 iget-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy; invoke-virtual {p1}, Lcom/bumptech/glide/load/engine/DiskCacheStrategy;->decodeCachedResource()Z move-result p1 if-eqz p1, :cond_22 .line 352 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->RESOURCE_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; goto :goto_28 :cond_22 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->RESOURCE_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; invoke-direct {p0, p1}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextStage(Lcom/bumptech/glide/load/engine/DecodeJob$Stage;)Lcom/bumptech/glide/load/engine/DecodeJob$Stage; move-result-object p1 :goto_28 return-object p1 .line 363 :cond_29 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Unrecognized stage: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .line 361 :cond_3e sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->FINISHED:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; return-object p1 .line 358 :cond_41 iget-boolean p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->onlyRetrieveFromCache:Z if-eqz p1, :cond_48 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->FINISHED:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; goto :goto_4a :cond_48 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->SOURCE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; :goto_4a return-object p1 .line 354 :cond_4b iget-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy; invoke-virtual {p1}, Lcom/bumptech/glide/load/engine/DiskCacheStrategy;->decodeCachedData()Z move-result p1 if-eqz p1, :cond_56 .line 355 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->DATA_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; goto :goto_5c :cond_56 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->DATA_CACHE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; invoke-direct {p0, p1}, Lcom/bumptech/glide/load/engine/DecodeJob;->getNextStage(Lcom/bumptech/glide/load/engine/DecodeJob$Stage;)Lcom/bumptech/glide/load/engine/DecodeJob$Stage; move-result-object p1 :goto_5c return-object p1 .end method .method private getOptionsWithHardwareConfig(Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/Options; .registers 5 .line 485 iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options; .line 486 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v2, 0x1a if-ge v1, v2, :cond_9 return-object v0 .line 490 :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 p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper; .line 491 invoke-virtual {p1}, Lcom/bumptech/glide/load/engine/DecodeHelper;->isScaleOnlyOrNoTransform()Z move-result p1 if-eqz p1, :cond_16 goto :goto_18 :cond_16 const/4 p1, 0x0 goto :goto_19 :cond_18 :goto_18 const/4 p1, 0x1 .line 492 :goto_19 sget-object v1, Lcom/bumptech/glide/load/resource/bitmap/Downsampler;->ALLOW_HARDWARE_CONFIG:Lcom/bumptech/glide/load/Option; invoke-virtual {v0, v1}, Lcom/bumptech/glide/load/Options;->get(Lcom/bumptech/glide/load/Option;)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/Boolean; if-eqz v1, :cond_2c .line 496 invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z move-result v1 if-eqz v1, :cond_2b if-eqz p1, :cond_2c :cond_2b return-object v0 .line 502 :cond_2c new-instance v0, Lcom/bumptech/glide/load/Options; invoke-direct {v0}, Lcom/bumptech/glide/load/Options;->()V .line 503 iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options; invoke-virtual {v0, v1}, Lcom/bumptech/glide/load/Options;->putAll(Lcom/bumptech/glide/load/Options;)V .line 504 sget-object v1, Lcom/bumptech/glide/load/resource/bitmap/Downsampler;->ALLOW_HARDWARE_CONFIG:Lcom/bumptech/glide/load/Option; invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object p1 invoke-virtual {v0, v1, p1}, Lcom/bumptech/glide/load/Options;->set(Lcom/bumptech/glide/load/Option;Ljava/lang/Object;)Lcom/bumptech/glide/load/Options; return-object v0 .end method .method private getPriority()I .registers 2 .line 208 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 const/4 v0, 0x0 .line 523 invoke-direct {p0, p1, p2, p3, v0}, Lcom/bumptech/glide/load/engine/DecodeJob;->logWithTimeAndKey(Ljava/lang/String;JLjava/lang/String;)V return-void .end method .method private logWithTimeAndKey(Ljava/lang/String;JLjava/lang/String;)V .registers 6 .line 527 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string v0, " in " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-static {p2, p3}, Lcom/bumptech/glide/util/LogTime;->getElapsedMillis(J)D move-result-wide p2 invoke-virtual {p1, p2, p3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; move-result-object p1 const-string p2, ", load key: " invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->loadKey:Lcom/bumptech/glide/load/engine/EngineKey; invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 if-eqz p4, :cond_35 .line 528 new-instance p2, Ljava/lang/StringBuilder; const-string p3, ", " invoke-direct {p2, p3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 goto :goto_37 :cond_35 const-string p2, "" :goto_37 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string p2, ", thread: " invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 .line 529 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object p2 invoke-virtual {p2}, Ljava/lang/Thread;->getName()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 .line 527 const-string p2, "DecodeJob" invoke-static {p2, p1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I return-void .end method .method private notifyComplete(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/engine/Resource<", "TR;>;", "Lcom/bumptech/glide/load/DataSource;", ")V" } .end annotation .line 335 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->setNotifiedOrThrow()V .line 336 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 return-void .end method .method private notifyEncodeAndRelease(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/engine/Resource<", "TR;>;", "Lcom/bumptech/glide/load/DataSource;", ")V" } .end annotation .line 431 instance-of v0, p1, Lcom/bumptech/glide/load/engine/Initializable; if-eqz v0, :cond_a .line 432 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 437 :cond_a 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;->hasResourceToEncode()Z move-result v0 if-eqz v0, :cond_18 .line 438 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 p1 move-object v0, p1 goto :goto_19 :cond_18 const/4 v0, 0x0 .line 442 :goto_19 invoke-direct {p0, p1, p2}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyComplete(Lcom/bumptech/glide/load/engine/Resource;Lcom/bumptech/glide/load/DataSource;)V .line 444 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->ENCODE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; iput-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; .line 446 :try_start_20 iget-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager; invoke-virtual {p1}, Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager;->hasResourceToEncode()Z move-result p1 if-eqz p1, :cond_31 .line 447 iget-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager; iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheProvider:Lcom/bumptech/glide/load/engine/DecodeJob$DiskCacheProvider; iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options; invoke-virtual {p1, p2, v1}, 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 :cond_31 if-eqz v0, :cond_36 .line 451 invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/LockedResource;->unlock()V .line 456 :cond_36 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->onEncodeComplete()V return-void :catchall_3a move-exception p1 if-eqz v0, :cond_40 .line 451 invoke-virtual {v0}, Lcom/bumptech/glide/load/engine/LockedResource;->unlock()V :cond_40 throw p1 .end method .method private notifyFailed()V .registers 4 .line 328 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->setNotifiedOrThrow()V .line 329 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;->(Ljava/util/Collection;)V const-string v2, "Failed to load resource" invoke-direct {v0, v2, v1}, Lcom/bumptech/glide/load/engine/GlideException;->(Ljava/lang/String;Ljava/util/List;)V .line 330 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 331 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->onLoadFailed()V return-void .end method .method private onEncodeComplete()V .registers 2 .line 159 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 160 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseInternal()V :cond_b return-void .end method .method private onLoadFailed()V .registers 2 .line 168 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 169 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseInternal()V :cond_b return-void .end method .method private releaseInternal()V .registers 5 .line 174 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 175 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 176 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 const/4 v0, 0x0 .line 177 iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCallbackNotified:Z const/4 v1, 0x0 .line 178 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->glideContext:Lcom/bumptech/glide/GlideContext; .line 179 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->signature:Lcom/bumptech/glide/load/Key; .line 180 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options; .line 181 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->priority:Lcom/bumptech/glide/Priority; .line 182 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->loadKey:Lcom/bumptech/glide/load/engine/EngineKey; .line 183 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback; .line 184 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; .line 185 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator; .line 186 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentThread:Ljava/lang/Thread; .line 187 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key; .line 188 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentData:Ljava/lang/Object; .line 189 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource; .line 190 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher; const-wide/16 v2, 0x0 .line 191 iput-wide v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->startFetchTime:J .line 192 iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z .line 193 iput-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->model:Ljava/lang/Object; .line 194 iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->clear()V .line 195 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 return-void .end method .method private runGenerators()V .registers 4 .line 305 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 const/4 v0, 0x0 .line 308 :cond_d iget-boolean v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z if-nez v1, :cond_35 iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator; if-eqz v1, :cond_35 iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator; .line 309 invoke-interface {v0}, Lcom/bumptech/glide/load/engine/DataFetcherGenerator;->startNext()Z move-result v0 if-nez v0, :cond_35 .line 310 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 311 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 313 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 314 invoke-virtual {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->reschedule()V return-void .line 319 :cond_35 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_3f iget-boolean v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z if-eqz v1, :cond_44 :cond_3f if-nez v0, :cond_44 .line 320 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyFailed()V :cond_44 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 10 .annotation system Ldalvik/annotation/Signature; value = { "(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 511 invoke-direct {p0, p2}, Lcom/bumptech/glide/load/engine/DecodeJob;->getOptionsWithHardwareConfig(Lcom/bumptech/glide/load/DataSource;)Lcom/bumptech/glide/load/Options; move-result-object v2 .line 512 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 p1 .line 515 :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;->(Lcom/bumptech/glide/load/engine/DecodeJob;Lcom/bumptech/glide/load/DataSource;)V move-object v0, p3 move-object v1, p1 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 p2 :try_end_1d .catchall {:try_start_e .. :try_end_1d} :catchall_21 .line 518 invoke-interface {p1}, Lcom/bumptech/glide/load/data/DataRewinder;->cleanup()V return-object p2 :catchall_21 move-exception p2 invoke-interface {p1}, Lcom/bumptech/glide/load/data/DataRewinder;->cleanup()V throw p2 .end method .method private runWrapped()V .registers 4 .line 272 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_32 const/4 v1, 0x2 if-eq v0, v1, :cond_2e const/4 v1, 0x3 if-ne v0, v1, :cond_17 .line 282 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeFromRetrievedData()V goto :goto_43 .line 285 :cond_17 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Unrecognized run reason: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V 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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 279 :cond_2e invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runGenerators()V goto :goto_43 .line 274 :cond_32 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 :goto_43 return-void .end method .method private setNotifiedOrThrow()V .registers 4 .line 340 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 341 iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCallbackNotified:Z const/4 v1, 0x1 if-eqz v0, :cond_29 .line 342 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 343 :goto_21 new-instance v1, Ljava/lang/IllegalStateException; const-string v2, "Already notified" invoke-direct {v1, v2, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v1 .line 345 :cond_29 iput-boolean v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCallbackNotified:Z return-void .end method # virtual methods .method public cancel()V .registers 2 const/4 v0, 0x1 .line 212 iput-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z .line 213 iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentGenerator:Lcom/bumptech/glide/load/engine/DataFetcherGenerator; if-eqz v0, :cond_a .line 215 invoke-interface {v0}, Lcom/bumptech/glide/load/engine/DataFetcherGenerator;->cancel()V :cond_a return-void .end method .method public compareTo(Lcom/bumptech/glide/load/engine/DecodeJob;)I .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/engine/DecodeJob<", "*>;)I" } .end annotation .line 200 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 if-nez v0, :cond_10 .line 202 iget v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->order:I iget p1, p1, Lcom/bumptech/glide/load/engine/DecodeJob;->order:I sub-int/2addr v0, p1 :cond_10 return v0 .end method .method public bridge synthetic compareTo(Ljava/lang/Object;)I .registers 2 .line 38 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 535 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 .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 move-object/from16 v0, p0 .line 102 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 move-object/from16 v1, p1 .line 117 iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->glideContext:Lcom/bumptech/glide/GlideContext; move-object/from16 v1, p4 .line 118 iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->signature:Lcom/bumptech/glide/load/Key; move-object/from16 v1, p9 .line 119 iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->priority:Lcom/bumptech/glide/Priority; move-object/from16 v1, p3 .line 120 iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->loadKey:Lcom/bumptech/glide/load/engine/EngineKey; move/from16 v1, p5 .line 121 iput v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->width:I move/from16 v1, p6 .line 122 iput v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->height:I move-object/from16 v1, p10 .line 123 iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy; move/from16 v1, p14 .line 124 iput-boolean v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->onlyRetrieveFromCache:Z move-object/from16 v1, p15 .line 125 iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options; move-object/from16 v1, p16 .line 126 iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback; move/from16 v1, p17 .line 127 iput v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->order:I .line 128 sget-object v1, Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;->INITIALIZE:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason; iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason; move-object/from16 v1, p2 .line 129 iput-object v1, v0, Lcom/bumptech/glide/load/engine/DecodeJob;->model:Ljava/lang/Object; 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 7 .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 397 invoke-interface {p3}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V .line 398 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;->(Ljava/lang/String;Ljava/lang/Throwable;)V .line 399 invoke-interface {p3}, Lcom/bumptech/glide/load/data/DataFetcher;->getDataClass()Ljava/lang/Class; move-result-object p2 invoke-virtual {v0, p1, p4, p2}, Lcom/bumptech/glide/load/engine/GlideException;->setLoggingDetails(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/DataSource;Ljava/lang/Class;)V .line 400 iget-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List; invoke-interface {p1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 401 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object p1 iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentThread:Ljava/lang/Thread; if-eq p1, p2, :cond_28 .line 402 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;->SWITCH_TO_SOURCE_SERVICE:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason; iput-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason; .line 403 iget-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback; invoke-interface {p1, p0}, Lcom/bumptech/glide/load/engine/DecodeJob$Callback;->reschedule(Lcom/bumptech/glide/load/engine/DecodeJob;)V goto :goto_2b .line 405 :cond_28 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runGenerators()V :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 6 .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 376 iput-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key; .line 377 iput-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentData:Ljava/lang/Object; .line 378 iput-object p3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher; .line 379 iput-object p4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentDataSource:Lcom/bumptech/glide/load/DataSource; .line 380 iput-object p5, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentAttemptingKey:Lcom/bumptech/glide/load/Key; .line 381 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object p1 iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentThread:Ljava/lang/Thread; if-eq p1, p2, :cond_1c .line 382 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$RunReason;->DECODE_DATA:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason; iput-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->runReason:Lcom/bumptech/glide/load/engine/DecodeJob$RunReason; .line 383 iget-object p1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->callback:Lcom/bumptech/glide/load/engine/DecodeJob$Callback; invoke-interface {p1, p0}, Lcom/bumptech/glide/load/engine/DecodeJob$Callback;->reschedule(Lcom/bumptech/glide/load/engine/DecodeJob;)V goto :goto_27 .line 385 :cond_1c const-string p1, "DecodeJob.decodeFromRetrievedData" invoke-static {p1}, Lcom/bumptech/glide/util/pool/GlideTrace;->beginSection(Ljava/lang/String;)V .line 387 :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_28 .line 389 invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V :goto_27 return-void :catchall_28 move-exception p1 invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V throw p1 .end method .method onResourceDecoded(Lcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/engine/Resource;)Lcom/bumptech/glide/load/engine/Resource; .registers 14 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/bumptech/glide/load/DataSource;", "Lcom/bumptech/glide/load/engine/Resource<", "TZ;>;)", "Lcom/bumptech/glide/load/engine/Resource<", "TZ;>;" } .end annotation .line 543 invoke-interface {p2}, Lcom/bumptech/glide/load/engine/Resource;->get()Ljava/lang/Object; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v8 .line 546 sget-object v0, Lcom/bumptech/glide/load/DataSource;->RESOURCE_DISK_CACHE:Lcom/bumptech/glide/load/DataSource; const/4 v1, 0x0 if-eq p1, v0, :cond_20 .line 547 iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper; invoke-virtual {v0, v8}, Lcom/bumptech/glide/load/engine/DecodeHelper;->getTransformation(Ljava/lang/Class;)Lcom/bumptech/glide/load/Transformation; move-result-object v0 .line 548 iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->glideContext:Lcom/bumptech/glide/GlideContext; iget v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->width:I iget v4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->height:I invoke-interface {v0, v2, p2, v3, v4}, 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 v2 move-object v7, v0 move-object v0, v2 goto :goto_22 :cond_20 move-object v0, p2 move-object v7, v1 .line 551 :goto_22 invoke-virtual {p2, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_2b .line 552 invoke-interface {p2}, Lcom/bumptech/glide/load/engine/Resource;->recycle()V .line 557 :cond_2b iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper; invoke-virtual {p2, v0}, Lcom/bumptech/glide/load/engine/DecodeHelper;->isResourceEncoderAvailable(Lcom/bumptech/glide/load/engine/Resource;)Z move-result p2 if-eqz p2, :cond_40 .line 558 iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper; invoke-virtual {p2, v0}, Lcom/bumptech/glide/load/engine/DecodeHelper;->getResultEncoder(Lcom/bumptech/glide/load/engine/Resource;)Lcom/bumptech/glide/load/ResourceEncoder; move-result-object v1 .line 559 iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options; invoke-interface {v1, p2}, Lcom/bumptech/glide/load/ResourceEncoder;->getEncodeStrategy(Lcom/bumptech/glide/load/Options;)Lcom/bumptech/glide/load/EncodeStrategy; move-result-object p2 goto :goto_42 .line 562 :cond_40 sget-object p2, Lcom/bumptech/glide/load/EncodeStrategy;->NONE:Lcom/bumptech/glide/load/EncodeStrategy; :goto_42 move-object v10, v1 .line 566 iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper; iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key; invoke-virtual {v1, v2}, Lcom/bumptech/glide/load/engine/DecodeHelper;->isSourceKey(Lcom/bumptech/glide/load/Key;)Z move-result v1 const/4 v2, 0x1 xor-int/2addr v1, v2 .line 567 iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->diskCacheStrategy:Lcom/bumptech/glide/load/engine/DiskCacheStrategy; invoke-virtual {v3, v1, p1, p2}, Lcom/bumptech/glide/load/engine/DiskCacheStrategy;->isResourceCacheable(ZLcom/bumptech/glide/load/DataSource;Lcom/bumptech/glide/load/EncodeStrategy;)Z move-result p1 if-eqz p1, :cond_b1 if-eqz v10, :cond_a3 .line 573 sget-object p1, Lcom/bumptech/glide/load/engine/DecodeJob$1;->$SwitchMap$com$bumptech$glide$load$EncodeStrategy:[I invoke-virtual {p2}, Lcom/bumptech/glide/load/EncodeStrategy;->ordinal()I move-result v1 aget p1, p1, v1 if-eq p1, v2, :cond_90 const/4 v1, 0x2 if-ne p1, v1, :cond_7b .line 578 new-instance p1, Lcom/bumptech/glide/load/engine/ResourceCacheKey; iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->decodeHelper:Lcom/bumptech/glide/load/engine/DecodeHelper; .line 580 invoke-virtual {p2}, Lcom/bumptech/glide/load/engine/DecodeHelper;->getArrayPool()Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool; move-result-object v2 iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key; iget-object v4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->signature:Lcom/bumptech/glide/load/Key; iget v5, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->width:I iget v6, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->height:I iget-object v9, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->options:Lcom/bumptech/glide/load/Options; move-object v1, p1 invoke-direct/range {v1 .. v9}, Lcom/bumptech/glide/load/engine/ResourceCacheKey;->(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 goto :goto_99 .line 590 :cond_7b new-instance p1, Ljava/lang/IllegalArgumentException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Unknown strategy: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 575 :cond_90 new-instance p1, Lcom/bumptech/glide/load/engine/DataCacheKey; iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentSourceKey:Lcom/bumptech/glide/load/Key; iget-object v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->signature:Lcom/bumptech/glide/load/Key; invoke-direct {p1, p2, v1}, Lcom/bumptech/glide/load/engine/DataCacheKey;->(Lcom/bumptech/glide/load/Key;Lcom/bumptech/glide/load/Key;)V .line 593 :goto_99 invoke-static {v0}, Lcom/bumptech/glide/load/engine/LockedResource;->obtain(Lcom/bumptech/glide/load/engine/Resource;)Lcom/bumptech/glide/load/engine/LockedResource; move-result-object v0 .line 594 iget-object p2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->deferredEncodeManager:Lcom/bumptech/glide/load/engine/DecodeJob$DeferredEncodeManager; invoke-virtual {p2, p1, v10, v0}, 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 goto :goto_b1 .line 570 :cond_a3 new-instance p1, Lcom/bumptech/glide/Registry$NoResultEncoderAvailableException; invoke-interface {v0}, Lcom/bumptech/glide/load/engine/Resource;->get()Ljava/lang/Object; move-result-object p2 invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object p2 invoke-direct {p1, p2}, Lcom/bumptech/glide/Registry$NoResultEncoderAvailableException;->(Ljava/lang/Class;)V throw p1 :cond_b1 :goto_b1 return-object v0 .end method .method release(Z)V .registers 3 .line 149 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 p1 if-eqz p1, :cond_b .line 150 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->releaseInternal()V :cond_b return-void .end method .method public reschedule()V .registers 2 .line 369 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 370 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 return-void .end method .method public run()V .registers 6 .line 226 const-string v0, "DecodeJob" .line 0 const-string v1, "DecodeJob threw unexpectedly, isCancelled: " .line 226 const-string v2, "DecodeJob#run(model=%s)" iget-object v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->model:Ljava/lang/Object; invoke-static {v2, v3}, Lcom/bumptech/glide/util/pool/GlideTrace;->beginSectionFormat(Ljava/lang/String;Ljava/lang/Object;)V .line 229 iget-object v2, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->currentFetcher:Lcom/bumptech/glide/load/data/DataFetcher; .line 231 :try_start_d iget-boolean v3, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z if-eqz v3, :cond_1d .line 232 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyFailed()V :try_end_14 .catch Lcom/bumptech/glide/load/engine/CallbackException; {:try_start_d .. :try_end_14} :catch_63 .catchall {:try_start_d .. :try_end_14} :catchall_29 if-eqz v2, :cond_19 .line 265 invoke-interface {v2}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V .line 267 :cond_19 invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V return-void .line 235 :cond_1d :try_start_1d invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->runWrapped()V :try_end_20 .catch Lcom/bumptech/glide/load/engine/CallbackException; {:try_start_1d .. :try_end_20} :catch_63 .catchall {:try_start_1d .. :try_end_20} :catchall_29 if-eqz v2, :cond_25 .line 265 invoke-interface {v2}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V .line 267 :cond_25 invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V return-void :catchall_29 move-exception v3 const/4 v4, 0x3 .line 247 :try_start_2b invoke-static {v0, v4}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z move-result v4 if-eqz v4, :cond_4f .line 248 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-boolean v1, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; move-result-object v1 const-string v4, ", stage: " invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 iget-object v4, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v0, v1, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I .line 253 :cond_4f iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->stage:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; sget-object v1, Lcom/bumptech/glide/load/engine/DecodeJob$Stage;->ENCODE:Lcom/bumptech/glide/load/engine/DecodeJob$Stage; if-eq v0, v1, :cond_5d .line 254 iget-object v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->throwables:Ljava/util/List; invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 255 invoke-direct {p0}, Lcom/bumptech/glide/load/engine/DecodeJob;->notifyFailed()V .line 257 :cond_5d iget-boolean v0, p0, Lcom/bumptech/glide/load/engine/DecodeJob;->isCancelled:Z if-nez v0, :cond_62 .line 258 throw v3 .line 260 :cond_62 throw v3 :catch_63 move-exception v0 .line 239 throw v0 :try_end_65 .catchall {:try_start_2b .. :try_end_65} :catchall_65 :catchall_65 move-exception v0 if-eqz v2, :cond_6b .line 265 invoke-interface {v2}, Lcom/bumptech/glide/load/data/DataFetcher;->cleanup()V .line 267 :cond_6b invoke-static {}, Lcom/bumptech/glide/util/pool/GlideTrace;->endSection()V throw v0 .end method .method willDecodeFromCache()Z .registers 3 .line 138 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 139 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 v0, 0x0 goto :goto_12 :cond_11 :goto_11 const/4 v0, 0x1 :goto_12 return v0 .end method