ae.smali

.class public final Lokhttp3/ae;
.super Lokhttp3/an;
.source "MultipartBody.java"


# static fields
.field public static final bWf:Lokhttp3/ad;

.field public static final bWg:Lokhttp3/ad;

.field private static final bWh:[B

.field private static final bWi:[B

.field private static final bWj:[B


# instance fields
.field private final bWk:Lokio/ByteString;

.field private final bWl:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Lokhttp3/ag;",
            ">;"
        }
    .end annotation
.end field

.field private contentLength:J

.field private final contentType:Lokhttp3/ad;


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

    .prologue
    const/4 v1, 0x2

    .line 35
    const-string v0, "multipart/mixed"

    invoke-static {v0}, Lokhttp3/ad;->hI(Ljava/lang/String;)Lokhttp3/ad;

    move-result-object v0

    sput-object v0, Lokhttp3/ae;->bWf:Lokhttp3/ad;

    .line 42
    const-string v0, "multipart/alternative"

    invoke-static {v0}, Lokhttp3/ad;->hI(Ljava/lang/String;)Lokhttp3/ad;

    .line 49
    const-string v0, "multipart/digest"

    invoke-static {v0}, Lokhttp3/ad;->hI(Ljava/lang/String;)Lokhttp3/ad;

    .line 55
    const-string v0, "multipart/parallel"

    invoke-static {v0}, Lokhttp3/ad;->hI(Ljava/lang/String;)Lokhttp3/ad;

    .line 62
    const-string v0, "multipart/form-data"

    invoke-static {v0}, Lokhttp3/ad;->hI(Ljava/lang/String;)Lokhttp3/ad;

    move-result-object v0

    sput-object v0, Lokhttp3/ae;->bWg:Lokhttp3/ad;

    .line 64
    new-array v0, v1, [B

    fill-array-data v0, :array_36

    sput-object v0, Lokhttp3/ae;->bWh:[B

    .line 65
    new-array v0, v1, [B

    fill-array-data v0, :array_3c

    sput-object v0, Lokhttp3/ae;->bWi:[B

    .line 66
    new-array v0, v1, [B

    fill-array-data v0, :array_42

    sput-object v0, Lokhttp3/ae;->bWj:[B

    return-void

    .line 64
    :array_36
    .array-data 1
        0x3at
        0x20t
    .end array-data

    .line 65
    nop

    :array_3c
    .array-data 1
        0xdt
        0xat
    .end array-data

    .line 66
    nop

    :array_42
    .array-data 1
        0x2dt
        0x2dt
    .end array-data
.end method

.method constructor <init>(Lokio/ByteString;Lokhttp3/ad;Ljava/util/List;)V
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lokio/ByteString;",
            "Lokhttp3/ad;",
            "Ljava/util/List",
            "<",
            "Lokhttp3/ag;",
            ">;)V"
        }
    .end annotation

    .prologue
    .line 74
    invoke-direct {p0}, Lokhttp3/an;-><init>()V

    .line 72
    const-wide/16 v0, -0x1

    iput-wide v0, p0, Lokhttp3/ae;->contentLength:J

    .line 75
    iput-object p1, p0, Lokhttp3/ae;->bWk:Lokio/ByteString;

    .line 77
    new-instance v0, Ljava/lang/StringBuilder;

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

    invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "; boundary="

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {p1}, Lokio/ByteString;->utf8()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lokhttp3/ad;->hI(Ljava/lang/String;)Lokhttp3/ad;

    move-result-object v0

    iput-object v0, p0, Lokhttp3/ae;->contentType:Lokhttp3/ad;

    .line 78
    invoke-static {p3}, Lokhttp3/internal/c;->X(Ljava/util/List;)Ljava/util/List;

    move-result-object v0

    iput-object v0, p0, Lokhttp3/ae;->bWl:Ljava/util/List;

    .line 79
    return-void
.end method

.method static a(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
    .registers 6

    .prologue
    const/16 v3, 0x22

    .line 203
    invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    .line 204
    const/4 v0, 0x0

    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result v1

    :goto_a
    if-ge v0, v1, :cond_2b

    .line 205
    invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C

    move-result v2

    .line 206
    sparse-switch v2, :sswitch_data_30

    .line 217
    invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    .line 204
    :goto_16
    add-int/lit8 v0, v0, 0x1

    goto :goto_a

    .line 208
    :sswitch_19
    const-string v2, "%0A"

    invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_16

    .line 211
    :sswitch_1f
    const-string v2, "%0D"

    invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_16

    .line 214
    :sswitch_25
    const-string v2, "%22"

    invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_16

    .line 221
    :cond_2b
    invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    .line 222
    return-object p0

    .line 206
    nop

    :sswitch_data_30
    .sparse-switch
        0xa -> :sswitch_19
        0xd -> :sswitch_1f
        0x22 -> :sswitch_25
    .end sparse-switch
.end method

.method private b(Lokio/e;Z)J
    .registers 15

    .prologue
    .line 125
    const-wide/16 v2, 0x0

    .line 127
    const/4 v0, 0x0

    .line 128
    if-eqz p2, :cond_c6

    .line 129
    new-instance v0, Lokio/d;

    invoke-direct {v0}, Lokio/d;-><init>()V

    move-object v1, v0

    move-object p1, v0

    .line 132
    :goto_c
    const/4 v0, 0x0

    iget-object v4, p0, Lokhttp3/ae;->bWl:Ljava/util/List;

    invoke-interface {v4}, Ljava/util/List;->size()I

    move-result v5

    move v4, v0

    :goto_14
    if-ge v4, v5, :cond_a9

    .line 133
    iget-object v0, p0, Lokhttp3/ae;->bWl:Ljava/util/List;

    invoke-interface {v0, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lokhttp3/ag;

    .line 134
    iget-object v6, v0, Lokhttp3/ag;->headers:Lokhttp3/z;

    .line 135
    iget-object v7, v0, Lokhttp3/ag;->body:Lokhttp3/an;

    .line 137
    sget-object v0, Lokhttp3/ae;->bWj:[B

    invoke-interface {p1, v0}, Lokio/e;->aB([B)Lokio/e;

    .line 138
    iget-object v0, p0, Lokhttp3/ae;->bWk:Lokio/ByteString;

    invoke-interface {p1, v0}, Lokio/e;->h(Lokio/ByteString;)Lokio/e;

    .line 139
    sget-object v0, Lokhttp3/ae;->bWi:[B

    invoke-interface {p1, v0}, Lokio/e;->aB([B)Lokio/e;

    .line 141
    if-eqz v6, :cond_59

    .line 142
    const/4 v0, 0x0

    .line 1077
    iget-object v8, v6, Lokhttp3/z;->bwJ:[Ljava/lang/String;

    array-length v8, v8

    div-int/lit8 v8, v8, 0x2

    .line 142
    :goto_39
    if-ge v0, v8, :cond_59

    .line 143
    invoke-virtual {v6, v0}, Lokhttp3/z;->name(I)Ljava/lang/String;

    move-result-object v9

    invoke-interface {p1, v9}, Lokio/e;->hV(Ljava/lang/String;)Lokio/e;

    move-result-object v9

    sget-object v10, Lokhttp3/ae;->bWh:[B

    .line 144
    invoke-interface {v9, v10}, Lokio/e;->aB([B)Lokio/e;

    move-result-object v9

    .line 145
    invoke-virtual {v6, v0}, Lokhttp3/z;->eo(I)Ljava/lang/String;

    move-result-object v10

    invoke-interface {v9, v10}, Lokio/e;->hV(Ljava/lang/String;)Lokio/e;

    move-result-object v9

    sget-object v10, Lokhttp3/ae;->bWi:[B

    .line 146
    invoke-interface {v9, v10}, Lokio/e;->aB([B)Lokio/e;

    .line 142
    add-int/lit8 v0, v0, 0x1

    goto :goto_39

    .line 150
    :cond_59
    invoke-virtual {v7}, Lokhttp3/an;->contentType()Lokhttp3/ad;

    move-result-object v0

    .line 151
    if-eqz v0, :cond_72

    .line 152
    const-string v6, "Content-Type: "

    invoke-interface {p1, v6}, Lokio/e;->hV(Ljava/lang/String;)Lokio/e;

    move-result-object v6

    .line 153
    invoke-virtual {v0}, Lokhttp3/ad;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-interface {v6, v0}, Lokio/e;->hV(Ljava/lang/String;)Lokio/e;

    move-result-object v0

    sget-object v6, Lokhttp3/ae;->bWi:[B

    .line 154
    invoke-interface {v0, v6}, Lokio/e;->aB([B)Lokio/e;

    .line 157
    :cond_72
    invoke-virtual {v7}, Lokhttp3/an;->contentLength()J

    move-result-wide v8

    .line 158
    const-wide/16 v10, -0x1

    cmp-long v0, v8, v10

    if-eqz v0, :cond_9d

    .line 159
    const-string v0, "Content-Length: "

    invoke-interface {p1, v0}, Lokio/e;->hV(Ljava/lang/String;)Lokio/e;

    move-result-object v0

    .line 160
    invoke-interface {v0, v8, v9}, Lokio/e;->ac(J)Lokio/e;

    move-result-object v0

    sget-object v6, Lokhttp3/ae;->bWi:[B

    .line 161
    invoke-interface {v0, v6}, Lokio/e;->aB([B)Lokio/e;

    .line 168
    :cond_8b
    sget-object v0, Lokhttp3/ae;->bWi:[B

    invoke-interface {p1, v0}, Lokio/e;->aB([B)Lokio/e;

    .line 170
    if-eqz p2, :cond_a5

    .line 171
    add-long/2addr v2, v8

    .line 176
    :goto_93
    sget-object v0, Lokhttp3/ae;->bWi:[B

    invoke-interface {p1, v0}, Lokio/e;->aB([B)Lokio/e;

    .line 132
    add-int/lit8 v0, v4, 0x1

    move v4, v0

    goto/16 :goto_14

    .line 162
    :cond_9d
    if-eqz p2, :cond_8b

    .line 164
    invoke-virtual {v1}, Lokio/d;->clear()V

    .line 165
    const-wide/16 v2, -0x1

    .line 189
    :cond_a4
    :goto_a4
    return-wide v2

    .line 173
    :cond_a5
    invoke-virtual {v7, p1}, Lokhttp3/an;->writeTo(Lokio/e;)V

    goto :goto_93

    .line 179
    :cond_a9
    sget-object v0, Lokhttp3/ae;->bWj:[B

    invoke-interface {p1, v0}, Lokio/e;->aB([B)Lokio/e;

    .line 180
    iget-object v0, p0, Lokhttp3/ae;->bWk:Lokio/ByteString;

    invoke-interface {p1, v0}, Lokio/e;->h(Lokio/ByteString;)Lokio/e;

    .line 181
    sget-object v0, Lokhttp3/ae;->bWj:[B

    invoke-interface {p1, v0}, Lokio/e;->aB([B)Lokio/e;

    .line 182
    sget-object v0, Lokhttp3/ae;->bWi:[B

    invoke-interface {p1, v0}, Lokio/e;->aB([B)Lokio/e;

    .line 184
    if-eqz p2, :cond_a4

    .line 2067
    iget-wide v4, v1, Lokio/d;->size:J

    .line 185
    add-long/2addr v2, v4

    .line 186
    invoke-virtual {v1}, Lokio/d;->clear()V

    goto :goto_a4

    :cond_c6
    move-object v1, v0

    goto/16 :goto_c
.end method


# virtual methods
.method public final contentLength()J
    .registers 5

    .prologue
    .line 108
    iget-wide v0, p0, Lokhttp3/ae;->contentLength:J

    .line 109
    const-wide/16 v2, -0x1

    cmp-long v2, v0, v2

    if-eqz v2, :cond_9

    .line 110
    :goto_8
    return-wide v0

    :cond_9
    const/4 v0, 0x0

    const/4 v1, 0x1

    invoke-direct {p0, v0, v1}, Lokhttp3/ae;->b(Lokio/e;Z)J

    move-result-wide v0

    iput-wide v0, p0, Lokhttp3/ae;->contentLength:J

    goto :goto_8
.end method

.method public final contentType()Lokhttp3/ad;
    .registers 2

    .prologue
    .line 104
    iget-object v0, p0, Lokhttp3/ae;->contentType:Lokhttp3/ad;

    return-object v0
.end method

.method public final writeTo(Lokio/e;)V
    .registers 3

    .prologue
    .line 114
    const/4 v0, 0x0

    invoke-direct {p0, p1, v0}, Lokhttp3/ae;->b(Lokio/e;Z)J

    .line 115
    return-void
.end method