bj.smali
.class public Lcom/tendcloud/tenddata/bj;
.super Ljava/lang/Object;
.source "td"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tendcloud/tenddata/bj$a;
}
.end annotation
# static fields
.field private static volatile a:Lcom/tendcloud/tenddata/bj;
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 1
:try_start_0
invoke-static {}, Lcom/tendcloud/tenddata/ag;->a()Lcom/tendcloud/tenddata/ag;
move-result-object v0
invoke-static {}, Lcom/tendcloud/tenddata/bj;->a()Lcom/tendcloud/tenddata/bj;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/tendcloud/tenddata/ag;->register(Ljava/lang/Object;)V
:try_end_b
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_b} :catch_b
:catch_b
return-void
.end method
.method private constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {}, Lcom/tendcloud/tenddata/bj;->b()V
return-void
.end method
.method public static a()Lcom/tendcloud/tenddata/bj;
.registers 2
.line 1
sget-object v0, Lcom/tendcloud/tenddata/bj;->a:Lcom/tendcloud/tenddata/bj;
if-nez v0, :cond_17
.line 2
const-class v0, Lcom/tendcloud/tenddata/bj;
monitor-enter v0
.line 3
:try_start_7
sget-object v1, Lcom/tendcloud/tenddata/bj;->a:Lcom/tendcloud/tenddata/bj;
if-nez v1, :cond_12
.line 4
new-instance v1, Lcom/tendcloud/tenddata/bj;
invoke-direct {v1}, Lcom/tendcloud/tenddata/bj;-><init>()V
sput-object v1, Lcom/tendcloud/tenddata/bj;->a:Lcom/tendcloud/tenddata/bj;
.line 5
:cond_12
monitor-exit v0
goto :goto_17
:catchall_14
move-exception v1
monitor-exit v0
:try_end_16
.catchall {:try_start_7 .. :try_end_16} :catchall_14
throw v1
.line 6
:cond_17
:goto_17
sget-object v0, Lcom/tendcloud/tenddata/bj;->a:Lcom/tendcloud/tenddata/bj;
return-object v0
.end method
.method private static final a(Ljava/lang/Throwable;)Ljava/lang/String;
.registers 7
.line 37
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 38
invoke-virtual {p0}, Ljava/lang/Throwable;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "\r\n"
.line 39
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 40
:try_start_11
invoke-virtual {p0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v2
.line 41
array-length v3, v2
const/16 v4, 0x32
if-le v3, v4, :cond_1b
goto :goto_1c
:cond_1b
array-length v4, v2
:goto_1c
const/4 v3, 0x0
:goto_1d
if-ge v3, v4, :cond_2f
const-string v5, "\tat "
.line 42
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 43
aget-object v5, v2, v3
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 44
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, 0x1
goto :goto_1d
.line 45
:cond_2f
invoke-virtual {p0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p0
if-eqz p0, :cond_39
const/4 v1, 0x1
.line 46
invoke-static {v0, v2, p0, v1}, Lcom/tendcloud/tenddata/bj;->a(Ljava/lang/StringBuilder;[Ljava/lang/StackTraceElement;Ljava/lang/Throwable;I)V
:try_end_39
.catch Ljava/lang/Throwable; {:try_start_11 .. :try_end_39} :catch_39
.line 47
:catch_39
:cond_39
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static final a(Ljava/lang/StringBuilder;[Ljava/lang/StackTraceElement;Ljava/lang/Throwable;I)V
.registers 10
const-string v0, "\r\n"
.line 48
:try_start_2
invoke-virtual {p2}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v1
.line 49
array-length v2, v1
add-int/lit8 v2, v2, -0x1
.line 50
array-length v3, p1
add-int/lit8 v3, v3, -0x1
:goto_c
if-ltz v2, :cond_1f
if-ltz v3, :cond_1f
.line 51
aget-object v4, v1, v2
aget-object v5, p1, v3
invoke-virtual {v4, v5}, Ljava/lang/StackTraceElement;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_1f
add-int/lit8 v2, v2, -0x1
add-int/lit8 v3, v3, -0x1
goto :goto_c
:cond_1f
const/16 p1, 0x32
if-le v2, p1, :cond_24
goto :goto_25
:cond_24
move p1, v2
:goto_25
const-string v2, "Caused by : "
.line 52
invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 53
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 54
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v2, 0x0
:goto_31
if-gt v2, p1, :cond_43
const-string v3, "\t"
.line 55
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 56
aget-object v3, v1, v2
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 57
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_31
:cond_43
const/4 p1, 0x5
if-lt p3, p1, :cond_47
return-void
.line 58
:cond_47
invoke-virtual {p2}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p1
if-eqz p1, :cond_52
add-int/lit8 p3, p3, 0x1
.line 59
invoke-static {p0, v1, p2, p3}, Lcom/tendcloud/tenddata/bj;->a(Ljava/lang/StringBuilder;[Ljava/lang/StackTraceElement;Ljava/lang/Throwable;I)V
:try_end_52
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_52} :catch_52
:catch_52
:cond_52
return-void
.end method
.method static a(Ljava/lang/Throwable;Ljava/lang/String;Lcom/tendcloud/tenddata/a;Z)V
.registers 14
const-string v0, "com.android."
const-string v1, "android."
const-string v2, "javax."
const-string v3, "java."
const-string v4, ":"
.line 10
sget-object v5, Lcom/tendcloud/tenddata/ab;->g:Landroid/content/Context;
if-nez v5, :cond_f
return-void
.line 11
:cond_f
:try_start_f
invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->isEmpty()Z
move-result v5
if-eqz v5, :cond_1e
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
goto :goto_22
:cond_1e
invoke-static {p1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v5
:goto_22
if-eqz p3, :cond_2b
.line 12
sget-boolean p1, Lcom/tendcloud/tenddata/ab;->F:Z
if-eqz p1, :cond_2b
.line 13
invoke-static {v5, v6, p2}, Lcom/tendcloud/tenddata/n;->c(JLcom/tendcloud/tenddata/a;)V
:try_end_2b
.catch Ljava/lang/Throwable; {:try_start_f .. :try_end_2b} :catch_2b
:catch_2b
:cond_2b
move-object p1, p0
.line 14
:goto_2c
:try_start_2c
invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p2
if-eqz p2, :cond_37
.line 15
invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p1
goto :goto_2c
.line 16
:cond_37
invoke-virtual {p1}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object p2
.line 17
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
.line 18
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v5
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 19
sget-object v5, Lcom/tendcloud/tenddata/ab;->g:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v5
const/4 v6, 0x0
const/4 v7, 0x0
:goto_56
const/4 v8, 0x3
if-ge v6, v8, :cond_a7
.line 20
array-length v8, p2
if-ge v7, v8, :cond_a7
.line 21
aget-object v8, p2, v7
invoke-virtual {v8}, Ljava/lang/StackTraceElement;->getClassName()Ljava/lang/String;
move-result-object v8
.line 22
invoke-virtual {v8, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_6f
invoke-virtual {v5, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v9
if-nez v9, :cond_6f
goto :goto_a4
.line 23
:cond_6f
invoke-virtual {v8, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_7c
invoke-virtual {v5, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v9
if-nez v9, :cond_7c
goto :goto_a4
.line 24
:cond_7c
invoke-virtual {v8, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v9
if-eqz v9, :cond_89
invoke-virtual {v5, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v9
if-nez v9, :cond_89
goto :goto_a4
.line 25
:cond_89
invoke-virtual {v8, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v8
if-eqz v8, :cond_96
.line 26
invoke-virtual {v5, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v8
if-nez v8, :cond_96
goto :goto_a4
.line 27
:cond_96
aget-object v8, p2, v7
invoke-virtual {v8}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v8
invoke-virtual {p3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v6, v6, 0x1
:goto_a4
add-int/lit8 v7, v7, 0x1
goto :goto_56
.line 28
:cond_a7
new-instance p2, Lcom/tendcloud/tenddata/by;
invoke-direct {p2}, Lcom/tendcloud/tenddata/by;-><init>()V
const-string p3, "apm"
.line 29
iput-object p3, p2, Lcom/tendcloud/tenddata/by;->b:Ljava/lang/String;
const-string p3, "error"
.line 30
iput-object p3, p2, Lcom/tendcloud/tenddata/by;->c:Ljava/lang/String;
.line 31
new-instance p3, Ljava/util/TreeMap;
invoke-direct {p3}, Ljava/util/TreeMap;-><init>()V
const-string v0, "msg"
.line 32
invoke-static {p0}, Lcom/tendcloud/tenddata/bj;->a(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object p0
invoke-interface {p3, v0, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string p0, "type"
.line 33
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p1
invoke-interface {p3, p0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 34
iput-object p3, p2, Lcom/tendcloud/tenddata/by;->d:Ljava/util/Map;
.line 35
sget-object p0, Lcom/tendcloud/tenddata/a;->APP:Lcom/tendcloud/tenddata/a;
iput-object p0, p2, Lcom/tendcloud/tenddata/by;->a:Lcom/tendcloud/tenddata/a;
.line 36
invoke-static {}, Lcom/tendcloud/tenddata/ag;->a()Lcom/tendcloud/tenddata/ag;
move-result-object p0
invoke-virtual {p0, p2}, Lcom/tendcloud/tenddata/ag;->post(Ljava/lang/Object;)V
:try_end_dc
.catch Ljava/lang/Throwable; {:try_start_2c .. :try_end_dc} :catch_dc
:catch_dc
return-void
.end method
.method private static b()V
.registers 1
.line 1
:try_start_0
new-instance v0, Lcom/tendcloud/tenddata/bj$a;
invoke-direct {v0}, Lcom/tendcloud/tenddata/bj$a;-><init>()V
invoke-static {v0}, Ljava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
:try_end_8
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_8} :catch_8
:catch_8
return-void
.end method
# virtual methods
.method a(Ljava/util/HashMap;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
const-string v0, "occurTime"
const-string v1, "throwable"
:try_start_4
const-string v2, "service"
.line 7
invoke-virtual {p1, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/tendcloud/tenddata/a;
.line 8
invoke-virtual {p1, v1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_2a
invoke-virtual {p1, v0}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_2a
.line 9
invoke-virtual {p1, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Throwable;
invoke-virtual {p1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const/4 v0, 0x0
invoke-static {v1, p1, v2, v0}, Lcom/tendcloud/tenddata/bj;->a(Ljava/lang/Throwable;Ljava/lang/String;Lcom/tendcloud/tenddata/a;Z)V
:try_end_2a
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_2a} :catch_2a
:catch_2a
:cond_2a
return-void
.end method
.method public final onTDEBEventError(Lcom/tendcloud/tenddata/zz$a;)V
.registers 4
if-eqz p1, :cond_20
.line 1
:try_start_2
iget-object v0, p1, Lcom/tendcloud/tenddata/zz$a;->paraMap:Ljava/util/HashMap;
if-nez v0, :cond_7
goto :goto_20
.line 2
:cond_7
iget-object v0, p1, Lcom/tendcloud/tenddata/zz$a;->paraMap:Ljava/util/HashMap;
const-string v1, "apiType"
invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
const/4 v1, 0x3
if-eq v0, v1, :cond_1b
return-void
.line 3
:cond_1b
iget-object p1, p1, Lcom/tendcloud/tenddata/zz$a;->paraMap:Ljava/util/HashMap;
invoke-virtual {p0, p1}, Lcom/tendcloud/tenddata/bj;->a(Ljava/util/HashMap;)V
:try_end_20
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_20} :catch_20
:catch_20
:cond_20
:goto_20
return-void
.end method