DexLoadErrorReporter$1.smali
.class final Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;
.super Ljava/lang/Thread;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter;->reportDexLoadingIssue(Landroid/content/Context;Ljava/lang/String;D)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
# instance fields
.field final synthetic f:Landroid/content/Context;
.field final synthetic g:Ljava/lang/String;
# direct methods
.method constructor <init>(Landroid/content/Context;Ljava/lang/String;)V
.registers 3
iput-object p1, p0, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->f:Landroid/content/Context;
iput-object p2, p0, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->g:Ljava/lang/String;
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.registers 23
move-object/from16 v1, p0
const-string v0, "data"
const-string v2, ""
const-string v3, "0"
const-string v4, "attempt"
const-string v5, "UTF-8"
const-string v6, "Can\'t close connection."
const-string v7, "FBAudienceNetwork"
invoke-super/range {p0 .. p0}, Ljava/lang/Thread;->run()V
:try_start_13
new-instance v9, Ljava/net/URL;
const-string v10, "https://www.facebook.com/adnw_logging/"
invoke-direct {v9, v10}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
invoke-virtual {v9}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object v9
check-cast v9, Ljava/net/HttpURLConnection;
:try_end_20
.catchall {:try_start_13 .. :try_end_20} :catchall_161
:try_start_20
const-string v10, "POST"
invoke-virtual {v9, v10}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
const-string v10, "Content-Type"
const-string v11, "application/x-www-form-urlencoded;charset=UTF-8"
invoke-virtual {v9, v10, v11}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v10, "Accept"
const-string v11, "application/json"
invoke-virtual {v9, v10, v11}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v10, "Accept-Charset"
invoke-virtual {v9, v10, v5}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v10, "user-agent"
const-string v11, "[FBAN/AudienceNetworkForAndroid;FBSN/Android]"
invoke-virtual {v9, v10, v11}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const/4 v10, 0x1
invoke-virtual {v9, v10}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V
invoke-virtual {v9, v10}, Ljava/net/HttpURLConnection;->setDoInput(Z)V
invoke-virtual {v9}, Ljava/net/HttpURLConnection;->connect()V
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v10
invoke-virtual {v10}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v10
new-instance v11, Lorg/json/JSONObject;
invoke-direct {v11}, Lorg/json/JSONObject;-><init>()V
invoke-virtual {v11, v4, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
iget-object v12, v1, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->f:Landroid/content/Context;
invoke-static {v12, v11, v10}, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter;->a(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
new-instance v12, Lorg/json/JSONObject;
invoke-direct {v12}, Lorg/json/JSONObject;-><init>()V
const-string v13, "subtype"
const-string v14, "generic"
invoke-virtual {v12, v13, v14}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v13, "subtype_code"
const-string v14, "1320"
invoke-virtual {v12, v13, v14}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v13, "caught_exception"
const-string v14, "1"
invoke-virtual {v12, v13, v14}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v13, "stacktrace"
iget-object v14, v1, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->g:Ljava/lang/String;
invoke-virtual {v12, v13, v14}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
new-instance v13, Lorg/json/JSONObject;
invoke-direct {v13}, Lorg/json/JSONObject;-><init>()V
const-string v14, "id"
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v15
invoke-virtual {v15}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v15
invoke-virtual {v13, v14, v15}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v14, "type"
const-string v15, "debug"
invoke-virtual {v13, v14, v15}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v14, "session_time"
new-instance v15, Ljava/lang/StringBuilder;
invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v16
:try_end_a6
.catchall {:try_start_20 .. :try_end_a6} :catchall_15a
const-wide/16 v18, 0x3e8
move-object/from16 v21, v9
:try_start_aa
div-long v8, v16, v18
invoke-virtual {v15, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-virtual {v13, v14, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v8, "time"
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v14
div-long v14, v14, v18
invoke-virtual {v9, v14, v15}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v13, v8, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v2, "session_id"
invoke-virtual {v13, v2, v10}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
invoke-virtual {v13, v0, v12}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
invoke-virtual {v13, v4, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
iget-object v2, v1, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->f:Landroid/content/Context;
invoke-static {v2, v12, v10}, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter;->a(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
new-instance v2, Lorg/json/JSONArray;
invoke-direct {v2}, Lorg/json/JSONArray;-><init>()V
invoke-virtual {v2, v13}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
new-instance v3, Lorg/json/JSONObject;
invoke-direct {v3}, Lorg/json/JSONObject;-><init>()V
invoke-virtual {v3, v0, v11}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v0, "events"
invoke-virtual {v3, v0, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
invoke-virtual {v3}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
new-instance v2, Ljava/io/DataOutputStream;
invoke-virtual/range {v21 .. v21}, Ljava/net/HttpURLConnection;->getOutputStream()Ljava/io/OutputStream;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
:try_end_102
.catchall {:try_start_aa .. :try_end_102} :catchall_158
:try_start_102
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "payload="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v0, v5}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/DataOutputStream;->flush()V
const/16 v0, 0x4000
new-array v0, v0, [B
new-instance v3, Ljava/io/ByteArrayOutputStream;
invoke-direct {v3}, Ljava/io/ByteArrayOutputStream;-><init>()V
invoke-virtual/range {v21 .. v21}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v8
:try_end_12a
.catchall {:try_start_102 .. :try_end_12a} :catchall_155
:goto_12a
:try_start_12a
invoke-virtual {v8, v0}, Ljava/io/InputStream;->read([B)I
move-result v4
const/4 v5, -0x1
if-eq v4, v5, :cond_136
const/4 v5, 0x0
invoke-virtual {v3, v0, v5, v4}, Ljava/io/ByteArrayOutputStream;->write([BII)V
goto :goto_12a
:cond_136
invoke-virtual {v3}, Ljava/io/ByteArrayOutputStream;->flush()V
:try_end_139
.catchall {:try_start_12a .. :try_end_139} :catchall_150
:try_start_139
invoke-virtual {v2}, Ljava/io/DataOutputStream;->close()V
:try_end_13c
.catch Ljava/lang/Exception; {:try_start_139 .. :try_end_13c} :catch_13d
goto :goto_142
:catch_13d
move-exception v0
move-object v2, v0
invoke-static {v7, v6, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_142
if-eqz v8, :cond_14d
:try_start_144
invoke-virtual {v8}, Ljava/io/InputStream;->close()V
:try_end_147
.catch Ljava/lang/Exception; {:try_start_144 .. :try_end_147} :catch_148
goto :goto_14d
:catch_148
move-exception v0
move-object v2, v0
invoke-static {v7, v6, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_14d
:goto_14d
if-eqz v21, :cond_187
goto :goto_184
:catchall_150
move-exception v0
move-object/from16 v20, v8
move-object v8, v2
goto :goto_167
:catchall_155
move-exception v0
move-object v8, v2
goto :goto_15e
:catchall_158
move-exception v0
goto :goto_15d
:catchall_15a
move-exception v0
move-object/from16 v21, v9
:goto_15d
const/4 v8, 0x0
:goto_15e
const/16 v20, 0x0
goto :goto_167
:catchall_161
move-exception v0
const/4 v8, 0x0
const/16 v20, 0x0
const/16 v21, 0x0
:goto_167
:try_start_167
const-string v2, "Can\'t send error."
invoke-static {v7, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_16c
.catchall {:try_start_167 .. :try_end_16c} :catchall_188
if-eqz v8, :cond_177
:try_start_16e
invoke-virtual {v8}, Ljava/io/DataOutputStream;->close()V
:try_end_171
.catch Ljava/lang/Exception; {:try_start_16e .. :try_end_171} :catch_172
goto :goto_177
:catch_172
move-exception v0
move-object v2, v0
invoke-static {v7, v6, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_177
:goto_177
if-eqz v20, :cond_182
:try_start_179
invoke-virtual/range {v20 .. v20}, Ljava/io/InputStream;->close()V
:try_end_17c
.catch Ljava/lang/Exception; {:try_start_179 .. :try_end_17c} :catch_17d
goto :goto_182
:catch_17d
move-exception v0
move-object v2, v0
invoke-static {v7, v6, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_182
:goto_182
if-eqz v21, :cond_187
:goto_184
invoke-virtual/range {v21 .. v21}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_187
return-void
:catchall_188
move-exception v0
move-object v2, v0
if-eqz v8, :cond_195
:try_start_18c
invoke-virtual {v8}, Ljava/io/DataOutputStream;->close()V
:try_end_18f
.catch Ljava/lang/Exception; {:try_start_18c .. :try_end_18f} :catch_190
goto :goto_195
:catch_190
move-exception v0
move-object v3, v0
invoke-static {v7, v6, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_195
:goto_195
if-eqz v20, :cond_1a0
:try_start_197
invoke-virtual/range {v20 .. v20}, Ljava/io/InputStream;->close()V
:try_end_19a
.catch Ljava/lang/Exception; {:try_start_197 .. :try_end_19a} :catch_19b
goto :goto_1a0
:catch_19b
move-exception v0
move-object v3, v0
invoke-static {v7, v6, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_1a0
:goto_1a0
if-eqz v21, :cond_1a5
invoke-virtual/range {v21 .. v21}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_1a5
throw v2
.end method