Options$Builder.smali

.class public abstract Lcom/facebook/spectrum/options/Options$Builder;
.super Ljava/lang/Object;
.source "Options.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/facebook/spectrum/options/Options;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x409
    name = "Builder"
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "<T:",
        "Lcom/facebook/spectrum/options/Options$Builder<",
        "TT;>;>",
        "Ljava/lang/Object;"
    }
.end annotation


# instance fields
.field public configuration:Lcom/facebook/spectrum/Configuration;
    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation
.end field

.field public cropRequirement:Lcom/facebook/spectrum/requirements/CropRequirement;
    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation
.end field

.field public encodeRequirement:Lcom/facebook/spectrum/requirements/EncodeRequirement;
    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation
.end field

.field public metadata:Lcom/facebook/spectrum/image/ImageMetadata;
    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation
.end field

.field public outputPixelSpecification:Lcom/facebook/spectrum/image/ImagePixelSpecification;
    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation
.end field

.field public resizeRequirement:Lcom/facebook/spectrum/requirements/ResizeRequirement;
    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation
.end field

.field public rotateRequirement:Lcom/facebook/spectrum/requirements/RotateRequirement;
    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation
.end field


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>()V
    .registers 2

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    const/4 v0, 0x0

    iput-object v0, p0, Lcom/facebook/spectrum/options/Options$Builder;->encodeRequirement:Lcom/facebook/spectrum/requirements/EncodeRequirement;

    iput-object v0, p0, Lcom/facebook/spectrum/options/Options$Builder;->resizeRequirement:Lcom/facebook/spectrum/requirements/ResizeRequirement;

    iput-object v0, p0, Lcom/facebook/spectrum/options/Options$Builder;->rotateRequirement:Lcom/facebook/spectrum/requirements/RotateRequirement;

    iput-object v0, p0, Lcom/facebook/spectrum/options/Options$Builder;->cropRequirement:Lcom/facebook/spectrum/requirements/CropRequirement;

    iput-object v0, p0, Lcom/facebook/spectrum/options/Options$Builder;->metadata:Lcom/facebook/spectrum/image/ImageMetadata;

    iput-object v0, p0, Lcom/facebook/spectrum/options/Options$Builder;->configuration:Lcom/facebook/spectrum/Configuration;

    iput-object v0, p0, Lcom/facebook/spectrum/options/Options$Builder;->outputPixelSpecification:Lcom/facebook/spectrum/image/ImagePixelSpecification;

    return-void
.end method


# virtual methods
.method public abstract build()Lcom/facebook/spectrum/options/Options;
.end method

.method public configuration(Lcom/facebook/spectrum/Configuration;)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/facebook/spectrum/Configuration;",
            ")TT;"
        }
    .end annotation

    invoke-static {p1}, Lcom/facebook/spectrum/utils/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lcom/facebook/spectrum/Configuration;

    iput-object p1, p0, Lcom/facebook/spectrum/options/Options$Builder;->configuration:Lcom/facebook/spectrum/Configuration;

    return-object p0
.end method

.method public crop(Lcom/facebook/spectrum/requirements/CropRequirement;)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/facebook/spectrum/requirements/CropRequirement;",
            ")TT;"
        }
    .end annotation

    invoke-static {p1}, Lcom/facebook/spectrum/utils/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lcom/facebook/spectrum/requirements/CropRequirement;

    iput-object p1, p0, Lcom/facebook/spectrum/options/Options$Builder;->cropRequirement:Lcom/facebook/spectrum/requirements/CropRequirement;

    return-object p0
.end method

.method public cropAbsoluteToOrigin(IIIIZ)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(IIIIZ)TT;"
        }
    .end annotation

    invoke-static {p1, p2, p3, p4, p5}, Lcom/facebook/spectrum/requirements/CropRequirement;->makeAbsoluteToOrigin(IIIIZ)Lcom/facebook/spectrum/requirements/CropRequirement;

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/facebook/spectrum/options/Options$Builder;->crop(Lcom/facebook/spectrum/requirements/CropRequirement;)Lcom/facebook/spectrum/options/Options$Builder;

    move-result-object p1

    return-object p1
.end method

.method public cropRelativeToOrigin(FFFFZ)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(FFFFZ)TT;"
        }
    .end annotation

    invoke-static {p1, p2, p3, p4, p5}, Lcom/facebook/spectrum/requirements/CropRequirement;->makeRelativeToOrigin(FFFFZ)Lcom/facebook/spectrum/requirements/CropRequirement;

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/facebook/spectrum/options/Options$Builder;->crop(Lcom/facebook/spectrum/requirements/CropRequirement;)Lcom/facebook/spectrum/options/Options$Builder;

    move-result-object p1

    return-object p1
.end method

.method public resize(Lcom/facebook/spectrum/requirements/ResizeRequirement$Mode;I)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/facebook/spectrum/requirements/ResizeRequirement$Mode;",
            "I)TT;"
        }
    .end annotation

    new-instance v0, Lcom/facebook/spectrum/requirements/ResizeRequirement;

    invoke-direct {v0, p1, p2}, Lcom/facebook/spectrum/requirements/ResizeRequirement;-><init>(Lcom/facebook/spectrum/requirements/ResizeRequirement$Mode;I)V

    invoke-virtual {p0, v0}, Lcom/facebook/spectrum/options/Options$Builder;->resize(Lcom/facebook/spectrum/requirements/ResizeRequirement;)Lcom/facebook/spectrum/options/Options$Builder;

    move-result-object p1

    return-object p1
.end method

.method public resize(Lcom/facebook/spectrum/requirements/ResizeRequirement$Mode;Lcom/facebook/spectrum/image/ImageSize;)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/facebook/spectrum/requirements/ResizeRequirement$Mode;",
            "Lcom/facebook/spectrum/image/ImageSize;",
            ")TT;"
        }
    .end annotation

    new-instance v0, Lcom/facebook/spectrum/requirements/ResizeRequirement;

    invoke-direct {v0, p1, p2}, Lcom/facebook/spectrum/requirements/ResizeRequirement;-><init>(Lcom/facebook/spectrum/requirements/ResizeRequirement$Mode;Lcom/facebook/spectrum/image/ImageSize;)V

    invoke-virtual {p0, v0}, Lcom/facebook/spectrum/options/Options$Builder;->resize(Lcom/facebook/spectrum/requirements/ResizeRequirement;)Lcom/facebook/spectrum/options/Options$Builder;

    move-result-object p1

    return-object p1
.end method

.method public resize(Lcom/facebook/spectrum/requirements/ResizeRequirement;)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/facebook/spectrum/requirements/ResizeRequirement;",
            ")TT;"
        }
    .end annotation

    invoke-static {p1}, Lcom/facebook/spectrum/utils/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lcom/facebook/spectrum/requirements/ResizeRequirement;

    iput-object p1, p0, Lcom/facebook/spectrum/options/Options$Builder;->resizeRequirement:Lcom/facebook/spectrum/requirements/ResizeRequirement;

    return-object p0
.end method

.method public rotate(I)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I)TT;"
        }
    .end annotation

    new-instance v0, Lcom/facebook/spectrum/requirements/RotateRequirement;

    invoke-direct {v0, p1}, Lcom/facebook/spectrum/requirements/RotateRequirement;-><init>(I)V

    invoke-virtual {p0, v0}, Lcom/facebook/spectrum/options/Options$Builder;->rotate(Lcom/facebook/spectrum/requirements/RotateRequirement;)Lcom/facebook/spectrum/options/Options$Builder;

    move-result-object p1

    return-object p1
.end method

.method public rotate(IZZZ)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(IZZZ)TT;"
        }
    .end annotation

    new-instance v0, Lcom/facebook/spectrum/requirements/RotateRequirement;

    invoke-direct {v0, p1, p2, p3, p4}, Lcom/facebook/spectrum/requirements/RotateRequirement;-><init>(IZZZ)V

    invoke-virtual {p0, v0}, Lcom/facebook/spectrum/options/Options$Builder;->rotate(Lcom/facebook/spectrum/requirements/RotateRequirement;)Lcom/facebook/spectrum/options/Options$Builder;

    move-result-object p1

    return-object p1
.end method

.method public rotate(Lcom/facebook/spectrum/requirements/RotateRequirement;)Lcom/facebook/spectrum/options/Options$Builder;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/facebook/spectrum/requirements/RotateRequirement;",
            ")TT;"
        }
    .end annotation

    iput-object p1, p0, Lcom/facebook/spectrum/options/Options$Builder;->rotateRequirement:Lcom/facebook/spectrum/requirements/RotateRequirement;

    return-object p0
.end method