a.smali
.class public Lcom/baidu/mapsdkplatform/comapi/b/a/a;
.super Ljava/lang/Object;
# interfaces
.implements Ljava/lang/Thread$UncaughtExceptionHandler;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/baidu/mapsdkplatform/comapi/b/a/a$a;
}
.end annotation
# static fields
.field private static volatile b:Z
# instance fields
.field private a:Ljava/lang/String;
.field private c:Ljava/lang/Thread$UncaughtExceptionHandler;
# direct methods
.method static constructor <clinit>()V
.registers 1
const/4 v0, 0x0
sput-boolean v0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->b:Z
return-void
.end method
.method private constructor <init>()V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, ""
iput-object v0, p0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->a:Ljava/lang/String;
invoke-static {}, Ljava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
move-result-object v0
iput-object v0, p0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->c:Ljava/lang/Thread$UncaughtExceptionHandler;
return-void
.end method
.method synthetic constructor <init>(Lcom/baidu/mapsdkplatform/comapi/b/a/b;)V
.registers 2
invoke-direct {p0}, Lcom/baidu/mapsdkplatform/comapi/b/a/a;-><init>()V
return-void
.end method
.method public static a()Lcom/baidu/mapsdkplatform/comapi/b/a/a;
.registers 1
invoke-static {}, Lcom/baidu/mapsdkplatform/comapi/b/a/a$a;->a()Lcom/baidu/mapsdkplatform/comapi/b/a/a;
move-result-object v0
return-object v0
.end method
.method private a(Ljava/lang/Throwable;)V
.registers 6
if-nez p1, :cond_3
return-void
:cond_3
invoke-virtual {p1}, Ljava/lang/Throwable;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_a7
const-string v1, "BDMapSDKException"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_a7
const-string v1, "com.baidu.platform"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_2f
const-string v1, "com.baidu.mapsdkplatform"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_2f
const-string v1, "com.baidu.mapsdkvi"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_2f
goto/16 :goto_a7
:cond_2f
:try_start_2f
new-instance v0, Ljava/io/StringWriter;
invoke-direct {v0}, Ljava/io/StringWriter;-><init>()V
new-instance v1, Ljava/io/PrintWriter;
invoke-direct {v1, v0}, Ljava/io/PrintWriter;-><init>(Ljava/io/Writer;)V
invoke-virtual {p1, v1}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V
invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p1
if-eqz p1, :cond_45
invoke-virtual {p1, v1}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V
:cond_45
invoke-virtual {v1}, Ljava/io/PrintWriter;->close()V
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-eqz v0, :cond_53
return-void
:cond_53
iget-object v0, p0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->a:Ljava/lang/String;
if-eqz v0, :cond_a5
iget-object v0, p0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->a:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-eqz v0, :cond_60
goto :goto_a5
:cond_60
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
const-wide/16 v2, 0x3e8
div-long/2addr v0, v2
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
iget-object v3, p0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->a:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v0, ".txt"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "UTF-8"
invoke-static {v0, v1}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_95
invoke-virtual {v1}, Ljava/io/File;->createNewFile()Z
move-result v0
if-nez v0, :cond_95
return-void
:cond_95
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, v1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object p1
invoke-virtual {v0, p1}, Ljava/io/FileOutputStream;->write([B)V
invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
:try_end_a4
.catch Ljava/lang/Exception; {:try_start_2f .. :try_end_a4} :catch_a6
goto :goto_a7
:cond_a5
:goto_a5
return-void
:catch_a6
move-exception p1
:cond_a7
:goto_a7
return-void
.end method
# virtual methods
.method protected a(Ljava/lang/String;)V
.registers 2
iput-object p1, p0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->a:Ljava/lang/String;
invoke-static {}, Ljava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
move-result-object p1
instance-of p1, p1, Lcom/baidu/mapsdkplatform/comapi/b/a/a;
if-nez p1, :cond_d
invoke-static {p0}, Ljava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
:cond_d
return-void
.end method
.method public uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.registers 4
sget-boolean v0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->b:Z
if-eqz v0, :cond_5
return-void
:cond_5
const/4 v0, 0x1
sput-boolean v0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->b:Z
invoke-direct {p0, p2}, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->a(Ljava/lang/Throwable;)V
iget-object v0, p0, Lcom/baidu/mapsdkplatform/comapi/b/a/a;->c:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_12
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
:cond_12
return-void
.end method