c$b.smali

.class final Lcom/imo/android/imoim/av/c/c$b;
.super Ljava/lang/Thread;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/imo/android/imoim/av/c/c;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = "b"
.end annotation


# instance fields
.field a:Ljava/util/concurrent/BlockingQueue;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/BlockingQueue<",
            "[B>;"
        }
    .end annotation
.end field

.field b:Z

.field final synthetic c:Lcom/imo/android/imoim/av/c/c;


# direct methods
.method constructor <init>(Lcom/imo/android/imoim/av/c/c;)V
    .registers 3

    .line 24
    iput-object p1, p0, Lcom/imo/android/imoim/av/c/c$b;->c:Lcom/imo/android/imoim/av/c/c;

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

    .line 26
    new-instance p1, Ljava/util/concurrent/LinkedBlockingQueue;

    const/16 v0, 0x64

    invoke-direct {p1, v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>(I)V

    iput-object p1, p0, Lcom/imo/android/imoim/av/c/c$b;->a:Ljava/util/concurrent/BlockingQueue;

    const/4 p1, 0x0

    .line 27
    iput-boolean p1, p0, Lcom/imo/android/imoim/av/c/c$b;->b:Z

    return-void
.end method

.method private static a([B)[B
    .registers 6

    .line 40
    array-length v0, p0

    const/4 v1, 0x2

    add-int/2addr v0, v1

    new-array v0, v0, [B

    .line 41
    array-length v2, p0

    shr-int/lit8 v2, v2, 0x8

    int-to-byte v2, v2

    const/4 v3, 0x0

    aput-byte v2, v0, v3

    .line 42
    array-length v2, p0

    and-int/lit16 v2, v2, 0xff

    int-to-byte v2, v2

    const/4 v4, 0x1

    aput-byte v2, v0, v4

    .line 43
    array-length v2, p0

    invoke-static {p0, v3, v0, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    return-object v0
.end method


# virtual methods
.method public final run()V
    .registers 9

    const-string v0, "sE:"

    const-string v1, "urlconnhttp"

    .line 105
    :cond_4
    :goto_4
    :try_start_4
    iget-boolean v2, p0, Lcom/imo/android/imoim/av/c/c$b;->b:Z
    :try_end_6
    .catch Ljava/lang/InterruptedException; {:try_start_4 .. :try_end_6} :catch_10c

    if-nez v2, :cond_10c

    const/4 v2, 0x0

    const/4 v3, 0x1

    .line 1074
    :try_start_a
    iget-object v4, p0, Lcom/imo/android/imoim/av/c/c$b;->c:Lcom/imo/android/imoim/av/c/c;

    iget-object v4, v4, Lcom/imo/android/imoim/av/c/c;->a:Ljava/net/URL;

    invoke-virtual {v4}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;

    move-result-object v4

    check-cast v4, Ljava/net/HttpURLConnection;

    const/4 v5, 0x0

    .line 1076
    invoke-virtual {v4, v5}, Ljava/net/HttpURLConnection;->setChunkedStreamingMode(I)V

    const-string v5, "POST"

    .line 1077
    invoke-virtual {v4, v5}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V

    const-string v5, "Connection"

    const-string v6, "close"

    .line 1078
    invoke-virtual {v4, v5, v6}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    const-string v5, "Transfer-Encoding"

    const-string v6, "chunked"

    .line 1080
    invoke-virtual {v4, v5, v6}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 1081
    invoke-virtual {v4, v3}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V

    const-string v5, "Host"

    .line 1082
    iget-object v6, p0, Lcom/imo/android/imoim/av/c/c$b;->c:Lcom/imo/android/imoim/av/c/c;

    iget-object v6, v6, Lcom/imo/android/imoim/av/c/c;->c:Ljava/lang/String;

    invoke-virtual {v4, v5, v6}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 1083
    invoke-virtual {v4}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;

    move-result-object v2

    .line 1084
    iget-object v4, p0, Lcom/imo/android/imoim/av/c/c$b;->c:Lcom/imo/android/imoim/av/c/c;

    iget-object v4, v4, Lcom/imo/android/imoim/av/c/c;->d:[B

    invoke-static {v4}, Lcom/imo/android/imoim/av/c/c$b;->a([B)[B

    move-result-object v4

    invoke-virtual {v2, v4}, Ljava/io/OutputStream;->write([B)V

    .line 1085
    invoke-virtual {v2}, Ljava/io/OutputStream;->flush()V
    :try_end_49
    .catch Ljava/lang/Exception; {:try_start_a .. :try_end_49} :catch_c9
    .catchall {:try_start_a .. :try_end_49} :catchall_c7

    .line 2049
    :cond_49
    :goto_49
    :try_start_49
    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/Thread;->isInterrupted()Z

    move-result v4

    if-nez v4, :cond_a0

    iget-boolean v4, p0, Lcom/imo/android/imoim/av/c/c$b;->b:Z

    if-nez v4, :cond_a0

    .line 2050
    iget-object v4, p0, Lcom/imo/android/imoim/av/c/c$b;->a:Ljava/util/concurrent/BlockingQueue;

    const-wide/16 v5, 0x3e8

    sget-object v7, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;

    invoke-interface {v4, v5, v6, v7}, Ljava/util/concurrent/BlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;

    move-result-object v4

    check-cast v4, [B

    if-eqz v4, :cond_49

    .line 2052
    array-length v5, v4

    if-eqz v5, :cond_a0

    .line 2056
    invoke-static {v4}, Lcom/imo/android/imoim/av/c/c$b;->a([B)[B

    move-result-object v4

    invoke-virtual {v2, v4}, Ljava/io/OutputStream;->write([B)V

    .line 2060
    invoke-virtual {v2}, Ljava/io/OutputStream;->flush()V
    :try_end_72
    .catch Ljava/lang/InterruptedException; {:try_start_49 .. :try_end_72} :catch_8a
    .catch Ljava/io/IOException; {:try_start_49 .. :try_end_72} :catch_73
    .catch Ljava/lang/Exception; {:try_start_49 .. :try_end_72} :catch_c9
    .catchall {:try_start_49 .. :try_end_72} :catchall_c7

    goto :goto_49

    :catch_73
    move-exception v4

    .line 2066
    :try_start_74
    new-instance v5, Ljava/lang/StringBuilder;

    const-string v6, "IOException in mainLoop"

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

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

    move-result-object v4

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

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 3079
    invoke-static {v1, v4, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    goto :goto_a0

    :catch_8a
    move-exception v4

    .line 2064
    new-instance v5, Ljava/lang/StringBuilder;

    const-string v6, "IntException in mainLoop"

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

    invoke-virtual {v4}, Ljava/lang/InterruptedException;->toString()Ljava/lang/String;

    move-result-object v4

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

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    .line 2079
    invoke-static {v1, v4, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    .line 2068
    :cond_a0
    :goto_a0
    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "Exited mainLoop int:"

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

    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/Thread;->isInterrupted()Z

    move-result v5

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

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

    iget-boolean v5, p0, Lcom/imo/android/imoim/av/c/c$b;->b:Z

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

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

    move-result-object v4

    .line 4071
    invoke-static {v1, v4}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_c1
    .catch Ljava/lang/Exception; {:try_start_74 .. :try_end_c1} :catch_c9
    .catchall {:try_start_74 .. :try_end_c1} :catchall_c7

    if-eqz v2, :cond_da

    .line 1093
    :goto_c3
    :try_start_c3
    invoke-virtual {v2}, Ljava/io/OutputStream;->close()V
    :try_end_c6
    .catch Ljava/io/IOException; {:try_start_c3 .. :try_end_c6} :catch_da
    .catch Ljava/lang/InterruptedException; {:try_start_c3 .. :try_end_c6} :catch_10c

    goto :goto_da

    :catchall_c7
    move-exception v0

    goto :goto_106

    :catch_c9
    move-exception v4

    :try_start_ca
    const-string v5, "Exception in send http "

    .line 1089
    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v5, v4}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    .line 4079
    invoke-static {v1, v4, v3}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V
    :try_end_d7
    .catchall {:try_start_ca .. :try_end_d7} :catchall_c7

    if-eqz v2, :cond_da

    goto :goto_c3

    .line 1099
    :catch_da
    :cond_da
    :goto_da
    :try_start_da
    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Exited sHU int:"

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

    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/Thread;->isInterrupted()Z

    move-result v3

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

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

    iget-boolean v3, p0, Lcom/imo/android/imoim/av/c/c$b;->b:Z

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

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

    move-result-object v2

    .line 5071
    invoke-static {v1, v2}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 107
    iget-boolean v2, p0, Lcom/imo/android/imoim/av/c/c$b;->b:Z

    if-nez v2, :cond_4

    const-wide/16 v2, 0xc8

    .line 108
    invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
    :try_end_104
    .catch Ljava/lang/InterruptedException; {:try_start_da .. :try_end_104} :catch_10c

    goto/16 :goto_4

    :goto_106
    if-eqz v2, :cond_10b

    .line 1093
    :try_start_108
    invoke-virtual {v2}, Ljava/io/OutputStream;->close()V
    :try_end_10b
    .catch Ljava/io/IOException; {:try_start_108 .. :try_end_10b} :catch_10b
    .catch Ljava/lang/InterruptedException; {:try_start_108 .. :try_end_10b} :catch_10c

    .line 1095
    :catch_10b
    :cond_10b
    :try_start_10b
    throw v0
    :try_end_10c
    .catch Ljava/lang/InterruptedException; {:try_start_10b .. :try_end_10c} :catch_10c

    :catch_10c
    :cond_10c
    return-void
.end method