EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer.smali
.class Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;
.super Lcom/facebook/imagepipeline/producers/DelegatingConsumer;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "EncodedMemoryCacheConsumer"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/facebook/imagepipeline/producers/DelegatingConsumer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;"
}
.end annotation
# instance fields
.field private final mIsMemoryCacheEnabled:Z
.field private final mMemoryCache:Lcom/facebook/imagepipeline/cache/MemoryCache;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/facebook/imagepipeline/cache/MemoryCache<",
"Lcom/facebook/cache/common/CacheKey;",
"Lcom/facebook/common/memory/PooledByteBuffer;",
">;"
}
.end annotation
.end field
.field private final mProducerContext:Lcom/facebook/imagepipeline/producers/ProducerContext;
.field private final mRequestedCacheKey:Lcom/facebook/cache/common/CacheKey;
# direct methods
.method public constructor <init>(Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/cache/MemoryCache;Lcom/facebook/cache/common/CacheKey;ZLcom/facebook/imagepipeline/producers/ProducerContext;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/imagepipeline/producers/Consumer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;",
"Lcom/facebook/imagepipeline/cache/MemoryCache<",
"Lcom/facebook/cache/common/CacheKey;",
"Lcom/facebook/common/memory/PooledByteBuffer;",
">;",
"Lcom/facebook/cache/common/CacheKey;",
"Z",
"Lcom/facebook/imagepipeline/producers/ProducerContext;",
")V"
}
.end annotation
.line 126
invoke-direct {p0, p1}, Lcom/facebook/imagepipeline/producers/DelegatingConsumer;-><init>(Lcom/facebook/imagepipeline/producers/Consumer;)V
.line 127
iput-object p2, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mMemoryCache:Lcom/facebook/imagepipeline/cache/MemoryCache;
.line 128
iput-object p3, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mRequestedCacheKey:Lcom/facebook/cache/common/CacheKey;
.line 129
iput-boolean p4, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mIsMemoryCacheEnabled:Z
.line 130
iput-object p5, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mProducerContext:Lcom/facebook/imagepipeline/producers/ProducerContext;
return-void
.end method
# virtual methods
.method public onNewResultImpl(Lcom/facebook/imagepipeline/image/EncodedImage;I)V
.registers 7
const-string v0, "EMC"
.line 136
:try_start_2
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->isTracing()Z
move-result v1
if-eqz v1, :cond_d
const-string v1, "EncodedMemoryCacheProducer#onNewResultImpl"
.line 137
invoke-static {v1}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->beginSection(Ljava/lang/String;)V
.line 141
:cond_d
invoke-static {p2}, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->isNotLast(I)Z
move-result v1
if-nez v1, :cond_b4
if-eqz p1, :cond_b4
const/16 v1, 0xa
.line 143
invoke-static {p2, v1}, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->statusHasAnyFlag(II)Z
move-result v1
if-nez v1, :cond_b4
.line 144
invoke-virtual {p1}, Lcom/facebook/imagepipeline/image/EncodedImage;->getImageFormat()Lcom/facebook/imageformat/ImageFormat;
move-result-object v1
sget-object v2, Lcom/facebook/imageformat/ImageFormat;->UNKNOWN:Lcom/facebook/imageformat/ImageFormat;
if-ne v1, v2, :cond_27
goto/16 :goto_b4
.line 148
:cond_27
iget-object v1, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mProducerContext:Lcom/facebook/imagepipeline/producers/ProducerContext;
invoke-interface {v1}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getListener()Lcom/facebook/imagepipeline/producers/ProducerListener;
move-result-object v1
iget-object v2, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mProducerContext:Lcom/facebook/imagepipeline/producers/ProducerContext;
.line 149
invoke-interface {v2}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getId()Ljava/lang/String;
move-result-object v2
.line 148
invoke-interface {v1, v2, v0}, Lcom/facebook/imagepipeline/producers/ProducerListener;->onConsumerStart(Ljava/lang/String;Ljava/lang/String;)V
.line 152
invoke-virtual {p1}, Lcom/facebook/imagepipeline/image/EncodedImage;->getByteBufferRef()Lcom/facebook/common/references/CloseableReference;
move-result-object v1
:try_end_3a
.catchall {:try_start_2 .. :try_end_3a} :catchall_c5
if-eqz v1, :cond_94
const/4 v2, 0x0
.line 156
:try_start_3d
iget-boolean v3, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mIsMemoryCacheEnabled:Z
if-eqz v3, :cond_49
.line 157
iget-object v2, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mMemoryCache:Lcom/facebook/imagepipeline/cache/MemoryCache;
iget-object v3, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mRequestedCacheKey:Lcom/facebook/cache/common/CacheKey;
invoke-interface {v2, v3, v1}, Lcom/facebook/imagepipeline/cache/MemoryCache;->cache(Ljava/lang/Object;Lcom/facebook/common/references/CloseableReference;)Lcom/facebook/common/references/CloseableReference;
move-result-object v2
:try_end_49
.catchall {:try_start_3d .. :try_end_49} :catchall_8f
.line 160
:cond_49
:try_start_49
invoke-static {v1}, Lcom/facebook/common/references/CloseableReference;->closeSafely(Lcom/facebook/common/references/CloseableReference;)V
:try_end_4c
.catchall {:try_start_49 .. :try_end_4c} :catchall_c5
if-eqz v2, :cond_94
.line 165
:try_start_4e
new-instance v1, Lcom/facebook/imagepipeline/image/EncodedImage;
invoke-direct {v1, v2}, Lcom/facebook/imagepipeline/image/EncodedImage;-><init>(Lcom/facebook/common/references/CloseableReference;)V
.line 166
invoke-virtual {v1, p1}, Lcom/facebook/imagepipeline/image/EncodedImage;->copyMetaDataFrom(Lcom/facebook/imagepipeline/image/EncodedImage;)V
:try_end_56
.catchall {:try_start_4e .. :try_end_56} :catchall_8a
.line 168
:try_start_56
invoke-static {v2}, Lcom/facebook/common/references/CloseableReference;->closeSafely(Lcom/facebook/common/references/CloseableReference;)V
:try_end_59
.catchall {:try_start_56 .. :try_end_59} :catchall_c5
.line 171
:try_start_59
iget-object p1, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mProducerContext:Lcom/facebook/imagepipeline/producers/ProducerContext;
invoke-interface {p1}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getListener()Lcom/facebook/imagepipeline/producers/ProducerListener;
move-result-object p1
iget-object v2, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mProducerContext:Lcom/facebook/imagepipeline/producers/ProducerContext;
.line 172
invoke-interface {v2}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getId()Ljava/lang/String;
move-result-object v2
.line 171
invoke-interface {p1, v2, v0}, Lcom/facebook/imagepipeline/producers/ProducerListener;->onConsumerFinish(Ljava/lang/String;Ljava/lang/String;)V
.line 174
invoke-virtual {p0}, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->getConsumer()Lcom/facebook/imagepipeline/producers/Consumer;
move-result-object p1
const/high16 v0, 0x3f800000 # 1.0f
invoke-interface {p1, v0}, Lcom/facebook/imagepipeline/producers/Consumer;->onProgressUpdate(F)V
.line 175
invoke-virtual {p0}, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->getConsumer()Lcom/facebook/imagepipeline/producers/Consumer;
move-result-object p1
invoke-interface {p1, v1, p2}, Lcom/facebook/imagepipeline/producers/Consumer;->onNewResult(Ljava/lang/Object;I)V
:try_end_78
.catchall {:try_start_59 .. :try_end_78} :catchall_85
.line 178
:try_start_78
invoke-static {v1}, Lcom/facebook/imagepipeline/image/EncodedImage;->closeSafely(Lcom/facebook/imagepipeline/image/EncodedImage;)V
:try_end_7b
.catchall {:try_start_78 .. :try_end_7b} :catchall_c5
.line 187
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->isTracing()Z
move-result p1
if-eqz p1, :cond_84
.line 188
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->endSection()V
:cond_84
return-void
:catchall_85
move-exception p1
.line 178
:try_start_86
invoke-static {v1}, Lcom/facebook/imagepipeline/image/EncodedImage;->closeSafely(Lcom/facebook/imagepipeline/image/EncodedImage;)V
throw p1
:catchall_8a
move-exception p1
.line 168
invoke-static {v2}, Lcom/facebook/common/references/CloseableReference;->closeSafely(Lcom/facebook/common/references/CloseableReference;)V
throw p1
:catchall_8f
move-exception p1
.line 160
invoke-static {v1}, Lcom/facebook/common/references/CloseableReference;->closeSafely(Lcom/facebook/common/references/CloseableReference;)V
throw p1
.line 182
:cond_94
iget-object v1, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mProducerContext:Lcom/facebook/imagepipeline/producers/ProducerContext;
invoke-interface {v1}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getListener()Lcom/facebook/imagepipeline/producers/ProducerListener;
move-result-object v1
iget-object v2, p0, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->mProducerContext:Lcom/facebook/imagepipeline/producers/ProducerContext;
.line 183
invoke-interface {v2}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getId()Ljava/lang/String;
move-result-object v2
.line 182
invoke-interface {v1, v2, v0}, Lcom/facebook/imagepipeline/producers/ProducerListener;->onConsumerFinish(Ljava/lang/String;Ljava/lang/String;)V
.line 185
invoke-virtual {p0}, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->getConsumer()Lcom/facebook/imagepipeline/producers/Consumer;
move-result-object v0
invoke-interface {v0, p1, p2}, Lcom/facebook/imagepipeline/producers/Consumer;->onNewResult(Ljava/lang/Object;I)V
:try_end_aa
.catchall {:try_start_86 .. :try_end_aa} :catchall_c5
.line 187
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->isTracing()Z
move-result p1
if-eqz p1, :cond_b3
.line 188
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->endSection()V
:cond_b3
return-void
.line 145
:cond_b4
:goto_b4
:try_start_b4
invoke-virtual {p0}, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->getConsumer()Lcom/facebook/imagepipeline/producers/Consumer;
move-result-object v0
invoke-interface {v0, p1, p2}, Lcom/facebook/imagepipeline/producers/Consumer;->onNewResult(Ljava/lang/Object;I)V
:try_end_bb
.catchall {:try_start_b4 .. :try_end_bb} :catchall_c5
.line 187
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->isTracing()Z
move-result p1
if-eqz p1, :cond_c4
.line 188
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->endSection()V
:cond_c4
return-void
:catchall_c5
move-exception p1
.line 187
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->isTracing()Z
move-result p2
if-eqz p2, :cond_cf
.line 188
invoke-static {}, Lcom/facebook/imagepipeline/systrace/FrescoSystrace;->endSection()V
:cond_cf
throw p1
.end method
.method public bridge synthetic onNewResultImpl(Ljava/lang/Object;I)V
.registers 3
.line 112
check-cast p1, Lcom/facebook/imagepipeline/image/EncodedImage;
invoke-virtual {p0, p1, p2}, Lcom/facebook/imagepipeline/producers/EncodedMemoryCacheProducer$EncodedMemoryCacheConsumer;->onNewResultImpl(Lcom/facebook/imagepipeline/image/EncodedImage;I)V
return-void
.end method