SocketBinderClient.smali
.class public Lcom/cleanmaster/hpsharelib/base/ipc/client/SocketBinderClient;
.super Ljava/lang/Object;
.source "SocketBinderClient.java"
# interfaces
.implements Landroid/os/IBinder;
# static fields
.field private static CONNECTION_TIMEOUT_MILLIS:I
# instance fields
.field private mSocketName:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 24
const/16 v0, 0x1388
sput v0, Lcom/cleanmaster/hpsharelib/base/ipc/client/SocketBinderClient;->CONNECTION_TIMEOUT_MILLIS:I
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 3
.prologue
.line 27
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 25
const/4 v0, 0x0
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/client/SocketBinderClient;->mSocketName:Ljava/lang/String;
.line 28
iput-object p1, p0, Lcom/cleanmaster/hpsharelib/base/ipc/client/SocketBinderClient;->mSocketName:Ljava/lang/String;
.line 29
return-void
.end method
# virtual methods
.method public TransferBufferClient([B)[B
.registers 12
.prologue
const/4 v8, 0x3
const/4 v7, 0x2
const/4 v1, 0x0
const/4 v6, 0x4
const/4 v2, 0x1
.line 97
new-instance v3, Landroid/net/LocalSocket;
invoke-direct {v3}, Landroid/net/LocalSocket;-><init>()V
.line 98
const/4 v0, 0x0
.line 102
const/16 v4, 0x8
new-array v4, v4, [B
.line 103
const/16 v5, 0x4b
aput-byte v5, v4, v1
.line 104
const/16 v5, 0x49
aput-byte v5, v4, v2
.line 105
const/16 v5, 0x4e
aput-byte v5, v4, v7
.line 106
const/16 v5, 0x47
aput-byte v5, v4, v8
.line 107
const/16 v5, 0x53
aput-byte v5, v4, v6
.line 108
const/4 v5, 0x5
const/16 v6, 0x4f
aput-byte v6, v4, v5
.line 109
const/4 v5, 0x6
const/16 v6, 0x46
aput-byte v6, v4, v5
.line 110
const/4 v5, 0x7
const/16 v6, 0x54
aput-byte v6, v4, v5
.line 114
:try_start_32
new-instance v5, Landroid/net/LocalSocketAddress;
iget-object v6, p0, Lcom/cleanmaster/hpsharelib/base/ipc/client/SocketBinderClient;->mSocketName:Ljava/lang/String;
invoke-direct {v5, v6}, Landroid/net/LocalSocketAddress;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v5}, Landroid/net/LocalSocket;->connect(Landroid/net/LocalSocketAddress;)V
.line 116
invoke-virtual {v3}, Landroid/net/LocalSocket;->isConnected()Z
:try_end_3f
.catch Ljava/lang/Exception; {:try_start_32 .. :try_end_3f} :catch_100
move-result v5
if-eqz v5, :cond_c8
.line 119
const v5, 0x8000
:try_start_45
invoke-virtual {v3, v5}, Landroid/net/LocalSocket;->setReceiveBufferSize(I)V
.line 120
const v5, 0x8000
invoke-virtual {v3, v5}, Landroid/net/LocalSocket;->setSendBufferSize(I)V
:try_end_4e
.catch Ljava/lang/Exception; {:try_start_45 .. :try_end_4e} :catch_133
.catchall {:try_start_45 .. :try_end_4e} :catchall_113
.line 125
:goto_4e
:try_start_4e
invoke-virtual {v3}, Landroid/net/LocalSocket;->getOutputStream()Ljava/io/OutputStream;
move-result-object v5
.line 127
if-eqz v5, :cond_71
.line 140
array-length v6, p1
sget-object v7, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-static {v6, v7}, Lcom/cleanmaster/base/util/misc/UnitConvert;->int2bytes(ILjava/nio/ByteOrder;)[B
move-result-object v6
.line 142
const/4 v7, 0x1
sget-object v8, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-static {v7, v8}, Lcom/cleanmaster/base/util/misc/UnitConvert;->int2bytes(ILjava/nio/ByteOrder;)[B
move-result-object v7
.line 144
invoke-virtual {v5, v4}, Ljava/io/OutputStream;->write([B)V
.line 145
invoke-virtual {v5, v7}, Ljava/io/OutputStream;->write([B)V
.line 146
invoke-virtual {v5, v6}, Ljava/io/OutputStream;->write([B)V
.line 147
invoke-virtual {v5, p1}, Ljava/io/OutputStream;->write([B)V
.line 148
invoke-virtual {v5}, Ljava/io/OutputStream;->flush()V
.line 151
:cond_71
invoke-virtual {v3}, Landroid/net/LocalSocket;->getInputStream()Ljava/io/InputStream;
move-result-object v4
.line 152
if-eqz v4, :cond_b9
.line 154
const/16 v6, 0x8
new-array v6, v6, [B
.line 155
invoke-virtual {v4, v6}, Ljava/io/InputStream;->read([B)I
.line 158
const/4 v7, 0x0
aget-byte v7, v6, v7
const/16 v8, 0x4b
if-ne v7, v8, :cond_b7
const/4 v7, 0x1
aget-byte v7, v6, v7
const/16 v8, 0x49
if-ne v7, v8, :cond_b7
const/4 v7, 0x2
aget-byte v7, v6, v7
const/16 v8, 0x4e
if-ne v7, v8, :cond_b7
const/4 v7, 0x3
aget-byte v7, v6, v7
const/16 v8, 0x47
if-ne v7, v8, :cond_b7
const/4 v7, 0x4
aget-byte v7, v6, v7
const/16 v8, 0x53
if-ne v7, v8, :cond_b7
const/4 v7, 0x5
aget-byte v7, v6, v7
const/16 v8, 0x4f
if-ne v7, v8, :cond_b7
const/4 v7, 0x6
aget-byte v7, v6, v7
const/16 v8, 0x46
if-ne v7, v8, :cond_b7
const/4 v7, 0x7
aget-byte v6, v6, v7
:try_end_b2
.catch Ljava/lang/Exception; {:try_start_4e .. :try_end_b2} :catch_f1
.catchall {:try_start_4e .. :try_end_b2} :catchall_113
const/16 v7, 0x54
if-ne v6, v7, :cond_b7
move v1, v2
.line 169
:cond_b7
if-nez v1, :cond_c9
.line 191
:cond_b9
:goto_b9
if-eqz v4, :cond_be
.line 192
:try_start_bb
invoke-virtual {v4}, Ljava/io/InputStream;->close()V
.line 194
:cond_be
if-eqz v5, :cond_c3
.line 195
invoke-virtual {v5}, Ljava/io/OutputStream;->close()V
:try_end_c3
.catch Ljava/lang/Exception; {:try_start_bb .. :try_end_c3} :catch_f1
.catchall {:try_start_bb .. :try_end_c3} :catchall_129
.line 202
:cond_c3
if-eqz v3, :cond_c8
.line 203
:try_start_c5
invoke-virtual {v3}, Landroid/net/LocalSocket;->close()V
:try_end_c8
.catch Ljava/lang/Exception; {:try_start_c5 .. :try_end_c8} :catch_10e
.line 213
:cond_c8
:goto_c8
return-object v0
.line 172
:cond_c9
const/4 v1, 0x4
:try_start_ca
new-array v1, v1, [B
.line 173
invoke-virtual {v4, v1}, Ljava/io/InputStream;->read([B)I
.line 174
sget-object v6, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-static {v1, v6}, Lcom/cleanmaster/base/util/misc/UnitConvert;->bytes2int([BLjava/nio/ByteOrder;)I
move-result v1
.line 176
const/4 v6, 0x4
new-array v6, v6, [B
.line 177
invoke-virtual {v4, v6}, Ljava/io/InputStream;->read([B)I
.line 178
sget-object v7, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-static {v6, v7}, Lcom/cleanmaster/base/util/misc/UnitConvert;->bytes2int([BLjava/nio/ByteOrder;)I
move-result v6
.line 180
invoke-virtual {v3}, Landroid/net/LocalSocket;->getSendBufferSize()I
move-result v7
if-gt v6, v7, :cond_b9
.line 181
if-ge v1, v2, :cond_105
.line 182
const-string v1, "SocketBinder"
const-string v2, "PROTOCAL_VER ERROR"
invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_f0
.catch Ljava/lang/Exception; {:try_start_ca .. :try_end_f0} :catch_f1
.catchall {:try_start_ca .. :try_end_f0} :catchall_113
goto :goto_b9
.line 197
:catch_f1
move-exception v1
.line 198
:goto_f2
:try_start_f2
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_f5
.catchall {:try_start_f2 .. :try_end_f5} :catchall_129
.line 202
if-eqz v3, :cond_c8
.line 203
:try_start_f7
invoke-virtual {v3}, Landroid/net/LocalSocket;->close()V
:try_end_fa
.catch Ljava/lang/Exception; {:try_start_f7 .. :try_end_fa} :catch_fb
goto :goto_c8
.line 204
:catch_fb
move-exception v1
.line 205
:try_start_fc
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_ff
.catch Ljava/lang/Exception; {:try_start_fc .. :try_end_ff} :catch_100
goto :goto_c8
.line 209
:catch_100
move-exception v1
.line 210
:goto_101
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_c8
.line 184
:cond_105
if-lez v6, :cond_b9
.line 185
:try_start_107
new-array v1, v6, [B
:try_end_109
.catch Ljava/lang/Exception; {:try_start_107 .. :try_end_109} :catch_f1
.catchall {:try_start_107 .. :try_end_109} :catchall_113
.line 186
:try_start_109
invoke-virtual {v4, v1}, Ljava/io/InputStream;->read([B)I
:try_end_10c
.catch Ljava/lang/Exception; {:try_start_109 .. :try_end_10c} :catch_12e
.catchall {:try_start_109 .. :try_end_10c} :catchall_127
move-object v0, v1
goto :goto_b9
.line 204
:catch_10e
move-exception v1
.line 205
:try_start_10f
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_112
.catch Ljava/lang/Exception; {:try_start_10f .. :try_end_112} :catch_100
goto :goto_c8
.line 201
:catchall_113
move-exception v1
move-object v9, v1
move-object v1, v0
move-object v0, v9
.line 202
:goto_117
if-eqz v3, :cond_11c
.line 203
:try_start_119
invoke-virtual {v3}, Landroid/net/LocalSocket;->close()V
:try_end_11c
.catch Ljava/lang/Exception; {:try_start_119 .. :try_end_11c} :catch_122
.line 206
:cond_11c
:goto_11c
:try_start_11c
throw v0
.line 209
:catch_11d
move-exception v0
move-object v9, v0
move-object v0, v1
move-object v1, v9
goto :goto_101
.line 204
:catch_122
move-exception v2
.line 205
invoke-virtual {v2}, Ljava/lang/Exception;->printStackTrace()V
:try_end_126
.catch Ljava/lang/Exception; {:try_start_11c .. :try_end_126} :catch_11d
goto :goto_11c
.line 201
:catchall_127
move-exception v0
goto :goto_117
:catchall_129
move-exception v1
move-object v9, v1
move-object v1, v0
move-object v0, v9
goto :goto_117
.line 197
:catch_12e
move-exception v0
move-object v9, v0
move-object v0, v1
move-object v1, v9
goto :goto_f2
.line 123
:catch_133
move-exception v5
goto/16 :goto_4e
.end method
.method public dump(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.prologue
.line 53
return-void
.end method
.method public dumpAsync(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.prologue
.line 218
return-void
.end method
.method public getInterfaceDescriptor()Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.prologue
.line 33
const/4 v0, 0x0
return-object v0
.end method
.method public isBinderAlive()Z
.registers 2
.prologue
.line 43
const/4 v0, 0x0
return v0
.end method
.method public linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.prologue
.line 89
return-void
.end method
.method public pingBinder()Z
.registers 2
.prologue
.line 38
const/4 v0, 0x0
return v0
.end method
.method public queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
.registers 3
.prologue
.line 48
const/4 v0, 0x0
return-object v0
.end method
.method public transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.prologue
const/4 v4, 0x0
.line 59
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
.line 60
invoke-virtual {p2, v4}, Landroid/os/Parcel;->setDataPosition(I)V
.line 62
invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeInt(I)V
.line 63
invoke-virtual {p2}, Landroid/os/Parcel;->marshall()[B
move-result-object v1
.line 64
invoke-virtual {v0, v1}, Landroid/os/Parcel;->writeByteArray([B)V
.line 65
invoke-virtual {v0, v4}, Landroid/os/Parcel;->setDataPosition(I)V
.line 67
invoke-virtual {v0}, Landroid/os/Parcel;->marshall()[B
move-result-object v1
.line 68
array-length v2, v1
new-array v2, v2, [B
.line 69
array-length v3, v1
invoke-static {v1, v4, v2, v4, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 72
invoke-virtual {p0, v2}, Lcom/cleanmaster/hpsharelib/base/ipc/client/SocketBinderClient;->TransferBufferClient([B)[B
move-result-object v1
.line 74
if-eqz v1, :cond_30
.line 75
invoke-virtual {p3, v4}, Landroid/os/Parcel;->setDataPosition(I)V
.line 76
array-length v2, v1
invoke-virtual {p3, v1, v4, v2}, Landroid/os/Parcel;->unmarshall([BII)V
.line 77
invoke-virtual {p3, v4}, Landroid/os/Parcel;->setDataPosition(I)V
.line 80
:cond_30
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
.line 82
return v4
.end method
.method public unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
.registers 4
.prologue
.line 93
const/4 v0, 0x0
return v0
.end method