UploadLogTask.smali

.class public abstract Lio/rong/rtlog/upload/UploadLogTask;
.super Ljava/lang/Object;
.source "UploadLogTask.java"


# static fields
.field private static final BOUNDARY:Ljava/lang/String; = "03297e90-eed0-4cec-b18b-92d2574b9331"

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

.field protected static final URL_ENCODE_CHARSET:Ljava/lang/String; = "utf-8"


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

    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method


# virtual methods
.method protected encodeParams(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

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

    move-result v0

    if-eqz v0, :cond_7

    return-object p1

    :cond_7
    :try_start_7
    const-string v0, "utf-8"

    .line 2
    invoke-static {p1, v0}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1
    :try_end_d
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_7 .. :try_end_d} :catch_d

    :catch_d
    return-object p1
.end method

.method protected abstract getUploadUrl()Ljava/lang/String;
.end method

.method protected abstract onUploadResponse(Ljava/lang/String;)V
.end method

.method protected upload(Ljava/lang/String;)Z
    .registers 16

    const-string v0, "upload cache file delete return false.file name:"

    const-string v1, "fileInputStream"

    const-string v2, "inStream"

    const-string v3, "outStream"

    const/4 v4, 0x0

    const/4 v5, 0x0

    .line 1
    :try_start_a
    new-instance v6, Ljava/io/File;

    invoke-direct {v6, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
    :try_end_f
    .catch Ljava/lang/Exception; {:try_start_a .. :try_end_f} :catch_116
    .catchall {:try_start_a .. :try_end_f} :catchall_110

    .line 2
    :try_start_f
    invoke-virtual {p0}, Lio/rong/rtlog/upload/UploadLogTask;->getUploadUrl()Ljava/lang/String;

    move-result-object p1

    invoke-static {p1}, Lio/rong/imlib/common/NetUtils;->createURLConnection(Ljava/lang/String;)Ljava/net/HttpURLConnection;

    move-result-object p1
    :try_end_17
    .catch Ljava/lang/Exception; {:try_start_f .. :try_end_17} :catch_10c
    .catchall {:try_start_f .. :try_end_17} :catchall_108

    const/16 v7, 0x3a98

    .line 3
    :try_start_19
    invoke-virtual {p1, v7}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V

    const/16 v7, 0x1388

    .line 4
    invoke-virtual {p1, v7}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V

    const/4 v7, 0x1

    .line 5
    invoke-virtual {p1, v7}, Ljava/net/HttpURLConnection;->setDoInput(Z)V

    .line 6
    invoke-virtual {p1, v7}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V

    .line 7
    invoke-virtual {p1, v4}, Ljava/net/HttpURLConnection;->setUseCaches(Z)V

    const-string v8, "POST"

    .line 8
    invoke-virtual {p1, v8}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V

    const-string v8, "Content-Type"

    const-string v9, "multipart/form-data; boundary=03297e90-eed0-4cec-b18b-92d2574b9331"

    .line 9
    invoke-virtual {p1, v8, v9}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 10
    new-instance v8, Ljava/io/DataOutputStream;

    invoke-virtual {p1}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;

    move-result-object v9

    invoke-direct {v8, v9}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
    :try_end_40
    .catch Ljava/lang/Exception; {:try_start_19 .. :try_end_40} :catch_102
    .catchall {:try_start_19 .. :try_end_40} :catchall_ff

    :try_start_40
    const-string v9, "--03297e90-eed0-4cec-b18b-92d2574b9331\r\n"

    .line 11
    invoke-virtual {v8, v9}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

    const-string v9, "Content-Disposition: form-data; name=\"fileLog\"; filename=\"fileLog.gz\"\r\n"

    .line 12
    invoke-virtual {v8, v9}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

    const-string v9, "Content-Type: application/octet-stream\r\n\r\n"

    .line 13
    invoke-virtual {v8, v9}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

    const/16 v9, 0x400

    .line 14
    new-array v9, v9, [B

    .line 15
    new-instance v10, Ljava/io/FileInputStream;

    invoke-direct {v10, v6}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
    :try_end_58
    .catch Ljava/lang/Exception; {:try_start_40 .. :try_end_58} :catch_fc
    .catchall {:try_start_40 .. :try_end_58} :catchall_f8

    .line 16
    :try_start_58
    new-instance v11, Ljava/util/zip/GZIPOutputStream;

    invoke-direct {v11, v8}, Ljava/util/zip/GZIPOutputStream;-><init>(Ljava/io/OutputStream;)V

    .line 17
    :goto_5d
    invoke-virtual {v10, v9}, Ljava/io/FileInputStream;->read([B)I

    move-result v12

    if-lez v12, :cond_67

    .line 18
    invoke-virtual {v11, v9, v4, v12}, Ljava/util/zip/GZIPOutputStream;->write([BII)V

    goto :goto_5d

    .line 19
    :cond_67
    invoke-virtual {v11}, Ljava/util/zip/GZIPOutputStream;->finish()V

    const-string v9, "\r\n--03297e90-eed0-4cec-b18b-92d2574b9331--\r\n"

    .line 20
    invoke-virtual {v8, v9}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

    .line 21
    invoke-virtual {v8}, Ljava/io/DataOutputStream;->flush()V

    .line 22
    invoke-virtual {p1}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;

    move-result-object v5

    .line 23
    new-instance v9, Ljava/io/BufferedReader;

    new-instance v11, Ljava/io/InputStreamReader;

    invoke-direct {v11, v5}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V

    invoke-direct {v9, v11}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V

    .line 24
    new-instance v11, Ljava/lang/StringBuilder;

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

    .line 25
    :goto_85
    invoke-virtual {v9}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v12

    if-eqz v12, :cond_8f

    .line 26
    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    goto :goto_85

    .line 27
    :cond_8f
    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

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

    move-result v11

    const/16 v12, 0xc8

    if-ne v11, v12, :cond_a5

    .line 29
    invoke-static {v9}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v11

    if-nez v11, :cond_a4

    .line 30
    invoke-virtual {p0, v9}, Lio/rong/rtlog/upload/UploadLogTask;->onUploadResponse(Ljava/lang/String;)V
    :try_end_a4
    .catch Ljava/lang/Exception; {:try_start_58 .. :try_end_a4} :catch_f3
    .catchall {:try_start_58 .. :try_end_a4} :catchall_f0

    :cond_a4
    const/4 v4, 0x1

    :cond_a5
    if-eqz p1, :cond_aa

    .line 31
    invoke-virtual {p1}, Ljava/net/HttpURLConnection;->disconnect()V

    .line 32
    :cond_aa
    :try_start_aa
    invoke-virtual {v8}, Ljava/io/DataOutputStream;->close()V
    :try_end_ad
    .catch Ljava/io/IOException; {:try_start_aa .. :try_end_ad} :catch_ae

    goto :goto_b4

    :catch_ae
    move-exception p1

    .line 33
    sget-object v7, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v7, v3, p1}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    :goto_b4
    if-eqz v5, :cond_c0

    .line 34
    :try_start_b6
    invoke-virtual {v5}, Ljava/io/InputStream;->close()V
    :try_end_b9
    .catch Ljava/io/IOException; {:try_start_b6 .. :try_end_b9} :catch_ba

    goto :goto_c0

    :catch_ba
    move-exception p1

    .line 35
    sget-object v3, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v3, v2, p1}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    .line 36
    :cond_c0
    :goto_c0
    :try_start_c0
    invoke-virtual {v10}, Ljava/io/FileInputStream;->close()V
    :try_end_c3
    .catch Ljava/io/IOException; {:try_start_c0 .. :try_end_c3} :catch_c4

    goto :goto_ca

    :catch_c4
    move-exception p1

    .line 37
    sget-object v2, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v2, v1, p1}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    .line 38
    :goto_ca
    invoke-virtual {v6}, Ljava/io/File;->exists()Z

    move-result p1

    if-eqz p1, :cond_162

    .line 39
    invoke-virtual {v6}, Ljava/io/File;->delete()Z

    move-result p1

    if-nez p1, :cond_162

    .line 40
    sget-object p1, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

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

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

    invoke-virtual {v6}, Ljava/io/File;->getName()Ljava/lang/String;

    move-result-object v0

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

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

    move-result-object v0

    invoke-static {p1, v0}, Lio/rong/common/rlog/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I

    goto/16 :goto_162

    :catchall_f0
    move-exception v4

    goto/16 :goto_167

    :catch_f3
    move-exception v7

    move-object v13, v5

    move-object v5, p1

    move-object p1, v13

    goto :goto_11b

    :catchall_f8
    move-exception v4

    move-object v10, v5

    goto/16 :goto_167

    :catch_fc
    move-exception v7

    move-object v10, v5

    goto :goto_105

    :catchall_ff
    move-exception v4

    move-object v8, v5

    goto :goto_114

    :catch_102
    move-exception v7

    move-object v8, v5

    move-object v10, v8

    :goto_105
    move-object v5, p1

    move-object p1, v10

    goto :goto_11b

    :catchall_108
    move-exception v4

    move-object p1, v5

    move-object v8, p1

    goto :goto_114

    :catch_10c
    move-exception v7

    move-object p1, v5

    move-object v8, p1

    goto :goto_11a

    :catchall_110
    move-exception v4

    move-object p1, v5

    move-object v6, p1

    move-object v8, v6

    :goto_114
    move-object v10, v8

    goto :goto_167

    :catch_116
    move-exception v7

    move-object p1, v5

    move-object v6, p1

    move-object v8, v6

    :goto_11a
    move-object v10, v8

    .line 41
    :goto_11b
    :try_start_11b
    sget-object v9, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    const-string v11, "upload"

    invoke-static {v9, v11, v7}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
    :try_end_122
    .catchall {:try_start_11b .. :try_end_122} :catchall_163

    if-eqz v5, :cond_127

    .line 42
    invoke-virtual {v5}, Ljava/net/HttpURLConnection;->disconnect()V

    :cond_127
    if-eqz v8, :cond_133

    .line 43
    :try_start_129
    invoke-virtual {v8}, Ljava/io/DataOutputStream;->close()V
    :try_end_12c
    .catch Ljava/io/IOException; {:try_start_129 .. :try_end_12c} :catch_12d

    goto :goto_133

    :catch_12d
    move-exception v5

    .line 44
    sget-object v7, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v7, v3, v5}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    :cond_133
    :goto_133
    if-eqz p1, :cond_13f

    .line 45
    :try_start_135
    invoke-virtual {p1}, Ljava/io/InputStream;->close()V
    :try_end_138
    .catch Ljava/io/IOException; {:try_start_135 .. :try_end_138} :catch_139

    goto :goto_13f

    :catch_139
    move-exception p1

    .line 46
    sget-object v3, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v3, v2, p1}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    :cond_13f
    :goto_13f
    if-eqz v10, :cond_14b

    .line 47
    :try_start_141
    invoke-virtual {v10}, Ljava/io/FileInputStream;->close()V
    :try_end_144
    .catch Ljava/io/IOException; {:try_start_141 .. :try_end_144} :catch_145

    goto :goto_14b

    :catch_145
    move-exception p1

    .line 48
    sget-object v2, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v2, v1, p1}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    :cond_14b
    :goto_14b
    if-eqz v6, :cond_162

    .line 49
    invoke-virtual {v6}, Ljava/io/File;->exists()Z

    move-result p1

    if-eqz p1, :cond_162

    .line 50
    invoke-virtual {v6}, Ljava/io/File;->delete()Z

    move-result p1

    if-nez p1, :cond_162

    .line 51
    sget-object p1, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

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

    goto/16 :goto_dd

    :cond_162
    :goto_162
    return v4

    :catchall_163
    move-exception v4

    move-object v13, v5

    move-object v5, p1

    move-object p1, v13

    :goto_167
    if-eqz p1, :cond_16c

    .line 52
    invoke-virtual {p1}, Ljava/net/HttpURLConnection;->disconnect()V

    :cond_16c
    if-eqz v8, :cond_178

    .line 53
    :try_start_16e
    invoke-virtual {v8}, Ljava/io/DataOutputStream;->close()V
    :try_end_171
    .catch Ljava/io/IOException; {:try_start_16e .. :try_end_171} :catch_172

    goto :goto_178

    :catch_172
    move-exception p1

    .line 54
    sget-object v7, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v7, v3, p1}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    :cond_178
    :goto_178
    if-eqz v5, :cond_184

    .line 55
    :try_start_17a
    invoke-virtual {v5}, Ljava/io/InputStream;->close()V
    :try_end_17d
    .catch Ljava/io/IOException; {:try_start_17a .. :try_end_17d} :catch_17e

    goto :goto_184

    :catch_17e
    move-exception p1

    .line 56
    sget-object v3, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v3, v2, p1}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    :cond_184
    :goto_184
    if-eqz v10, :cond_190

    .line 57
    :try_start_186
    invoke-virtual {v10}, Ljava/io/FileInputStream;->close()V
    :try_end_189
    .catch Ljava/io/IOException; {:try_start_186 .. :try_end_189} :catch_18a

    goto :goto_190

    :catch_18a
    move-exception p1

    .line 58
    sget-object v2, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    invoke-static {v2, v1, p1}, Lio/rong/common/rlog/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    :cond_190
    :goto_190
    if-eqz v6, :cond_1b6

    .line 59
    invoke-virtual {v6}, Ljava/io/File;->exists()Z

    move-result p1

    if-eqz p1, :cond_1b6

    .line 60
    invoke-virtual {v6}, Ljava/io/File;->delete()Z

    move-result p1

    if-nez p1, :cond_1b6

    .line 61
    sget-object p1, Lio/rong/rtlog/upload/UploadLogTask;->TAG:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

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

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

    invoke-virtual {v6}, Ljava/io/File;->getName()Ljava/lang/String;

    move-result-object v0

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

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

    move-result-object v0

    invoke-static {p1, v0}, Lio/rong/common/rlog/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 62
    :cond_1b6
    goto :goto_1b8

    :goto_1b7
    throw v4

    :goto_1b8
    goto :goto_1b7
.end method