ANRChecker$2.smali
.class Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;
.super Ljava/lang/Object;
.source "ANRChecker.java"
# interfaces
.implements Ljava/lang/Runnable;
# instance fields
.field final synthetic this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
# direct methods
.method constructor <init>(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;)V
.registers 2
.prologue
.line 101
iput-object p1, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.registers 10
.prologue
.line 106
:try_start_0
invoke-static {}, Ljava/lang/Thread;->getAllStackTraces()Ljava/util/Map;
move-result-object v4
.line 107
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v5
.line 108
const-wide/16 v2, 0x0
.line 109
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
.line 110
const-string v0, "-----thread info-----\n"
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 112
if-eqz v4, :cond_6a
invoke-interface {v4}, Ljava/util/Map;->size()I
move-result v0
if-lez v0, :cond_6a
.line 113
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;->access$500(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;)Ljava/lang/Thread;
move-result-object v0
invoke-interface {v4, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/StackTraceElement;
.line 114
if-eqz v0, :cond_3e
array-length v1, v0
if-lez v1, :cond_3e
.line 115
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
invoke-static {v2}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;->access$500(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;)Ljava/lang/Thread;
move-result-object v2
invoke-static {v1, v2, v0, v6}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;->access$600(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;Ljava/lang/Thread;[Ljava/lang/StackTraceElement;Ljava/lang/StringBuilder;)V
.line 117
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
invoke-static {v1, v0}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;->access$700(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;[Ljava/lang/StackTraceElement;)J
move-result-wide v2
.line 120
:cond_3e
invoke-interface {v4}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v7
.line 121
:cond_46
:goto_46
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_6a
.line 122
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Thread;
.line 123
invoke-interface {v4, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, [Ljava/lang/StackTraceElement;
.line 125
iget-object v8, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
invoke-static {v8}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;->access$500(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;)Ljava/lang/Thread;
move-result-object v8
if-eq v0, v8, :cond_46
if-eq v0, v5, :cond_46
.line 126
iget-object v8, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
invoke-static {v8, v0, v1, v6}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;->access$600(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;Ljava/lang/Thread;[Ljava/lang/StackTraceElement;Ljava/lang/StringBuilder;)V
goto :goto_46
.line 140
:catch_68
move-exception v0
.line 143
:cond_69
:goto_69
return-void
:cond_6a
move-wide v0, v2
.line 129
const-string v2, "\n\n"
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 130
const-string v2, "-----anrkey-----\n"
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 131
const-string v2, "anrkey="
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 132
invoke-virtual {v6, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 133
const-string v0, "\n\n"
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 137
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;->access$800(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;)Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$ANRListener;
move-result-object v0
if-eqz v0, :cond_69
.line 138
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$2;->this$0:Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;
invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;->access$800(Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker;)Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$ANRListener;
move-result-object v0
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lcom/cleanmaster/hpsharelib/base/util/debug/ANRChecker$ANRListener;->onAppAnr(Ljava/lang/String;)V
:try_end_97
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_97} :catch_68
goto :goto_69
.end method