Files
supermegamestre 4bbd74a497 First Upload
Just the APK
Force update disabled, will only work offline.
2026-01-26 00:26:29 -03:00

569 lines
18 KiB
Smali

.class public Lcom/google/firebase/perf/session/SessionManager;
.super Lcom/google/firebase/perf/application/AppStateUpdateHandler;
.source "SourceFile"
# annotations
.annotation build Landroidx/annotation/Keep;
.end annotation
# static fields
.field private static final instance:Lcom/google/firebase/perf/session/SessionManager;
.annotation build Landroid/annotation/SuppressLint;
value = {
"StaticFieldLeak"
}
.end annotation
.end field
# instance fields
.field private final appStateMonitor:Lcom/google/firebase/perf/application/AppStateMonitor;
.field private final clients:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/ref/WeakReference<",
"Lcom/google/firebase/perf/session/SessionAwareObject;",
">;>;"
}
.end annotation
.end field
.field private final gaugeManager:Lcom/google/firebase/perf/session/gauges/GaugeManager;
.field private perfSession:Lcom/google/firebase/perf/session/PerfSession;
.field private syncInitFuture:Ljava/util/concurrent/Future;
# direct methods
.method public static synthetic $r8$lambda$Gn2fihZRFBiub4JSaw_RDMZGXS4(Lcom/google/firebase/perf/session/SessionManager;Landroid/content/Context;Lcom/google/firebase/perf/session/PerfSession;)V
.locals 0
.line 0
invoke-direct {p0, p1, p2}, Lcom/google/firebase/perf/session/SessionManager;->lambda$setApplicationContext$0(Landroid/content/Context;Lcom/google/firebase/perf/session/PerfSession;)V
return-void
.end method
.method static constructor <clinit>()V
.locals 1
.line 41
new-instance v0, Lcom/google/firebase/perf/session/SessionManager;
invoke-direct {v0}, Lcom/google/firebase/perf/session/SessionManager;-><init>()V
sput-object v0, Lcom/google/firebase/perf/session/SessionManager;->instance:Lcom/google/firebase/perf/session/SessionManager;
return-void
.end method
.method private constructor <init>()V
.locals 3
.line 63
invoke-static {}, Lcom/google/firebase/perf/session/gauges/GaugeManager;->getInstance()Lcom/google/firebase/perf/session/gauges/GaugeManager;
move-result-object v0
.line 64
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v1
invoke-virtual {v1}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/google/firebase/perf/session/PerfSession;->createWithId(Ljava/lang/String;)Lcom/google/firebase/perf/session/PerfSession;
move-result-object v1
.line 65
invoke-static {}, Lcom/google/firebase/perf/application/AppStateMonitor;->getInstance()Lcom/google/firebase/perf/application/AppStateMonitor;
move-result-object v2
.line 62
invoke-direct {p0, v0, v1, v2}, Lcom/google/firebase/perf/session/SessionManager;-><init>(Lcom/google/firebase/perf/session/gauges/GaugeManager;Lcom/google/firebase/perf/session/PerfSession;Lcom/google/firebase/perf/application/AppStateMonitor;)V
return-void
.end method
.method public constructor <init>(Lcom/google/firebase/perf/session/gauges/GaugeManager;Lcom/google/firebase/perf/session/PerfSession;Lcom/google/firebase/perf/application/AppStateMonitor;)V
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.line 70
invoke-direct {p0}, Lcom/google/firebase/perf/application/AppStateUpdateHandler;-><init>()V
.line 45
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iput-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->clients:Ljava/util/Set;
iput-object p1, p0, Lcom/google/firebase/perf/session/SessionManager;->gaugeManager:Lcom/google/firebase/perf/session/gauges/GaugeManager;
iput-object p2, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
iput-object p3, p0, Lcom/google/firebase/perf/session/SessionManager;->appStateMonitor:Lcom/google/firebase/perf/application/AppStateMonitor;
.line 74
invoke-virtual {p0}, Lcom/google/firebase/perf/application/AppStateUpdateHandler;->registerForAppState()V
return-void
.end method
.method public static getInstance()Lcom/google/firebase/perf/session/SessionManager;
.locals 1
sget-object v0, Lcom/google/firebase/perf/session/SessionManager;->instance:Lcom/google/firebase/perf/session/SessionManager;
return-object v0
.end method
.method private synthetic lambda$setApplicationContext$0(Landroid/content/Context;Lcom/google/firebase/perf/session/PerfSession;)V
.locals 1
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->gaugeManager:Lcom/google/firebase/perf/session/gauges/GaugeManager;
.line 91
invoke-virtual {v0, p1}, Lcom/google/firebase/perf/session/gauges/GaugeManager;->initializeGaugeMetadataManager(Landroid/content/Context;)V
.line 92
invoke-virtual {p2}, Lcom/google/firebase/perf/session/PerfSession;->isGaugeAndEventCollectionEnabled()Z
move-result p1
if-eqz p1, :cond_0
iget-object p1, p0, Lcom/google/firebase/perf/session/SessionManager;->gaugeManager:Lcom/google/firebase/perf/session/gauges/GaugeManager;
.line 94
invoke-virtual {p2}, Lcom/google/firebase/perf/session/PerfSession;->sessionId()Ljava/lang/String;
move-result-object p2
sget-object v0, Lcom/google/firebase/perf/v1/ApplicationProcessState;->FOREGROUND:Lcom/google/firebase/perf/v1/ApplicationProcessState;
.line 93
invoke-virtual {p1, p2, v0}, Lcom/google/firebase/perf/session/gauges/GaugeManager;->logGaugeMetadata(Ljava/lang/String;Lcom/google/firebase/perf/v1/ApplicationProcessState;)Z
:cond_0
return-void
.end method
.method private logGaugeMetadataIfCollectionEnabled(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
.locals 2
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
.line 210
invoke-virtual {v0}, Lcom/google/firebase/perf/session/PerfSession;->isGaugeAndEventCollectionEnabled()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->gaugeManager:Lcom/google/firebase/perf/session/gauges/GaugeManager;
iget-object v1, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
.line 211
invoke-virtual {v1}, Lcom/google/firebase/perf/session/PerfSession;->sessionId()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1, p1}, Lcom/google/firebase/perf/session/gauges/GaugeManager;->logGaugeMetadata(Ljava/lang/String;Lcom/google/firebase/perf/v1/ApplicationProcessState;)Z
:cond_0
return-void
.end method
.method private startOrStopCollectingGauges(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
.locals 2
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
.line 216
invoke-virtual {v0}, Lcom/google/firebase/perf/session/PerfSession;->isGaugeAndEventCollectionEnabled()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->gaugeManager:Lcom/google/firebase/perf/session/gauges/GaugeManager;
iget-object v1, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
.line 217
invoke-virtual {v0, v1, p1}, Lcom/google/firebase/perf/session/gauges/GaugeManager;->startCollectingGauges(Lcom/google/firebase/perf/session/PerfSession;Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
goto :goto_0
:cond_0
iget-object p1, p0, Lcom/google/firebase/perf/session/SessionManager;->gaugeManager:Lcom/google/firebase/perf/session/gauges/GaugeManager;
.line 219
invoke-virtual {p1}, Lcom/google/firebase/perf/session/gauges/GaugeManager;->stopCollectingGauges()V
:goto_0
return-void
.end method
# virtual methods
.method public getSyncInitFuture()Ljava/util/concurrent/Future;
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->syncInitFuture:Ljava/util/concurrent/Future;
return-object v0
.end method
.method public initializeGaugeCollection()V
.locals 1
.line 181
sget-object v0, Lcom/google/firebase/perf/v1/ApplicationProcessState;->FOREGROUND:Lcom/google/firebase/perf/v1/ApplicationProcessState;
invoke-direct {p0, v0}, Lcom/google/firebase/perf/session/SessionManager;->logGaugeMetadataIfCollectionEnabled(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
.line 182
invoke-direct {p0, v0}, Lcom/google/firebase/perf/session/SessionManager;->startOrStopCollectingGauges(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
return-void
.end method
.method public onUpdateAppState(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
.locals 1
.line 101
invoke-super {p0, p1}, Lcom/google/firebase/perf/application/AppStateUpdateHandler;->onUpdateAppState(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->appStateMonitor:Lcom/google/firebase/perf/application/AppStateMonitor;
.line 103
invoke-virtual {v0}, Lcom/google/firebase/perf/application/AppStateMonitor;->isColdStart()Z
move-result v0
if-eqz v0, :cond_0
return-void
.line 109
:cond_0
sget-object v0, Lcom/google/firebase/perf/v1/ApplicationProcessState;->FOREGROUND:Lcom/google/firebase/perf/v1/ApplicationProcessState;
if-ne p1, v0, :cond_1
.line 111
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object p1
invoke-virtual {p1}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lcom/google/firebase/perf/session/PerfSession;->createWithId(Ljava/lang/String;)Lcom/google/firebase/perf/session/PerfSession;
move-result-object p1
.line 112
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/session/SessionManager;->updatePerfSession(Lcom/google/firebase/perf/session/PerfSession;)V
goto :goto_0
:cond_1
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
.line 116
invoke-virtual {v0}, Lcom/google/firebase/perf/session/PerfSession;->isSessionRunningTooLong()Z
move-result v0
if-eqz v0, :cond_2
.line 117
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object p1
invoke-virtual {p1}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lcom/google/firebase/perf/session/PerfSession;->createWithId(Ljava/lang/String;)Lcom/google/firebase/perf/session/PerfSession;
move-result-object p1
.line 118
invoke-virtual {p0, p1}, Lcom/google/firebase/perf/session/SessionManager;->updatePerfSession(Lcom/google/firebase/perf/session/PerfSession;)V
goto :goto_0
.line 122
:cond_2
invoke-direct {p0, p1}, Lcom/google/firebase/perf/session/SessionManager;->startOrStopCollectingGauges(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
:goto_0
return-void
.end method
.method public final perfSession()Lcom/google/firebase/perf/session/PerfSession;
.locals 1
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
return-object v0
.end method
.method public registerForSessionUpdates(Ljava/lang/ref/WeakReference;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/WeakReference<",
"Lcom/google/firebase/perf/session/SessionAwareObject;",
">;)V"
}
.end annotation
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->clients:Ljava/util/Set;
.line 192
monitor-enter v0
:try_start_0
iget-object v1, p0, Lcom/google/firebase/perf/session/SessionManager;->clients:Ljava/util/Set;
.line 193
invoke-interface {v1, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 194
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public setApplicationContext(Landroid/content/Context;)V
.locals 3
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
.line 87
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;
move-result-object v1
.line 88
new-instance v2, Lcom/google/firebase/perf/session/SessionManager$$ExternalSyntheticLambda0;
invoke-direct {v2, p0, p1, v0}, Lcom/google/firebase/perf/session/SessionManager$$ExternalSyntheticLambda0;-><init>(Lcom/google/firebase/perf/session/SessionManager;Landroid/content/Context;Lcom/google/firebase/perf/session/PerfSession;)V
.line 89
invoke-interface {v1, v2}, Ljava/util/concurrent/ExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
move-result-object p1
iput-object p1, p0, Lcom/google/firebase/perf/session/SessionManager;->syncInitFuture:Ljava/util/concurrent/Future;
return-void
.end method
.method public setPerfSession(Lcom/google/firebase/perf/session/PerfSession;)V
.locals 0
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
iput-object p1, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
return-void
.end method
.method public stopGaugeCollectionIfSessionRunningTooLong()V
.locals 1
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
.line 133
invoke-virtual {v0}, Lcom/google/firebase/perf/session/PerfSession;->isSessionRunningTooLong()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->gaugeManager:Lcom/google/firebase/perf/session/gauges/GaugeManager;
.line 134
invoke-virtual {v0}, Lcom/google/firebase/perf/session/gauges/GaugeManager;->stopCollectingGauges()V
:cond_0
return-void
.end method
.method public unregisterForSessionUpdates(Ljava/lang/ref/WeakReference;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/WeakReference<",
"Lcom/google/firebase/perf/session/SessionAwareObject;",
">;)V"
}
.end annotation
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->clients:Ljava/util/Set;
.line 204
monitor-enter v0
:try_start_0
iget-object v1, p0, Lcom/google/firebase/perf/session/SessionManager;->clients:Ljava/util/Set;
.line 205
invoke-interface {v1, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
.line 206
monitor-exit v0
return-void
:catchall_0
move-exception p1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public updatePerfSession(Lcom/google/firebase/perf/session/PerfSession;)V
.locals 3
.line 148
invoke-virtual {p1}, Lcom/google/firebase/perf/session/PerfSession;->sessionId()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
invoke-virtual {v1}, Lcom/google/firebase/perf/session/PerfSession;->sessionId()Ljava/lang/String;
move-result-object v1
if-ne v0, v1, :cond_0
return-void
:cond_0
iput-object p1, p0, Lcom/google/firebase/perf/session/SessionManager;->perfSession:Lcom/google/firebase/perf/session/PerfSession;
iget-object v0, p0, Lcom/google/firebase/perf/session/SessionManager;->clients:Ljava/util/Set;
.line 154
monitor-enter v0
:try_start_0
iget-object v1, p0, Lcom/google/firebase/perf/session/SessionManager;->clients:Ljava/util/Set;
.line 155
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
.line 156
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/ref/WeakReference;
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/firebase/perf/session/SessionAwareObject;
if-eqz v2, :cond_1
.line 158
invoke-interface {v2, p1}, Lcom/google/firebase/perf/session/SessionAwareObject;->updateSession(Lcom/google/firebase/perf/session/PerfSession;)V
goto :goto_0
:catchall_0
move-exception p1
goto :goto_1
.line 162
:cond_1
invoke-interface {v1}, Ljava/util/Iterator;->remove()V
goto :goto_0
.line 165
:cond_2
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object p1, p0, Lcom/google/firebase/perf/session/SessionManager;->appStateMonitor:Lcom/google/firebase/perf/application/AppStateMonitor;
.line 168
invoke-virtual {p1}, Lcom/google/firebase/perf/application/AppStateMonitor;->getAppState()Lcom/google/firebase/perf/v1/ApplicationProcessState;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/firebase/perf/session/SessionManager;->logGaugeMetadataIfCollectionEnabled(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
iget-object p1, p0, Lcom/google/firebase/perf/session/SessionManager;->appStateMonitor:Lcom/google/firebase/perf/application/AppStateMonitor;
.line 171
invoke-virtual {p1}, Lcom/google/firebase/perf/application/AppStateMonitor;->getAppState()Lcom/google/firebase/perf/v1/ApplicationProcessState;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/firebase/perf/session/SessionManager;->startOrStopCollectingGauges(Lcom/google/firebase/perf/v1/ApplicationProcessState;)V
return-void
.line 165
:goto_1
:try_start_1
monitor-exit v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method