DexLoadErrorReporter$1.smali
.class final Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;
.super Ljava/lang/Thread;
.source "SourceFile"
# 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 val$context:Landroid/content/Context;
.field final synthetic val$error:Ljava/lang/String;
# direct methods
.method constructor <init>(Landroid/content/Context;Ljava/lang/String;)V
.registers 3
.line 46
iput-object p1, p0, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->val$context:Landroid/content/Context;
iput-object p2, p0, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->val$error:Ljava/lang/String;
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
return-void
.end method
# virtual methods
.method public final run()V
.registers 22
move-object/from16 v1, p0
const-string v0, "data"
const-string v2, "0"
const-string v3, "attempt"
const-string v4, "UTF-8"
const-string v5, "Can\'t close connection."
const-string v6, "FBAudienceNetwork"
.line 49
invoke-super/range {p0 .. p0}, Ljava/lang/Thread;->run()V
.line 55
:try_start_11
new-instance v8, Ljava/net/URL;
const-string v9, "https://www.facebook.com/adnw_logging/"
invoke-direct {v8, v9}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 56
invoke-virtual {v8}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object v8
check-cast v8, Ljava/net/HttpURLConnection;
:try_end_1e
.catchall {:try_start_11 .. :try_end_1e} :catchall_159
:try_start_1e
const-string v9, "POST"
.line 57
invoke-virtual {v8, v9}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
const-string v9, "Content-Type"
const-string v10, "application/x-www-form-urlencoded;charset=UTF-8"
.line 58
invoke-virtual {v8, v9, v10}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v9, "Accept"
const-string v10, "application/json"
.line 60
invoke-virtual {v8, v9, v10}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v9, "Accept-Charset"
.line 61
invoke-virtual {v8, v9, v4}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const-string v9, "user-agent"
const-string v10, "[FBAN/AudienceNetworkForAndroid;FBSN/Android]"
.line 62
invoke-virtual {v8, v9, v10}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
const/4 v9, 0x1
.line 64
invoke-virtual {v8, v9}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V
.line 65
invoke-virtual {v8, v9}, Ljava/net/HttpURLConnection;->setDoInput(Z)V
.line 67
invoke-virtual {v8}, Ljava/net/HttpURLConnection;->connect()V
.line 69
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v9
invoke-virtual {v9}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v9
.line 71
new-instance v10, Lorg/json/JSONObject;
invoke-direct {v10}, Lorg/json/JSONObject;-><init>()V
.line 72
invoke-virtual {v10, v3, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 73
iget-object v11, v1, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->val$context:Landroid/content/Context;
# invokes: Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter;->addEnvFields(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
invoke-static {v11, v10, v9}, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter;->access$000(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
.line 75
new-instance v11, Lorg/json/JSONObject;
invoke-direct {v11}, Lorg/json/JSONObject;-><init>()V
const-string v12, "subtype"
const-string v13, "generic"
.line 76
invoke-virtual {v11, v12, v13}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v12, "subtype_code"
const-string v13, "1320"
.line 77
invoke-virtual {v11, v12, v13}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v12, "caught_exception"
const-string v13, "1"
.line 78
invoke-virtual {v11, v12, v13}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v12, "stacktrace"
.line 79
iget-object v13, v1, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->val$error:Ljava/lang/String;
invoke-virtual {v11, v12, v13}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 81
new-instance v12, Lorg/json/JSONObject;
invoke-direct {v12}, Lorg/json/JSONObject;-><init>()V
const-string v13, "id"
.line 82
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v14
invoke-virtual {v14}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v14
invoke-virtual {v12, v13, v14}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v13, "type"
const-string v14, "debug"
.line 83
invoke-virtual {v12, v13, v14}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v13, "session_time"
.line 84
new-instance v14, Ljava/lang/StringBuilder;
invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v15
:try_end_a1
.catchall {:try_start_1e .. :try_end_a1} :catchall_152
const-wide/16 v17, 0x3e8
move-object/from16 v20, v8
:try_start_a5
div-long v7, v15, v17
invoke-virtual {v14, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v12, v13, v7}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v7, "time"
.line 85
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v13
div-long v13, v13, v17
invoke-virtual {v8, v13, v14}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-virtual {v12, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v7, "session_id"
.line 86
invoke-virtual {v12, v7, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 87
invoke-virtual {v12, v0, v11}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 88
invoke-virtual {v12, v3, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 89
iget-object v2, v1, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter$1;->val$context:Landroid/content/Context;
# invokes: Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter;->addEnvFields(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
invoke-static {v2, v11, v9}, Lcom/facebook/ads/internal/dynamicloading/DexLoadErrorReporter;->access$000(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
.line 91
new-instance v2, Lorg/json/JSONArray;
invoke-direct {v2}, Lorg/json/JSONArray;-><init>()V
.line 92
invoke-virtual {v2, v12}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
.line 94
new-instance v3, Lorg/json/JSONObject;
invoke-direct {v3}, Lorg/json/JSONObject;-><init>()V
.line 95
invoke-virtual {v3, v0, v10}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v0, "events"
.line 96
invoke-virtual {v3, v0, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 98
invoke-virtual {v3}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
.line 99
new-instance v2, Ljava/io/DataOutputStream;
invoke-virtual/range {v20 .. v20}, 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_fa
.catchall {:try_start_a5 .. :try_end_fa} :catchall_150
.line 100
:try_start_fa
new-instance v3, Ljava/lang/StringBuilder;
const-string v7, "payload="
invoke-direct {v3, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {v0, v4}, 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
.line 101
invoke-virtual {v2}, Ljava/io/DataOutputStream;->flush()V
const/16 v0, 0x4000
new-array v0, v0, [B
.line 105
new-instance v3, Ljava/io/ByteArrayOutputStream;
invoke-direct {v3}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 107
invoke-virtual/range {v20 .. v20}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v7
:try_end_11f
.catchall {:try_start_fa .. :try_end_11f} :catchall_14d
.line 109
:goto_11f
:try_start_11f
invoke-virtual {v7, v0}, Ljava/io/InputStream;->read([B)I
move-result v4
const/4 v8, -0x1
if-eq v4, v8, :cond_12b
const/4 v8, 0x0
.line 110
invoke-virtual {v3, v0, v8, v4}, Ljava/io/ByteArrayOutputStream;->write([BII)V
goto :goto_11f
.line 112
:cond_12b
invoke-virtual {v3}, Ljava/io/ByteArrayOutputStream;->flush()V
:try_end_12e
.catchall {:try_start_11f .. :try_end_12e} :catchall_148
.line 118
:try_start_12e
invoke-virtual {v2}, Ljava/io/DataOutputStream;->close()V
:try_end_131
.catch Ljava/lang/Exception; {:try_start_12e .. :try_end_131} :catch_132
goto :goto_137
:catch_132
move-exception v0
move-object v2, v0
.line 121
invoke-static {v6, v5, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_137
if-eqz v7, :cond_142
.line 125
:try_start_139
invoke-virtual {v7}, Ljava/io/InputStream;->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
.line 128
invoke-static {v6, v5, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_142
:goto_142
if-eqz v20, :cond_17f
.line 131
invoke-virtual/range {v20 .. v20}, Ljava/net/HttpURLConnection;->disconnect()V
return-void
:catchall_148
move-exception v0
move-object/from16 v19, v7
move-object v7, v2
goto :goto_15f
:catchall_14d
move-exception v0
move-object v7, v2
goto :goto_156
:catchall_150
move-exception v0
goto :goto_155
:catchall_152
move-exception v0
move-object/from16 v20, v8
:goto_155
const/4 v7, 0x0
:goto_156
const/16 v19, 0x0
goto :goto_15f
:catchall_159
move-exception v0
const/4 v7, 0x0
const/16 v19, 0x0
const/16 v20, 0x0
:goto_15f
:try_start_15f
const-string v2, "Can\'t send error."
.line 114
invoke-static {v6, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:try_end_164
.catchall {:try_start_15f .. :try_end_164} :catchall_180
if-eqz v7, :cond_16f
.line 118
:try_start_166
invoke-virtual {v7}, Ljava/io/DataOutputStream;->close()V
:try_end_169
.catch Ljava/lang/Exception; {:try_start_166 .. :try_end_169} :catch_16a
goto :goto_16f
:catch_16a
move-exception v0
move-object v2, v0
.line 121
invoke-static {v6, v5, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_16f
:goto_16f
if-eqz v19, :cond_17a
.line 125
:try_start_171
invoke-virtual/range {v19 .. v19}, Ljava/io/InputStream;->close()V
:try_end_174
.catch Ljava/lang/Exception; {:try_start_171 .. :try_end_174} :catch_175
goto :goto_17a
:catch_175
move-exception v0
move-object v2, v0
.line 128
invoke-static {v6, v5, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_17a
:goto_17a
if-eqz v20, :cond_17f
.line 131
invoke-virtual/range {v20 .. v20}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_17f
return-void
:catchall_180
move-exception v0
move-object v2, v0
if-eqz v7, :cond_18d
.line 118
:try_start_184
invoke-virtual {v7}, Ljava/io/DataOutputStream;->close()V
:try_end_187
.catch Ljava/lang/Exception; {:try_start_184 .. :try_end_187} :catch_188
goto :goto_18d
:catch_188
move-exception v0
move-object v3, v0
.line 121
invoke-static {v6, v5, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_18d
:goto_18d
if-eqz v19, :cond_198
.line 125
:try_start_18f
invoke-virtual/range {v19 .. v19}, Ljava/io/InputStream;->close()V
:try_end_192
.catch Ljava/lang/Exception; {:try_start_18f .. :try_end_192} :catch_193
goto :goto_198
:catch_193
move-exception v0
move-object v3, v0
.line 128
invoke-static {v6, v5, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_198
:goto_198
if-eqz v20, :cond_19d
.line 131
invoke-virtual/range {v20 .. v20}, Ljava/net/HttpURLConnection;->disconnect()V
:cond_19d
goto :goto_19f
:goto_19e
throw v2
:goto_19f
goto :goto_19e
.end method