j.smali
.class public Lcom/garena/android/gpns/b/j;
.super Ljava/lang/Object;
.source "TCPPacketReader.java"
# instance fields
.field private final a:Ljava/io/InputStream;
# direct methods
.method public constructor <init>(Ljava/io/InputStream;)V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/garena/android/gpns/b/j;->a:Ljava/io/InputStream;
return-void
.end method
.method private static a([B)I
.registers 3
const/4 v0, 0x0
.line 3
aget-byte v0, p0, v0
and-int/lit16 v0, v0, 0xff
const/4 v1, 0x1
aget-byte v1, p0, v1
and-int/lit16 v1, v1, 0xff
shl-int/lit8 v1, v1, 0x8
or-int/2addr v0, v1
const/4 v1, 0x2
aget-byte v1, p0, v1
and-int/lit16 v1, v1, 0xff
shl-int/lit8 v1, v1, 0x10
or-int/2addr v0, v1
const/4 v1, 0x3
aget-byte p0, p0, v1
and-int/lit16 p0, p0, 0xff
shl-int/lit8 p0, p0, 0x18
or-int/2addr p0, v0
return p0
.end method
.method private a(I)[B
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
new-array v0, p1, [B
const/4 v1, 0x0
.line 2
:goto_3
iget-object v2, p0, Lcom/garena/android/gpns/b/j;->a:Ljava/io/InputStream;
invoke-virtual {v2, v0, v1, p1}, Ljava/io/InputStream;->read([BII)I
move-result v2
if-lez v2, :cond_11
if-ge v2, p1, :cond_10
add-int/2addr v1, v2
sub-int/2addr p1, v2
goto :goto_3
:cond_10
return-object v0
:cond_11
const/4 p1, 0x0
return-object p1
.end method
# virtual methods
.method public a()Lcom/garena/android/gpns/b/a/b;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/garena/android/gpns/network/exception/ConnectionDroppedException;
}
.end annotation
const/4 v0, 0x4
.line 4
:try_start_1
invoke-direct {p0, v0}, Lcom/garena/android/gpns/b/j;->a(I)[B
move-result-object v0
.line 5
invoke-static {v0}, Lcom/garena/android/gpns/b/j;->a([B)I
move-result v0
const/4 v1, 0x1
.line 6
invoke-direct {p0, v1}, Lcom/garena/android/gpns/b/j;->a(I)[B
move-result-object v2
sub-int/2addr v0, v1
.line 7
invoke-direct {p0, v0}, Lcom/garena/android/gpns/b/j;->a(I)[B
move-result-object v0
.line 8
new-instance v1, Lcom/garena/android/gpns/b/a/b;
const/4 v3, 0x0
aget-byte v2, v2, v3
invoke-direct {v1, v2, v0}, Lcom/garena/android/gpns/b/a/b;-><init>(I[B)V
:try_end_1b
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1b} :catch_1c
return-object v1
:catch_1c
move-exception v0
.line 9
new-instance v1, Lcom/garena/android/gpns/network/exception/ConnectionDroppedException;
invoke-direct {v1, v0}, Lcom/garena/android/gpns/network/exception/ConnectionDroppedException;-><init>(Ljava/lang/Exception;)V
throw v1
.end method