b.smali

.class public Lv0/b;
.super Landroid/os/HandlerThread;
.source "NetworkThread.java"

# interfaces
.implements Lu0/a;


# instance fields
.field public a:Lu0/h;

.field public b:Lv0/a;

.field public final c:Lu0/c;

.field public d:Lu0/d;

.field public final e:Ljava/util/concurrent/ExecutorService;


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

    return-void
.end method

.method public constructor <init>(Lu0/h;Lu0/c;)V
    .registers 4

    const-string v0, "NETWORK_THREAD"

    invoke-direct {p0, v0}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V

    iput-object p1, p0, Lv0/b;->a:Lu0/h;

    iput-object p2, p0, Lv0/b;->c:Lu0/c;

    invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;

    move-result-object p1

    iput-object p1, p0, Lv0/b;->e:Ljava/util/concurrent/ExecutorService;

    return-void
.end method


# virtual methods
.method public a()V
    .registers 4

    iget-object v0, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v0}, Lu0/h;->e()Z

    move-result v0

    if-eqz v0, :cond_14

    iget-object v0, p0, Lv0/b;->d:Lu0/d;

    iget-object v1, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v1}, Lu0/h;->c()I

    move-result v1

    invoke-virtual {v0, v1}, Lu0/d;->a(I)V

    return-void

    :cond_14
    :try_start_14
    iget-object v0, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v0}, Lu0/h;->a()V

    invoke-virtual {p0}, Lv0/b;->c()Z

    move-result v0

    if-eqz v0, :cond_2b

    iget-object v0, p0, Lv0/b;->d:Lu0/d;

    iget-object v1, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v1}, Lu0/h;->c()I

    move-result v1

    invoke-virtual {v0, v1}, Lu0/d;->a(I)V

    goto :goto_53

    :cond_2b
    invoke-virtual {p0}, Lv0/b;->closeConnection()V
    :try_end_2e
    .catch Lq0/d; {:try_start_14 .. :try_end_2e} :catch_40
    .catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_14 .. :try_end_2e} :catch_2f

    goto :goto_53

    :catch_2f
    move-exception v0

    invoke-static {v0}, Lt0/a;->a(Ljava/lang/Exception;)V

    iget-object v0, p0, Lv0/b;->d:Lu0/d;

    iget-object v1, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v1}, Lu0/h;->c()I

    move-result v1

    const/4 v2, 0x3

    invoke-virtual {v0, v1, v2}, Lu0/d;->a(II)V

    goto :goto_53

    :catch_40
    move-exception v0

    invoke-static {v0}, Lt0/a;->a(Ljava/lang/Exception;)V

    iget-object v1, p0, Lv0/b;->d:Lu0/d;

    iget-object v2, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v2}, Lu0/h;->c()I

    move-result v2

    invoke-virtual {v0}, Lq0/d;->a()I

    move-result v0

    invoke-virtual {v1, v2, v0}, Lu0/d;->a(II)V

    :goto_53
    return-void
.end method

.method public a(Lu0/f;)V
    .registers 4

    :try_start_0
    iget-object v0, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v0}, Lu0/h;->e()Z

    move-result v0

    if-eqz v0, :cond_12

    iget-object v0, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {p1}, Lu0/f;->c()[B

    move-result-object v1

    invoke-virtual {v0, v1}, Lu0/h;->a([B)V

    goto :goto_21

    :cond_12
    iget-object v0, p0, Lv0/b;->d:Lu0/d;

    invoke-virtual {v0, p1}, Lu0/d;->a(Lu0/f;)V
    :try_end_17
    .catch Lq0/b; {:try_start_0 .. :try_end_17} :catch_18

    goto :goto_21

    :catch_18
    move-exception v0

    invoke-static {v0}, Lt0/a;->a(Ljava/lang/Exception;)V

    iget-object v0, p0, Lv0/b;->d:Lu0/d;

    invoke-virtual {v0, p1}, Lu0/d;->a(Lu0/f;)V

    :goto_21
    return-void
.end method

.method public b()Lu0/b;
    .registers 3

    invoke-virtual {p0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;

    move-result-object v0

    iget-object v1, p0, Lv0/b;->b:Lv0/a;

    if-nez v1, :cond_11

    if-eqz v0, :cond_11

    new-instance v1, Lv0/a;

    invoke-direct {v1, v0, p0}, Lv0/a;-><init>(Landroid/os/Looper;Lu0/a;)V

    iput-object v1, p0, Lv0/b;->b:Lv0/a;

    :cond_11
    iget-object v0, p0, Lv0/b;->b:Lv0/a;

    return-object v0
.end method

.method public final c()Z
    .registers 5
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/util/concurrent/RejectedExecutionException;
        }
    .end annotation

    iget-object v0, p0, Lv0/b;->e:Ljava/util/concurrent/ExecutorService;

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

    move-result v0

    if-nez v0, :cond_2c

    iget-object v0, p0, Lv0/b;->e:Ljava/util/concurrent/ExecutorService;

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

    move-result v0

    if-eqz v0, :cond_11

    goto :goto_2c

    :cond_11
    new-instance v0, Lu0/g;

    iget-object v1, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v1}, Lu0/h;->d()Ljava/io/InputStream;

    move-result-object v1

    invoke-direct {v0, v1}, Lu0/g;-><init>(Ljava/io/InputStream;)V

    new-instance v1, Lu0/e;

    iget-object v2, p0, Lv0/b;->a:Lu0/h;

    iget-object v3, p0, Lv0/b;->c:Lu0/c;

    invoke-direct {v1, v2, v0, v3}, Lu0/e;-><init>(Lu0/h;Lu0/g;Lu0/c;)V

    iget-object v0, p0, Lv0/b;->e:Ljava/util/concurrent/ExecutorService;

    invoke-interface {v0, v1}, Ljava/util/concurrent/ExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;

    const/4 v0, 0x1

    return v0

    :cond_2c
    :goto_2c
    const/4 v0, 0x0

    new-array v1, v0, [Ljava/lang/Object;

    const-string/jumbo v2, "unable to initPacketReceiver "

    invoke-static {v2, v1}, Lt0/a;->a(Ljava/lang/String;[Ljava/lang/Object;)V

    return v0
.end method

.method public closeConnection()V
    .registers 2

    iget-object v0, p0, Lv0/b;->a:Lu0/h;

    invoke-virtual {v0}, Lu0/h;->b()V

    return-void
.end method

.method public d()V
    .registers 2

    iget-object v0, p0, Lv0/b;->e:Ljava/util/concurrent/ExecutorService;

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

    invoke-virtual {p0}, Landroid/os/HandlerThread;->quit()Z

    return-void
.end method

.method public onLooperPrepared()V
    .registers 4

    invoke-super {p0}, Landroid/os/HandlerThread;->onLooperPrepared()V

    new-instance v0, Lu0/d;

    invoke-virtual {p0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;

    move-result-object v1

    iget-object v2, p0, Lv0/b;->c:Lu0/c;

    invoke-direct {v0, v1, v2}, Lu0/d;-><init>(Landroid/os/Looper;Lu0/c;)V

    iput-object v0, p0, Lv0/b;->d:Lu0/d;

    return-void
.end method