b.smali
.class public final Lpc/b;
.super Ljava/lang/Object;
.source "ClientPacketReader.kt"
# interfaces
.implements Ll2/f;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lpc/b$a;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u00004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0008\n\u0000\n\u0002\u0010\u0012\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\u0008\u0003\u0018\u00002\u00020\u0001:\u0001\u0013B\u0005\u00a2\u0006\u0002\u0010\u0002J\u0012\u0010\u0005\u001a\u00020\u00062\u0008\u0010\u0007\u001a\u0004\u0018\u00010\u0008H\u0002J\u0010\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\u0008H\u0002J\u0012\u0010\u000c\u001a\u0004\u0018\u00010\u00082\u0006\u0010\r\u001a\u00020\u0006H\u0002J\n\u0010\u000e\u001a\u0004\u0018\u00010\u000fH\u0016J\u0010\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0004H\u0016R\u0010\u0010\u0003\u001a\u0004\u0018\u00010\u0004X\u0082\u000e\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0014"
}
d2 = {
"Lcom/shopee/app/network/tcp/ClientPacketReader;",
"Lcom/garena/tcpcore/TCPPacketReader;",
"()V",
"mInputStream",
"Ljava/io/InputStream;",
"byteArrayToInt",
"",
"bytes",
"",
"parseHeader",
"Lcom/shopee/protocol/coreserver/protocol/MessageHeader;",
"data",
"readNBytes",
"n",
"readPacket",
"Lcom/garena/tcpcore/TCPPacket;",
"setInputStream",
"",
"inputStream",
"NonTcpHeaderException",
"coreserver_release"
}
k = 0x1
mv = {
0x1,
0x1,
0x10
}
.end annotation
# instance fields
.field public a:Ljava/io/InputStream;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final a([B)I
.registers 7
const/4 v0, 0x0
if-eqz p1, :cond_13
array-length v1, p1
const/4 v2, 0x0
:goto_5
if-ge v0, v1, :cond_12
aget-byte v3, p1, v0
and-int/lit16 v3, v3, 0xff
mul-int/lit8 v4, v0, 0x8
shl-int/2addr v3, v4
or-int/2addr v2, v3
add-int/lit8 v0, v0, 0x1
goto :goto_5
:cond_12
move v0, v2
:cond_13
return v0
.end method
.method public a()Ll2/e;
.registers 15
.annotation system Ldalvik/annotation/Throws;
value = {
Lm2/c;
}
.end annotation
const/4 v0, 0x2
const/4 v1, 0x4
const/4 v2, 0x0
:try_start_3
invoke-virtual {p0, v1}, Lpc/b;->a(I)[B
move-result-object v3
invoke-virtual {p0, v3}, Lpc/b;->a([B)I
const/4 v3, 0x1
invoke-virtual {p0, v3}, Lpc/b;->a(I)[B
invoke-virtual {p0, v1}, Lpc/b;->a(I)[B
move-result-object v4
invoke-virtual {p0, v4}, Lpc/b;->a([B)I
move-result v4
invoke-virtual {p0, v4}, Lpc/b;->a(I)[B
move-result-object v4
if-eqz v4, :cond_c4
invoke-virtual {p0, v4}, Lpc/b;->b([B)Lcom/shopee/protocol/coreserver/protocol/MessageHeader;
move-result-object v4
if-eqz v4, :cond_c4
iget-object v5, v4, Lcom/shopee/protocol/coreserver/protocol/MessageHeader;->extended_service:Ljava/lang/Boolean;
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v6
invoke-static {v5, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v5
const/16 v6, 0xff
if-eqz v5, :cond_33
const/16 v5, 0xff
goto :goto_3b
:cond_33
iget-object v5, v4, Lcom/shopee/protocol/coreserver/protocol/MessageHeader;->cmd:Ljava/lang/Integer;
invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
move-result v5
int-to-byte v7, v6
and-int/2addr v5, v7
:goto_3b
invoke-virtual {p0, v1}, Lpc/b;->a(I)[B
move-result-object v1
invoke-virtual {p0, v1}, Lpc/b;->a([B)I
move-result v1
invoke-virtual {p0, v1}, Lpc/b;->a(I)[B
move-result-object v7
iget-object v1, v4, Lcom/shopee/protocol/coreserver/protocol/MessageHeader;->extended_service:Ljava/lang/Boolean;
if-eqz v1, :cond_80
iget-object v1, v4, Lcom/shopee/protocol/coreserver/protocol/MessageHeader;->extended_service:Ljava/lang/Boolean;
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v8
invoke-static {v1, v8}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_80
if-nez v7, :cond_5c
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V
:cond_5c
array-length v1, v7
add-int/2addr v1, v0
new-array v1, v1, [B
const/4 v8, 0x0
iget-object v9, v4, Lcom/shopee/protocol/coreserver/protocol/MessageHeader;->service_id:Ljava/lang/Integer;
invoke-virtual {v9}, Ljava/lang/Integer;->intValue()I
move-result v9
and-int/2addr v9, v6
int-to-byte v9, v9
aput-byte v9, v1, v8
iget-object v4, v4, Lcom/shopee/protocol/coreserver/protocol/MessageHeader;->cmd:Ljava/lang/Integer;
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v4
and-int/2addr v4, v6
int-to-byte v4, v4
aput-byte v4, v1, v3
const/4 v9, 0x2
const/4 v10, 0x0
const/4 v11, 0x0
const/16 v12, 0xc
const/4 v13, 0x0
move-object v8, v1
invoke-static/range {v7 .. v13}, Lkotlin/collections/ArraysKt___ArraysJvmKt;->copyInto$default([B[BIIIILjava/lang/Object;)[B
move-object v7, v1
:cond_80
new-instance v1, Lu0/f;
invoke-direct {v1, v5, v7}, Lu0/f;-><init>(I[B)V
sget-object v3, Lfc/d;->f:Lfc/d;
invoke-virtual {v3, v5}, Lfc/d;->b(I)Lgc/a;
move-result-object v3
:try_end_8b
.catch Ljava/net/SocketException; {:try_start_3 .. :try_end_8b} :catch_e7
.catch Lpc/b$a; {:try_start_3 .. :try_end_8b} :catch_db
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_8b} :catch_ca
if-eqz v3, :cond_bb
:try_start_8d
invoke-interface {v3, v7}, Lgc/a;->a([B)Landroid/util/Pair;
move-result-object v3
const-string v4, "processor.parse(body)"
invoke-static {v3, v4}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
new-instance v4, Lpc/a;
iget-object v6, v3, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast v6, Ljava/lang/String;
iget-object v3, v3, Landroid/util/Pair;->second:Ljava/lang/Object;
check-cast v3, Lcom/squareup/wire/Message;
invoke-direct {v4, v6, v3, v1}, Lpc/a;-><init>(Ljava/lang/String;Lcom/squareup/wire/Message;Lu0/f;)V
:try_end_a3
.catch Ljava/io/IOException; {:try_start_8d .. :try_end_a3} :catch_a4
.catch Lpc/b$a; {:try_start_8d .. :try_end_a3} :catch_db
.catch Ljava/lang/Exception; {:try_start_8d .. :try_end_a3} :catch_ca
goto :goto_bc
:catch_a4
move-exception v3
:try_start_a5
sget-object v4, Lfc/e;->b:Lfc/e;
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "CommandId "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v3, v5}, Lfc/e;->a(Ljava/lang/Throwable;Ljava/lang/String;)V
:cond_bb
move-object v4, v2
:goto_bc
if-nez v4, :cond_c3
new-instance v4, Lpc/a;
invoke-direct {v4, v1}, Lpc/a;-><init>(Lu0/f;)V
:cond_c3
return-object v4
:cond_c4
new-instance v1, Lpc/b$a;
invoke-direct {v1, p0}, Lpc/b$a;-><init>(Lpc/b;)V
throw v1
:try_end_ca
.catch Ljava/net/SocketException; {:try_start_a5 .. :try_end_ca} :catch_e7
.catch Lpc/b$a; {:try_start_a5 .. :try_end_ca} :catch_db
.catch Ljava/lang/Exception; {:try_start_a5 .. :try_end_ca} :catch_ca
:catch_ca
move-exception v1
sget-object v3, Lsc/a;->d:Lsc/a;
invoke-virtual {v3, v1}, Lsc/a;->a(Ljava/lang/Throwable;)V
sget-object v3, Lfc/e;->b:Lfc/e;
invoke-static {v3, v1, v2, v0, v2}, Lfc/e;->a(Lfc/e;Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V
new-instance v0, Lm2/c;
invoke-direct {v0, v1}, Lm2/c;-><init>(Ljava/lang/Exception;)V
throw v0
:catch_db
move-exception v0
sget-object v1, Lsc/a;->d:Lsc/a;
invoke-virtual {v1, v0}, Lsc/a;->a(Ljava/lang/Throwable;)V
new-instance v1, Lm2/c;
invoke-direct {v1, v0}, Lm2/c;-><init>(Ljava/lang/Exception;)V
throw v1
:catch_e7
move-exception v0
sget-object v1, Lsc/a;->d:Lsc/a;
invoke-virtual {v1, v0}, Lsc/a;->a(Ljava/lang/Throwable;)V
new-instance v1, Lm2/c;
invoke-direct {v1, v0}, Lm2/c;-><init>(Ljava/lang/Exception;)V
throw v1
.end method
.method public a(Ljava/io/InputStream;)V
.registers 2
iput-object p1, p0, Lpc/b;->a:Ljava/io/InputStream;
return-void
.end method
.method public final a(I)[B
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
if-nez p1, :cond_3
goto :goto_20
:cond_3
new-array v0, p1, [B
const/4 v1, 0x0
new-instance v2, Lkotlin/jvm/internal/Ref$IntRef;
invoke-direct {v2}, Lkotlin/jvm/internal/Ref$IntRef;-><init>()V
:goto_b
iget-object v3, p0, Lpc/b;->a:Ljava/io/InputStream;
if-nez v3, :cond_12
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->throwNpe()V
:cond_12
invoke-virtual {v3, v0, v1, p1}, Ljava/io/InputStream;->read([BII)I
move-result v3
iput v3, v2, Lkotlin/jvm/internal/Ref$IntRef;->element:I
if-lez v3, :cond_20
if-lt v3, p1, :cond_1d
return-object v0
:cond_1d
add-int/2addr v1, v3
sub-int/2addr p1, v3
goto :goto_b
:cond_20
:goto_20
const/4 p1, 0x0
return-object p1
.end method
.method public final b([B)Lcom/shopee/protocol/coreserver/protocol/MessageHeader;
.registers 6
sget-object v0, Lfc/d;->f:Lfc/d;
invoke-virtual {v0}, Lfc/d;->a()Lcom/squareup/wire/Wire;
move-result-object v0
array-length v1, p1
const-class v2, Lcom/shopee/protocol/coreserver/protocol/MessageHeader;
const/4 v3, 0x0
invoke-virtual {v0, p1, v3, v1, v2}, Lcom/squareup/wire/Wire;->parseFrom([BIILjava/lang/Class;)Lcom/squareup/wire/Message;
move-result-object p1
const-string v0, "CoreServerRegister.WIRE.\u2026essageHeader::class.java)"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
check-cast p1, Lcom/shopee/protocol/coreserver/protocol/MessageHeader;
return-object p1
.end method