TraceEvent$BasicLooperMonitor.smali
.class Laegon/chrome/base/TraceEvent$BasicLooperMonitor;
.super Ljava/lang/Object;
# interfaces
.implements Landroid/util/Printer;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Laegon/chrome/base/TraceEvent;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "BasicLooperMonitor"
.end annotation
# static fields
.field static final synthetic $assertionsDisabled:Z
.field private static final LOOPER_TASK_PREFIX:Ljava/lang/String; = "Looper.dispatch: "
.field private static final SHORTEST_LOG_PREFIX_LENGTH:I
# instance fields
.field private mCurrentTarget:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
const-class v0, Laegon/chrome/base/TraceEvent;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
if-nez v0, :cond_14
const/4 v0, 0x1
:goto_9
sput-boolean v0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->$assertionsDisabled:Z
const-string v0, "<<<<< Finished to "
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
sput v0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->SHORTEST_LOG_PREFIX_LENGTH:I
return-void
:cond_14
const/4 v0, 0x0
goto :goto_9
.end method
.method private constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Laegon/chrome/base/TraceEvent$1;)V
.registers 2
invoke-direct {p0}, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;-><init>()V
return-void
.end method
.method private static getTarget(Ljava/lang/String;)Ljava/lang/String;
.registers 4
const/4 v1, -0x1
const/16 v0, 0x28
sget v2, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->SHORTEST_LOG_PREFIX_LENGTH:I
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->indexOf(II)I
move-result v2
if-ne v2, v1, :cond_15
move v0, v1
:goto_c
if-eq v0, v1, :cond_1c
add-int/lit8 v1, v2, 0x1
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
:goto_14
return-object v0
:cond_15
const/16 v0, 0x29
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->indexOf(II)I
move-result v0
goto :goto_c
:cond_1c
const-string v0, ""
goto :goto_14
.end method
.method private static getTargetName(Ljava/lang/String;)Ljava/lang/String;
.registers 4
const/4 v1, -0x1
const/16 v0, 0x7d
sget v2, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->SHORTEST_LOG_PREFIX_LENGTH:I
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->indexOf(II)I
move-result v2
if-ne v2, v1, :cond_1b
move v0, v1
:goto_c
if-ne v0, v1, :cond_12
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
:cond_12
if-eq v2, v1, :cond_22
add-int/lit8 v1, v2, 0x2
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
:goto_1a
return-object v0
:cond_1b
const/16 v0, 0x3a
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->indexOf(II)I
move-result v0
goto :goto_c
:cond_22
const-string v0, ""
goto :goto_1a
.end method
.method private static getTraceEventName(Ljava/lang/String;)Ljava/lang/String;
.registers 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Looper.dispatch: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {p0}, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->getTarget(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {p0}, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->getTargetName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
# virtual methods
.method beginHandling(Ljava/lang/String;)V
.registers 4
invoke-static {}, Laegon/chrome/base/EarlyTraceEvent;->isActive()Z
move-result v0
# getter for: Laegon/chrome/base/TraceEvent;->sEnabled:Z
invoke-static {}, Laegon/chrome/base/TraceEvent;->access$000()Z
move-result v1
if-nez v1, :cond_c
if-eqz v0, :cond_1d
:cond_c
invoke-static {p1}, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->getTraceEventName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->mCurrentTarget:Ljava/lang/String;
# getter for: Laegon/chrome/base/TraceEvent;->sEnabled:Z
invoke-static {}, Laegon/chrome/base/TraceEvent;->access$000()Z
move-result v0
if-eqz v0, :cond_1e
iget-object v0, p0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->mCurrentTarget:Ljava/lang/String;
# invokes: Laegon/chrome/base/TraceEvent;->nativeBeginToplevel(Ljava/lang/String;)V
invoke-static {v0}, Laegon/chrome/base/TraceEvent;->access$100(Ljava/lang/String;)V
:cond_1d
:goto_1d
return-void
:cond_1e
iget-object v0, p0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->mCurrentTarget:Ljava/lang/String;
invoke-static {v0}, Laegon/chrome/base/EarlyTraceEvent;->begin(Ljava/lang/String;)V
goto :goto_1d
.end method
.method endHandling(Ljava/lang/String;)V
.registers 4
invoke-static {}, Laegon/chrome/base/EarlyTraceEvent;->isActive()Z
move-result v0
# getter for: Laegon/chrome/base/TraceEvent;->sEnabled:Z
invoke-static {}, Laegon/chrome/base/TraceEvent;->access$000()Z
move-result v1
if-nez v1, :cond_c
if-eqz v0, :cond_1b
:cond_c
iget-object v0, p0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->mCurrentTarget:Ljava/lang/String;
if-eqz v0, :cond_1b
# getter for: Laegon/chrome/base/TraceEvent;->sEnabled:Z
invoke-static {}, Laegon/chrome/base/TraceEvent;->access$000()Z
move-result v0
if-eqz v0, :cond_1f
iget-object v0, p0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->mCurrentTarget:Ljava/lang/String;
# invokes: Laegon/chrome/base/TraceEvent;->nativeEndToplevel(Ljava/lang/String;)V
invoke-static {v0}, Laegon/chrome/base/TraceEvent;->access$200(Ljava/lang/String;)V
:cond_1b
:goto_1b
const/4 v0, 0x0
iput-object v0, p0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->mCurrentTarget:Ljava/lang/String;
return-void
:cond_1f
iget-object v0, p0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->mCurrentTarget:Ljava/lang/String;
invoke-static {v0}, Laegon/chrome/base/EarlyTraceEvent;->end(Ljava/lang/String;)V
goto :goto_1b
.end method
.method public println(Ljava/lang/String;)V
.registers 3
const-string v0, ">"
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_c
invoke-virtual {p0, p1}, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->beginHandling(Ljava/lang/String;)V
:goto_b
return-void
:cond_c
sget-boolean v0, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->$assertionsDisabled:Z
if-nez v0, :cond_1e
const-string v0, "<"
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_1e
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
:cond_1e
invoke-virtual {p0, p1}, Laegon/chrome/base/TraceEvent$BasicLooperMonitor;->endHandling(Ljava/lang/String;)V
goto :goto_b
.end method