MultipartBody.smali
.class public final Lokhttp3/MultipartBody;
.super Lokhttp3/RequestBody;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lokhttp3/MultipartBody$Part;,
Lokhttp3/MultipartBody$Builder;,
Lokhttp3/MultipartBody$Companion;
}
.end annotation
# static fields
.field public static final l:Lokhttp3/MediaType;
.field public static final m:Lokhttp3/MediaType;
.field private static final n:[B
.field private static final o:[B
.field private static final p:[B
.field public static final q:Lokhttp3/MultipartBody$Companion;
# instance fields
.field private final g:Lokhttp3/MediaType;
.field private h:J
.field private final i:Lokio/ByteString;
.field private final j:Lokhttp3/MediaType;
.field private final k:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lokhttp3/MultipartBody$Part;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 5
new-instance v0, Lokhttp3/MultipartBody$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lokhttp3/MultipartBody$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lokhttp3/MultipartBody;->q:Lokhttp3/MultipartBody$Companion;
sget-object v0, Lokhttp3/MediaType;->f:Lokhttp3/MediaType$Companion;
const-string v1, "multipart/mixed"
invoke-virtual {v0, v1}, Lokhttp3/MediaType$Companion;->a(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object v0
sput-object v0, Lokhttp3/MultipartBody;->l:Lokhttp3/MediaType;
sget-object v0, Lokhttp3/MediaType;->f:Lokhttp3/MediaType$Companion;
const-string v1, "multipart/alternative"
invoke-virtual {v0, v1}, Lokhttp3/MediaType$Companion;->a(Ljava/lang/String;)Lokhttp3/MediaType;
sget-object v0, Lokhttp3/MediaType;->f:Lokhttp3/MediaType$Companion;
const-string v1, "multipart/digest"
invoke-virtual {v0, v1}, Lokhttp3/MediaType$Companion;->a(Ljava/lang/String;)Lokhttp3/MediaType;
sget-object v0, Lokhttp3/MediaType;->f:Lokhttp3/MediaType$Companion;
const-string v1, "multipart/parallel"
invoke-virtual {v0, v1}, Lokhttp3/MediaType$Companion;->a(Ljava/lang/String;)Lokhttp3/MediaType;
sget-object v0, Lokhttp3/MediaType;->f:Lokhttp3/MediaType$Companion;
const-string v1, "multipart/form-data"
invoke-virtual {v0, v1}, Lokhttp3/MediaType$Companion;->a(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object v0
sput-object v0, Lokhttp3/MultipartBody;->m:Lokhttp3/MediaType;
const/4 v0, 0x2
new-array v1, v0, [B
const/16 v2, 0x3a
int-to-byte v2, v2
const/4 v3, 0x0
aput-byte v2, v1, v3
const/16 v2, 0x20
int-to-byte v2, v2
const/4 v4, 0x1
aput-byte v2, v1, v4
sput-object v1, Lokhttp3/MultipartBody;->n:[B
new-array v1, v0, [B
const/16 v2, 0xd
int-to-byte v2, v2
aput-byte v2, v1, v3
const/16 v2, 0xa
int-to-byte v2, v2
aput-byte v2, v1, v4
sput-object v1, Lokhttp3/MultipartBody;->o:[B
new-array v0, v0, [B
const/16 v1, 0x2d
int-to-byte v1, v1
aput-byte v1, v0, v3
aput-byte v1, v0, v4
sput-object v0, Lokhttp3/MultipartBody;->p:[B
return-void
.end method
.method public constructor <init>(Lokio/ByteString;Lokhttp3/MediaType;Ljava/util/List;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lokio/ByteString;",
"Lokhttp3/MediaType;",
"Ljava/util/List<",
"Lokhttp3/MultipartBody$Part;",
">;)V"
}
.end annotation
const-string v0, "boundaryByteString"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "type"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "parts"
invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Lokhttp3/RequestBody;-><init>()V
iput-object p1, p0, Lokhttp3/MultipartBody;->i:Lokio/ByteString;
iput-object p2, p0, Lokhttp3/MultipartBody;->j:Lokhttp3/MediaType;
iput-object p3, p0, Lokhttp3/MultipartBody;->k:Ljava/util/List;
sget-object p1, Lokhttp3/MediaType;->f:Lokhttp3/MediaType$Companion;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
iget-object p3, p0, Lokhttp3/MultipartBody;->j:Lokhttp3/MediaType;
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p3, "; boundary="
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lokhttp3/MultipartBody;->o()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Lokhttp3/MediaType$Companion;->a(Ljava/lang/String;)Lokhttp3/MediaType;
move-result-object p1
iput-object p1, p0, Lokhttp3/MultipartBody;->g:Lokhttp3/MediaType;
const-wide/16 p1, -0x1
iput-wide p1, p0, Lokhttp3/MultipartBody;->h:J
return-void
.end method
.method private final p(Lokio/BufferedSink;Z)J
.registers 16
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
if-eqz p2, :cond_a
new-instance p1, Lokio/Buffer;
invoke-direct {p1}, Lokio/Buffer;-><init>()V
move-object v1, p1
goto :goto_b
:cond_a
move-object v1, v0
:goto_b
iget-object v2, p0, Lokhttp3/MultipartBody;->k:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
const/4 v3, 0x0
const-wide/16 v4, 0x0
const/4 v6, 0x0
:goto_15
if-ge v6, v2, :cond_b7
iget-object v7, p0, Lokhttp3/MultipartBody;->k:Ljava/util/List;
invoke-interface {v7, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Lokhttp3/MultipartBody$Part;
invoke-virtual {v7}, Lokhttp3/MultipartBody$Part;->b()Lokhttp3/Headers;
move-result-object v8
invoke-virtual {v7}, Lokhttp3/MultipartBody$Part;->a()Lokhttp3/RequestBody;
move-result-object v7
if-eqz p1, :cond_b3
sget-object v9, Lokhttp3/MultipartBody;->p:[B
invoke-interface {p1, v9}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
iget-object v9, p0, Lokhttp3/MultipartBody;->i:Lokio/ByteString;
invoke-interface {p1, v9}, Lokio/BufferedSink;->i1(Lokio/ByteString;)Lokio/BufferedSink;
sget-object v9, Lokhttp3/MultipartBody;->o:[B
invoke-interface {p1, v9}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
if-eqz v8, :cond_5f
invoke-virtual {v8}, Lokhttp3/Headers;->size()I
move-result v9
const/4 v10, 0x0
:goto_3f
if-ge v10, v9, :cond_5f
invoke-virtual {v8, v10}, Lokhttp3/Headers;->i(I)Ljava/lang/String;
move-result-object v11
invoke-interface {p1, v11}, Lokio/BufferedSink;->q0(Ljava/lang/String;)Lokio/BufferedSink;
move-result-object v11
sget-object v12, Lokhttp3/MultipartBody;->n:[B
invoke-interface {v11, v12}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
move-result-object v11
invoke-virtual {v8, v10}, Lokhttp3/Headers;->o(I)Ljava/lang/String;
move-result-object v12
invoke-interface {v11, v12}, Lokio/BufferedSink;->q0(Ljava/lang/String;)Lokio/BufferedSink;
move-result-object v11
sget-object v12, Lokhttp3/MultipartBody;->o:[B
invoke-interface {v11, v12}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
add-int/lit8 v10, v10, 0x1
goto :goto_3f
:cond_5f
invoke-virtual {v7}, Lokhttp3/RequestBody;->b()Lokhttp3/MediaType;
move-result-object v8
if-eqz v8, :cond_78
const-string v9, "Content-Type: "
invoke-interface {p1, v9}, Lokio/BufferedSink;->q0(Ljava/lang/String;)Lokio/BufferedSink;
move-result-object v9
invoke-virtual {v8}, Lokhttp3/MediaType;->toString()Ljava/lang/String;
move-result-object v8
invoke-interface {v9, v8}, Lokio/BufferedSink;->q0(Ljava/lang/String;)Lokio/BufferedSink;
move-result-object v8
sget-object v9, Lokhttp3/MultipartBody;->o:[B
invoke-interface {v8, v9}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
:cond_78
invoke-virtual {v7}, Lokhttp3/RequestBody;->a()J
move-result-wide v8
const-wide/16 v10, -0x1
cmp-long v12, v8, v10
if-eqz v12, :cond_92
const-string v10, "Content-Length: "
invoke-interface {p1, v10}, Lokio/BufferedSink;->q0(Ljava/lang/String;)Lokio/BufferedSink;
move-result-object v10
invoke-interface {v10, v8, v9}, Lokio/BufferedSink;->z1(J)Lokio/BufferedSink;
move-result-object v10
sget-object v11, Lokhttp3/MultipartBody;->o:[B
invoke-interface {v10, v11}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
goto :goto_9e
:cond_92
if-eqz p2, :cond_9e
if-eqz v1, :cond_9a
invoke-virtual {v1}, Lokio/Buffer;->b()V
return-wide v10
:cond_9a
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
throw v0
:cond_9e
:goto_9e
sget-object v10, Lokhttp3/MultipartBody;->o:[B
invoke-interface {p1, v10}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
if-eqz p2, :cond_a7
add-long/2addr v4, v8
goto :goto_aa
:cond_a7
invoke-virtual {v7, p1}, Lokhttp3/RequestBody;->n(Lokio/BufferedSink;)V
:goto_aa
sget-object v7, Lokhttp3/MultipartBody;->o:[B
invoke-interface {p1, v7}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
add-int/lit8 v6, v6, 0x1
goto/16 :goto_15
:cond_b3
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
throw v0
:cond_b7
if-eqz p1, :cond_df
sget-object v2, Lokhttp3/MultipartBody;->p:[B
invoke-interface {p1, v2}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
iget-object v2, p0, Lokhttp3/MultipartBody;->i:Lokio/ByteString;
invoke-interface {p1, v2}, Lokio/BufferedSink;->i1(Lokio/ByteString;)Lokio/BufferedSink;
sget-object v2, Lokhttp3/MultipartBody;->p:[B
invoke-interface {p1, v2}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
sget-object v2, Lokhttp3/MultipartBody;->o:[B
invoke-interface {p1, v2}, Lokio/BufferedSink;->g1([B)Lokio/BufferedSink;
if-eqz p2, :cond_de
if-eqz v1, :cond_da
invoke-virtual {v1}, Lokio/Buffer;->size()J
move-result-wide p1
add-long/2addr v4, p1
invoke-virtual {v1}, Lokio/Buffer;->b()V
goto :goto_de
:cond_da
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
throw v0
:cond_de
:goto_de
return-wide v4
:cond_df
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
throw v0
.end method
# virtual methods
.method public a()J
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-wide v0, p0, Lokhttp3/MultipartBody;->h:J
const-wide/16 v2, -0x1
cmp-long v4, v0, v2
if-nez v4, :cond_10
const/4 v0, 0x0
const/4 v1, 0x1
invoke-direct {p0, v0, v1}, Lokhttp3/MultipartBody;->p(Lokio/BufferedSink;Z)J
move-result-wide v0
iput-wide v0, p0, Lokhttp3/MultipartBody;->h:J
:cond_10
return-wide v0
.end method
.method public b()Lokhttp3/MediaType;
.registers 2
iget-object v0, p0, Lokhttp3/MultipartBody;->g:Lokhttp3/MediaType;
return-object v0
.end method
.method public n(Lokio/BufferedSink;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "sink"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lokhttp3/MultipartBody;->p(Lokio/BufferedSink;Z)J
return-void
.end method
.method public final o()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lokhttp3/MultipartBody;->i:Lokio/ByteString;
invoke-virtual {v0}, Lokio/ByteString;->U()Ljava/lang/String;
move-result-object v0
return-object v0
.end method