BufferedDiskCache$2.smali
.class public Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;
.super Ljava/lang/Object;
.source "BufferedDiskCache.java"
# interfaces
.implements Ljava/util/concurrent/Callable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->getAsync(Lcom/facebook/cache/common/CacheKey;Ljava/util/concurrent/atomic/AtomicBoolean;)Lh/f;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/concurrent/Callable<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
.field public final synthetic val$isCancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
.field public final synthetic val$key:Lcom/facebook/cache/common/CacheKey;
.field public final synthetic val$token:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/facebook/imagepipeline/cache/BufferedDiskCache;Ljava/lang/Object;Ljava/util/concurrent/atomic/AtomicBoolean;Lcom/facebook/cache/common/CacheKey;)V
.registers 5
iput-object p1, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->this$0:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
iput-object p2, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$token:Ljava/lang/Object;
iput-object p3, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$isCancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
iput-object p4, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$key:Lcom/facebook/cache/common/CacheKey;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call()Lcom/facebook/imagepipeline/image/EncodedImage;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
iget-object v0, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$token:Ljava/lang/Object;
const/4 v1, 0x0
invoke-static {v0, v1}, Lcom/facebook/imagepipeline/instrumentation/FrescoInstrumenter;->onBeginWork(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
:try_start_7
iget-object v2, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$isCancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v2
if-nez v2, :cond_94
iget-object v2, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->this$0:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
# getter for: Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->mStagingArea:Lcom/facebook/imagepipeline/cache/StagingArea;
invoke-static {v2}, Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->access$100(Lcom/facebook/imagepipeline/cache/BufferedDiskCache;)Lcom/facebook/imagepipeline/cache/StagingArea;
move-result-object v2
iget-object v3, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$key:Lcom/facebook/cache/common/CacheKey;
invoke-virtual {v2, v3}, Lcom/facebook/imagepipeline/cache/StagingArea;->get(Lcom/facebook/cache/common/CacheKey;)Lcom/facebook/imagepipeline/image/EncodedImage;
move-result-object v2
if-eqz v2, :cond_38
# getter for: Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->TAG:Ljava/lang/Class;
invoke-static {}, Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->access$200()Ljava/lang/Class;
move-result-object v1
const-string v3, "Found image for %s in staging area"
iget-object v4, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$key:Lcom/facebook/cache/common/CacheKey;
invoke-interface {v4}, Lcom/facebook/cache/common/CacheKey;->getUriString()Ljava/lang/String;
move-result-object v4
invoke-static {v1, v3, v4}, Lcom/facebook/common/logging/FLog;->v(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
iget-object v1, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->this$0:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
# getter for: Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->mImageCacheStatsTracker:Lcom/facebook/imagepipeline/cache/ImageCacheStatsTracker;
invoke-static {v1}, Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->access$300(Lcom/facebook/imagepipeline/cache/BufferedDiskCache;)Lcom/facebook/imagepipeline/cache/ImageCacheStatsTracker;
move-result-object v1
iget-object v3, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$key:Lcom/facebook/cache/common/CacheKey;
invoke-interface {v1, v3}, Lcom/facebook/imagepipeline/cache/ImageCacheStatsTracker;->onStagingAreaHit(Lcom/facebook/cache/common/CacheKey;)V
goto :goto_6d
:cond_38
# getter for: Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->TAG:Ljava/lang/Class;
invoke-static {}, Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->access$200()Ljava/lang/Class;
move-result-object v2
const-string v3, "Did not find image for %s in staging area"
iget-object v4, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$key:Lcom/facebook/cache/common/CacheKey;
invoke-interface {v4}, Lcom/facebook/cache/common/CacheKey;->getUriString()Ljava/lang/String;
move-result-object v4
invoke-static {v2, v3, v4}, Lcom/facebook/common/logging/FLog;->v(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
iget-object v2, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->this$0:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
# getter for: Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->mImageCacheStatsTracker:Lcom/facebook/imagepipeline/cache/ImageCacheStatsTracker;
invoke-static {v2}, Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->access$300(Lcom/facebook/imagepipeline/cache/BufferedDiskCache;)Lcom/facebook/imagepipeline/cache/ImageCacheStatsTracker;
move-result-object v2
iget-object v3, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$key:Lcom/facebook/cache/common/CacheKey;
invoke-interface {v2, v3}, Lcom/facebook/imagepipeline/cache/ImageCacheStatsTracker;->onStagingAreaMiss(Lcom/facebook/cache/common/CacheKey;)V
:try_end_52
.catchall {:try_start_7 .. :try_end_52} :catchall_9a
:try_start_52
iget-object v2, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->this$0:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
iget-object v3, p0, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->val$key:Lcom/facebook/cache/common/CacheKey;
# invokes: Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->readFromDiskCache(Lcom/facebook/cache/common/CacheKey;)Lcom/facebook/common/memory/PooledByteBuffer;
invoke-static {v2, v3}, Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->access$400(Lcom/facebook/imagepipeline/cache/BufferedDiskCache;Lcom/facebook/cache/common/CacheKey;)Lcom/facebook/common/memory/PooledByteBuffer;
move-result-object v2
:try_end_5a
.catch Ljava/lang/Exception; {:try_start_52 .. :try_end_5a} :catch_90
.catchall {:try_start_52 .. :try_end_5a} :catchall_9a
if-nez v2, :cond_60
invoke-static {v0}, Lcom/facebook/imagepipeline/instrumentation/FrescoInstrumenter;->onEndWork(Ljava/lang/Object;)V
return-object v1
:cond_60
:try_start_60
invoke-static {v2}, Lcom/facebook/common/references/CloseableReference;->of(Ljava/io/Closeable;)Lcom/facebook/common/references/CloseableReference;
move-result-object v2
:try_end_64
.catch Ljava/lang/Exception; {:try_start_60 .. :try_end_64} :catch_90
.catchall {:try_start_60 .. :try_end_64} :catchall_9a
:try_start_64
new-instance v3, Lcom/facebook/imagepipeline/image/EncodedImage;
invoke-direct {v3, v2}, Lcom/facebook/imagepipeline/image/EncodedImage;-><init>(Lcom/facebook/common/references/CloseableReference;)V
:try_end_69
.catchall {:try_start_64 .. :try_end_69} :catchall_8b
:try_start_69
invoke-static {v2}, Lcom/facebook/common/references/CloseableReference;->closeSafely(Lcom/facebook/common/references/CloseableReference;)V
:try_end_6c
.catch Ljava/lang/Exception; {:try_start_69 .. :try_end_6c} :catch_90
.catchall {:try_start_69 .. :try_end_6c} :catchall_9a
move-object v2, v3
:goto_6d
:try_start_6d
invoke-static {}, Ljava/lang/Thread;->interrupted()Z
move-result v1
if-eqz v1, :cond_87
# getter for: Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->TAG:Ljava/lang/Class;
invoke-static {}, Lcom/facebook/imagepipeline/cache/BufferedDiskCache;->access$200()Ljava/lang/Class;
move-result-object v1
const-string v3, "Host thread was interrupted, decreasing reference count"
invoke-static {v1, v3}, Lcom/facebook/common/logging/FLog;->v(Ljava/lang/Class;Ljava/lang/String;)V
if-eqz v2, :cond_81
invoke-virtual {v2}, Lcom/facebook/imagepipeline/image/EncodedImage;->close()V
:cond_81
new-instance v1, Ljava/lang/InterruptedException;
invoke-direct {v1}, Ljava/lang/InterruptedException;-><init>()V
throw v1
:try_end_87
.catchall {:try_start_6d .. :try_end_87} :catchall_9a
:cond_87
invoke-static {v0}, Lcom/facebook/imagepipeline/instrumentation/FrescoInstrumenter;->onEndWork(Ljava/lang/Object;)V
return-object v2
:catchall_8b
move-exception v3
:try_start_8c
invoke-static {v2}, Lcom/facebook/common/references/CloseableReference;->closeSafely(Lcom/facebook/common/references/CloseableReference;)V
throw v3
:try_end_90
.catch Ljava/lang/Exception; {:try_start_8c .. :try_end_90} :catch_90
.catchall {:try_start_8c .. :try_end_90} :catchall_9a
:catch_90
invoke-static {v0}, Lcom/facebook/imagepipeline/instrumentation/FrescoInstrumenter;->onEndWork(Ljava/lang/Object;)V
return-object v1
:cond_94
:try_start_94
new-instance v1, Ljava/util/concurrent/CancellationException;
invoke-direct {v1}, Ljava/util/concurrent/CancellationException;-><init>()V
throw v1
:try_end_9a
.catchall {:try_start_94 .. :try_end_9a} :catchall_9a
:catchall_9a
move-exception v1
invoke-static {v0}, Lcom/facebook/imagepipeline/instrumentation/FrescoInstrumenter;->onEndWork(Ljava/lang/Object;)V
throw v1
.end method
.method public bridge synthetic call()Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
invoke-virtual {p0}, Lcom/facebook/imagepipeline/cache/BufferedDiskCache$2;->call()Lcom/facebook/imagepipeline/image/EncodedImage;
move-result-object v0
return-object v0
.end method