LogReporter.smali
.class public Lio/rong/common/dlog/LogReporter;
.super Ljava/lang/Object;
.source "LogReporter.java"
# static fields
.field private static final BOUNDARY:Ljava/lang/String; = "03297e90-eed0-4cec-b18b-92d2574b9331"
# instance fields
.field logThreadPool:Lio/rong/common/dlog/LogThreadPool;
# direct methods
.method public constructor <init>(Lio/rong/common/dlog/LogThreadPool;)V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/rong/common/dlog/LogReporter;->logThreadPool:Lio/rong/common/dlog/LogThreadPool;
.line 3
invoke-direct {p0}, Lio/rong/common/dlog/LogReporter;->checkAndReportCrashLog()V
.line 4
invoke-direct {p0}, Lio/rong/common/dlog/LogReporter;->clearExpiredLogFile()V
return-void
.end method
.method static synthetic access$000(Lio/rong/common/dlog/LogReporter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
.registers 9
.line 1
invoke-direct/range {p0 .. p8}, Lio/rong/common/dlog/LogReporter;->uploadFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
move-result p0
return p0
.end method
.method static synthetic access$100(Lio/rong/common/dlog/LogReporter;Ljava/lang/String;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Lio/rong/common/dlog/LogReporter;->clearInfoForFile(Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$200(Lio/rong/common/dlog/LogReporter;Ljava/lang/String;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Lio/rong/common/dlog/LogReporter;->deleteCrashZipFile(Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$300(Lio/rong/common/dlog/LogReporter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
.registers 8
.line 1
invoke-direct/range {p0 .. p7}, Lio/rong/common/dlog/LogReporter;->uploadString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
move-result p0
return p0
.end method
.method private checkAndReportCrashLog()V
.registers 3
.line 1
invoke-static {}, Lio/rong/common/dlog/LogEntity;->getInstance()Lio/rong/common/dlog/LogEntity;
move-result-object v0
invoke-virtual {v0}, Lio/rong/common/dlog/LogEntity;->getLogMode()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_c
return-void
.line 2
:cond_c
iget-object v0, p0, Lio/rong/common/dlog/LogReporter;->logThreadPool:Lio/rong/common/dlog/LogThreadPool;
invoke-virtual {v0}, Lio/rong/common/dlog/LogThreadPool;->getExecutorService()Ljava/util/concurrent/ScheduledThreadPoolExecutor;
move-result-object v0
new-instance v1, Lio/rong/common/dlog/LogReporter$2;
invoke-direct {v1, p0}, Lio/rong/common/dlog/LogReporter$2;-><init>(Lio/rong/common/dlog/LogReporter;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
return-void
.end method
.method private clearExpiredLogFile()V
.registers 16
const-string v0, "_"
const/16 v1, 0x200
const/4 v2, 0x0
const/4 v3, 0x1
.line 1
:try_start_6
new-instance v4, Ljava/io/File;
invoke-static {}, Lio/rong/common/dlog/LogEntity;->getInstance()Lio/rong/common/dlog/LogEntity;
move-result-object v5
invoke-virtual {v5}, Lio/rong/common/dlog/LogEntity;->getLogDir()Ljava/lang/String;
move-result-object v5
invoke-direct {v4, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 2
new-instance v5, Lio/rong/common/dlog/LogReporter$4;
invoke-direct {v5, p0}, Lio/rong/common/dlog/LogReporter$4;-><init>(Lio/rong/common/dlog/LogReporter;)V
invoke-virtual {v4, v5}, Ljava/io/File;->listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;
move-result-object v4
.line 3
array-length v5, v4
const/4 v6, 0x0
:goto_1e
if-ge v6, v5, :cond_96
aget-object v7, v4, v6
.line 4
invoke-virtual {v7}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v8
.line 5
invoke-virtual {v8, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v9
if-nez v9, :cond_30
.line 6
invoke-virtual {v7}, Ljava/io/File;->delete()Z
goto :goto_7c
.line 7
:cond_30
invoke-virtual {v8, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v9
invoke-virtual {v8, v2, v9}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v9
.line 8
invoke-virtual {v8, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v10
add-int/2addr v10, v3
const-string v11, "."
invoke-virtual {v8, v11}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v11
invoke-virtual {v8, v10, v11}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v8
.line 9
invoke-static {v8}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v10
.line 10
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v12
sub-long/2addr v12, v10
invoke-static {}, Lio/rong/common/dlog/LogEntity;->getInstance()Lio/rong/common/dlog/LogEntity;
move-result-object v10
invoke-virtual {v10}, Lio/rong/common/dlog/LogEntity;->getOutDateTime()J
move-result-wide v10
cmp-long v14, v12, v10
if-lez v14, :cond_7c
.line 11
invoke-virtual {v7}, Ljava/io/File;->delete()Z
.line 12
sget-object v10, Lio/rong/common/dlog/DLog$LogTag;->G_DROP_LOG_E:Lio/rong/common/dlog/DLog$LogTag;
invoke-virtual {v10}, Lio/rong/common/dlog/DLog$LogTag;->getTag()Ljava/lang/String;
move-result-object v10
const-string v11, "start|end|size"
const/4 v12, 0x3
new-array v12, v12, [Ljava/lang/Object;
aput-object v9, v12, v2
aput-object v8, v12, v3
.line 13
invoke-virtual {v7}, Ljava/io/File;->length()J
move-result-wide v7
invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
const/4 v8, 0x2
aput-object v7, v12, v8
.line 14
invoke-static {v8, v1, v10, v11, v12}, Lio/rong/common/dlog/DLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_7c
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_7c} :catch_7f
:cond_7c
:goto_7c
add-int/lit8 v6, v6, 0x1
goto :goto_1e
:catch_7f
move-exception v0
.line 15
sget-object v4, Lio/rong/common/dlog/DLog$LogTag;->G_CRASH_E:Lio/rong/common/dlog/DLog$LogTag;
invoke-virtual {v4}, Lio/rong/common/dlog/DLog$LogTag;->getTag()Ljava/lang/String;
move-result-object v4
new-array v5, v3, [Ljava/lang/Object;
invoke-static {v0}, Lio/rong/common/dlog/DLog;->stackToString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v6
aput-object v6, v5, v2
const-string v2, "stacks"
invoke-static {v3, v1, v4, v2, v5}, Lio/rong/common/dlog/DLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 16
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:cond_96
return-void
.end method
.method private clearInfoForFile(Ljava/lang/String;)V
.registers 3
.line 1
new-instance v0, Ljava/io/File;
invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 2
:try_start_5
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p1
if-nez p1, :cond_e
.line 3
invoke-virtual {v0}, Ljava/io/File;->createNewFile()Z
.line 4
:cond_e
new-instance p1, Ljava/io/FileWriter;
invoke-direct {p1, v0}, Ljava/io/FileWriter;-><init>(Ljava/io/File;)V
const-string v0, ""
.line 5
invoke-virtual {p1, v0}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
.line 6
invoke-virtual {p1}, Ljava/io/FileWriter;->flush()V
.line 7
invoke-virtual {p1}, Ljava/io/FileWriter;->close()V
:try_end_1e
.catch Ljava/io/IOException; {:try_start_5 .. :try_end_1e} :catch_1f
goto :goto_23
:catch_1f
move-exception p1
.line 8
invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V
:goto_23
return-void
.end method
.method private deleteCrashZipFile(Ljava/lang/String;)V
.registers 4
.line 1
new-instance v0, Ljava/io/File;
invoke-static {}, Lio/rong/common/dlog/LogEntity;->getInstance()Lio/rong/common/dlog/LogEntity;
move-result-object v1
invoke-virtual {v1}, Lio/rong/common/dlog/LogEntity;->getLogDir()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1, p1}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 2
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p1
if-eqz p1, :cond_16
.line 3
invoke-virtual {v0}, Ljava/io/File;->delete()Z
:cond_16
return-void
.end method
.method private uploadFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
.registers 29
move-object/from16 v1, p2
move-object/from16 v2, p3
const-string v3, "FwLog"
const-string v0, "uploadFile begin."
.line 1
invoke-static {v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 2
new-instance v4, Ljava/io/File;
move-object/from16 v0, p1
invoke-direct {v4, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
const/4 v5, 0x3
const/16 v7, 0x200
const/4 v8, 0x2
const/4 v10, 0x1
const/4 v11, 0x0
.line 3
:try_start_18
invoke-static {}, Lio/rong/common/dlog/LogEntity;->getInstance()Lio/rong/common/dlog/LogEntity;
move-result-object v0
invoke-virtual {v0}, Lio/rong/common/dlog/LogEntity;->getUploadUrl()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lio/rong/imlib/common/NetUtils;->createURLConnection(Ljava/lang/String;)Ljava/net/HttpURLConnection;
move-result-object v12
:try_end_24
.catch Ljava/lang/Exception; {:try_start_18 .. :try_end_24} :catch_16a
.catchall {:try_start_18 .. :try_end_24} :catchall_164
const/16 v0, 0x3a98
.line 4
:try_start_26
invoke-virtual {v12, v0}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V
const/16 v0, 0x1388
.line 5
invoke-virtual {v12, v0}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V
.line 6
invoke-virtual {v12, v10}, Ljava/net/HttpURLConnection;->setDoInput(Z)V
.line 7
invoke-virtual {v12, v10}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V
.line 8
invoke-virtual {v12, v11}, Ljava/net/HttpURLConnection;->setUseCaches(Z)V
const-string v0, "POST"
.line 9
invoke-virtual {v12, v0}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
if-eqz p8, :cond_45
const-string v0, "RC-Type"
const-string v13, "crash"
.line 10
invoke-virtual {v12, v0, v13}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
:cond_45
const-string v0, "RC-App-Key"
move-object/from16 v13, p5
.line 11
invoke-virtual {v12, v0, v13}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "RC-User-ID"
move-object/from16 v13, p6
.line 12
invoke-virtual {v12, v0, v13}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "RC-SDK-Version"
move-object/from16 v13, p4
.line 13
invoke-virtual {v12, v0, v13}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "RC-Platform"
const-string v13, "Android"
.line 14
invoke-virtual {v12, v0, v13}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "RC-Start-Time"
.line 15
invoke-virtual {v12, v0, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "RC-End-Time"
.line 16
invoke-virtual {v12, v0, v2}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "Content-Type"
const-string v13, "multipart/form-data; boundary=03297e90-eed0-4cec-b18b-92d2574b9331"
.line 17
invoke-virtual {v12, v0, v13}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 18
new-instance v13, Ljava/io/DataOutputStream;
invoke-virtual {v12}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;
move-result-object v0
invoke-direct {v13, v0}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
:try_end_7b
.catch Ljava/lang/Exception; {:try_start_26 .. :try_end_7b} :catch_160
.catchall {:try_start_26 .. :try_end_7b} :catchall_15d
:try_start_7b
const-string v0, "--03297e90-eed0-4cec-b18b-92d2574b9331\r\n"
.line 19
invoke-virtual {v13, v0}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
const-string v0, "Content-Disposition: form-data; name=\"fileLog\"; filename=\"fileLog.gz\"\r\n"
.line 20
invoke-virtual {v13, v0}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
const-string v0, "Content-Type: application/octet-stream\r\n\r\n"
.line 21
invoke-virtual {v13, v0}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
.line 22
new-instance v14, Ljava/io/FileInputStream;
invoke-direct {v14, v4}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
:try_end_8f
.catch Ljava/lang/Exception; {:try_start_7b .. :try_end_8f} :catch_159
.catchall {:try_start_7b .. :try_end_8f} :catchall_156
const/16 v0, 0x400
.line 23
:try_start_91
new-array v0, v0, [B
.line 24
:goto_93
invoke-virtual {v14, v0}, Ljava/io/FileInputStream;->read([B)I
move-result v15
const/4 v9, -0x1
if-eq v15, v9, :cond_9e
.line 25
invoke-virtual {v13, v0, v11, v15}, Ljava/io/DataOutputStream;->write([BII)V
goto :goto_93
:cond_9e
const-string v0, "\r\n--03297e90-eed0-4cec-b18b-92d2574b9331--\r\n"
.line 26
invoke-virtual {v13, v0}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
.line 27
invoke-virtual {v13}, Ljava/io/DataOutputStream;->flush()V
.line 28
invoke-virtual {v12}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v9
:try_end_aa
.catch Ljava/lang/Exception; {:try_start_91 .. :try_end_aa} :catch_152
.catchall {:try_start_91 .. :try_end_aa} :catchall_14f
.line 29
:try_start_aa
new-instance v0, Ljava/io/BufferedReader;
new-instance v15, Ljava/io/InputStreamReader;
invoke-direct {v15, v9}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
invoke-direct {v0, v15}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
.line 30
new-instance v15, Ljava/lang/StringBuilder;
invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
.line 31
:goto_b9
invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v6
if-eqz v6, :cond_c3
.line 32
invoke-virtual {v15, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_b9
.line 33
:cond_c3
invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v6, "\"code\":0"
.line 34
invoke-virtual {v0, v6}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v6
if-eqz v6, :cond_105
.line 35
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v15, "response = "
invoke-virtual {v6, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v3, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_e3
.catch Ljava/lang/Exception; {:try_start_aa .. :try_end_e3} :catch_14b
.catchall {:try_start_aa .. :try_end_e3} :catchall_148
.line 36
:try_start_e3
sget-object v0, Lio/rong/common/dlog/DLog$LogTag;->G_UPLOAD_LOG_S:Lio/rong/common/dlog/DLog$LogTag;
invoke-virtual {v0}, Lio/rong/common/dlog/DLog$LogTag;->getTag()Ljava/lang/String;
move-result-object v0
const-string v6, "start|end|size"
new-array v15, v5, [Ljava/lang/Object;
aput-object v1, v15, v11
aput-object v2, v15, v10
invoke-virtual {v4}, Ljava/io/File;->length()J
move-result-wide v16
invoke-static/range {v16 .. v17}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v16
aput-object v16, v15, v8
const/4 v5, 0x4
invoke-static {v5, v7, v0, v6, v15}, Lio/rong/common/dlog/DLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_ff
.catch Ljava/lang/Exception; {:try_start_e3 .. :try_end_ff} :catch_14b
.catchall {:try_start_e3 .. :try_end_ff} :catchall_101
const/4 v11, 0x1
goto :goto_131
:catchall_101
move-exception v0
const/4 v11, 0x1
goto/16 :goto_1b4
.line 37
:cond_105
:try_start_105
invoke-virtual {v12}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result v5
.line 38
sget-object v6, Lio/rong/common/dlog/DLog$LogTag;->G_UPLOAD_LOG_E:Lio/rong/common/dlog/DLog$LogTag;
invoke-virtual {v6}, Lio/rong/common/dlog/DLog$LogTag;->getTag()Ljava/lang/String;
move-result-object v6
const-string v15, "code|body|start|end|size"
const/4 v7, 0x5
new-array v7, v7, [Ljava/lang/Object;
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v7, v11
aput-object v0, v7, v10
aput-object v1, v7, v8
const/4 v5, 0x3
aput-object v2, v7, v5
invoke-virtual {v4}, Ljava/io/File;->length()J
move-result-wide v18
invoke-static/range {v18 .. v19}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
const/4 v5, 0x4
aput-object v0, v7, v5
const/16 v5, 0x200
invoke-static {v8, v5, v6, v15, v7}, Lio/rong/common/dlog/DLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_131
.catch Ljava/lang/Exception; {:try_start_105 .. :try_end_131} :catch_14b
.catchall {:try_start_105 .. :try_end_131} :catchall_148
:goto_131
if-eqz v12, :cond_136
.line 39
invoke-virtual {v12}, Ljava/net/HttpURLConnection;->disconnect()V
.line 40
:cond_136
:try_start_136
invoke-virtual {v13}, Ljava/io/DataOutputStream;->close()V
if-eqz v9, :cond_13e
.line 41
invoke-virtual {v9}, Ljava/io/InputStream;->close()V
.line 42
:cond_13e
invoke-virtual {v14}, Ljava/io/FileInputStream;->close()V
:try_end_141
.catch Ljava/io/IOException; {:try_start_136 .. :try_end_141} :catch_141
:catch_141
if-eqz v11, :cond_1ab
.line 43
invoke-virtual {v4}, Ljava/io/File;->delete()Z
goto/16 :goto_1ab
:catchall_148
move-exception v0
goto/16 :goto_1b4
:catch_14b
move-exception v0
move-object v5, v9
move-object v9, v12
goto :goto_16f
:catchall_14f
move-exception v0
const/4 v9, 0x0
goto :goto_1b4
:catch_152
move-exception v0
move-object v9, v12
const/4 v5, 0x0
goto :goto_16f
:catchall_156
move-exception v0
const/4 v9, 0x0
goto :goto_168
:catch_159
move-exception v0
move-object v9, v12
const/4 v5, 0x0
goto :goto_16e
:catchall_15d
move-exception v0
const/4 v9, 0x0
goto :goto_167
:catch_160
move-exception v0
move-object v9, v12
const/4 v5, 0x0
goto :goto_16d
:catchall_164
move-exception v0
const/4 v9, 0x0
const/4 v12, 0x0
:goto_167
const/4 v13, 0x0
:goto_168
const/4 v14, 0x0
goto :goto_1b4
:catch_16a
move-exception v0
const/4 v5, 0x0
const/4 v9, 0x0
:goto_16d
const/4 v13, 0x0
:goto_16e
const/4 v14, 0x0
.line 44
:goto_16f
:try_start_16f
sget-object v6, Lio/rong/common/dlog/DLog$LogTag;->G_UPLOAD_LOG_F:Lio/rong/common/dlog/DLog$LogTag;
invoke-virtual {v6}, Lio/rong/common/dlog/DLog$LogTag;->getTag()Ljava/lang/String;
move-result-object v6
const-string v7, "start|end|size|stacks"
const/4 v12, 0x4
new-array v12, v12, [Ljava/lang/Object;
aput-object v1, v12, v11
aput-object v2, v12, v10
invoke-virtual {v4}, Ljava/io/File;->length()J
move-result-wide v1
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
aput-object v1, v12, v8
invoke-static {v0}, Lio/rong/common/dlog/DLog;->stackToString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x3
aput-object v1, v12, v2
const/16 v1, 0x200
invoke-static {v10, v1, v6, v7, v12}, Lio/rong/common/dlog/DLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 45
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_197
.catchall {:try_start_16f .. :try_end_197} :catchall_1b1
if-eqz v9, :cond_19c
.line 46
invoke-virtual {v9}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_19c
if-eqz v13, :cond_1a1
.line 47
:try_start_19e
invoke-virtual {v13}, Ljava/io/DataOutputStream;->close()V
:cond_1a1
if-eqz v5, :cond_1a6
.line 48
invoke-virtual {v5}, Ljava/io/InputStream;->close()V
:cond_1a6
if-eqz v14, :cond_1ab
.line 49
invoke-virtual {v14}, Ljava/io/FileInputStream;->close()V
:try_end_1ab
.catch Ljava/io/IOException; {:try_start_19e .. :try_end_1ab} :catch_1ab
:catch_1ab
:cond_1ab
:goto_1ab
const-string v0, "uploadFile end."
.line 50
invoke-static {v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
return v11
:catchall_1b1
move-exception v0
move-object v12, v9
move-object v9, v5
:goto_1b4
if-eqz v12, :cond_1b9
.line 51
invoke-virtual {v12}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_1b9
if-eqz v13, :cond_1be
.line 52
:try_start_1bb
invoke-virtual {v13}, Ljava/io/DataOutputStream;->close()V
:cond_1be
if-eqz v9, :cond_1c3
.line 53
invoke-virtual {v9}, Ljava/io/InputStream;->close()V
:cond_1c3
if-eqz v14, :cond_1c8
.line 54
invoke-virtual {v14}, Ljava/io/FileInputStream;->close()V
:try_end_1c8
.catch Ljava/io/IOException; {:try_start_1bb .. :try_end_1c8} :catch_1c8
:catch_1c8
:cond_1c8
if-eqz v11, :cond_1cd
.line 55
invoke-virtual {v4}, Ljava/io/File;->delete()Z
:cond_1cd
goto :goto_1cf
:goto_1ce
throw v0
:goto_1cf
goto :goto_1ce
.end method
.method private uploadString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
.registers 10
const/4 p7, 0x0
.line 1
:try_start_1
invoke-static {}, Lio/rong/common/dlog/LogEntity;->getInstance()Lio/rong/common/dlog/LogEntity;
move-result-object v0
invoke-virtual {v0}, Lio/rong/common/dlog/LogEntity;->getOnlineLogServer()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lio/rong/imlib/common/NetUtils;->createURLConnection(Ljava/lang/String;)Ljava/net/HttpURLConnection;
move-result-object p7
const/16 v0, 0x1388
.line 2
invoke-virtual {p7, v0}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V
.line 3
invoke-virtual {p7, v0}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V
const/4 v0, 0x1
.line 4
invoke-virtual {p7, v0}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V
const-string v1, "POST"
.line 5
invoke-virtual {p7, v1}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
const-string v1, "RC-App-Key"
.line 6
invoke-virtual {p7, v1, p5}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string p5, "RC-User-ID"
.line 7
invoke-virtual {p7, p5, p6}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string p5, "RC-SDK-Version"
.line 8
invoke-virtual {p7, p5, p4}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string p4, "RC-Platform"
const-string p5, "Android"
.line 9
invoke-virtual {p7, p4, p5}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string p4, "RC-Start-Time"
.line 10
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
invoke-virtual {p7, p4, p2}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string p2, "RC-End-Time"
.line 11
invoke-static {p3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p3
invoke-virtual {p7, p2, p3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string p2, "Content-Type"
const-string p3, "application/json; charset=UTF-8"
.line 12
invoke-virtual {p7, p2, p3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string p2, "Accept"
const-string p3, "application/json"
.line 13
invoke-virtual {p7, p2, p3}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 14
new-instance p2, Ljava/io/DataOutputStream;
invoke-virtual {p7}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;
move-result-object p3
invoke-direct {p2, p3}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
.line 15
invoke-virtual {p2, p1}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
.line 16
invoke-virtual {p7}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result p1
.line 17
invoke-virtual {p2}, Ljava/io/DataOutputStream;->flush()V
.line 18
invoke-virtual {p2}, Ljava/io/DataOutputStream;->close()V
:try_end_6a
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_6a} :catch_79
.catchall {:try_start_1 .. :try_end_6a} :catchall_77
const/16 p2, 0xc8
if-ne p1, p2, :cond_74
if-eqz p7, :cond_73
.line 19
invoke-virtual {p7}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_73
return v0
:cond_74
if-eqz p7, :cond_82
goto :goto_7f
:catchall_77
move-exception p1
goto :goto_84
:catch_79
move-exception p1
.line 20
:try_start_7a
invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V
:try_end_7d
.catchall {:try_start_7a .. :try_end_7d} :catchall_77
if-eqz p7, :cond_82
.line 21
:goto_7f
invoke-virtual {p7}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_82
const/4 p1, 0x0
return p1
:goto_84
if-eqz p7, :cond_89
invoke-virtual {p7}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_89
throw p1
.end method
# virtual methods
.method public reportFileLog(Lio/rong/common/dlog/DLog$ILogUploadCallback;)V
.registers 19
move-object/from16 v11, p1
const-string v12, "FwLog"
const/4 v13, 0x1
.line 1
new-array v14, v13, [Z
const/4 v15, 0x0
aput-boolean v15, v14, v15
.line 2
:try_start_a
invoke-static {}, Lio/rong/common/dlog/LogEntity;->getInstance()Lio/rong/common/dlog/LogEntity;
move-result-object v0
invoke-virtual {v0}, Lio/rong/common/dlog/LogEntity;->getUploadCacheList()Lorg/json/JSONArray;
move-result-object v0
const/4 v10, 0x0
.line 3
:goto_13
invoke-virtual {v0}, Lorg/json/JSONArray;->length()I
move-result v1
if-ge v10, v1, :cond_84
.line 4
invoke-virtual {v0, v10}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
move-result-object v1
const-string v2, "filename"
.line 5
invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
const-string v2, "sdkVer"
.line 6
invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
const-string v2, "appKey"
.line 7
invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
const-string v2, "userId"
.line 8
invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
const-string v2, "token"
.line 9
invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
move-object/from16 v9, p0
.line 10
iget-object v1, v9, Lio/rong/common/dlog/LogReporter;->logThreadPool:Lio/rong/common/dlog/LogThreadPool;
invoke-virtual {v1}, Lio/rong/common/dlog/LogThreadPool;->getExecutorService()Ljava/util/concurrent/ScheduledThreadPoolExecutor;
move-result-object v8
new-instance v2, Lio/rong/common/dlog/LogReporter$1;
move-object v1, v2
move-object v13, v2
move-object/from16 v2, p0
move-object v15, v8
move v8, v10
move-object/from16 v9, p1
move/from16 v16, v10
move-object v10, v14
invoke-direct/range {v1 .. v10}, Lio/rong/common/dlog/LogReporter$1;-><init>(Lio/rong/common/dlog/LogReporter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILio/rong/common/dlog/DLog$ILogUploadCallback;[Z)V
invoke-virtual {v15, v13}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
:try_end_56
.catch Lorg/json/JSONException; {:try_start_a .. :try_end_56} :catch_5b
add-int/lit8 v10, v16, 0x1
const/4 v13, 0x1
const/4 v15, 0x0
goto :goto_13
:catch_5b
move-exception v0
.line 11
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "ignored = "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v12, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
if-eqz v11, :cond_84
const/4 v1, 0x0
.line 12
aget-boolean v0, v14, v1
if-nez v0, :cond_85
const/4 v0, -0x1
.line 13
invoke-interface {v11, v0}, Lio/rong/common/dlog/DLog$ILogUploadCallback;->onLogUploaded(I)V
const/4 v2, 0x1
aput-boolean v2, v14, v1
const-string v0, "log upload exception."
.line 14
invoke-static {v12, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_85
:cond_84
const/4 v1, 0x0
:cond_85
:goto_85
if-eqz v11, :cond_93
.line 15
aget-boolean v0, v14, v1
if-nez v0, :cond_93
.line 16
invoke-interface {v11, v1}, Lio/rong/common/dlog/DLog$ILogUploadCallback;->onLogUploaded(I)V
const-string v0, "log upload success."
.line 17
invoke-static {v12, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_93
return-void
.end method
.method public reportLruLog(Ljava/util/Vector;Ljava/lang/String;Ljava/lang/String;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Vector<",
"Ljava/lang/String;",
">;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 1
new-instance v0, Ljava/util/Vector;
invoke-direct {v0, p1}, Ljava/util/Vector;-><init>(Ljava/util/Collection;)V
.line 2
iget-object p1, p0, Lio/rong/common/dlog/LogReporter;->logThreadPool:Lio/rong/common/dlog/LogThreadPool;
invoke-virtual {p1}, Lio/rong/common/dlog/LogThreadPool;->getExecutorService()Ljava/util/concurrent/ScheduledThreadPoolExecutor;
move-result-object p1
new-instance v1, Lio/rong/common/dlog/LogReporter$3;
invoke-direct {v1, p0, v0, p2, p3}, Lio/rong/common/dlog/LogReporter$3;-><init>(Lio/rong/common/dlog/LogReporter;Ljava/util/Vector;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {p1, v1}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
return-void
.end method