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