Add Discord APKTool decompilation (Smali source for modding)

- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
.class public Lcom/google/firebase/perf/util/Clock;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getTime()Lcom/google/firebase/perf/util/Timer;
.locals 1
.line 29
new-instance v0, Lcom/google/firebase/perf/util/Timer;
invoke-direct {v0}, Lcom/google/firebase/perf/util/Timer;-><init>()V
return-object v0
.end method

View File

@@ -0,0 +1,200 @@
.class public final enum Lcom/google/firebase/perf/util/Constants$CounterNames;
.super Ljava/lang/Enum;
.source "SourceFile"
# static fields
.field private static final synthetic $VALUES:[Lcom/google/firebase/perf/util/Constants$CounterNames;
.field public static final enum FRAMES_FROZEN:Lcom/google/firebase/perf/util/Constants$CounterNames;
.field public static final enum FRAMES_SLOW:Lcom/google/firebase/perf/util/Constants$CounterNames;
.field public static final enum FRAMES_TOTAL:Lcom/google/firebase/perf/util/Constants$CounterNames;
.field public static final enum NETWORK_TRACE_EVENT_RATE_LIMITED:Lcom/google/firebase/perf/util/Constants$CounterNames;
.field public static final enum TRACE_EVENT_RATE_LIMITED:Lcom/google/firebase/perf/util/Constants$CounterNames;
.field public static final enum TRACE_STARTED_NOT_STOPPED:Lcom/google/firebase/perf/util/Constants$CounterNames;
# instance fields
.field private mName:Ljava/lang/String;
# direct methods
.method private static synthetic $values()[Lcom/google/firebase/perf/util/Constants$CounterNames;
.locals 6
sget-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->TRACE_EVENT_RATE_LIMITED:Lcom/google/firebase/perf/util/Constants$CounterNames;
sget-object v1, Lcom/google/firebase/perf/util/Constants$CounterNames;->NETWORK_TRACE_EVENT_RATE_LIMITED:Lcom/google/firebase/perf/util/Constants$CounterNames;
sget-object v2, Lcom/google/firebase/perf/util/Constants$CounterNames;->TRACE_STARTED_NOT_STOPPED:Lcom/google/firebase/perf/util/Constants$CounterNames;
sget-object v3, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_TOTAL:Lcom/google/firebase/perf/util/Constants$CounterNames;
sget-object v4, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_SLOW:Lcom/google/firebase/perf/util/Constants$CounterNames;
sget-object v5, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_FROZEN:Lcom/google/firebase/perf/util/Constants$CounterNames;
filled-new-array/range {v0 .. v5}, [Lcom/google/firebase/perf/util/Constants$CounterNames;
move-result-object v0
return-object v0
.end method
.method static constructor <clinit>()V
.locals 4
.line 93
new-instance v0, Lcom/google/firebase/perf/util/Constants$CounterNames;
const/4 v1, 0x0
const-string v2, "_fstec"
const-string v3, "TRACE_EVENT_RATE_LIMITED"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$CounterNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->TRACE_EVENT_RATE_LIMITED:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 94
new-instance v0, Lcom/google/firebase/perf/util/Constants$CounterNames;
const/4 v1, 0x1
const-string v2, "_fsntc"
const-string v3, "NETWORK_TRACE_EVENT_RATE_LIMITED"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$CounterNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->NETWORK_TRACE_EVENT_RATE_LIMITED:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 95
new-instance v0, Lcom/google/firebase/perf/util/Constants$CounterNames;
const/4 v1, 0x2
const-string v2, "_tsns"
const-string v3, "TRACE_STARTED_NOT_STOPPED"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$CounterNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->TRACE_STARTED_NOT_STOPPED:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 96
new-instance v0, Lcom/google/firebase/perf/util/Constants$CounterNames;
const/4 v1, 0x3
const-string v2, "_fr_tot"
const-string v3, "FRAMES_TOTAL"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$CounterNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_TOTAL:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 97
new-instance v0, Lcom/google/firebase/perf/util/Constants$CounterNames;
const/4 v1, 0x4
const-string v2, "_fr_slo"
const-string v3, "FRAMES_SLOW"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$CounterNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_SLOW:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 98
new-instance v0, Lcom/google/firebase/perf/util/Constants$CounterNames;
const/4 v1, 0x5
const-string v2, "_fr_fzn"
const-string v3, "FRAMES_FROZEN"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$CounterNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_FROZEN:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 92
invoke-static {}, Lcom/google/firebase/perf/util/Constants$CounterNames;->$values()[Lcom/google/firebase/perf/util/Constants$CounterNames;
move-result-object v0
sput-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->$VALUES:[Lcom/google/firebase/perf/util/Constants$CounterNames;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;ILjava/lang/String;)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 102
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
iput-object p3, p0, Lcom/google/firebase/perf/util/Constants$CounterNames;->mName:Ljava/lang/String;
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/firebase/perf/util/Constants$CounterNames;
.locals 1
const-class v0, Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 92
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/firebase/perf/util/Constants$CounterNames;
return-object p0
.end method
.method public static values()[Lcom/google/firebase/perf/util/Constants$CounterNames;
.locals 1
sget-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->$VALUES:[Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 92
invoke-virtual {v0}, [Lcom/google/firebase/perf/util/Constants$CounterNames;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/firebase/perf/util/Constants$CounterNames;
return-object v0
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/google/firebase/perf/util/Constants$CounterNames;->mName:Ljava/lang/String;
return-object v0
.end method

View File

@@ -0,0 +1,200 @@
.class public final enum Lcom/google/firebase/perf/util/Constants$TraceNames;
.super Ljava/lang/Enum;
.source "SourceFile"
# static fields
.field private static final synthetic $VALUES:[Lcom/google/firebase/perf/util/Constants$TraceNames;
.field public static final enum APP_START_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.field public static final enum BACKGROUND_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.field public static final enum FOREGROUND_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.field public static final enum ON_CREATE_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.field public static final enum ON_RESUME_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.field public static final enum ON_START_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
# instance fields
.field private mName:Ljava/lang/String;
# direct methods
.method private static synthetic $values()[Lcom/google/firebase/perf/util/Constants$TraceNames;
.locals 6
sget-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->APP_START_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
sget-object v1, Lcom/google/firebase/perf/util/Constants$TraceNames;->ON_CREATE_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
sget-object v2, Lcom/google/firebase/perf/util/Constants$TraceNames;->ON_START_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
sget-object v3, Lcom/google/firebase/perf/util/Constants$TraceNames;->ON_RESUME_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
sget-object v4, Lcom/google/firebase/perf/util/Constants$TraceNames;->FOREGROUND_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
sget-object v5, Lcom/google/firebase/perf/util/Constants$TraceNames;->BACKGROUND_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
filled-new-array/range {v0 .. v5}, [Lcom/google/firebase/perf/util/Constants$TraceNames;
move-result-object v0
return-object v0
.end method
.method static constructor <clinit>()V
.locals 4
.line 72
new-instance v0, Lcom/google/firebase/perf/util/Constants$TraceNames;
const/4 v1, 0x0
const-string v2, "_as"
const-string v3, "APP_START_TRACE_NAME"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$TraceNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->APP_START_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.line 73
new-instance v0, Lcom/google/firebase/perf/util/Constants$TraceNames;
const/4 v1, 0x1
const-string v2, "_astui"
const-string v3, "ON_CREATE_TRACE_NAME"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$TraceNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->ON_CREATE_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.line 74
new-instance v0, Lcom/google/firebase/perf/util/Constants$TraceNames;
const/4 v1, 0x2
const-string v2, "_astfd"
const-string v3, "ON_START_TRACE_NAME"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$TraceNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->ON_START_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.line 75
new-instance v0, Lcom/google/firebase/perf/util/Constants$TraceNames;
const/4 v1, 0x3
const-string v2, "_asti"
const-string v3, "ON_RESUME_TRACE_NAME"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$TraceNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->ON_RESUME_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.line 76
new-instance v0, Lcom/google/firebase/perf/util/Constants$TraceNames;
const/4 v1, 0x4
const-string v2, "_fs"
const-string v3, "FOREGROUND_TRACE_NAME"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$TraceNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->FOREGROUND_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.line 77
new-instance v0, Lcom/google/firebase/perf/util/Constants$TraceNames;
const/4 v1, 0x5
const-string v2, "_bs"
const-string v3, "BACKGROUND_TRACE_NAME"
invoke-direct {v0, v3, v1, v2}, Lcom/google/firebase/perf/util/Constants$TraceNames;-><init>(Ljava/lang/String;ILjava/lang/String;)V
sput-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->BACKGROUND_TRACE_NAME:Lcom/google/firebase/perf/util/Constants$TraceNames;
.line 71
invoke-static {}, Lcom/google/firebase/perf/util/Constants$TraceNames;->$values()[Lcom/google/firebase/perf/util/Constants$TraceNames;
move-result-object v0
sput-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->$VALUES:[Lcom/google/firebase/perf/util/Constants$TraceNames;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;ILjava/lang/String;)V
.locals 0
.param p1 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 81
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
iput-object p3, p0, Lcom/google/firebase/perf/util/Constants$TraceNames;->mName:Ljava/lang/String;
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/firebase/perf/util/Constants$TraceNames;
.locals 1
const-class v0, Lcom/google/firebase/perf/util/Constants$TraceNames;
.line 71
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/firebase/perf/util/Constants$TraceNames;
return-object p0
.end method
.method public static values()[Lcom/google/firebase/perf/util/Constants$TraceNames;
.locals 1
sget-object v0, Lcom/google/firebase/perf/util/Constants$TraceNames;->$VALUES:[Lcom/google/firebase/perf/util/Constants$TraceNames;
.line 71
invoke-virtual {v0}, [Lcom/google/firebase/perf/util/Constants$TraceNames;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/firebase/perf/util/Constants$TraceNames;
return-object v0
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/google/firebase/perf/util/Constants$TraceNames;->mName:Ljava/lang/String;
return-object v0
.end method

View File

@@ -0,0 +1,42 @@
.class public final synthetic Lcom/google/firebase/perf/util/FirstDrawDoneListener$$ExternalSyntheticLambda0;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;
# instance fields
.field public final synthetic f$0:Lcom/google/firebase/perf/util/FirstDrawDoneListener;
.field public final synthetic f$1:Landroid/view/View;
# direct methods
.method public synthetic constructor <init>(Lcom/google/firebase/perf/util/FirstDrawDoneListener;Landroid/view/View;)V
.locals 0
.line 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener$$ExternalSyntheticLambda0;->f$0:Lcom/google/firebase/perf/util/FirstDrawDoneListener;
iput-object p2, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener$$ExternalSyntheticLambda0;->f$1:Landroid/view/View;
return-void
.end method
# virtual methods
.method public final onGlobalLayout()V
.locals 2
.line 0
iget-object v0, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener$$ExternalSyntheticLambda0;->f$0:Lcom/google/firebase/perf/util/FirstDrawDoneListener;
iget-object v1, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener$$ExternalSyntheticLambda0;->f$1:Landroid/view/View;
invoke-static {v0, v1}, Lcom/google/firebase/perf/util/FirstDrawDoneListener;->$r8$lambda$_cI8uQcUdR5u55_98hnm3i01Qek(Lcom/google/firebase/perf/util/FirstDrawDoneListener;Landroid/view/View;)V
return-void
.end method

View File

@@ -0,0 +1,129 @@
.class public Lcom/google/firebase/perf/util/FirstDrawDoneListener;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/view/ViewTreeObserver$OnDrawListener;
# instance fields
.field public final callback:Ljava/lang/Runnable;
.field public final mainThreadHandler:Landroid/os/Handler;
.field public final viewReference:Ljava/util/concurrent/atomic/AtomicReference;
# direct methods
.method public static synthetic $r8$lambda$_cI8uQcUdR5u55_98hnm3i01Qek(Lcom/google/firebase/perf/util/FirstDrawDoneListener;Landroid/view/View;)V
.locals 0
.line 0
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/util/FirstDrawDoneListener;->lambda$onDraw$0(Landroid/view/View;)V
return-void
.end method
.method public constructor <init>(Landroid/view/View;Ljava/lang/Runnable;)V
.locals 2
.line 61
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 30
new-instance v0, Landroid/os/Handler;
.line 31
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener;->mainThreadHandler:Landroid/os/Handler;
.line 62
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener;->viewReference:Ljava/util/concurrent/atomic/AtomicReference;
iput-object p2, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener;->callback:Ljava/lang/Runnable;
return-void
.end method
.method public static registerForNextDraw(Landroid/view/View;Ljava/lang/Runnable;)V
.locals 1
.line 38
new-instance v0, Lcom/google/firebase/perf/util/FirstDrawDoneListener;
invoke-direct {v0, p0, p1}, Lcom/google/firebase/perf/util/FirstDrawDoneListener;-><init>(Landroid/view/View;Ljava/lang/Runnable;)V
.line 57
invoke-virtual {p0}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object p0
invoke-virtual {p0, v0}, Landroid/view/ViewTreeObserver;->addOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V
return-void
.end method
# virtual methods
.method public final synthetic lambda$onDraw$0(Landroid/view/View;)V
.locals 0
.line 76
invoke-virtual {p1}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object p1
invoke-virtual {p1, p0}, Landroid/view/ViewTreeObserver;->removeOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V
return-void
.end method
.method public onDraw()V
.locals 3
iget-object v0, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener;->viewReference:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
.line 69
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
if-nez v0, :cond_0
return-void
.line 75
:cond_0
invoke-virtual {v0}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object v1
new-instance v2, Lcom/google/firebase/perf/util/FirstDrawDoneListener$$ExternalSyntheticLambda0;
invoke-direct {v2, p0, v0}, Lcom/google/firebase/perf/util/FirstDrawDoneListener$$ExternalSyntheticLambda0;-><init>(Lcom/google/firebase/perf/util/FirstDrawDoneListener;Landroid/view/View;)V
.line 76
invoke-virtual {v1, v2}, Landroid/view/ViewTreeObserver;->addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
iget-object v0, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener;->mainThreadHandler:Landroid/os/Handler;
iget-object v1, p0, Lcom/google/firebase/perf/util/FirstDrawDoneListener;->callback:Ljava/lang/Runnable;
.line 77
invoke-virtual {v0, v1}, Landroid/os/Handler;->postAtFrontOfQueue(Ljava/lang/Runnable;)Z
return-void
.end method

View File

@@ -0,0 +1,349 @@
.class public final Lcom/google/firebase/perf/util/ImmutableBundle;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final logger:Lcom/google/firebase/perf/logging/AndroidLogger;
# instance fields
.field public final bundle:Landroid/os/Bundle;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 27
invoke-static {}, Lcom/google/firebase/perf/logging/AndroidLogger;->getInstance()Lcom/google/firebase/perf/logging/AndroidLogger;
move-result-object v0
sput-object v0, Lcom/google/firebase/perf/util/ImmutableBundle;->logger:Lcom/google/firebase/perf/logging/AndroidLogger;
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 33
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
invoke-direct {p0, v0}, Lcom/google/firebase/perf/util/ImmutableBundle;-><init>(Landroid/os/Bundle;)V
return-void
.end method
.method public constructor <init>(Landroid/os/Bundle;)V
.locals 0
.line 37
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 38
invoke-virtual {p1}, Landroid/os/Bundle;->clone()Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/os/Bundle;
iput-object p1, p0, Lcom/google/firebase/perf/util/ImmutableBundle;->bundle:Landroid/os/Bundle;
return-void
.end method
# virtual methods
.method public containsKey(Ljava/lang/String;)Z
.locals 1
if-eqz p1, :cond_0
iget-object v0, p0, Lcom/google/firebase/perf/util/ImmutableBundle;->bundle:Landroid/os/Bundle;
.line 48
invoke-virtual {v0, p1}, Landroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public getBoolean(Ljava/lang/String;)Lcom/google/firebase/perf/util/Optional;
.locals 2
.line 56
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/util/ImmutableBundle;->containsKey(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_0
.line 57
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
:cond_0
:try_start_0
iget-object v0, p0, Lcom/google/firebase/perf/util/ImmutableBundle;->bundle:Landroid/os/Bundle;
.line 61
invoke-virtual {v0, p1}, Landroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
.line 62
check-cast v0, Ljava/lang/Boolean;
invoke-static {v0}, Lcom/google/firebase/perf/util/Optional;->fromNullable(Ljava/lang/Object;)Lcom/google/firebase/perf/util/Optional;
move-result-object p1
:try_end_0
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
move-exception v0
sget-object v1, Lcom/google/firebase/perf/util/ImmutableBundle;->logger:Lcom/google/firebase/perf/logging/AndroidLogger;
.line 64
invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
filled-new-array {p1, v0}, [Ljava/lang/Object;
move-result-object p1
const-string v0, "Metadata key %s contains type other than boolean: %s"
invoke-virtual {v1, v0, p1}, Lcom/google/firebase/perf/logging/AndroidLogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 67
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
.end method
.method public getDouble(Ljava/lang/String;)Lcom/google/firebase/perf/util/Optional;
.locals 2
.line 75
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/util/ImmutableBundle;->containsKey(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_0
.line 76
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
:cond_0
iget-object v0, p0, Lcom/google/firebase/perf/util/ImmutableBundle;->bundle:Landroid/os/Bundle;
.line 79
invoke-virtual {v0, p1}, Landroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_1
.line 81
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
.line 83
:cond_1
instance-of v1, v0, Ljava/lang/Float;
if-eqz v1, :cond_2
.line 84
check-cast v0, Ljava/lang/Float;
invoke-virtual {v0}, Ljava/lang/Float;->doubleValue()D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p1
invoke-static {p1}, Lcom/google/firebase/perf/util/Optional;->of(Ljava/lang/Object;)Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
.line 86
:cond_2
instance-of v1, v0, Ljava/lang/Double;
if-eqz v1, :cond_3
.line 87
check-cast v0, Ljava/lang/Double;
invoke-static {v0}, Lcom/google/firebase/perf/util/Optional;->of(Ljava/lang/Object;)Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
:cond_3
sget-object v0, Lcom/google/firebase/perf/util/ImmutableBundle;->logger:Lcom/google/firebase/perf/logging/AndroidLogger;
const-string v1, "Metadata key %s contains type other than double: %s"
filled-new-array {p1}, [Ljava/lang/Object;
move-result-object p1
.line 90
invoke-virtual {v0, v1, p1}, Lcom/google/firebase/perf/logging/AndroidLogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 91
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
.end method
.method public final getInt(Ljava/lang/String;)Lcom/google/firebase/perf/util/Optional;
.locals 2
.line 111
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/util/ImmutableBundle;->containsKey(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_0
.line 112
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
:cond_0
:try_start_0
iget-object v0, p0, Lcom/google/firebase/perf/util/ImmutableBundle;->bundle:Landroid/os/Bundle;
.line 116
invoke-virtual {v0, p1}, Landroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
.line 117
check-cast v0, Ljava/lang/Integer;
invoke-static {v0}, Lcom/google/firebase/perf/util/Optional;->fromNullable(Ljava/lang/Object;)Lcom/google/firebase/perf/util/Optional;
move-result-object p1
:try_end_0
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
move-exception v0
sget-object v1, Lcom/google/firebase/perf/util/ImmutableBundle;->logger:Lcom/google/firebase/perf/logging/AndroidLogger;
.line 119
invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
filled-new-array {p1, v0}, [Ljava/lang/Object;
move-result-object p1
const-string v0, "Metadata key %s contains type other than int: %s"
invoke-virtual {v1, v0, p1}, Lcom/google/firebase/perf/logging/AndroidLogger;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 122
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
.end method
.method public getLong(Ljava/lang/String;)Lcom/google/firebase/perf/util/Optional;
.locals 2
.line 99
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/util/ImmutableBundle;->getInt(Ljava/lang/String;)Lcom/google/firebase/perf/util/Optional;
move-result-object p1
.line 100
invoke-virtual {p1}, Lcom/google/firebase/perf/util/Optional;->isAvailable()Z
move-result v0
if-eqz v0, :cond_0
.line 101
invoke-virtual {p1}, Lcom/google/firebase/perf/util/Optional;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
int-to-long v0, p1
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
invoke-static {p1}, Lcom/google/firebase/perf/util/Optional;->of(Ljava/lang/Object;)Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
.line 103
:cond_0
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,128 @@
.class public final Lcom/google/firebase/perf/util/Optional;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public final value:Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.locals 1
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/firebase/perf/util/Optional;->value:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(Ljava/lang/Object;)V
.locals 1
.line 41
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p1, :cond_0
iput-object p1, p0, Lcom/google/firebase/perf/util/Optional;->value:Ljava/lang/Object;
return-void
.line 43
:cond_0
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "value for optional is empty."
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static absent()Lcom/google/firebase/perf/util/Optional;
.locals 1
.line 55
new-instance v0, Lcom/google/firebase/perf/util/Optional;
invoke-direct {v0}, Lcom/google/firebase/perf/util/Optional;-><init>()V
return-object v0
.end method
.method public static fromNullable(Ljava/lang/Object;)Lcom/google/firebase/perf/util/Optional;
.locals 0
if-nez p0, :cond_0
.line 80
invoke-static {}, Lcom/google/firebase/perf/util/Optional;->absent()Lcom/google/firebase/perf/util/Optional;
move-result-object p0
goto :goto_0
:cond_0
invoke-static {p0}, Lcom/google/firebase/perf/util/Optional;->of(Ljava/lang/Object;)Lcom/google/firebase/perf/util/Optional;
move-result-object p0
:goto_0
return-object p0
.end method
.method public static of(Ljava/lang/Object;)Lcom/google/firebase/perf/util/Optional;
.locals 1
.line 67
new-instance v0, Lcom/google/firebase/perf/util/Optional;
invoke-direct {v0, p0}, Lcom/google/firebase/perf/util/Optional;-><init>(Ljava/lang/Object;)V
return-object v0
.end method
# virtual methods
.method public get()Ljava/lang/Object;
.locals 2
iget-object v0, p0, Lcom/google/firebase/perf/util/Optional;->value:Ljava/lang/Object;
if-eqz v0, :cond_0
return-object v0
.line 93
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
const-string v1, "No value present"
invoke-direct {v0, v1}, Ljava/util/NoSuchElementException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public isAvailable()Z
.locals 1
iget-object v0, p0, Lcom/google/firebase/perf/util/Optional;->value:Ljava/lang/Object;
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method

View File

@@ -0,0 +1,115 @@
.class public Lcom/google/firebase/perf/util/PreDrawListener;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/view/ViewTreeObserver$OnPreDrawListener;
# instance fields
.field public final callbackBoQ:Ljava/lang/Runnable;
.field public final callbackFoQ:Ljava/lang/Runnable;
.field public final mainThreadHandler:Landroid/os/Handler;
.field public final viewReference:Ljava/util/concurrent/atomic/AtomicReference;
# direct methods
.method public constructor <init>(Landroid/view/View;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
.locals 2
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 29
new-instance v0, Landroid/os/Handler;
.line 30
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/google/firebase/perf/util/PreDrawListener;->mainThreadHandler:Landroid/os/Handler;
.line 45
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lcom/google/firebase/perf/util/PreDrawListener;->viewReference:Ljava/util/concurrent/atomic/AtomicReference;
iput-object p2, p0, Lcom/google/firebase/perf/util/PreDrawListener;->callbackBoQ:Ljava/lang/Runnable;
iput-object p3, p0, Lcom/google/firebase/perf/util/PreDrawListener;->callbackFoQ:Ljava/lang/Runnable;
return-void
.end method
.method public static registerForNextDraw(Landroid/view/View;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
.locals 1
.line 39
new-instance v0, Lcom/google/firebase/perf/util/PreDrawListener;
invoke-direct {v0, p0, p1, p2}, Lcom/google/firebase/perf/util/PreDrawListener;-><init>(Landroid/view/View;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
.line 41
invoke-virtual {p0}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object p0
invoke-virtual {p0, v0}, Landroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
return-void
.end method
# virtual methods
.method public onPreDraw()Z
.locals 3
iget-object v0, p0, Lcom/google/firebase/perf/util/PreDrawListener;->viewReference:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
.line 53
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
const/4 v1, 0x1
if-nez v0, :cond_0
return v1
.line 57
:cond_0
invoke-virtual {v0}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/ViewTreeObserver;->removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
iget-object v0, p0, Lcom/google/firebase/perf/util/PreDrawListener;->mainThreadHandler:Landroid/os/Handler;
iget-object v2, p0, Lcom/google/firebase/perf/util/PreDrawListener;->callbackBoQ:Ljava/lang/Runnable;
.line 58
invoke-virtual {v0, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
iget-object v0, p0, Lcom/google/firebase/perf/util/PreDrawListener;->mainThreadHandler:Landroid/os/Handler;
iget-object v2, p0, Lcom/google/firebase/perf/util/PreDrawListener;->callbackFoQ:Ljava/lang/Runnable;
.line 59
invoke-virtual {v0, v2}, Landroid/os/Handler;->postAtFrontOfQueue(Ljava/lang/Runnable;)Z
return v1
.end method

View File

@@ -0,0 +1,83 @@
.class public abstract synthetic Lcom/google/firebase/perf/util/Rate$1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/perf/util/Rate;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic $SwitchMap$java$util$concurrent$TimeUnit:[I
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 51
invoke-static {}, Ljava/util/concurrent/TimeUnit;->values()[Ljava/util/concurrent/TimeUnit;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lcom/google/firebase/perf/util/Rate$1;->$SwitchMap$java$util$concurrent$TimeUnit:[I
:try_start_0
sget-object v1, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lcom/google/firebase/perf/util/Rate$1;->$SwitchMap$java$util$concurrent$TimeUnit:[I
sget-object v1, Ljava/util/concurrent/TimeUnit;->MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Lcom/google/firebase/perf/util/Rate$1;->$SwitchMap$java$util$concurrent$TimeUnit:[I
sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
return-void
.end method

View File

@@ -0,0 +1,156 @@
.class public Lcom/google/firebase/perf/util/Rate;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public numTimeUnits:J
.field public numTokensPerTotalTimeUnit:J
.field public timeUnit:Ljava/util/concurrent/TimeUnit;
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>(JJLjava/util/concurrent/TimeUnit;)V
.locals 0
.line 38
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/google/firebase/perf/util/Rate;->numTokensPerTotalTimeUnit:J
iput-wide p3, p0, Lcom/google/firebase/perf/util/Rate;->numTimeUnits:J
iput-object p5, p0, Lcom/google/firebase/perf/util/Rate;->timeUnit:Ljava/util/concurrent/TimeUnit;
return-void
.end method
# virtual methods
.method public getTokensPerSeconds()D
.locals 6
.line 51
sget-object v0, Lcom/google/firebase/perf/util/Rate$1;->$SwitchMap$java$util$concurrent$TimeUnit:[I
iget-object v1, p0, Lcom/google/firebase/perf/util/Rate;->timeUnit:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
const-wide/16 v2, 0x1
if-eq v0, v1, :cond_2
const/4 v1, 0x2
if-eq v0, v1, :cond_1
const/4 v1, 0x3
if-eq v0, v1, :cond_0
iget-wide v0, p0, Lcom/google/firebase/perf/util/Rate;->numTokensPerTotalTimeUnit:J
long-to-double v0, v0
iget-object v2, p0, Lcom/google/firebase/perf/util/Rate;->timeUnit:Ljava/util/concurrent/TimeUnit;
iget-wide v3, p0, Lcom/google/firebase/perf/util/Rate;->numTimeUnits:J
.line 59
invoke-virtual {v2, v3, v4}, Ljava/util/concurrent/TimeUnit;->toSeconds(J)J
move-result-wide v2
long-to-double v2, v2
div-double/2addr v0, v2
return-wide v0
:cond_0
iget-wide v0, p0, Lcom/google/firebase/perf/util/Rate;->numTokensPerTotalTimeUnit:J
long-to-double v0, v0
iget-wide v4, p0, Lcom/google/firebase/perf/util/Rate;->numTimeUnits:J
long-to-double v4, v4
div-double/2addr v0, v4
.line 57
sget-object v4, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v4, v2, v3}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide v2
long-to-double v2, v2
mul-double/2addr v0, v2
return-wide v0
:cond_1
iget-wide v0, p0, Lcom/google/firebase/perf/util/Rate;->numTokensPerTotalTimeUnit:J
long-to-double v0, v0
iget-wide v4, p0, Lcom/google/firebase/perf/util/Rate;->numTimeUnits:J
long-to-double v4, v4
div-double/2addr v0, v4
.line 55
sget-object v4, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v4, v2, v3}, Ljava/util/concurrent/TimeUnit;->toMicros(J)J
move-result-wide v2
long-to-double v2, v2
mul-double/2addr v0, v2
return-wide v0
:cond_2
iget-wide v0, p0, Lcom/google/firebase/perf/util/Rate;->numTokensPerTotalTimeUnit:J
long-to-double v0, v0
iget-wide v4, p0, Lcom/google/firebase/perf/util/Rate;->numTimeUnits:J
long-to-double v4, v4
div-double/2addr v0, v4
.line 53
sget-object v4, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v4, v2, v3}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v2
long-to-double v2, v2
mul-double/2addr v0, v2
return-wide v0
.end method

View File

@@ -0,0 +1,161 @@
.class public abstract Lcom/google/firebase/perf/util/ScreenTraceUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final logger:Lcom/google/firebase/perf/logging/AndroidLogger;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 23
invoke-static {}, Lcom/google/firebase/perf/logging/AndroidLogger;->getInstance()Lcom/google/firebase/perf/logging/AndroidLogger;
move-result-object v0
sput-object v0, Lcom/google/firebase/perf/util/ScreenTraceUtil;->logger:Lcom/google/firebase/perf/logging/AndroidLogger;
return-void
.end method
.method public static addFrameCounters(Lcom/google/firebase/perf/metrics/Trace;Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;)Lcom/google/firebase/perf/metrics/Trace;
.locals 3
.line 35
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getTotalFrames()I
move-result v0
if-lez v0, :cond_0
.line 36
sget-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_TOTAL:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 37
invoke-virtual {v0}, Lcom/google/firebase/perf/util/Constants$CounterNames;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getTotalFrames()I
move-result v1
int-to-long v1, v1
.line 36
invoke-virtual {p0, v0, v1, v2}, Lcom/google/firebase/perf/metrics/Trace;->putMetric(Ljava/lang/String;J)V
.line 39
:cond_0
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getSlowFrames()I
move-result v0
if-lez v0, :cond_1
.line 40
sget-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_SLOW:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 41
invoke-virtual {v0}, Lcom/google/firebase/perf/util/Constants$CounterNames;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getSlowFrames()I
move-result v1
int-to-long v1, v1
.line 40
invoke-virtual {p0, v0, v1, v2}, Lcom/google/firebase/perf/metrics/Trace;->putMetric(Ljava/lang/String;J)V
.line 43
:cond_1
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getFrozenFrames()I
move-result v0
if-lez v0, :cond_2
.line 44
sget-object v0, Lcom/google/firebase/perf/util/Constants$CounterNames;->FRAMES_FROZEN:Lcom/google/firebase/perf/util/Constants$CounterNames;
.line 45
invoke-virtual {v0}, Lcom/google/firebase/perf/util/Constants$CounterNames;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getFrozenFrames()I
move-result v1
int-to-long v1, v1
.line 44
invoke-virtual {p0, v0, v1, v2}, Lcom/google/firebase/perf/metrics/Trace;->putMetric(Ljava/lang/String;J)V
:cond_2
sget-object v0, Lcom/google/firebase/perf/util/ScreenTraceUtil;->logger:Lcom/google/firebase/perf/logging/AndroidLogger;
.line 47
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Screen trace: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 49
invoke-virtual {p0}, Lcom/google/firebase/perf/metrics/Trace;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " _fr_tot:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 51
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getTotalFrames()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " _fr_slo:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 53
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getSlowFrames()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " _fr_fzn:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 55
invoke-virtual {p1}, Lcom/google/firebase/perf/metrics/FrameMetricsCalculator$PerfFrameMetrics;->getFrozenFrames()I
move-result p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 47
invoke-virtual {v0, p1}, Lcom/google/firebase/perf/logging/AndroidLogger;->debug(Ljava/lang/String;)V
return-object p0
.end method

View File

@@ -0,0 +1,48 @@
.class public final enum Lcom/google/firebase/perf/util/StorageUnit$1;
.super Lcom/google/firebase/perf/util/StorageUnit;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/perf/util/StorageUnit;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4011
name = null
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;IJ)V
.locals 6
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move v2, p2
move-wide v3, p3
.line 26
invoke-direct/range {v0 .. v5}, Lcom/google/firebase/perf/util/StorageUnit;-><init>(Ljava/lang/String;IJLcom/google/firebase/perf/util/StorageUnit$1;)V
return-void
.end method
# virtual methods
.method public convert(JLcom/google/firebase/perf/util/StorageUnit;)J
.locals 0
.line 29
invoke-virtual {p3, p1, p2}, Lcom/google/firebase/perf/util/StorageUnit;->toTerabytes(J)J
move-result-wide p1
return-wide p1
.end method

View File

@@ -0,0 +1,48 @@
.class public final enum Lcom/google/firebase/perf/util/StorageUnit$2;
.super Lcom/google/firebase/perf/util/StorageUnit;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/perf/util/StorageUnit;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4011
name = null
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;IJ)V
.locals 6
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move v2, p2
move-wide v3, p3
.line 32
invoke-direct/range {v0 .. v5}, Lcom/google/firebase/perf/util/StorageUnit;-><init>(Ljava/lang/String;IJLcom/google/firebase/perf/util/StorageUnit$1;)V
return-void
.end method
# virtual methods
.method public convert(JLcom/google/firebase/perf/util/StorageUnit;)J
.locals 0
.line 35
invoke-virtual {p3, p1, p2}, Lcom/google/firebase/perf/util/StorageUnit;->toGigabytes(J)J
move-result-wide p1
return-wide p1
.end method

View File

@@ -0,0 +1,48 @@
.class public final enum Lcom/google/firebase/perf/util/StorageUnit$3;
.super Lcom/google/firebase/perf/util/StorageUnit;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/perf/util/StorageUnit;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4011
name = null
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;IJ)V
.locals 6
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move v2, p2
move-wide v3, p3
.line 38
invoke-direct/range {v0 .. v5}, Lcom/google/firebase/perf/util/StorageUnit;-><init>(Ljava/lang/String;IJLcom/google/firebase/perf/util/StorageUnit$1;)V
return-void
.end method
# virtual methods
.method public convert(JLcom/google/firebase/perf/util/StorageUnit;)J
.locals 0
.line 41
invoke-virtual {p3, p1, p2}, Lcom/google/firebase/perf/util/StorageUnit;->toMegabytes(J)J
move-result-wide p1
return-wide p1
.end method

View File

@@ -0,0 +1,48 @@
.class public final enum Lcom/google/firebase/perf/util/StorageUnit$4;
.super Lcom/google/firebase/perf/util/StorageUnit;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/perf/util/StorageUnit;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4011
name = null
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;IJ)V
.locals 6
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move v2, p2
move-wide v3, p3
.line 44
invoke-direct/range {v0 .. v5}, Lcom/google/firebase/perf/util/StorageUnit;-><init>(Ljava/lang/String;IJLcom/google/firebase/perf/util/StorageUnit$1;)V
return-void
.end method
# virtual methods
.method public convert(JLcom/google/firebase/perf/util/StorageUnit;)J
.locals 0
.line 47
invoke-virtual {p3, p1, p2}, Lcom/google/firebase/perf/util/StorageUnit;->toKilobytes(J)J
move-result-wide p1
return-wide p1
.end method

View File

@@ -0,0 +1,48 @@
.class public final enum Lcom/google/firebase/perf/util/StorageUnit$5;
.super Lcom/google/firebase/perf/util/StorageUnit;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/perf/util/StorageUnit;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4011
name = null
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;IJ)V
.locals 6
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move v2, p2
move-wide v3, p3
.line 50
invoke-direct/range {v0 .. v5}, Lcom/google/firebase/perf/util/StorageUnit;-><init>(Ljava/lang/String;IJLcom/google/firebase/perf/util/StorageUnit$1;)V
return-void
.end method
# virtual methods
.method public convert(JLcom/google/firebase/perf/util/StorageUnit;)J
.locals 0
.line 53
invoke-virtual {p3, p1, p2}, Lcom/google/firebase/perf/util/StorageUnit;->toBytes(J)J
move-result-wide p1
return-wide p1
.end method

View File

@@ -0,0 +1,279 @@
.class public abstract enum Lcom/google/firebase/perf/util/StorageUnit;
.super Ljava/lang/Enum;
.source "SourceFile"
# static fields
.field private static final synthetic $VALUES:[Lcom/google/firebase/perf/util/StorageUnit;
.field public static final enum BYTES:Lcom/google/firebase/perf/util/StorageUnit;
.field public static final enum GIGABYTES:Lcom/google/firebase/perf/util/StorageUnit;
.field public static final enum KILOBYTES:Lcom/google/firebase/perf/util/StorageUnit;
.field public static final enum MEGABYTES:Lcom/google/firebase/perf/util/StorageUnit;
.field public static final enum TERABYTES:Lcom/google/firebase/perf/util/StorageUnit;
# instance fields
.field numBytes:J
# direct methods
.method private static synthetic $values()[Lcom/google/firebase/perf/util/StorageUnit;
.locals 3
const/4 v0, 0x5
new-array v0, v0, [Lcom/google/firebase/perf/util/StorageUnit;
const/4 v1, 0x0
sget-object v2, Lcom/google/firebase/perf/util/StorageUnit;->TERABYTES:Lcom/google/firebase/perf/util/StorageUnit;
aput-object v2, v0, v1
const/4 v1, 0x1
sget-object v2, Lcom/google/firebase/perf/util/StorageUnit;->GIGABYTES:Lcom/google/firebase/perf/util/StorageUnit;
aput-object v2, v0, v1
const/4 v1, 0x2
sget-object v2, Lcom/google/firebase/perf/util/StorageUnit;->MEGABYTES:Lcom/google/firebase/perf/util/StorageUnit;
aput-object v2, v0, v1
const/4 v1, 0x3
sget-object v2, Lcom/google/firebase/perf/util/StorageUnit;->KILOBYTES:Lcom/google/firebase/perf/util/StorageUnit;
aput-object v2, v0, v1
const/4 v1, 0x4
sget-object v2, Lcom/google/firebase/perf/util/StorageUnit;->BYTES:Lcom/google/firebase/perf/util/StorageUnit;
aput-object v2, v0, v1
return-object v0
.end method
.method static constructor <clinit>()V
.locals 5
.line 26
new-instance v0, Lcom/google/firebase/perf/util/StorageUnit$1;
const/4 v1, 0x0
const-wide v2, 0x10000000000L
const-string v4, "TERABYTES"
invoke-direct {v0, v4, v1, v2, v3}, Lcom/google/firebase/perf/util/StorageUnit$1;-><init>(Ljava/lang/String;IJ)V
sput-object v0, Lcom/google/firebase/perf/util/StorageUnit;->TERABYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 32
new-instance v0, Lcom/google/firebase/perf/util/StorageUnit$2;
const/4 v1, 0x1
const-wide/32 v2, 0x40000000
const-string v4, "GIGABYTES"
invoke-direct {v0, v4, v1, v2, v3}, Lcom/google/firebase/perf/util/StorageUnit$2;-><init>(Ljava/lang/String;IJ)V
sput-object v0, Lcom/google/firebase/perf/util/StorageUnit;->GIGABYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 38
new-instance v0, Lcom/google/firebase/perf/util/StorageUnit$3;
const/4 v1, 0x2
const-wide/32 v2, 0x100000
const-string v4, "MEGABYTES"
invoke-direct {v0, v4, v1, v2, v3}, Lcom/google/firebase/perf/util/StorageUnit$3;-><init>(Ljava/lang/String;IJ)V
sput-object v0, Lcom/google/firebase/perf/util/StorageUnit;->MEGABYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 44
new-instance v0, Lcom/google/firebase/perf/util/StorageUnit$4;
const/4 v1, 0x3
const-wide/16 v2, 0x400
const-string v4, "KILOBYTES"
invoke-direct {v0, v4, v1, v2, v3}, Lcom/google/firebase/perf/util/StorageUnit$4;-><init>(Ljava/lang/String;IJ)V
sput-object v0, Lcom/google/firebase/perf/util/StorageUnit;->KILOBYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 50
new-instance v0, Lcom/google/firebase/perf/util/StorageUnit$5;
const/4 v1, 0x4
const-wide/16 v2, 0x1
const-string v4, "BYTES"
invoke-direct {v0, v4, v1, v2, v3}, Lcom/google/firebase/perf/util/StorageUnit$5;-><init>(Ljava/lang/String;IJ)V
sput-object v0, Lcom/google/firebase/perf/util/StorageUnit;->BYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 25
invoke-static {}, Lcom/google/firebase/perf/util/StorageUnit;->$values()[Lcom/google/firebase/perf/util/StorageUnit;
move-result-object v0
sput-object v0, Lcom/google/firebase/perf/util/StorageUnit;->$VALUES:[Lcom/google/firebase/perf/util/StorageUnit;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;IJ)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(J)V"
}
.end annotation
.line 59
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
iput-wide p3, p0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/String;IJLcom/google/firebase/perf/util/StorageUnit$1;)V
.locals 0
.line 25
invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/firebase/perf/util/StorageUnit;-><init>(Ljava/lang/String;IJ)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/firebase/perf/util/StorageUnit;
.locals 1
const-class v0, Lcom/google/firebase/perf/util/StorageUnit;
.line 25
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/firebase/perf/util/StorageUnit;
return-object p0
.end method
.method public static values()[Lcom/google/firebase/perf/util/StorageUnit;
.locals 1
sget-object v0, Lcom/google/firebase/perf/util/StorageUnit;->$VALUES:[Lcom/google/firebase/perf/util/StorageUnit;
.line 25
invoke-virtual {v0}, [Lcom/google/firebase/perf/util/StorageUnit;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/firebase/perf/util/StorageUnit;
return-object v0
.end method
# virtual methods
.method public abstract convert(JLcom/google/firebase/perf/util/StorageUnit;)J
.end method
.method public toBytes(J)J
.locals 2
iget-wide v0, p0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
mul-long/2addr p1, v0
return-wide p1
.end method
.method public toGigabytes(J)J
.locals 2
iget-wide v0, p0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
mul-long/2addr p1, v0
sget-object v0, Lcom/google/firebase/perf/util/StorageUnit;->GIGABYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 100
iget-wide v0, v0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
div-long/2addr p1, v0
return-wide p1
.end method
.method public toKilobytes(J)J
.locals 2
iget-wide v0, p0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
mul-long/2addr p1, v0
sget-object v0, Lcom/google/firebase/perf/util/StorageUnit;->KILOBYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 80
iget-wide v0, v0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
div-long/2addr p1, v0
return-wide p1
.end method
.method public toMegabytes(J)J
.locals 2
iget-wide v0, p0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
mul-long/2addr p1, v0
sget-object v0, Lcom/google/firebase/perf/util/StorageUnit;->MEGABYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 90
iget-wide v0, v0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
div-long/2addr p1, v0
return-wide p1
.end method
.method public toTerabytes(J)J
.locals 2
iget-wide v0, p0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
mul-long/2addr p1, v0
sget-object v0, Lcom/google/firebase/perf/util/StorageUnit;->TERABYTES:Lcom/google/firebase/perf/util/StorageUnit;
.line 110
iget-wide v0, v0, Lcom/google/firebase/perf/util/StorageUnit;->numBytes:J
div-long/2addr p1, v0
return-wide p1
.end method

View File

@@ -0,0 +1,74 @@
.class public Lcom/google/firebase/perf/util/Timer$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/os/Parcelable$Creator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/perf/util/Timer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 177
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createFromParcel(Landroid/os/Parcel;)Lcom/google/firebase/perf/util/Timer;
.locals 2
.line 179
new-instance v0, Lcom/google/firebase/perf/util/Timer;
const/4 v1, 0x0
invoke-direct {v0, p1, v1}, Lcom/google/firebase/perf/util/Timer;-><init>(Landroid/os/Parcel;Lcom/google/firebase/perf/util/Timer$1;)V
return-object v0
.end method
.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
.locals 0
.line 177
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/util/Timer$1;->createFromParcel(Landroid/os/Parcel;)Lcom/google/firebase/perf/util/Timer;
move-result-object p1
return-object p1
.end method
.method public newArray(I)[Lcom/google/firebase/perf/util/Timer;
.locals 0
.line 183
new-array p1, p1, [Lcom/google/firebase/perf/util/Timer;
return-object p1
.end method
.method public bridge synthetic newArray(I)[Ljava/lang/Object;
.locals 0
.line 177
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/util/Timer$1;->newArray(I)[Lcom/google/firebase/perf/util/Timer;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,257 @@
.class public Lcom/google/firebase/perf/util/Timer;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/os/Parcelable;
# static fields
.field public static final CREATOR:Landroid/os/Parcelable$Creator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/os/Parcelable$Creator<",
"Lcom/google/firebase/perf/util/Timer;",
">;"
}
.end annotation
.end field
# instance fields
.field public elapsedRealtimeMicros:J
.field public wallClockMicros:J
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 176
new-instance v0, Lcom/google/firebase/perf/util/Timer$1;
invoke-direct {v0}, Lcom/google/firebase/perf/util/Timer$1;-><init>()V
sput-object v0, Lcom/google/firebase/perf/util/Timer;->CREATOR:Landroid/os/Parcelable$Creator;
return-void
.end method
.method public constructor <init>()V
.locals 4
.line 83
invoke-static {}, Lcom/google/firebase/perf/util/Timer;->wallClockMicros()J
move-result-wide v0
invoke-static {}, Lcom/google/firebase/perf/util/Timer;->elapsedRealtimeMicros()J
move-result-wide v2
invoke-direct {p0, v0, v1, v2, v3}, Lcom/google/firebase/perf/util/Timer;-><init>(JJ)V
return-void
.end method
.method public constructor <init>(JJ)V
.locals 0
.line 94
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/google/firebase/perf/util/Timer;->wallClockMicros:J
iput-wide p3, p0, Lcom/google/firebase/perf/util/Timer;->elapsedRealtimeMicros:J
return-void
.end method
.method public constructor <init>(Landroid/os/Parcel;)V
.locals 4
.line 111
invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J
move-result-wide v0
invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J
move-result-wide v2
invoke-direct {p0, v0, v1, v2, v3}, Lcom/google/firebase/perf/util/Timer;-><init>(JJ)V
return-void
.end method
.method public synthetic constructor <init>(Landroid/os/Parcel;Lcom/google/firebase/perf/util/Timer$1;)V
.locals 0
.line 33
invoke-direct {p0, p1}, Lcom/google/firebase/perf/util/Timer;-><init>(Landroid/os/Parcel;)V
return-void
.end method
.method public static elapsedRealtimeMicros()J
.locals 3
.line 75
sget-object v0, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtimeNanos()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->toMicros(J)J
move-result-wide v0
return-wide v0
.end method
.method public static ofElapsedRealtime(J)Lcom/google/firebase/perf/util/Timer;
.locals 4
.line 54
sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, p0, p1}, Ljava/util/concurrent/TimeUnit;->toMicros(J)J
move-result-wide p0
.line 55
invoke-static {}, Lcom/google/firebase/perf/util/Timer;->wallClockMicros()J
move-result-wide v0
invoke-static {}, Lcom/google/firebase/perf/util/Timer;->elapsedRealtimeMicros()J
move-result-wide v2
sub-long v2, p0, v2
add-long/2addr v0, v2
.line 56
new-instance v2, Lcom/google/firebase/perf/util/Timer;
invoke-direct {v2, v0, v1, p0, p1}, Lcom/google/firebase/perf/util/Timer;-><init>(JJ)V
return-object v2
.end method
.method public static wallClockMicros()J
.locals 3
.line 65
sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->toMicros(J)J
move-result-wide v0
return-wide v0
.end method
# virtual methods
.method public describeContents()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public getCurrentTimestampMicros()J
.locals 4
iget-wide v0, p0, Lcom/google/firebase/perf/util/Timer;->wallClockMicros:J
.line 156
invoke-virtual {p0}, Lcom/google/firebase/perf/util/Timer;->getDurationMicros()J
move-result-wide v2
add-long/2addr v0, v2
return-wide v0
.end method
.method public getDurationMicros()J
.locals 2
.line 134
new-instance v0, Lcom/google/firebase/perf/util/Timer;
invoke-direct {v0}, Lcom/google/firebase/perf/util/Timer;-><init>()V
invoke-virtual {p0, v0}, Lcom/google/firebase/perf/util/Timer;->getDurationMicros(Lcom/google/firebase/perf/util/Timer;)J
move-result-wide v0
return-wide v0
.end method
.method public getDurationMicros(Lcom/google/firebase/perf/util/Timer;)J
.locals 4
.line 144
iget-wide v0, p1, Lcom/google/firebase/perf/util/Timer;->elapsedRealtimeMicros:J
iget-wide v2, p0, Lcom/google/firebase/perf/util/Timer;->elapsedRealtimeMicros:J
sub-long/2addr v0, v2
return-wide v0
.end method
.method public getMicros()J
.locals 2
iget-wide v0, p0, Lcom/google/firebase/perf/util/Timer;->wallClockMicros:J
return-wide v0
.end method
.method public reset()V
.locals 2
.line 117
invoke-static {}, Lcom/google/firebase/perf/util/Timer;->wallClockMicros()J
move-result-wide v0
iput-wide v0, p0, Lcom/google/firebase/perf/util/Timer;->wallClockMicros:J
.line 118
invoke-static {}, Lcom/google/firebase/perf/util/Timer;->elapsedRealtimeMicros()J
move-result-wide v0
iput-wide v0, p0, Lcom/google/firebase/perf/util/Timer;->elapsedRealtimeMicros:J
return-void
.end method
.method public writeToParcel(Landroid/os/Parcel;I)V
.locals 2
iget-wide v0, p0, Lcom/google/firebase/perf/util/Timer;->wallClockMicros:J
.line 167
invoke-virtual {p1, v0, v1}, Landroid/os/Parcel;->writeLong(J)V
iget-wide v0, p0, Lcom/google/firebase/perf/util/Timer;->elapsedRealtimeMicros:J
.line 168
invoke-virtual {p1, v0, v1}, Landroid/os/Parcel;->writeLong(J)V
return-void
.end method

View File

@@ -0,0 +1,102 @@
.class public abstract Lcom/google/firebase/perf/util/URLAllowlist;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static allowlistedDomains:[Ljava/lang/String;
# direct methods
.method public static isURLAllowlisted(Ljava/net/URI;Landroid/content/Context;)Z
.locals 5
.line 30
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "array"
.line 33
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p1
const-string v2, "firebase_performance_whitelisted_domains"
.line 32
invoke-virtual {v0, v2, v1, p1}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result p1
const/4 v1, 0x1
if-nez p1, :cond_0
return v1
.line 38
:cond_0
invoke-static {}, Lcom/google/firebase/perf/logging/AndroidLogger;->getInstance()Lcom/google/firebase/perf/logging/AndroidLogger;
move-result-object v2
const-string v3, "Detected domain allowlist, only allowlisted domains will be measured."
.line 39
invoke-virtual {v2, v3}, Lcom/google/firebase/perf/logging/AndroidLogger;->debug(Ljava/lang/String;)V
sget-object v2, Lcom/google/firebase/perf/util/URLAllowlist;->allowlistedDomains:[Ljava/lang/String;
if-nez v2, :cond_1
.line 41
invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;
move-result-object p1
sput-object p1, Lcom/google/firebase/perf/util/URLAllowlist;->allowlistedDomains:[Ljava/lang/String;
.line 44
:cond_1
invoke-virtual {p0}, Ljava/net/URI;->getHost()Ljava/lang/String;
move-result-object p0
if-nez p0, :cond_2
return v1
:cond_2
sget-object p1, Lcom/google/firebase/perf/util/URLAllowlist;->allowlistedDomains:[Ljava/lang/String;
.line 52
array-length v0, p1
const/4 v2, 0x0
move v3, v2
:goto_0
if-ge v3, v0, :cond_4
aget-object v4, p1, v3
.line 53
invoke-virtual {p0, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_3
return v1
:cond_3
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_4
return v2
.end method

View File

@@ -0,0 +1,48 @@
.class public Lcom/google/firebase/perf/util/URLWrapper;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public final url:Ljava/net/URL;
# direct methods
.method public constructor <init>(Ljava/net/URL;)V
.locals 0
.line 26
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/firebase/perf/util/URLWrapper;->url:Ljava/net/URL;
return-void
.end method
# virtual methods
.method public openConnection()Ljava/net/URLConnection;
.locals 1
iget-object v0, p0, Lcom/google/firebase/perf/util/URLWrapper;->url:Ljava/net/URL;
.line 32
invoke-virtual {v0}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/google/firebase/perf/util/URLWrapper;->url:Ljava/net/URL;
.line 36
invoke-virtual {v0}, Ljava/net/URL;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,285 @@
.class public abstract Lcom/google/firebase/perf/util/Utils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static isDebugLoggingEnabled:Ljava/lang/Boolean;
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public static checkArgument(ZLjava/lang/String;)V
.locals 0
if-eqz p0, :cond_0
return-void
.line 146
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static isDebugLoggingEnabled(Landroid/content/Context;)Z
.locals 4
sget-object v0, Lcom/google/firebase/perf/util/Utils;->isDebugLoggingEnabled:Ljava/lang/Boolean;
if-eqz v0, :cond_0
.line 100
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result p0
return p0
:cond_0
const/4 v0, 0x0
.line 107
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 108
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p0
const/16 v2, 0x80
invoke-virtual {v1, p0, v2}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object p0
.line 109
iget-object p0, p0, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
const-string v1, "firebase_performance_logcat_enabled"
.line 111
invoke-virtual {p0, v1, v0}, Landroid/os/BaseBundle;->getBoolean(Ljava/lang/String;Z)Z
move-result p0
invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p0
sput-object p0, Lcom/google/firebase/perf/util/Utils;->isDebugLoggingEnabled:Ljava/lang/Boolean;
.line 112
invoke-virtual {p0}, Ljava/lang/Boolean;->booleanValue()Z
move-result p0
:try_end_0
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0
return p0
:catch_0
move-exception p0
goto :goto_0
:catch_1
move-exception p0
.line 114
:goto_0
invoke-static {}, Lcom/google/firebase/perf/logging/AndroidLogger;->getInstance()Lcom/google/firebase/perf/logging/AndroidLogger;
move-result-object v1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "No perf logcat meta data found "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/Throwable;->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
invoke-virtual {v1, p0}, Lcom/google/firebase/perf/logging/AndroidLogger;->debug(Ljava/lang/String;)V
return v0
.end method
.method public static saturatedIntCast(J)I
.locals 2
const-wide/32 v0, 0x7fffffff
cmp-long v0, p0, v0
if-lez v0, :cond_0
const p0, 0x7fffffff
return p0
:cond_0
const-wide/32 v0, -0x80000000
cmp-long v0, p0, v0
if-gez v0, :cond_1
const/high16 p0, -0x80000000
return p0
:cond_1
long-to-int p0, p0
return p0
.end method
.method public static stripSensitiveInfo(Ljava/lang/String;)Ljava/lang/String;
.locals 1
.line 39
invoke-static {p0}, Lokhttp3/HttpUrl;->parse(Ljava/lang/String;)Lokhttp3/HttpUrl;
move-result-object v0
if-eqz v0, :cond_0
.line 43
invoke-virtual {v0}, Lokhttp3/HttpUrl;->newBuilder()Lokhttp3/HttpUrl$Builder;
move-result-object p0
const-string v0, ""
invoke-virtual {p0, v0}, Lokhttp3/HttpUrl$Builder;->username(Ljava/lang/String;)Lokhttp3/HttpUrl$Builder;
move-result-object p0
invoke-virtual {p0, v0}, Lokhttp3/HttpUrl$Builder;->password(Ljava/lang/String;)Lokhttp3/HttpUrl$Builder;
move-result-object p0
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lokhttp3/HttpUrl$Builder;->query(Ljava/lang/String;)Lokhttp3/HttpUrl$Builder;
move-result-object p0
invoke-virtual {p0, v0}, Lokhttp3/HttpUrl$Builder;->fragment(Ljava/lang/String;)Lokhttp3/HttpUrl$Builder;
move-result-object p0
invoke-virtual {p0}, Lokhttp3/HttpUrl$Builder;->toString()Ljava/lang/String;
move-result-object p0
:cond_0
return-object p0
.end method
.method public static truncateURL(Ljava/lang/String;I)Ljava/lang/String;
.locals 3
.line 57
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
if-gt v0, p1, :cond_0
return-object p0
.line 61
:cond_0
invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C
move-result v0
const/16 v1, 0x2f
const/4 v2, 0x0
if-ne v0, v1, :cond_1
.line 62
invoke-virtual {p0, v2, p1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
return-object p0
.line 65
:cond_1
invoke-static {p0}, Lokhttp3/HttpUrl;->parse(Ljava/lang/String;)Lokhttp3/HttpUrl;
move-result-object v0
if-nez v0, :cond_2
.line 67
invoke-virtual {p0, v2, p1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
return-object p0
.line 70
:cond_2
invoke-virtual {v0}, Lokhttp3/HttpUrl;->encodedPath()Ljava/lang/String;
move-result-object v0
.line 72
invoke-virtual {v0, v1}, Ljava/lang/String;->lastIndexOf(I)I
move-result v0
if-ltz v0, :cond_3
add-int/lit8 v0, p1, -0x1
.line 73
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->lastIndexOf(II)I
move-result v0
if-ltz v0, :cond_3
.line 76
invoke-virtual {p0, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
return-object p0
.line 79
:cond_3
invoke-virtual {p0, v2, p1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
return-object p0
.end method