ba.smali
.class public final Lcom/imo/android/imoim/util/ba;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static a:Z = false
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 26
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
.line 27
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "imoAndroid/"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Lcom/imo/android/imoim/util/ei;->m()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "/"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v1, "service"
const-string v2, "Android"
.line 29
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const/4 v1, 0x0
const-string v2, "shard"
.line 30
invoke-virtual {v0, v2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v2, "levelname"
.line 31
invoke-virtual {v0, v2, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string p3, "pathname"
.line 32
invoke-virtual {v0, p3, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string p3, "lineno"
.line 33
invoke-virtual {v0, p3, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string p3, "levelno"
const/16 v2, 0x28
.line 34
invoke-virtual {v0, p3, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const/4 p3, 0x4
new-array p3, p3, [Ljava/lang/Object;
aput-object p1, p3, v1
.line 36
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
const/4 p1, 0x1
aput-object p0, p3, p1
const/4 p0, 0x2
aput-object p2, p3, p0
const/4 p0, 0x3
aput-object p4, p3, p0
const-string p0, "%s: %d : %s %n%n%s"
.line 35
invoke-static {p0, p3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
const-string p1, "message"
.line 37
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 38
invoke-static {}, Lcom/imo/android/imoim/util/ei;->k()Ljava/lang/String;
move-result-object p0
const-string p1, "host"
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 39
invoke-static {}, Lcom/imo/android/imoim/util/ei;->U()Ljava/lang/String;
move-result-object p0
const-string p1, "carrier_name"
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 40
invoke-static {}, Lcom/imo/android/imoim/util/ei;->W()Ljava/lang/String;
move-result-object p0
const-string p1, "carrier_code"
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 41
invoke-static {}, Lcom/imo/android/imoim/util/ei;->J()Ljava/lang/String;
move-result-object p0
const-string p1, "network_type"
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 42
invoke-static {}, Lcom/imo/android/imoim/util/ei;->al()Ljava/lang/String;
move-result-object p0
const-string p1, "sim_iso"
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 43
new-instance p0, Lorg/json/JSONObject;
invoke-direct {p0}, Lorg/json/JSONObject;-><init>()V
.line 44
sget-object p1, Lcom/imo/android/imoim/util/ei;->j:Ljava/util/List;
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_97
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_ad
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroid/util/Pair;
.line 45
iget-object p3, p2, Landroid/util/Pair;->first:Ljava/lang/Object;
check-cast p3, Ljava/lang/String;
iget-object p2, p2, Landroid/util/Pair;->second:Ljava/lang/Object;
invoke-virtual {p0, p3, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
goto :goto_97
:cond_ad
const-string p1, "test_longs"
.line 46
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 47
sget-object p0, Lcom/imo/android/imoim/IMO;->aa:Lcom/imo/android/imoim/abtest/b;
invoke-virtual {p0, v0}, Lcom/imo/android/imoim/abtest/b;->a(Lorg/json/JSONObject;)V
.line 48
sget-object p0, Lcom/imo/android/imoim/IMO;->d:Lcom/imo/android/imoim/managers/c;
const-string p1, "uid"
if-eqz p0, :cond_c7
.line 49
sget-object p0, Lcom/imo/android/imoim/IMO;->d:Lcom/imo/android/imoim/managers/c;
invoke-virtual {p0}, Lcom/imo/android/imoim/managers/c;->i()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
goto :goto_cc
:cond_c7
const-string p0, "accounts_not_initialized"
.line 51
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 53
:goto_cc
invoke-static {}, Lcom/imo/android/imoim/util/ei;->a()Ljava/lang/String;
move-result-object p0
const-string p1, "udid"
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 54
invoke-static {v0}, Lcom/imo/android/imoim/util/bb;->a(Lorg/json/JSONObject;)V
return-void
.end method
.method public static declared-synchronized a(Ljava/lang/String;Ljava/lang/String;)V
.registers 10
const-class v0, Lcom/imo/android/imoim/util/ba;
monitor-enter v0
const/4 v1, 0x0
.line 63
:try_start_4
sget-boolean v2, Lcom/imo/android/imoim/util/ba;->a:Z
:try_end_6
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_6} :catch_5e
.catchall {:try_start_4 .. :try_end_6} :catchall_5c
if-eqz v2, :cond_c
.line 87
:try_start_8
sput-boolean v1, Lcom/imo/android/imoim/util/ba;->a:Z
:try_end_a
.catchall {:try_start_8 .. :try_end_a} :catchall_7d
.line 64
monitor-exit v0
return-void
:cond_c
const/4 v2, 0x1
.line 66
:try_start_d
sput-boolean v2, Lcom/imo/android/imoim/util/ba;->a:Z
.line 70
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Thread;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v2
.line 69
invoke-static {v2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v2
const/4 v3, 0x4
.line 72
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/StackTraceElement;
invoke-virtual {v4}, Ljava/lang/StackTraceElement;->getLineNumber()I
move-result v4
.line 73
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/StackTraceElement;
invoke-virtual {v5}, Ljava/lang/StackTraceElement;->getFileName()Ljava/lang/String;
move-result-object v5
.line 75
new-instance v6, Ljava/util/ArrayList;
.line 76
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v7
invoke-direct {v6, v7}, Ljava/util/ArrayList;-><init>(I)V
.line 77
:goto_39
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v7
if-ge v3, v7, :cond_4f
.line 78
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/StackTraceElement;
invoke-virtual {v7}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
add-int/lit8 v3, v3, 0x1
goto :goto_39
:cond_4f
const-string v2, "\n"
.line 81
invoke-static {v6, v2}, Lcom/imo/android/imoim/util/dz;->a(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 83
invoke-static {v4, v5, p0, p1, v2}, Lcom/imo/android/imoim/util/ba;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:try_end_58
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_58} :catch_5e
.catchall {:try_start_d .. :try_end_58} :catchall_5c
.line 87
:try_start_58
sput-boolean v1, Lcom/imo/android/imoim/util/ba;->a:Z
:try_end_5a
.catchall {:try_start_58 .. :try_end_5a} :catchall_7d
.line 88
monitor-exit v0
return-void
:catchall_5c
move-exception p0
goto :goto_7a
:catch_5e
move-exception p0
:try_start_5f
const-string p1, "ErrorMonitorSender"
.line 85
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "error sending errors to backend "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p0
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 1075
invoke-static {p1, p0}, Lcom/imo/android/imoim/util/bt;->e(Ljava/lang/String;Ljava/lang/String;)V
:try_end_76
.catchall {:try_start_5f .. :try_end_76} :catchall_5c
.line 87
:try_start_76
sput-boolean v1, Lcom/imo/android/imoim/util/ba;->a:Z
:try_end_78
.catchall {:try_start_76 .. :try_end_78} :catchall_7d
.line 88
monitor-exit v0
return-void
.line 87
:goto_7a
:try_start_7a
sput-boolean v1, Lcom/imo/android/imoim/util/ba;->a:Z
throw p0
:try_end_7d
.catchall {:try_start_7a .. :try_end_7d} :catchall_7d
:catchall_7d
move-exception p0
monitor-exit v0
goto :goto_81
:goto_80
throw p0
:goto_81
goto :goto_80
.end method