DiskCacheWriteProducer.smali
.class public Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;
.super Ljava/lang/Object;
.source "DiskCacheWriteProducer.java"
# interfaces
.implements Lcom/facebook/imagepipeline/producers/Producer;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer$DiskCacheWriteConsumer;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/imagepipeline/producers/Producer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;"
}
.end annotation
# static fields
.field static final PRODUCER_NAME:Ljava/lang/String; = "DiskCacheWriteProducer"
# instance fields
.field private final mCacheKeyFactory:Lcom/facebook/imagepipeline/cache/CacheKeyFactory;
.field private final mDefaultBufferedDiskCache:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
.field private final mInputProducer:Lcom/facebook/imagepipeline/producers/Producer;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/facebook/imagepipeline/producers/Producer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;"
}
.end annotation
.end field
.field private final mSmallImageBufferedDiskCache:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
# direct methods
.method public constructor <init>(Lcom/facebook/imagepipeline/cache/BufferedDiskCache;Lcom/facebook/imagepipeline/cache/BufferedDiskCache;Lcom/facebook/imagepipeline/cache/CacheKeyFactory;Lcom/facebook/imagepipeline/producers/Producer;)V
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0
}
names = {
"defaultBufferedDiskCache",
"smallImageBufferedDiskCache",
"cacheKeyFactory",
"inputProducer"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/imagepipeline/cache/BufferedDiskCache;",
"Lcom/facebook/imagepipeline/cache/BufferedDiskCache;",
"Lcom/facebook/imagepipeline/cache/CacheKeyFactory;",
"Lcom/facebook/imagepipeline/producers/Producer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;)V"
}
.end annotation
.line 46
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 47
iput-object p1, p0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->mDefaultBufferedDiskCache:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
.line 48
iput-object p2, p0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->mSmallImageBufferedDiskCache:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
.line 49
iput-object p3, p0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->mCacheKeyFactory:Lcom/facebook/imagepipeline/cache/CacheKeyFactory;
.line 50
iput-object p4, p0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->mInputProducer:Lcom/facebook/imagepipeline/producers/Producer;
return-void
.end method
.method private maybeStartInputProducer(Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)V
.registers 11
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"consumerOfDiskCacheWriteProducer",
"producerContext"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/imagepipeline/producers/Consumer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;",
"Lcom/facebook/imagepipeline/producers/ProducerContext;",
")V"
}
.end annotation
.line 60
invoke-interface {p2}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getLowestPermittedRequestLevel()Lcom/facebook/imagepipeline/request/ImageRequest$RequestLevel;
move-result-object v0
invoke-virtual {v0}, Lcom/facebook/imagepipeline/request/ImageRequest$RequestLevel;->getValue()I
move-result v0
sget-object v1, Lcom/facebook/imagepipeline/request/ImageRequest$RequestLevel;->DISK_CACHE:Lcom/facebook/imagepipeline/request/ImageRequest$RequestLevel;
.line 61
invoke-virtual {v1}, Lcom/facebook/imagepipeline/request/ImageRequest$RequestLevel;->getValue()I
move-result v1
if-lt v0, v1, :cond_1d
const-string v0, "disk"
const-string v1, "nil-result_write"
.line 62
invoke-interface {p2, v0, v1}, Lcom/facebook/imagepipeline/producers/ProducerContext;->putOriginExtra(Ljava/lang/String;Ljava/lang/String;)V
const/4 p2, 0x0
const/4 v0, 0x1
.line 63
invoke-interface {p1, p2, v0}, Lcom/facebook/imagepipeline/producers/Consumer;->onNewResult(Ljava/lang/Object;I)V
goto :goto_3c
.line 66
:cond_1d
invoke-interface {p2}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getImageRequest()Lcom/facebook/imagepipeline/request/ImageRequest;
move-result-object v0
invoke-virtual {v0}, Lcom/facebook/imagepipeline/request/ImageRequest;->isDiskCacheEnabled()Z
move-result v0
if-eqz v0, :cond_37
.line 67
new-instance v0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer$DiskCacheWriteConsumer;
iget-object v4, p0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->mDefaultBufferedDiskCache:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
iget-object v5, p0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->mSmallImageBufferedDiskCache:Lcom/facebook/imagepipeline/cache/BufferedDiskCache;
iget-object v6, p0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->mCacheKeyFactory:Lcom/facebook/imagepipeline/cache/CacheKeyFactory;
const/4 v7, 0x0
move-object v1, v0
move-object v2, p1
move-object v3, p2
invoke-direct/range {v1 .. v7}, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer$DiskCacheWriteConsumer;-><init>(Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;Lcom/facebook/imagepipeline/cache/BufferedDiskCache;Lcom/facebook/imagepipeline/cache/BufferedDiskCache;Lcom/facebook/imagepipeline/cache/CacheKeyFactory;Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer$1;)V
move-object p1, v0
.line 78
:cond_37
iget-object v0, p0, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->mInputProducer:Lcom/facebook/imagepipeline/producers/Producer;
invoke-interface {v0, p1, p2}, Lcom/facebook/imagepipeline/producers/Producer;->produceResults(Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)V
:goto_3c
return-void
.end method
# virtual methods
.method public produceResults(Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x10,
0x10
}
names = {
"consumer",
"producerContext"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/imagepipeline/producers/Consumer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;",
"Lcom/facebook/imagepipeline/producers/ProducerContext;",
")V"
}
.end annotation
.line 55
invoke-direct {p0, p1, p2}, Lcom/facebook/imagepipeline/producers/DiskCacheWriteProducer;->maybeStartInputProducer(Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)V
return-void
.end method