IPCServerSocketBase.smali

.class public Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;
.super Ljava/lang/Object;
.source "IPCServerSocketBase.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;
    }
.end annotation


# static fields
.field private static CONNECTION_TIMEOUT_MILLIS:I = 0x0

.field private static final TAG:Ljava/lang/String; = "IPC"


# instance fields
.field private bRunning:Z

.field private mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

.field private mServerSocket:Landroid/net/LocalServerSocket;

.field private mSocketName:Ljava/lang/String;

.field mThreadPool:Ljava/util/concurrent/ExecutorService;

.field private mbStoped:Z


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

    .prologue
    .line 27
    const/16 v0, 0x1388

    sput v0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->CONNECTION_TIMEOUT_MILLIS:I

    return-void
.end method

.method public constructor <init>(Ljava/lang/String;)V
    .registers 4

    .prologue
    const/4 v1, 0x0

    const/4 v0, 0x0

    .line 40
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 22
    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mServerSocket:Landroid/net/LocalServerSocket;

    .line 23
    iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->bRunning:Z

    .line 24
    iput-boolean v1, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mbStoped:Z

    .line 25
    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mThreadPool:Ljava/util/concurrent/ExecutorService;

    .line 38
    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mSocketName:Ljava/lang/String;

    .line 111
    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    .line 41
    iput-object p1, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mSocketName:Ljava/lang/String;

    .line 42
    return-void
.end method

.method public static declared-synchronized OutputLog(Ljava/lang/String;)V
    .registers 2

    .prologue
    .line 73
    const-class v0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;

    monitor-enter v0

    monitor-exit v0

    return-void
.end method

.method static synthetic access$000(Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;)Landroid/net/LocalServerSocket;
    .registers 2

    .prologue
    .line 20
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mServerSocket:Landroid/net/LocalServerSocket;

    return-object v0
.end method

.method static synthetic access$100(Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;)Z
    .registers 2

    .prologue
    .line 20
    iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mbStoped:Z

    return v0
.end method

.method static synthetic access$200()I
    .registers 1

    .prologue
    .line 20
    sget v0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->CONNECTION_TIMEOUT_MILLIS:I

    return v0
.end method


# virtual methods
.method public declared-synchronized Init()Z
    .registers 6

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 300
    monitor-enter p0

    :try_start_3
    iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mServerSocket:Landroid/net/LocalServerSocket;
    :try_end_5
    .catchall {:try_start_3 .. :try_end_5} :catchall_68

    if-eqz v2, :cond_9

    .line 319
    :cond_7
    :goto_7
    monitor-exit p0

    return v0

    .line 303
    :cond_9
    :try_start_9
    const-string v2, "IPC"

    const-string v3, "IPCServerSocket OnInit..."

    invoke-static {v2, v3}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I

    .line 304
    const-string v2, "IPCServerSocket oninit...\n"

    invoke-static {v2}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->OutputLog(Ljava/lang/String;)V
    :try_end_15
    .catchall {:try_start_9 .. :try_end_15} :catchall_68

    .line 307
    :try_start_15
    new-instance v2, Landroid/net/LocalServerSocket;

    iget-object v3, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mSocketName:Ljava/lang/String;

    invoke-direct {v2, v3}, Landroid/net/LocalServerSocket;-><init>(Ljava/lang/String;)V

    iput-object v2, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mServerSocket:Landroid/net/LocalServerSocket;

    .line 308
    iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mServerSocket:Landroid/net/LocalServerSocket;

    if-nez v2, :cond_7

    .line 309
    const-string v0, "IPC"

    const-string v2, "new LocalServerSocket return null..."

    invoke-static {v0, v2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_29
    .catch Ljava/io/IOException; {:try_start_15 .. :try_end_29} :catch_2b
    .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_29} :catch_4a
    .catchall {:try_start_15 .. :try_end_29} :catchall_68

    move v0, v1

    .line 310
    goto :goto_7

    .line 313
    :catch_2b
    move-exception v0

    .line 314
    :try_start_2c
    const-string v2, "IPC"

    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "new LocalServerSocket IOException "

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

    move-result-object v3

    invoke-virtual {v0}, Ljava/io/IOException;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v3, v0}, 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 {v2, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I

    :goto_48
    move v0, v1

    .line 319
    goto :goto_7

    .line 315
    :catch_4a
    move-exception v0

    .line 316
    const-string v2, "IPC"

    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "new LocalServerSocket Exception "

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

    move-result-object v3

    invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v3, v0}, 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 {v2, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_67
    .catchall {:try_start_2c .. :try_end_67} :catchall_68

    goto :goto_48

    .line 300
    :catchall_68
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public TransferBufferServer([B)[B
    .registers 3

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

    return-object v0
.end method

.method protected finalize()V
    .registers 3
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Throwable;
        }
    .end annotation

    .prologue
    .line 31
    const-string v0, "IPC"

    const-string v1, "IPCServerSocketBase call finalize"

    invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 33
    invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->stop()V

    .line 35
    invoke-super {p0}, Ljava/lang/Object;->finalize()V

    .line 36
    return-void
.end method

.method public declared-synchronized run()V
    .registers 3

    .prologue
    .line 45
    monitor-enter p0

    :try_start_1
    iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->bRunning:Z
    :try_end_3
    .catchall {:try_start_1 .. :try_end_3} :catchall_35

    if-eqz v0, :cond_7

    .line 61
    :goto_5
    monitor-exit p0

    return-void

    .line 48
    :cond_7
    const/4 v0, 0x1

    :try_start_8
    iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->bRunning:Z

    .line 49
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mbStoped:Z

    .line 51
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    if-nez v0, :cond_1d

    .line 52
    new-instance v0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    invoke-direct {v0, p0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;-><init>(Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;)V

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    .line 53
    const-string v0, "new SocketListenThread()\n"

    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->OutputLog(Ljava/lang/String;)V

    .line 56
    :cond_1d
    invoke-static {}, Ljava/util/concurrent/Executors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mThreadPool:Ljava/util/concurrent/ExecutorService;

    .line 58
    const-string v0, "mListenThread.start()\n"

    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->OutputLog(Ljava/lang/String;)V

    .line 59
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    const-string v1, "ipc0"

    invoke-virtual {v0, v1}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;->setName(Ljava/lang/String;)V

    .line 60
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    invoke-virtual {v0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;->start()V
    :try_end_34
    .catchall {:try_start_8 .. :try_end_34} :catchall_35

    goto :goto_5

    .line 45
    :catchall_35
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public declared-synchronized stop()V
    .registers 4

    .prologue
    .line 84
    monitor-enter p0

    :try_start_1
    const-string v0, "IPCServerSocket.stop()\r\n"

    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->OutputLog(Ljava/lang/String;)V
    :try_end_6
    .catchall {:try_start_1 .. :try_end_6} :catchall_52

    .line 87
    const/4 v0, 0x1

    :try_start_7
    iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mbStoped:Z

    .line 89
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mThreadPool:Ljava/util/concurrent/ExecutorService;

    invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;->shutdown()V

    .line 90
    invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->wakeupSocket()V

    .line 92
    const-string v0, "IPCServerSocket.stop() mDefSvcIpcClient.Close Socket\n"

    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->OutputLog(Ljava/lang/String;)V

    .line 94
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mServerSocket:Landroid/net/LocalServerSocket;

    if-eqz v0, :cond_22

    .line 95
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mServerSocket:Landroid/net/LocalServerSocket;

    invoke-virtual {v0}, Landroid/net/LocalServerSocket;->close()V

    .line 96
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mServerSocket:Landroid/net/LocalServerSocket;

    .line 98
    :cond_22
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    if-eqz v0, :cond_2e

    .line 99
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    invoke-virtual {v0}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;->interrupt()V

    .line 100
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->mListenThread:Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase$SocketListenThread;

    .line 102
    :cond_2e
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->bRunning:Z
    :try_end_31
    .catch Ljava/io/IOException; {:try_start_7 .. :try_end_31} :catch_33
    .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_31} :catch_55
    .catchall {:try_start_7 .. :try_end_31} :catchall_52

    .line 109
    :goto_31
    monitor-exit p0

    return-void

    .line 103
    :catch_33
    move-exception v0

    .line 104
    :try_start_34
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    .line 105
    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "IPCServerSocket.stop() IOException "

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

    move-result-object v1

    invoke-virtual {v0}, Ljava/io/IOException;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, 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}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->OutputLog(Ljava/lang/String;)V
    :try_end_51
    .catchall {:try_start_34 .. :try_end_51} :catchall_52

    goto :goto_31

    .line 84
    :catchall_52
    move-exception v0

    monitor-exit p0

    throw v0

    .line 106
    :catch_55
    move-exception v0

    .line 107
    :try_start_56
    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "IPCServerSocket.stop() Exception "

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

    move-result-object v1

    invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, 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}, Lcom/cleanmaster/hpsharelib/base/ipc/server/IPCServerSocketBase;->OutputLog(Ljava/lang/String;)V
    :try_end_70
    .catchall {:try_start_56 .. :try_end_70} :catchall_52

    goto :goto_31
.end method

.method public wakeupSocket()V
    .registers 1

    .prologue
    .line 76
    return-void
.end method