ThumbnailBranchProducer.smali
.class public Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;
.super Ljava/lang/Object;
.source "ThumbnailBranchProducer.java"
# interfaces
.implements Lcom/facebook/imagepipeline/producers/Producer;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer$ThumbnailConsumer;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/imagepipeline/producers/Producer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;"
}
.end annotation
# instance fields
.field private final mThumbnailProducers:[Lcom/facebook/imagepipeline/producers/ThumbnailProducer;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lcom/facebook/imagepipeline/producers/ThumbnailProducer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;"
}
.end annotation
.end field
# direct methods
.method public varargs constructor <init>([Lcom/facebook/imagepipeline/producers/ThumbnailProducer;)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"thumbnailProducers"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lcom/facebook/imagepipeline/producers/ThumbnailProducer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;)V"
}
.end annotation
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 31
invoke-static {p1}, Lcom/facebook/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [Lcom/facebook/imagepipeline/producers/ThumbnailProducer;
iput-object p1, p0, Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;->mThumbnailProducers:[Lcom/facebook/imagepipeline/producers/ThumbnailProducer;
.line 32
array-length p1, p1
const/4 v0, 0x0
invoke-static {v0, p1}, Lcom/facebook/common/internal/Preconditions;->checkElementIndex(II)I
return-void
.end method
.method static synthetic access$000(Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;ILcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)Z
.registers 4
.line 26
invoke-direct {p0, p1, p2, p3}, Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;->produceResultsFromThumbnailProducer(ILcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)Z
move-result p0
return p0
.end method
.method private findFirstProducerForSize(ILcom/facebook/imagepipeline/common/ResizeOptions;)I
.registers 5
.param p2 # Lcom/facebook/imagepipeline/common/ResizeOptions;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"startIndex",
"resizeOptions"
}
.end annotation
.line 108
:goto_0
iget-object v0, p0, Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;->mThumbnailProducers:[Lcom/facebook/imagepipeline/producers/ThumbnailProducer;
array-length v1, v0
if-ge p1, v1, :cond_11
.line 109
aget-object v0, v0, p1
invoke-interface {v0, p2}, Lcom/facebook/imagepipeline/producers/ThumbnailProducer;->canProvideImageForSize(Lcom/facebook/imagepipeline/common/ResizeOptions;)Z
move-result v0
if-eqz v0, :cond_e
return p1
:cond_e
add-int/lit8 p1, p1, 0x1
goto :goto_0
:cond_11
const/4 p1, -0x1
return p1
.end method
.method private produceResultsFromThumbnailProducer(ILcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)Z
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"startIndex",
"consumer",
"context"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/facebook/imagepipeline/producers/Consumer<",
"Lcom/facebook/imagepipeline/image/EncodedImage;",
">;",
"Lcom/facebook/imagepipeline/producers/ProducerContext;",
")Z"
}
.end annotation
.line 96
invoke-interface {p3}, Lcom/facebook/imagepipeline/producers/ProducerContext;->getImageRequest()Lcom/facebook/imagepipeline/request/ImageRequest;
move-result-object v0
invoke-virtual {v0}, Lcom/facebook/imagepipeline/request/ImageRequest;->getResizeOptions()Lcom/facebook/imagepipeline/common/ResizeOptions;
move-result-object v0
invoke-direct {p0, p1, v0}, Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;->findFirstProducerForSize(ILcom/facebook/imagepipeline/common/ResizeOptions;)I
move-result p1
const/4 v0, -0x1
if-ne p1, v0, :cond_11
const/4 p1, 0x0
return p1
.line 102
:cond_11
iget-object v0, p0, Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;->mThumbnailProducers:[Lcom/facebook/imagepipeline/producers/ThumbnailProducer;
aget-object v0, v0, p1
new-instance v1, Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer$ThumbnailConsumer;
invoke-direct {v1, p0, p2, p3, p1}, Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer$ThumbnailConsumer;-><init>(Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;I)V
invoke-interface {v0, v1, p3}, Lcom/facebook/imagepipeline/producers/ThumbnailProducer;->produceResults(Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)V
const/4 p1, 0x1
return p1
.end method
# virtual methods
.method public produceResults(Lcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x10,
0x10
}
names = {
"consumer",
"context"
}
.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 37
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;->getResizeOptions()Lcom/facebook/imagepipeline/common/ResizeOptions;
move-result-object v0
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_10
.line 38
invoke-interface {p1, v2, v1}, Lcom/facebook/imagepipeline/producers/Consumer;->onNewResult(Ljava/lang/Object;I)V
goto :goto_1a
:cond_10
const/4 v0, 0x0
.line 40
invoke-direct {p0, v0, p1, p2}, Lcom/facebook/imagepipeline/producers/ThumbnailBranchProducer;->produceResultsFromThumbnailProducer(ILcom/facebook/imagepipeline/producers/Consumer;Lcom/facebook/imagepipeline/producers/ProducerContext;)Z
move-result p2
if-nez p2, :cond_1a
.line 42
invoke-interface {p1, v2, v1}, Lcom/facebook/imagepipeline/producers/Consumer;->onNewResult(Ljava/lang/Object;I)V
:cond_1a
:goto_1a
return-void
.end method