HttpRequest.smali

.class public Lcom/iflytek/cloud/msc/util/HttpRequest;
.super Ljava/lang/Thread;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;
    }
.end annotation


# static fields
.field public static final CONNECT_GET:I = 0x0

.field public static final CONNECT_POST:I = 0x1


# instance fields
.field private httpbuf:Ljava/lang/Object;

.field private mConnectType:I

.field private volatile mExit:Z

.field private mListener:Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;

.field private mTimeOut:I

.field private mUpLoadParam:Ljava/lang/String;

.field private mUrl:Ljava/net/URL;

.field private postDatas:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList",
            "<[B>;"
        }
    .end annotation
.end field


# direct methods
.method public constructor <init>()V
    .registers 4

    .prologue
    const/4 v2, 0x0

    const/4 v1, 0x0

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

    .line 38
    const/16 v0, 0x4e20

    iput v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mTimeOut:I

    .line 40
    iput-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mListener:Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;

    .line 42
    iput-boolean v2, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mExit:Z

    .line 44
    iput-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mUrl:Ljava/net/URL;

    .line 46
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->postDatas:Ljava/util/ArrayList;

    .line 51
    iput-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->httpbuf:Ljava/lang/Object;

    .line 56
    iput v2, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mConnectType:I

    .line 60
    return-void
.end method

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

    .prologue
    const/4 v2, 0x0

    const/4 v1, 0x0

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

    .line 38
    const/16 v0, 0x4e20

    iput v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mTimeOut:I

    .line 40
    iput-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mListener:Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;

    .line 42
    iput-boolean v2, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mExit:Z

    .line 44
    iput-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mUrl:Ljava/net/URL;

    .line 46
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->postDatas:Ljava/util/ArrayList;

    .line 51
    iput-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->httpbuf:Ljava/lang/Object;

    .line 56
    iput v2, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mConnectType:I

    .line 69
    invoke-virtual {p0, p1, p2, p3}, Lcom/iflytek/cloud/msc/util/HttpRequest;->setRequest(Ljava/lang/String;Ljava/lang/String;[B)V

    .line 70
    return-void
.end method

.method public static encodeUrl(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
    .registers 4
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/net/MalformedURLException;
        }
    .end annotation

    .prologue
    .line 146
    .line 147
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_38

    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_38

    .line 149
    const-string v0, "?"

    invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_27

    .line 150
    new-instance v0, Ljava/lang/StringBuilder;

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

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

    move-result-object v0

    const-string v1, "?"

    invoke-virtual {v0, v1}, 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 p0

    .line 151
    :cond_27
    new-instance v0, Ljava/lang/StringBuilder;

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

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

    move-result-object v0

    invoke-virtual {v0, p1}, 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 p0

    .line 153
    :cond_38
    new-instance v0, Ljava/net/URL;

    invoke-direct {v0, p0}, Ljava/net/URL;-><init>(Ljava/lang/String;)V

    return-object v0
.end method

.method private getPostLength()I
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 265
    move v1, v0

    move v2, v0

    .line 266
    :goto_3
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->postDatas:Ljava/util/ArrayList;

    invoke-virtual {v0}, Ljava/util/ArrayList;->size()I

    move-result v0

    if-ge v1, v0, :cond_19

    .line 268
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->postDatas:Ljava/util/ArrayList;

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B

    array-length v0, v0

    add-int/2addr v2, v0

    .line 266
    add-int/lit8 v0, v1, 0x1

    move v1, v0

    goto :goto_3

    .line 270
    :cond_19
    return v2
.end method

.method public static hasHttpError(Ljava/lang/String;)Z
    .registers 3

    .prologue
    .line 345
    :try_start_0
    new-instance v0, Lorg/json/JSONObject;

    invoke-direct {v0, p0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V

    .line 346
    const-string v1, "rsp"

    invoke-virtual {v0, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_1e

    .line 348
    const-string v1, "rsp"

    invoke-virtual {v0, v1}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;

    move-result-object v0

    .line 349
    const-string v1, "code"

    invoke-virtual {v0, v1}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
    :try_end_18
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_18} :catch_1d

    move-result v0

    .line 350
    if-eqz v0, :cond_1e

    .line 353
    const/4 v0, 0x1

    .line 358
    :goto_1c
    return v0

    .line 356
    :catch_1d
    move-exception v0

    .line 358
    :cond_1e
    const/4 v0, 0x0

    goto :goto_1c
.end method

.method private readStream(Ljava/io/InputStream;)[B
    .registers 9
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    const/4 v6, 0x0

    .line 177
    const/16 v0, 0x400

    .line 178
    new-instance v1, Ljava/io/BufferedInputStream;

    invoke-direct {v1, p1}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V

    .line 180
    new-instance v2, Ljava/io/ByteArrayOutputStream;

    invoke-direct {v2}, Ljava/io/ByteArrayOutputStream;-><init>()V

    .line 182
    new-array v3, v0, [B

    .line 183
    :goto_f
    iget-boolean v4, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mExit:Z

    if-nez v4, :cond_1e

    invoke-virtual {v1, v3, v6, v0}, Ljava/io/BufferedInputStream;->read([BII)I

    move-result v4

    const/4 v5, -0x1

    if-eq v4, v5, :cond_1e

    .line 185
    invoke-virtual {v2, v3, v6, v4}, Ljava/io/ByteArrayOutputStream;->write([BII)V

    goto :goto_f

    .line 187
    :cond_1e
    invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B

    move-result-object v0

    return-object v0
.end method

.method private runGet()V
    .registers 7

    .prologue
    const/4 v2, 0x0

    .line 191
    .line 195
    :try_start_1
    const-string v0, "Start connect server"

    invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V

    .line 196
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mUrl:Ljava/net/URL;

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

    move-result-object v0

    check-cast v0, Ljava/net/HttpURLConnection;
    :try_end_e
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_e} :catch_c8
    .catchall {:try_start_1 .. :try_end_e} :catchall_af

    .line 197
    :try_start_e
    iget v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mTimeOut:I

    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V

    .line 198
    iget v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mTimeOut:I

    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V

    .line 199
    const-string v1, "GET"

    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V

    .line 201
    invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getResponseCode()I

    move-result v1

    .line 202
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "responseCode = "

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

    move-result-object v3

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

    move-result-object v3

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

    move-result-object v3

    invoke-static {v3}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V

    .line 203
    const/16 v3, 0xc8

    if-ne v3, v1, :cond_51

    .line 205
    invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
    :try_end_3e
    .catch Ljava/lang/Exception; {:try_start_e .. :try_end_3e} :catch_76
    .catchall {:try_start_e .. :try_end_3e} :catchall_be

    move-result-object v2

    .line 206
    :try_start_3f
    invoke-direct {p0, v2}, Lcom/iflytek/cloud/msc/util/HttpRequest;->readStream(Ljava/io/InputStream;)[B

    move-result-object v1

    invoke-direct {p0, v1}, Lcom/iflytek/cloud/msc/util/HttpRequest;->throwResult([B)V
    :try_end_46
    .catch Ljava/lang/Exception; {:try_start_3f .. :try_end_46} :catch_cb
    .catchall {:try_start_3f .. :try_end_46} :catchall_be

    .line 219
    :goto_46
    if-eqz v2, :cond_4b

    .line 221
    :try_start_48
    invoke-virtual {v2}, Ljava/io/InputStream;->close()V

    .line 224
    :cond_4b
    if-eqz v0, :cond_50

    .line 225
    invoke-virtual {v0}, Ljava/net/HttpURLConnection;->disconnect()V
    :try_end_50
    .catch Ljava/lang/Exception; {:try_start_48 .. :try_end_50} :catch_d1

    .line 231
    :cond_50
    :goto_50
    return-void

    .line 208
    :cond_51
    :try_start_51
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "MscHttpRequest connect error:"

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

    move-result-object v3

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

    move-result-object v3

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

    move-result-object v3

    invoke-static {v3}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V

    .line 210
    new-instance v3, Lcom/iflytek/cloud/SpeechError;

    invoke-static {v1}, Ljava/lang/Math;->abs(I)I

    move-result v1

    add-int/lit16 v1, v1, 0x2ee0

    invoke-direct {v3, v1}, Lcom/iflytek/cloud/SpeechError;-><init>(I)V

    invoke-direct {p0, v3}, Lcom/iflytek/cloud/msc/util/HttpRequest;->throwError(Lcom/iflytek/cloud/SpeechError;)V
    :try_end_75
    .catch Ljava/lang/Exception; {:try_start_51 .. :try_end_75} :catch_76
    .catchall {:try_start_51 .. :try_end_75} :catchall_be

    goto :goto_46

    .line 212
    :catch_76
    move-exception v1

    move-object v5, v1

    move-object v1, v2

    move-object v2, v0

    move-object v0, v5

    .line 213
    :goto_7b
    :try_start_7b
    invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/Throwable;)V

    .line 214
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "MscHttpRequest error:"

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

    move-result-object v3

    invoke-virtual {v0}, Ljava/lang/Exception;->toString()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 {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V

    .line 215
    new-instance v0, Lcom/iflytek/cloud/SpeechError;

    const/16 v3, 0x4e23

    invoke-direct {v0, v3}, Lcom/iflytek/cloud/SpeechError;-><init>(I)V

    invoke-direct {p0, v0}, Lcom/iflytek/cloud/msc/util/HttpRequest;->throwError(Lcom/iflytek/cloud/SpeechError;)V
    :try_end_a2
    .catchall {:try_start_7b .. :try_end_a2} :catchall_c3

    .line 219
    if-eqz v1, :cond_a7

    .line 221
    :try_start_a4
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V

    .line 224
    :cond_a7
    if-eqz v2, :cond_50

    .line 225
    invoke-virtual {v2}, Ljava/net/HttpURLConnection;->disconnect()V
    :try_end_ac
    .catch Ljava/lang/Exception; {:try_start_a4 .. :try_end_ac} :catch_ad

    goto :goto_50

    .line 228
    :catch_ad
    move-exception v0

    goto :goto_50

    .line 218
    :catchall_af
    move-exception v0

    move-object v1, v2

    .line 219
    :goto_b1
    if-eqz v2, :cond_b6

    .line 221
    :try_start_b3
    invoke-virtual {v2}, Ljava/io/InputStream;->close()V

    .line 224
    :cond_b6
    if-eqz v1, :cond_bb

    .line 225
    invoke-virtual {v1}, Ljava/net/HttpURLConnection;->disconnect()V
    :try_end_bb
    .catch Ljava/lang/Exception; {:try_start_b3 .. :try_end_bb} :catch_bc

    .line 230
    :cond_bb
    :goto_bb
    throw v0

    .line 228
    :catch_bc
    move-exception v1

    goto :goto_bb

    .line 218
    :catchall_be
    move-exception v1

    move-object v5, v1

    move-object v1, v0

    move-object v0, v5

    goto :goto_b1

    :catchall_c3
    move-exception v0

    move-object v5, v1

    move-object v1, v2

    move-object v2, v5

    goto :goto_b1

    .line 212
    :catch_c8
    move-exception v0

    move-object v1, v2

    goto :goto_7b

    :catch_cb
    move-exception v1

    move-object v5, v1

    move-object v1, v2

    move-object v2, v0

    move-object v0, v5

    goto :goto_7b

    .line 228
    :catch_d1
    move-exception v0

    goto/16 :goto_50
.end method

.method private throwError(Lcom/iflytek/cloud/SpeechError;)V
    .registers 3

    .prologue
    .line 258
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mListener:Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;

    if-eqz v0, :cond_8

    iget-boolean v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mExit:Z

    if-eqz v0, :cond_9

    .line 261
    :cond_8
    :goto_8
    return-void

    .line 260
    :cond_9
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mListener:Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;

    invoke-interface {v0, p1}, Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;->onError(Lcom/iflytek/cloud/SpeechError;)V

    goto :goto_8
.end method

.method private throwResult([B)V
    .registers 3

    .prologue
    .line 239
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mListener:Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;

    if-eqz v0, :cond_8

    iget-boolean v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mExit:Z

    if-eqz v0, :cond_9

    .line 242
    :cond_8
    :goto_8
    return-void

    .line 241
    :cond_9
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mListener:Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;

    invoke-interface {v0, p0, p1}, Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;->onResult(Lcom/iflytek/cloud/msc/util/HttpRequest;[B)V

    goto :goto_8
.end method


# virtual methods
.method public appendData([B)V
    .registers 3

    .prologue
    .line 249
    if-eqz p1, :cond_7

    .line 250
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->postDatas:Ljava/util/ArrayList;

    invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 251
    :cond_7
    return-void
.end method

.method public cancel()V
    .registers 2

    .prologue
    .line 158
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mExit:Z

    .line 159
    return-void
.end method

.method public getHttpbuf()Ljava/lang/Object;
    .registers 2

    .prologue
    .line 80
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->httpbuf:Ljava/lang/Object;

    return-object v0
.end method

.method public run()V
    .registers 3

    .prologue
    .line 163
    iget v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mConnectType:I

    const/4 v1, 0x1

    if-ne v0, v1, :cond_9

    .line 164
    invoke-virtual {p0}, Lcom/iflytek/cloud/msc/util/HttpRequest;->runPost()V

    .line 167
    :goto_8
    return-void

    .line 166
    :cond_9
    invoke-direct {p0}, Lcom/iflytek/cloud/msc/util/HttpRequest;->runGet()V

    goto :goto_8
.end method

.method public runPost()V
    .registers 7

    .prologue
    const/4 v2, 0x0

    .line 278
    .line 281
    :try_start_1
    const-string v0, "MscHttpRequest start Post"

    invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V

    .line 282
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mUrl:Ljava/net/URL;

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

    move-result-object v0

    check-cast v0, Ljava/net/HttpURLConnection;
    :try_end_e
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_e} :catch_122
    .catchall {:try_start_1 .. :try_end_e} :catchall_118

    .line 283
    const/4 v1, 0x1

    :try_start_f
    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V

    .line 284
    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setDoInput(Z)V

    .line 285
    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setUseCaches(Z)V

    .line 286
    const-string v1, "POST"

    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V

    .line 287
    iget v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mTimeOut:I

    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V

    .line 288
    iget v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mTimeOut:I

    invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V

    .line 289
    const-string v1, "Content-length"

    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, ""

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

    move-result-object v3

    invoke-direct {p0}, Lcom/iflytek/cloud/msc/util/HttpRequest;->getPostLength()I

    move-result v4

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

    move-result-object v3

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

    move-result-object v3

    invoke-virtual {v0, v1, v3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 291
    const-string v1, "Connection"

    const-string v3, "Keep-Alive"

    invoke-virtual {v0, v1, v3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 292
    const-string v1, "Charset"

    const-string v3, "utf-8"

    invoke-virtual {v0, v1, v3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 293
    const-string v1, "Content-Type"

    const-string v3, "application/x-gzip"

    invoke-virtual {v0, v1, v3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 294
    iget-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mUpLoadParam:Ljava/lang/String;

    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_72

    .line 296
    iget-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mUpLoadParam:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B

    move-result-object v1

    const/4 v3, 0x2

    invoke-static {v1, v3}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String;

    move-result-object v1

    .line 297
    const-string v3, "X-Par"

    invoke-virtual {v0, v3, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 299
    :cond_72
    invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;

    move-result-object v3

    .line 300
    iget-object v1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->postDatas:Ljava/util/ArrayList;

    invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v4

    :goto_7c
    invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_c0

    invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [B

    .line 303
    invoke-virtual {v3, v1}, Ljava/io/OutputStream;->write([B)V
    :try_end_8b
    .catch Ljava/lang/Exception; {:try_start_f .. :try_end_8b} :catch_8c
    .catchall {:try_start_f .. :try_end_8b} :catchall_107

    goto :goto_7c

    .line 320
    :catch_8c
    move-exception v1

    move-object v5, v1

    move-object v1, v2

    move-object v2, v0

    move-object v0, v5

    .line 321
    :goto_91
    :try_start_91
    new-instance v3, Lcom/iflytek/cloud/SpeechError;

    const/16 v4, 0x4e23

    invoke-direct {v3, v4}, Lcom/iflytek/cloud/SpeechError;-><init>(I)V

    invoke-direct {p0, v3}, Lcom/iflytek/cloud/msc/util/HttpRequest;->throwError(Lcom/iflytek/cloud/SpeechError;)V

    .line 322
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "MscHttpRequest error:"

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

    move-result-object v3

    invoke-virtual {v0}, Ljava/lang/Exception;->toString()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 {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
    :try_end_b5
    .catchall {:try_start_91 .. :try_end_b5} :catchall_11b

    .line 325
    if-eqz v1, :cond_ba

    .line 326
    :try_start_b7
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V

    .line 329
    :cond_ba
    if-eqz v2, :cond_bf

    .line 330
    invoke-virtual {v2}, Ljava/net/HttpURLConnection;->disconnect()V
    :try_end_bf
    .catch Ljava/lang/Exception; {:try_start_b7 .. :try_end_bf} :catch_120

    .line 336
    :cond_bf
    :goto_bf
    return-void

    .line 305
    :cond_c0
    :try_start_c0
    invoke-virtual {v3}, Ljava/io/OutputStream;->flush()V

    .line 306
    invoke-virtual {v3}, Ljava/io/OutputStream;->close()V

    .line 308
    invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getResponseCode()I

    move-result v1

    .line 310
    const/16 v3, 0xc8

    if-ne v3, v1, :cond_e6

    .line 311
    invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
    :try_end_d1
    .catch Ljava/lang/Exception; {:try_start_c0 .. :try_end_d1} :catch_8c
    .catchall {:try_start_c0 .. :try_end_d1} :catchall_107

    move-result-object v2

    .line 312
    :try_start_d2
    invoke-direct {p0, v2}, Lcom/iflytek/cloud/msc/util/HttpRequest;->readStream(Ljava/io/InputStream;)[B

    move-result-object v1

    invoke-direct {p0, v1}, Lcom/iflytek/cloud/msc/util/HttpRequest;->throwResult([B)V
    :try_end_d9
    .catch Ljava/lang/Exception; {:try_start_d2 .. :try_end_d9} :catch_126
    .catchall {:try_start_d2 .. :try_end_d9} :catchall_107

    .line 325
    :goto_d9
    if-eqz v2, :cond_de

    .line 326
    :try_start_db
    invoke-virtual {v2}, Ljava/io/InputStream;->close()V

    .line 329
    :cond_de
    if-eqz v0, :cond_bf

    .line 330
    invoke-virtual {v0}, Ljava/net/HttpURLConnection;->disconnect()V
    :try_end_e3
    .catch Ljava/lang/Exception; {:try_start_db .. :try_end_e3} :catch_e4

    goto :goto_bf

    .line 333
    :catch_e4
    move-exception v0

    goto :goto_bf

    .line 315
    :cond_e6
    :try_start_e6
    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "Http Request Failed."

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

    move-result-object v3

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

    move-result-object v3

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

    move-result-object v3

    invoke-static {v3}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V

    .line 317
    new-instance v3, Lcom/iflytek/cloud/SpeechError;

    add-int/lit16 v1, v1, 0x2ee0

    invoke-direct {v3, v1}, Lcom/iflytek/cloud/SpeechError;-><init>(I)V

    invoke-direct {p0, v3}, Lcom/iflytek/cloud/msc/util/HttpRequest;->throwError(Lcom/iflytek/cloud/SpeechError;)V
    :try_end_106
    .catch Ljava/lang/Exception; {:try_start_e6 .. :try_end_106} :catch_8c
    .catchall {:try_start_e6 .. :try_end_106} :catchall_107

    goto :goto_d9

    .line 324
    :catchall_107
    move-exception v1

    move-object v5, v1

    move-object v1, v0

    move-object v0, v5

    .line 325
    :goto_10b
    if-eqz v2, :cond_110

    .line 326
    :try_start_10d
    invoke-virtual {v2}, Ljava/io/InputStream;->close()V

    .line 329
    :cond_110
    if-eqz v1, :cond_115

    .line 330
    invoke-virtual {v1}, Ljava/net/HttpURLConnection;->disconnect()V
    :try_end_115
    .catch Ljava/lang/Exception; {:try_start_10d .. :try_end_115} :catch_116

    .line 335
    :cond_115
    :goto_115
    throw v0

    .line 333
    :catch_116
    move-exception v1

    goto :goto_115

    .line 324
    :catchall_118
    move-exception v0

    move-object v1, v2

    goto :goto_10b

    :catchall_11b
    move-exception v0

    move-object v5, v1

    move-object v1, v2

    move-object v2, v5

    goto :goto_10b

    .line 333
    :catch_120
    move-exception v0

    goto :goto_bf

    .line 320
    :catch_122
    move-exception v0

    move-object v1, v2

    goto/16 :goto_91

    :catch_126
    move-exception v1

    move-object v5, v1

    move-object v1, v2

    move-object v2, v0

    move-object v0, v5

    goto/16 :goto_91
.end method

.method public setConectType(I)V
    .registers 2

    .prologue
    .line 85
    iput p1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mConnectType:I

    .line 86
    return-void
.end method

.method public setHttpbuf(Ljava/lang/Object;)V
    .registers 2

    .prologue
    .line 77
    iput-object p1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->httpbuf:Ljava/lang/Object;

    .line 78
    return-void
.end method

.method public setRequest(Ljava/lang/String;Ljava/lang/String;[B)V
    .registers 5

    .prologue
    .line 96
    iget-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->postDatas:Ljava/util/ArrayList;

    invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V

    .line 97
    invoke-virtual {p0, p3}, Lcom/iflytek/cloud/msc/util/HttpRequest;->appendData([B)V

    .line 99
    :try_start_8
    invoke-static {p1, p2}, Lcom/iflytek/cloud/msc/util/HttpRequest;->encodeUrl(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;

    move-result-object v0

    iput-object v0, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mUrl:Ljava/net/URL;
    :try_end_e
    .catch Ljava/net/MalformedURLException; {:try_start_8 .. :try_end_e} :catch_f

    .line 103
    :goto_e
    return-void

    .line 100
    :catch_f
    move-exception v0

    .line 101
    invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/Throwable;)V

    goto :goto_e
.end method

.method public setRequest(Ljava/lang/String;Ljava/lang/String;[BLjava/lang/String;)V
    .registers 5

    .prologue
    .line 114
    iput-object p4, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mUpLoadParam:Ljava/lang/String;

    .line 115
    invoke-virtual {p0, p1, p2, p3}, Lcom/iflytek/cloud/msc/util/HttpRequest;->setRequest(Ljava/lang/String;Ljava/lang/String;[B)V

    .line 116
    return-void
.end method

.method public setTimeOut(I)V
    .registers 2

    .prologue
    .line 124
    iput p1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mTimeOut:I

    .line 125
    return-void
.end method

.method public startRequest(Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;)V
    .registers 2

    .prologue
    .line 132
    iput-object p1, p0, Lcom/iflytek/cloud/msc/util/HttpRequest;->mListener:Lcom/iflytek/cloud/msc/util/HttpRequest$HttpRequestListener;

    .line 133
    invoke-virtual {p0}, Lcom/iflytek/cloud/msc/util/HttpRequest;->start()V

    .line 134
    return-void
.end method