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