ConnectionProcessor.smali
.class public Lio/rong/imlib/statistics/ConnectionProcessor;
.super Ljava/lang/Object;
.source "ConnectionProcessor.java"
# interfaces
.implements Ljava/lang/Runnable;
# static fields
.field private static final CONNECT_TIMEOUT_IN_MILLISECONDS:I = 0x7530
.field private static final READ_TIMEOUT_IN_MILLISECONDS:I = 0x7530
# instance fields
.field private final deviceId_:Lio/rong/imlib/statistics/DeviceId;
.field private final serverURL_:Ljava/lang/String;
.field private final sslContext_:Ljavax/net/ssl/SSLContext;
.field private final store_:Lio/rong/imlib/statistics/StatisticsStore;
# direct methods
.method constructor <init>(Ljava/lang/String;Lio/rong/imlib/statistics/StatisticsStore;Lio/rong/imlib/statistics/DeviceId;Ljavax/net/ssl/SSLContext;)V
.registers 5
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->serverURL_:Ljava/lang/String;
.line 3
iput-object p2, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->store_:Lio/rong/imlib/statistics/StatisticsStore;
.line 4
iput-object p3, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->deviceId_:Lio/rong/imlib/statistics/DeviceId;
.line 5
iput-object p4, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->sslContext_:Ljavax/net/ssl/SSLContext;
.line 6
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 p2, 0x8
if-ge p1, p2, :cond_18
const-string p1, "http.keepAlive"
const-string p2, "false"
.line 7
invoke-static {p1, p2}, Ljava/lang/System;->setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
:cond_18
return-void
.end method
# virtual methods
.method getCountlyStore()Lio/rong/imlib/statistics/StatisticsStore;
.registers 2
.line 1
iget-object v0, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->store_:Lio/rong/imlib/statistics/StatisticsStore;
return-object v0
.end method
.method getDeviceId()Lio/rong/imlib/statistics/DeviceId;
.registers 2
.line 1
iget-object v0, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->deviceId_:Lio/rong/imlib/statistics/DeviceId;
return-object v0
.end method
.method getServerURL()Ljava/lang/String;
.registers 2
.line 1
iget-object v0, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->serverURL_:Ljava/lang/String;
return-object v0
.end method
.method public run()V
.registers 11
.line 1
:cond_0
:goto_0
iget-object v0, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->store_:Lio/rong/imlib/statistics/StatisticsStore;
invoke-virtual {v0}, Lio/rong/imlib/statistics/StatisticsStore;->connections()[Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_15f
.line 2
array-length v1, v0
if-nez v1, :cond_d
goto/16 :goto_15f
.line 3
:cond_d
iget-object v1, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->deviceId_:Lio/rong/imlib/statistics/DeviceId;
invoke-virtual {v1}, Lio/rong/imlib/statistics/DeviceId;->getId()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
const-string v3, "Statistics"
if-nez v1, :cond_3a
.line 4
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object v1
invoke-virtual {v1}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result v1
if-eqz v1, :cond_15f
.line 5
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "No Device ID available yet, skipping request "
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-object v0, v0, v2
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 {v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_15f
.line 6
:cond_3a
aget-object v1, v0, v2
const/4 v4, 0x0
.line 7
:try_start_3d
invoke-virtual {p0, v1}, Lio/rong/imlib/statistics/ConnectionProcessor;->urlConnectionForEventData(Ljava/lang/String;)Ljava/net/URLConnection;
move-result-object v5
:try_end_41
.catch Ljava/lang/Exception; {:try_start_3d .. :try_end_41} :catch_106
.catchall {:try_start_3d .. :try_end_41} :catchall_102
.line 8
:try_start_41
invoke-virtual {v5}, Ljava/net/URLConnection;->connect()V
.line 9
new-instance v6, Ljava/io/BufferedInputStream;
invoke-virtual {v5}, Ljava/net/URLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v7
invoke-direct {v6, v7}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_4d
.catch Ljava/lang/Exception; {:try_start_41 .. :try_end_4d} :catch_100
.catchall {:try_start_41 .. :try_end_4d} :catchall_fd
.line 10
:try_start_4d
new-instance v4, Ljava/io/ByteArrayOutputStream;
const/16 v7, 0x100
invoke-direct {v4, v7}, Ljava/io/ByteArrayOutputStream;-><init>(I)V
.line 11
:goto_54
invoke-virtual {v6}, Ljava/io/BufferedInputStream;->read()I
move-result v7
const/4 v8, -0x1
if-eq v7, v8, :cond_5f
.line 12
invoke-virtual {v4, v7}, Ljava/io/ByteArrayOutputStream;->write(I)V
goto :goto_54
.line 13
:cond_5f
instance-of v4, v5, Ljava/net/HttpURLConnection;
const/4 v7, 0x1
if-eqz v4, :cond_b1
.line 14
move-object v4, v5
check-cast v4, Ljava/net/HttpURLConnection;
.line 15
invoke-virtual {v4}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result v4
const/16 v8, 0xc8
if-lt v4, v8, :cond_74
const/16 v8, 0x12c
if-ge v4, v8, :cond_74
goto :goto_75
:cond_74
const/4 v7, 0x0
.line 16
:goto_75
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "code="
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v3, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
if-nez v7, :cond_b1
.line 17
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object v8
invoke-virtual {v8}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result v8
if-eqz v8, :cond_b1
.line 18
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "HTTP error response code was "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, " from submitting event data: "
invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_b1
if-eqz v7, :cond_e8
.line 19
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object v4
invoke-virtual {v4}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result v4
if-eqz v4, :cond_d1
.line 20
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "ok ->"
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 21
:cond_d1
iget-object v4, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->store_:Lio/rong/imlib/statistics/StatisticsStore;
aget-object v0, v0, v2
invoke-virtual {v4, v0}, Lio/rong/imlib/statistics/StatisticsStore;->removeConnection(Ljava/lang/String;)V
:try_end_d8
.catch Ljava/lang/Exception; {:try_start_4d .. :try_end_d8} :catch_fa
.catchall {:try_start_4d .. :try_end_d8} :catchall_f8
.line 22
:try_start_d8
invoke-virtual {v6}, Ljava/io/BufferedInputStream;->close()V
:try_end_db
.catch Ljava/io/IOException; {:try_start_d8 .. :try_end_db} :catch_db
:catch_db
if-eqz v5, :cond_0
.line 23
instance-of v0, v5, Ljava/net/HttpURLConnection;
if-eqz v0, :cond_0
.line 24
check-cast v5, Ljava/net/HttpURLConnection;
invoke-virtual {v5}, Ljava/net/HttpURLConnection;->disconnect()V
goto/16 :goto_0
.line 25
:cond_e8
:try_start_e8
invoke-virtual {v6}, Ljava/io/BufferedInputStream;->close()V
:try_end_eb
.catch Ljava/io/IOException; {:try_start_e8 .. :try_end_eb} :catch_eb
:catch_eb
if-eqz v5, :cond_15f
.line 26
instance-of v0, v5, Ljava/net/HttpURLConnection;
if-eqz v0, :cond_15f
.line 27
:goto_f1
check-cast v5, Ljava/net/HttpURLConnection;
invoke-virtual {v5}, Ljava/net/HttpURLConnection;->disconnect()V
goto/16 :goto_15f
:catchall_f8
move-exception v0
goto :goto_14c
:catch_fa
move-exception v0
move-object v4, v6
goto :goto_108
:catchall_fd
move-exception v0
move-object v6, v4
goto :goto_14c
:catch_100
move-exception v0
goto :goto_108
:catchall_102
move-exception v0
move-object v5, v4
move-object v6, v5
goto :goto_14c
:catch_106
move-exception v0
move-object v5, v4
.line 28
:goto_108
:try_start_108
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object v2
invoke-virtual {v2}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result v2
if-eqz v2, :cond_126
.line 29
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Got exception while trying to submit event data: "
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v3, v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 30
:cond_126
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "exception :"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()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 {v3, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_13e
.catchall {:try_start_108 .. :try_end_13e} :catchall_fd
if-eqz v4, :cond_145
.line 31
:try_start_140
invoke-virtual {v4}, Ljava/io/BufferedInputStream;->close()V
:try_end_143
.catch Ljava/io/IOException; {:try_start_140 .. :try_end_143} :catch_144
goto :goto_145
:catch_144
nop
:cond_145
:goto_145
if-eqz v5, :cond_15f
.line 32
instance-of v0, v5, Ljava/net/HttpURLConnection;
if-eqz v0, :cond_15f
goto :goto_f1
:goto_14c
if-eqz v6, :cond_153
.line 33
:try_start_14e
invoke-virtual {v6}, Ljava/io/BufferedInputStream;->close()V
:try_end_151
.catch Ljava/io/IOException; {:try_start_14e .. :try_end_151} :catch_152
goto :goto_153
:catch_152
nop
:cond_153
:goto_153
if-eqz v5, :cond_15e
.line 34
instance-of v1, v5, Ljava/net/HttpURLConnection;
if-eqz v1, :cond_15e
.line 35
check-cast v5, Ljava/net/HttpURLConnection;
invoke-virtual {v5}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_15e
throw v0
:cond_15f
:goto_15f
return-void
.end method
.method urlConnectionForEventData(Ljava/lang/String;)Ljava/net/URLConnection;
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lio/rong/imlib/statistics/ConnectionProcessor;->serverURL_:Ljava/lang/String;
.line 2
new-instance v1, Ljava/net/URL;
invoke-direct {v1, v0}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 3
invoke-static {v0}, Lio/rong/imlib/common/NetUtils;->createURLConnection(Ljava/lang/String;)Ljava/net/HttpURLConnection;
move-result-object v0
const/16 v2, 0x7530
.line 4
invoke-virtual {v0, v2}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V
.line 5
invoke-virtual {v0, v2}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V
const/4 v2, 0x0
.line 6
invoke-virtual {v0, v2}, Ljava/net/HttpURLConnection;->setUseCaches(Z)V
const/4 v3, 0x1
.line 7
invoke-virtual {v0, v3}, Ljava/net/HttpURLConnection;->setDoInput(Z)V
.line 8
invoke-static {v1}, Lio/rong/imlib/statistics/UserData;->getPicturePathFromQuery(Ljava/net/URL;)Ljava/lang/String;
move-result-object v1
.line 9
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object v4
invoke-virtual {v4}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result v4
const-string v5, "Statistics"
if-eqz v4, :cond_3f
.line 10
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Got picturePath: "
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v5, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_3f
const-string v4, ""
.line 11
invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
const-string v6, "UTF-8"
if-nez v4, :cond_127
.line 12
new-instance p1, Ljava/io/File;
invoke-direct {p1, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 13
invoke-virtual {v0, v3}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V
.line 14
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->toHexString(J)Ljava/lang/String;
move-result-object v1
const-string v4, "\r\n"
.line 15
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "multipart/form-data; boundary="
invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
const-string v7, "Content-Type"
invoke-virtual {v0, v7, v5}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 16
invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;
move-result-object v5
.line 17
new-instance v7, Ljava/io/PrintWriter;
new-instance v8, Ljava/io/OutputStreamWriter;
invoke-direct {v8, v5, v6}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/lang/String;)V
invoke-direct {v7, v8, v3}, Ljava/io/PrintWriter;-><init>(Ljava/io/Writer;Z)V
.line 18
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "--"
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v7, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
.line 19
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "Content-Disposition: form-data; name=\"binaryFile\"; filename=\""
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v8
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v8, "\""
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v7, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
.line 20
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "Content-Type: "
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/net/URLConnection;->guessContentTypeFromName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v7, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
const-string v3, "Content-Transfer-Encoding: binary"
.line 21
invoke-virtual {v7, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
.line 22
invoke-virtual {v7, v4}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
move-result-object v3
invoke-virtual {v3}, Ljava/io/PrintWriter;->flush()V
.line 23
new-instance v3, Ljava/io/FileInputStream;
invoke-direct {v3, p1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
const/16 p1, 0x400
.line 24
new-array p1, p1, [B
.line 25
:goto_f1
invoke-virtual {v3, p1}, Ljava/io/FileInputStream;->read([B)I
move-result v8
const/4 v9, -0x1
if-eq v8, v9, :cond_fc
.line 26
invoke-virtual {v5, p1, v2, v8}, Ljava/io/OutputStream;->write([BII)V
goto :goto_f1
.line 27
:cond_fc
invoke-virtual {v5}, Ljava/io/OutputStream;->flush()V
.line 28
invoke-virtual {v7, v4}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
move-result-object p1
invoke-virtual {p1}, Ljava/io/PrintWriter;->flush()V
.line 29
invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V
.line 30
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v7, p1}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
move-result-object p1
invoke-virtual {p1, v4}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
move-result-object p1
invoke-virtual {p1}, Ljava/io/PrintWriter;->flush()V
goto :goto_188
:cond_127
const-string v1, "&crash="
.line 31
invoke-virtual {p1, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
const-string v2, "POST"
if-eqz v1, :cond_161
.line 32
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object v1
invoke-virtual {v1}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result v1
if-eqz v1, :cond_140
const-string v1, "Using post because of crash"
.line 33
invoke-static {v5, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 34
:cond_140
invoke-virtual {v0, v3}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V
.line 35
invoke-virtual {v0, v2}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
.line 36
invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;
move-result-object v1
.line 37
new-instance v2, Ljava/io/BufferedWriter;
new-instance v3, Ljava/io/OutputStreamWriter;
invoke-direct {v3, v1, v6}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/lang/String;)V
invoke-direct {v2, v3}, Ljava/io/BufferedWriter;-><init>(Ljava/io/Writer;)V
.line 38
invoke-virtual {v2, p1}, Ljava/io/BufferedWriter;->write(Ljava/lang/String;)V
.line 39
invoke-virtual {v2}, Ljava/io/BufferedWriter;->flush()V
.line 40
invoke-virtual {v2}, Ljava/io/BufferedWriter;->close()V
.line 41
invoke-virtual {v1}, Ljava/io/OutputStream;->close()V
goto :goto_188
.line 42
:cond_161
invoke-virtual {v0, v3}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V
.line 43
invoke-virtual {v0, v2}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
const-string v1, "Connection"
const-string v2, "close"
.line 44
invoke-virtual {v0, v1, v2}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
.line 45
invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;
move-result-object v1
.line 46
new-instance v2, Ljava/io/BufferedWriter;
new-instance v3, Ljava/io/OutputStreamWriter;
invoke-direct {v3, v1, v6}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/lang/String;)V
invoke-direct {v2, v3}, Ljava/io/BufferedWriter;-><init>(Ljava/io/Writer;)V
.line 47
invoke-virtual {v2, p1}, Ljava/io/BufferedWriter;->write(Ljava/lang/String;)V
.line 48
invoke-virtual {v2}, Ljava/io/BufferedWriter;->flush()V
.line 49
invoke-virtual {v2}, Ljava/io/BufferedWriter;->close()V
.line 50
invoke-virtual {v1}, Ljava/io/OutputStream;->close()V
:goto_188
return-object v0
.end method