Files
rr3-apk/smali_classes2/com/ea/nimble/tracking/TrackingEventWrangler.smali
supermegamestre 4bbd74a497 First Upload
Just the APK
Force update disabled, will only work offline.
2026-01-26 00:26:29 -03:00

719 lines
19 KiB
Smali

.class Lcom/ea/nimble/tracking/TrackingEventWrangler;
.super Lcom/ea/nimble/Component;
.source "SourceFile"
# interfaces
.implements Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;
.implements Lcom/ea/nimble/LogSource;
.implements Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;
# static fields
.field private static final APP_VERSION_PERSISTENCE_ID:Ljava/lang/String; = "applicationBundleVersion"
.field public static final COMPONENT_ID:Ljava/lang/String; = "com.ea.nimble.tracking.eventwrangler"
# instance fields
.field private m_newIntent:Landroid/content/Intent;
.field private m_sessionStartTimestamp:Ljava/lang/Long;
# direct methods
.method private constructor <init>()V
.locals 0
.line 35
invoke-direct {p0}, Lcom/ea/nimble/Component;-><init>()V
return-void
.end method
.method private addPushTNGTrackingParams(Landroid/os/Bundle;Ljava/util/Map;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/os/Bundle;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 277
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V
if-eqz p1, :cond_2
.line 278
invoke-virtual {p1}, Landroid/os/BaseBundle;->isEmpty()Z
move-result v0
if-nez v0, :cond_2
const-string v0, "pushId"
.line 280
invoke-virtual {p1, v0}, Landroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
const-string v1, "NIMBLESTANDARD::KEY_PN_MESSAGE_ID"
.line 282
invoke-virtual {p1, v0}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-interface {p2, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_0
const-string v0, "pnType"
.line 284
invoke-virtual {p1, v0}, Landroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_1
const-string v1, "NIMBLESTANDARD::KEY_PN_MESSAGE_TYPE"
.line 286
invoke-virtual {p1, v0}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-interface {p2, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_1
if-eqz p2, :cond_2
.line 290
invoke-interface {p2}, Ljava/util/Map;->isEmpty()Z
move-result p1
if-nez p1, :cond_2
.line 292
invoke-static {}, Lcom/ea/nimble/SynergyEnvironment;->getComponent()Lcom/ea/nimble/ISynergyEnvironment;
move-result-object p1
invoke-interface {p1}, Lcom/ea/nimble/ISynergyEnvironment;->getEADeviceId()Ljava/lang/String;
move-result-object p1
const-string v0, "NIMBLESTANDARD::KEY_PN_DEVICE_ID"
invoke-interface {p2, v0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_2
return-void
.end method
.method private static initialize()V
.locals 2
const-string v0, "TrackingEventWrangler"
.line 46
invoke-static {v0}, Lcom/ea/nimble/Log$Helper;->LOGFUNCS(Ljava/lang/String;)V
.line 47
new-instance v0, Lcom/ea/nimble/tracking/TrackingEventWrangler;
invoke-direct {v0}, Lcom/ea/nimble/tracking/TrackingEventWrangler;-><init>()V
const-string v1, "com.ea.nimble.tracking.eventwrangler"
invoke-static {v0, v1}, Lcom/ea/nimble/Base;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V
return-void
.end method
.method private logAndCheckEvent(Ljava/lang/String;Ljava/util/Map;)V
.locals 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 222
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V
const-string v0, "com.ea.nimble.tracking"
.line 223
invoke-static {v0}, Lcom/ea/nimble/Base;->getComponent(Ljava/lang/String;)Lcom/ea/nimble/Component;
move-result-object v0
check-cast v0, Lcom/ea/nimble/tracking/TrackingWrangler;
.line 226
invoke-static {p1}, Lcom/ea/nimble/tracking/Tracking;->isSessionStartEvent(Ljava/lang/String;)Z
move-result v1
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v1, :cond_1
iget-object v1, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_sessionStartTimestamp:Ljava/lang/Long;
if-eqz v1, :cond_0
const-string v1, "Pre-existing session start timestamp found while logging new session start! Overwriting previous session start timestamp."
new-array v4, v3, [Ljava/lang/Object;
.line 230
invoke-static {p0, v1, v4}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_0
:cond_0
const-string v1, "Marking session start time."
new-array v4, v3, [Ljava/lang/Object;
.line 234
invoke-static {p0, v1, v4}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 238
:goto_0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
iput-object v1, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_sessionStartTimestamp:Ljava/lang/Long;
.line 240
invoke-virtual {v0, v2}, Lcom/ea/nimble/tracking/TrackingWrangler;->setSessionState(Z)V
goto :goto_1
:cond_1
iget-object v1, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_sessionStartTimestamp:Ljava/lang/Long;
if-nez v1, :cond_2
const-string p2, "No current session. %s will not be logged."
filled-new-array {p1}, [Ljava/lang/Object;
move-result-object p1
.line 244
invoke-static {p0, p2, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.line 247
:cond_2
invoke-static {p1}, Lcom/ea/nimble/tracking/Tracking;->isSessionEndEvent(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_3
.line 250
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
iget-object v1, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_sessionStartTimestamp:Ljava/lang/Long;
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v6
sub-long/2addr v4, v6
long-to-double v4, v4
const-wide v6, 0x408f400000000000L # 1000.0
div-double/2addr v4, v6
.line 254
sget-object v1, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-static {v4, v5}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v4
filled-new-array {v4}, [Ljava/lang/Object;
move-result-object v4
const-string v5, "%.0f"
invoke-static {v1, v5, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const-string v4, "Logging session time, %s seconds."
filled-new-array {v1}, [Ljava/lang/Object;
move-result-object v5
.line 256
invoke-static {p0, v4, v5}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 257
new-instance v4, Ljava/util/HashMap;
invoke-direct {v4}, Ljava/util/HashMap;-><init>()V
const-string v5, "NIMBLESTANDARD::KEY_DURATION"
.line 258
invoke-interface {v4, v5, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "NIMBLESTANDARD::SESSION_TIME"
.line 259
invoke-direct {p0, v1, v4}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;Ljava/util/Map;)V
const/4 v1, 0x0
iput-object v1, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_sessionStartTimestamp:Ljava/lang/Long;
goto :goto_2
:cond_3
:goto_1
move v2, v3
:goto_2
if-eqz v0, :cond_4
.line 267
invoke-virtual {v0, p1, p2}, Lcom/ea/nimble/tracking/TrackingWrangler;->logEvent(Ljava/lang/String;Ljava/util/Map;)V
if-eqz v2, :cond_4
.line 270
invoke-virtual {v0, v3}, Lcom/ea/nimble/tracking/TrackingWrangler;->setSessionState(Z)V
:cond_4
return-void
.end method
# virtual methods
.method public cleanup()V
.locals 1
.line 67
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
.line 68
invoke-static {}, Lcom/ea/nimble/ApplicationLifecycle;->getComponent()Lcom/ea/nimble/IApplicationLifecycle;
move-result-object v0
invoke-interface {v0, p0}, Lcom/ea/nimble/IApplicationLifecycle;->unregisterApplicationLifecycleCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;)V
.line 69
invoke-static {}, Lcom/ea/nimble/ApplicationLifecycle;->getComponent()Lcom/ea/nimble/IApplicationLifecycle;
move-result-object v0
invoke-interface {v0, p0}, Lcom/ea/nimble/IApplicationLifecycle;->unregisterActivityEventCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;)V
return-void
.end method
.method public getComponentId()Ljava/lang/String;
.locals 1
const-string v0, "com.ea.nimble.tracking.eventwrangler"
return-object v0
.end method
.method public getLogSourceTitle()Ljava/lang/String;
.locals 1
const-string v0, "Tracking"
return-object v0
.end method
.method public logAndCheckEvent(Ljava/lang/String;)V
.locals 1
.line 216
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
const/4 v0, 0x0
.line 217
invoke-direct {p0, p1, v0}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;Ljava/util/Map;)V
return-void
.end method
.method public onActivityResult(Landroid/app/Activity;IILandroid/content/Intent;)V
.locals 0
return-void
.end method
.method public onApplicationLaunch(Landroid/content/Intent;)V
.locals 5
.line 78
invoke-virtual {p1}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object v0
if-eqz v0, :cond_0
const-string p1, "NIMBLESTANDARD::APPSTART_FROMURL"
.line 80
invoke-virtual {p0, p1}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
goto/16 :goto_0
:cond_0
const-string v0, "PushNotification"
.line 82
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_2
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Object;
const-string v1, "Awesome. PN launched me"
.line 84
invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGI(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.line 87
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 88
invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object p1
invoke-direct {p0, p1, v0}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->addPushTNGTrackingParams(Landroid/os/Bundle;Ljava/util/Map;)V
.line 90
invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z
move-result p1
const-string v1, "NIMBLESTANDARD::APPSTART_FROMPUSH"
if-eqz p1, :cond_1
.line 92
invoke-virtual {p0, v1}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
goto :goto_0
.line 96
:cond_1
invoke-direct {p0, v1, v0}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;Ljava/util/Map;)V
goto :goto_0
.line 101
:cond_2
sget-object p1, Lcom/ea/nimble/Persistence$Storage;->DOCUMENT:Lcom/ea/nimble/Persistence$Storage;
const-string v0, "com.ea.nimble.tracking.eventwrangler"
invoke-static {v0, p1}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence;
move-result-object p1
const-string v1, "applicationBundleVersion"
.line 103
invoke-virtual {p1, v1}, Lcom/ea/nimble/Persistence;->getStringValue(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
if-nez v2, :cond_3
.line 107
sget-object v2, Lcom/ea/nimble/Persistence$Storage;->CACHE:Lcom/ea/nimble/Persistence$Storage;
invoke-static {v0, v2}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence;
move-result-object v0
.line 108
invoke-virtual {v0, v1}, Lcom/ea/nimble/Persistence;->getStringValue(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 111
:cond_3
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment;
move-result-object v0
invoke-interface {v0}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationVersion()Ljava/lang/String;
move-result-object v0
const-string v3, "Current app version, %s. Cached app version, %s"
filled-new-array {v0, v2}, [Ljava/lang/Object;
move-result-object v4
.line 113
invoke-static {p0, v3, v4}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
if-nez v2, :cond_4
.line 118
invoke-virtual {p1, v1, v0}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V
const-string p1, "NIMBLESTANDARD::APPSTART_AFTERINSTALL"
.line 121
invoke-virtual {p0, p1}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
goto :goto_0
.line 123
:cond_4
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_5
.line 126
invoke-virtual {p1, v1, v0}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V
const-string p1, "NIMBLESTANDARD::APPSTART_AFTERUPGRADE"
.line 129
invoke-virtual {p0, p1}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
goto :goto_0
:cond_5
const-string p1, "NIMBLESTANDARD::APPSTART_NORMAL"
.line 133
invoke-virtual {p0, p1}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
:goto_0
return-void
.end method
.method public onApplicationQuit()V
.locals 1
const-string v0, "NIMBLESTANDARD::SESSION_END"
.line 188
invoke-virtual {p0, v0}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
return-void
.end method
.method public onApplicationResume()V
.locals 3
.line 147
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getCurrentActivity()Landroid/app/Activity;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object v0
const-string v1, "NIMBLESTANDARD::APPRESUME_FROMURL"
if-eqz v0, :cond_0
.line 149
invoke-virtual {p0, v1}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
goto :goto_1
:cond_0
iget-object v0, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_newIntent:Landroid/content/Intent;
const-string v2, "NIMBLESTANDARD::APPRESUME_NORMAL"
if-eqz v0, :cond_4
.line 154
invoke-virtual {v0}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object v0
if-eqz v0, :cond_1
.line 156
invoke-virtual {p0, v1}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
goto :goto_0
:cond_1
iget-object v0, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_newIntent:Landroid/content/Intent;
const-string v1, "PushNotification"
.line 158
invoke-virtual {v0, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_3
.line 161
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iget-object v1, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_newIntent:Landroid/content/Intent;
.line 162
invoke-virtual {v1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object v1
invoke-direct {p0, v1, v0}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->addPushTNGTrackingParams(Landroid/os/Bundle;Ljava/util/Map;)V
.line 164
invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z
move-result v1
const-string v2, "NIMBLESTANDARD::APPRESUME_FROMPUSH"
if-eqz v1, :cond_2
.line 166
invoke-virtual {p0, v2}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
goto :goto_0
.line 170
:cond_2
invoke-direct {p0, v2, v0}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;Ljava/util/Map;)V
goto :goto_0
.line 175
:cond_3
invoke-virtual {p0, v2}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
:goto_0
const/4 v0, 0x0
iput-object v0, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_newIntent:Landroid/content/Intent;
goto :goto_1
.line 181
:cond_4
invoke-virtual {p0, v2}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
:goto_1
return-void
.end method
.method public onApplicationSuspend()V
.locals 1
const-string v0, "NIMBLESTANDARD::SESSION_END"
.line 141
invoke-virtual {p0, v0}, Lcom/ea/nimble/tracking/TrackingEventWrangler;->logAndCheckEvent(Ljava/lang/String;)V
return-void
.end method
.method public onBackPressed()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public onNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V
.locals 0
iput-object p2, p0, Lcom/ea/nimble/tracking/TrackingEventWrangler;->m_newIntent:Landroid/content/Intent;
return-void
.end method
.method public onWindowFocusChanged(Z)V
.locals 0
return-void
.end method
.method public restore()V
.locals 1
.line 59
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
.line 60
invoke-static {}, Lcom/ea/nimble/ApplicationLifecycle;->getComponent()Lcom/ea/nimble/IApplicationLifecycle;
move-result-object v0
invoke-interface {v0, p0}, Lcom/ea/nimble/IApplicationLifecycle;->registerApplicationLifecycleCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;)V
.line 61
invoke-static {}, Lcom/ea/nimble/ApplicationLifecycle;->getComponent()Lcom/ea/nimble/IApplicationLifecycle;
move-result-object v0
invoke-interface {v0, p0}, Lcom/ea/nimble/IApplicationLifecycle;->registerActivityEventCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;)V
return-void
.end method