BidirectionalStreamBuilderImpl.smali

.class public Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;
.super Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;


# instance fields
.field private final mCallback:Laegon/chrome/net/BidirectionalStream$Callback;

.field private final mCronetEngine:Laegon/chrome/net/impl/CronetEngineBase;

.field private mDelayRequestHeadersUntilFirstFlush:Z

.field private final mExecutor:Ljava/util/concurrent/Executor;

.field private mHttpMethod:Ljava/lang/String;

.field private mPriority:I

.field private mRequestAnnotations:Ljava/util/Collection;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Collection",
            "<",
            "Ljava/lang/Object;",
            ">;"
        }
    .end annotation
.end field

.field private final mRequestHeaders:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList",
            "<",
            "Ljava/util/Map$Entry",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;>;"
        }
    .end annotation
.end field

.field private mTrafficStatsTag:I

.field private mTrafficStatsTagSet:Z

.field private mTrafficStatsUid:I

.field private mTrafficStatsUidSet:Z

.field private final mUrl:Ljava/lang/String;


# direct methods
.method constructor <init>(Ljava/lang/String;Laegon/chrome/net/BidirectionalStream$Callback;Ljava/util/concurrent/Executor;Laegon/chrome/net/impl/CronetEngineBase;)V
    .registers 7

    invoke-direct {p0}, Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;-><init>()V

    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mRequestHeaders:Ljava/util/ArrayList;

    const-string v0, "POST"

    iput-object v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mHttpMethod:Ljava/lang/String;

    const/4 v0, 0x3

    iput v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mPriority:I

    if-nez p1, :cond_1b

    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "URL is required."

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_1b
    if-nez p2, :cond_25

    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "Callback is required."

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_25
    if-nez p3, :cond_2f

    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "Executor is required."

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_2f
    if-nez p4, :cond_39

    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "CronetEngine is required."

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_39
    iput-object p1, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mUrl:Ljava/lang/String;

    iput-object p2, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mCallback:Laegon/chrome/net/BidirectionalStream$Callback;

    iput-object p3, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mExecutor:Ljava/util/concurrent/Executor;

    iput-object p4, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mCronetEngine:Laegon/chrome/net/impl/CronetEngineBase;

    return-void
.end method


# virtual methods
.method public bridge synthetic addHeader(Ljava/lang/String;Ljava/lang/String;)Laegon/chrome/net/BidirectionalStream$Builder;
    .registers 4

    invoke-virtual {p0, p1, p2}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->addHeader(Ljava/lang/String;Ljava/lang/String;)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;

    move-result-object v0

    return-object v0
.end method

.method public bridge synthetic addHeader(Ljava/lang/String;Ljava/lang/String;)Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;
    .registers 4

    invoke-virtual {p0, p1, p2}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->addHeader(Ljava/lang/String;Ljava/lang/String;)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;

    move-result-object v0

    return-object v0
.end method

.method public addHeader(Ljava/lang/String;Ljava/lang/String;)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;
    .registers 5

    if-nez p1, :cond_a

    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "Invalid header name."

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_a
    if-nez p2, :cond_14

    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "Invalid header value."

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_14
    iget-object v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mRequestHeaders:Ljava/util/ArrayList;

    new-instance v1, Ljava/util/AbstractMap$SimpleImmutableEntry;

    invoke-direct {v1, p1, p2}, Ljava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    return-object p0
.end method

.method public addRequestAnnotation(Ljava/lang/Object;)Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;
    .registers 4

    if-nez p1, :cond_a

    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "Invalid metrics annotation."

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_a
    iget-object v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mRequestAnnotations:Ljava/util/Collection;

    if-nez v0, :cond_15

    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mRequestAnnotations:Ljava/util/Collection;

    :cond_15
    iget-object v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mRequestAnnotations:Ljava/util/Collection;

    invoke-interface {v0, p1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z

    return-object p0
.end method

.method public bridge synthetic build()Laegon/chrome/net/BidirectionalStream;
    .registers 2
    .annotation build Landroid/annotation/SuppressLint;
        value = {
            "WrongConstant"
        }
    .end annotation

    invoke-virtual {p0}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->build()Laegon/chrome/net/ExperimentalBidirectionalStream;

    move-result-object v0

    return-object v0
.end method

.method public build()Laegon/chrome/net/ExperimentalBidirectionalStream;
    .registers 14
    .annotation build Landroid/annotation/SuppressLint;
        value = {
            "WrongConstant"
        }
    .end annotation

    iget-object v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mCronetEngine:Laegon/chrome/net/impl/CronetEngineBase;

    iget-object v1, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mUrl:Ljava/lang/String;

    iget-object v2, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mCallback:Laegon/chrome/net/BidirectionalStream$Callback;

    iget-object v3, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mExecutor:Ljava/util/concurrent/Executor;

    iget-object v4, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mHttpMethod:Ljava/lang/String;

    iget-object v5, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mRequestHeaders:Ljava/util/ArrayList;

    iget v6, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mPriority:I

    iget-boolean v7, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mDelayRequestHeadersUntilFirstFlush:Z

    iget-object v8, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mRequestAnnotations:Ljava/util/Collection;

    iget-boolean v9, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mTrafficStatsTagSet:Z

    iget v10, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mTrafficStatsTag:I

    iget-boolean v11, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mTrafficStatsUidSet:Z

    iget v12, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mTrafficStatsUid:I

    invoke-virtual/range {v0 .. v12}, Laegon/chrome/net/impl/CronetEngineBase;->createBidirectionalStream(Ljava/lang/String;Laegon/chrome/net/BidirectionalStream$Callback;Ljava/util/concurrent/Executor;Ljava/lang/String;Ljava/util/List;IZLjava/util/Collection;ZIZI)Laegon/chrome/net/ExperimentalBidirectionalStream;

    move-result-object v0

    return-object v0
.end method

.method public bridge synthetic delayRequestHeadersUntilFirstFlush(Z)Laegon/chrome/net/BidirectionalStream$Builder;
    .registers 3

    invoke-virtual {p0, p1}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->delayRequestHeadersUntilFirstFlush(Z)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;

    move-result-object v0

    return-object v0
.end method

.method public bridge synthetic delayRequestHeadersUntilFirstFlush(Z)Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;
    .registers 3

    invoke-virtual {p0, p1}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->delayRequestHeadersUntilFirstFlush(Z)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;

    move-result-object v0

    return-object v0
.end method

.method public delayRequestHeadersUntilFirstFlush(Z)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;
    .registers 2

    iput-boolean p1, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mDelayRequestHeadersUntilFirstFlush:Z

    return-object p0
.end method

.method public bridge synthetic setHttpMethod(Ljava/lang/String;)Laegon/chrome/net/BidirectionalStream$Builder;
    .registers 3

    invoke-virtual {p0, p1}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->setHttpMethod(Ljava/lang/String;)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;

    move-result-object v0

    return-object v0
.end method

.method public bridge synthetic setHttpMethod(Ljava/lang/String;)Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;
    .registers 3

    invoke-virtual {p0, p1}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->setHttpMethod(Ljava/lang/String;)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;

    move-result-object v0

    return-object v0
.end method

.method public setHttpMethod(Ljava/lang/String;)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;
    .registers 4

    if-nez p1, :cond_a

    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "Method is required."

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_a
    iput-object p1, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mHttpMethod:Ljava/lang/String;

    return-object p0
.end method

.method public bridge synthetic setPriority(I)Laegon/chrome/net/BidirectionalStream$Builder;
    .registers 3

    invoke-virtual {p0, p1}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->setPriority(I)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;

    move-result-object v0

    return-object v0
.end method

.method public bridge synthetic setPriority(I)Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;
    .registers 3

    invoke-virtual {p0, p1}, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->setPriority(I)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;

    move-result-object v0

    return-object v0
.end method

.method public setPriority(I)Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;
    .registers 2

    iput p1, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mPriority:I

    return-object p0
.end method

.method public setTrafficStatsTag(I)Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;
    .registers 3

    const/4 v0, 0x1

    iput-boolean v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mTrafficStatsTagSet:Z

    iput p1, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mTrafficStatsTag:I

    return-object p0
.end method

.method public setTrafficStatsUid(I)Laegon/chrome/net/ExperimentalBidirectionalStream$Builder;
    .registers 3

    const/4 v0, 0x1

    iput-boolean v0, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mTrafficStatsUidSet:Z

    iput p1, p0, Laegon/chrome/net/impl/BidirectionalStreamBuilderImpl;->mTrafficStatsUid:I

    return-object p0
.end method