.class public Lcom/ea/nimble/SynergyEnvironmentImpl; .super Lcom/ea/nimble/Component; .source "SourceFile" # interfaces .implements Lcom/ea/nimble/ISynergyEnvironment; .implements Lcom/ea/nimble/LogSource; # static fields .field private static final PERSISTENCE_DATA_ID:Ljava/lang/String; = "environmentData" .field public static final SYNERGY_APP_VERSION_OK:I = 0x0 .field public static final SYNERGY_APP_VERSION_UPDATE_RECOMMENDED:I = 0x1 .field public static final SYNERGY_APP_VERSION_UPDATE_REQUIRED:I = 0x2 .field private static final SYNERGY_INT_SERVER_URL:Ljava/lang/String; = "https://director-int.sn.eamobile.com" .field private static final SYNERGY_LIVE_SERVER_URL:Ljava/lang/String; = "https://syn-dir.sn.eamobile.com" .field private static final SYNERGY_STAGE_SERVER_URL:Ljava/lang/String; = "https://director-stage.sn.eamobile.com" .field public static final SYNERGY_UPDATE_RATE_LIMIT_PERIOD_IN_SECONDS:D = 60.0 .field public static final SYNERGY_UPDATE_REFRESH_PERIOD_IN_SECONDS:D = 300.0 # instance fields .field private m_core:Lcom/ea/nimble/BaseCore; .field private m_dataLoadedOnComponentSetup:Z .field private m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; .field private m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; .field private m_pendingStartupFinishedNotification:Z .field private m_previousValidEnvironmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; .field private m_synergyEnvironmentUpdateRateLimitTriggerTimestamp:Ljava/lang/Long; .field private m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; # direct methods .method public constructor (Lcom/ea/nimble/BaseCore;)V .locals 0 .line 60 invoke-direct {p0}, Lcom/ea/nimble/Component;->()V iput-object p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_core:Lcom/ea/nimble/BaseCore; const/4 p1, 0x0 iput-object p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; const/4 p1, 0x0 iput-boolean p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_dataLoadedOnComponentSetup:Z iput-boolean p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_pendingStartupFinishedNotification:Z return-void .end method .method public static synthetic access$000(Lcom/ea/nimble/SynergyEnvironmentImpl;)Landroid/content/BroadcastReceiver; .locals 0 .line 26 iget-object p0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; return-object p0 .end method .method public static synthetic access$002(Lcom/ea/nimble/SynergyEnvironmentImpl;Landroid/content/BroadcastReceiver;)Landroid/content/BroadcastReceiver; .locals 0 .line 26 iput-object p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; return-object p1 .end method .method public static synthetic access$100(Lcom/ea/nimble/SynergyEnvironmentImpl;)Lcom/ea/nimble/SynergyEnvironmentUpdater; .locals 0 .line 26 iget-object p0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; return-object p0 .end method .method public static synthetic access$102(Lcom/ea/nimble/SynergyEnvironmentImpl;Lcom/ea/nimble/SynergyEnvironmentUpdater;)Lcom/ea/nimble/SynergyEnvironmentUpdater; .locals 0 .line 26 iput-object p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; return-object p1 .end method .method public static synthetic access$200(Lcom/ea/nimble/SynergyEnvironmentImpl;Lcom/ea/nimble/SynergyEnvironmentUpdater;)V .locals 0 .line 26 invoke-direct {p0, p1}, Lcom/ea/nimble/SynergyEnvironmentImpl;->startSynergyEnvironmentUpdateImpl(Lcom/ea/nimble/SynergyEnvironmentUpdater;)V return-void .end method .method public static synthetic access$300(Lcom/ea/nimble/SynergyEnvironmentImpl;)Lcom/ea/nimble/EnvironmentDataContainer; .locals 0 .line 26 iget-object p0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; return-object p0 .end method .method public static synthetic access$302(Lcom/ea/nimble/SynergyEnvironmentImpl;Lcom/ea/nimble/EnvironmentDataContainer;)Lcom/ea/nimble/EnvironmentDataContainer; .locals 0 .line 26 iput-object p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; return-object p1 .end method .method public static synthetic access$400(Lcom/ea/nimble/SynergyEnvironmentImpl;)V .locals 0 .line 26 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->saveEnvironmentDataToPersistent()V return-void .end method .method public static synthetic access$500(Lcom/ea/nimble/SynergyEnvironmentImpl;)Lcom/ea/nimble/EnvironmentDataContainer; .locals 0 .line 26 iget-object p0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_previousValidEnvironmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; return-object p0 .end method .method public static synthetic access$602(Lcom/ea/nimble/SynergyEnvironmentImpl;Z)Z .locals 0 .line 26 iput-boolean p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_pendingStartupFinishedNotification:Z return p1 .end method .method public static synthetic access$700(Lcom/ea/nimble/SynergyEnvironmentImpl;)V .locals 0 .line 26 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->startSynergyEnvironmentUpdateRateLimiting()V return-void .end method .method private clearSynergyEnvironmentUpdateRateLimiting()V .locals 1 .line 676 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V const/4 v0, 0x0 iput-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyEnvironmentUpdateRateLimitTriggerTimestamp:Ljava/lang/Long; return-void .end method .method private isInSynergyEnvironmentUpdateRateLimitingPeriod()Z .locals 4 .line 669 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyEnvironmentUpdateRateLimitTriggerTimestamp:Ljava/lang/Long; if-eqz v0, :cond_0 .line 671 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 iget-object v2, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyEnvironmentUpdateRateLimitTriggerTimestamp:Ljava/lang/Long; invoke-virtual {v2}, Ljava/lang/Long;->longValue()J move-result-wide v2 sub-long/2addr v0, v2 long-to-double v0, v0 const-wide v2, 0x40ed4c0000000000L # 60000.0 cmpg-double v0, v0, v2 if-gtz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private restoreEnvironmentDataFromPersistent(Z)Z .locals 5 .line 682 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V const-string v0, "com.ea.nimble.synergyEnvironment" .line 683 sget-object v1, Lcom/ea/nimble/Persistence$Storage;->CACHE:Lcom/ea/nimble/Persistence$Storage; invoke-static {v0, v1}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_2 const-string v2, "environmentData" .line 689 invoke-virtual {v0, v2}, Lcom/ea/nimble/Persistence;->getValue(Ljava/lang/String;)Ljava/io/Serializable; move-result-object v0 if-nez v0, :cond_0 const-string p1, "Environment persistence data value not found in persistence object. Probably first install." new-array v0, v1, [Ljava/lang/Object; .line 693 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 .line 699 :cond_0 :try_start_0 check-cast v0, Lcom/ea/nimble/EnvironmentDataContainer; iput-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; const-string v2, "Restored environment data from persistent. Restored data timestamp, %s" const/4 v3, 0x1 new-array v4, v3, [Ljava/lang/Object; .line 703 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getMostRecentDirectorResponseTimestamp()Ljava/lang/Long; move-result-object v0 aput-object v0, v4, v1 .line 702 invoke-static {p0, v2, v4}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V if-nez p1, :cond_1 const-string p1, "nimble.environment.notification.restored_from_persistent" .line 707 invoke-static {p1}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;)V :try_end_0 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 :cond_1 return v3 :catch_0 const-string p1, "Environment persistence data value is not the expected type." new-array v0, v1, [Ljava/lang/Object; .line 715 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :cond_2 const-string p1, "Could not get environment persistence object to restore from" new-array v0, v1, [Ljava/lang/Object; .line 721 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_0 const/4 p1, 0x0 iput-object p1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; return v1 .end method .method private saveEnvironmentDataToPersistent()V .locals 3 .line 732 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V const-string v0, "com.ea.nimble.synergyEnvironment" .line 733 sget-object v1, Lcom/ea/nimble/Persistence$Storage;->CACHE:Lcom/ea/nimble/Persistence$Storage; invoke-static {v0, v1}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_0 const-string v2, "Saving environment data to persistent." new-array v1, v1, [Ljava/lang/Object; .line 737 invoke-static {p0, v2, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const-string v1, "environmentData" iget-object v2, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; .line 738 invoke-virtual {v0, v1, v2}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V .line 741 invoke-virtual {v0}, Lcom/ea/nimble/Persistence;->synchronize()V goto :goto_0 :cond_0 const-string v0, "Could not get environment persistence object to save to." new-array v1, v1, [Ljava/lang/Object; .line 745 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_0 return-void .end method .method private startSynergyEnvironmentUpdate()V .locals 4 .line 478 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 480 monitor-enter p0 :try_start_0 iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; if-nez v0, :cond_0 .line 484 new-instance v0, Lcom/ea/nimble/SynergyEnvironmentUpdater; iget-object v1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_core:Lcom/ea/nimble/BaseCore; invoke-direct {v0, v1}, Lcom/ea/nimble/SynergyEnvironmentUpdater;->(Lcom/ea/nimble/BaseCore;)V iput-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; goto :goto_0 :catchall_0 move-exception v0 goto :goto_1 :cond_0 const/4 v0, 0x0 .line 487 :goto_0 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 const/4 v1, 0x0 if-nez v0, :cond_1 const-string v0, "Attempt made to start Synergy environment update while a previous one is active. Exiting." new-array v1, v1, [Ljava/lang/Object; .line 490 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .line 495 :cond_1 invoke-static {}, Lcom/ea/nimble/Network;->getComponent()Lcom/ea/nimble/INetwork; move-result-object v2 invoke-interface {v2}, Lcom/ea/nimble/INetwork;->getStatus()Lcom/ea/nimble/Network$Status; move-result-object v2 sget-object v3, Lcom/ea/nimble/Network$Status;->OK:Lcom/ea/nimble/Network$Status; if-eq v2, v3, :cond_3 iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; if-nez v0, :cond_2 .line 499 new-instance v0, Lcom/ea/nimble/SynergyEnvironmentImpl$1; invoke-direct {v0, p0}, Lcom/ea/nimble/SynergyEnvironmentImpl$1;->(Lcom/ea/nimble/SynergyEnvironmentImpl;)V iput-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; const-string v0, "Network not available to perform environment update. Setting receiver to listen for network status change." new-array v1, v1, [Ljava/lang/Object; .line 518 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const-string v0, "nimble.notification.networkStatusChange" iget-object v1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; .line 520 invoke-static {v0, v1}, Lcom/ea/nimble/Utility;->registerReceiver(Ljava/lang/String;Landroid/content/BroadcastReceiver;)V :cond_2 return-void .line 530 :cond_3 invoke-direct {p0, v0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->startSynergyEnvironmentUpdateImpl(Lcom/ea/nimble/SynergyEnvironmentUpdater;)V return-void .line 487 :goto_1 :try_start_1 monitor-exit p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw v0 .end method .method private startSynergyEnvironmentUpdateImpl(Lcom/ea/nimble/SynergyEnvironmentUpdater;)V .locals 3 .line 535 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V if-nez p1, :cond_0 const/4 p1, 0x0 new-array p1, p1, [Ljava/lang/Object; const-string v0, "Synergy Environment Update canceled before it could start" .line 538 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void :cond_0 iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; iput-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_previousValidEnvironmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; .line 547 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V const-string v1, "result" const-string v2, "1" .line 548 invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "nimble.environment.notification.startup_requests_started" .line 549 invoke-static {v1, v0}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;Ljava/util/Map;)V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_previousValidEnvironmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; .line 551 new-instance v1, Lcom/ea/nimble/SynergyEnvironmentImpl$2; invoke-direct {v1, p0, p1}, Lcom/ea/nimble/SynergyEnvironmentImpl$2;->(Lcom/ea/nimble/SynergyEnvironmentImpl;Lcom/ea/nimble/SynergyEnvironmentUpdater;)V invoke-virtual {p1, v0, v1}, Lcom/ea/nimble/SynergyEnvironmentUpdater;->startSynergyStartupSequence(Lcom/ea/nimble/EnvironmentDataContainer;Lcom/ea/nimble/SynergyEnvironmentUpdater$CompletionCallback;)V return-void .end method .method private startSynergyEnvironmentUpdateRateLimiting()V .locals 2 .line 663 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 664 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v0 iput-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyEnvironmentUpdateRateLimitTriggerTimestamp:Ljava/lang/Long; return-void .end method # virtual methods .method public checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; .locals 4 .line 287 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 289 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->isUpdateInProgress()Z move-result v0 if-eqz v0, :cond_0 .line 292 new-instance v0, Lcom/ea/nimble/Error; sget-object v1, Lcom/ea/nimble/Error$Code;->SYNERGY_ENVIRONMENT_UPDATE_FAILURE:Lcom/ea/nimble/Error$Code; const-string v2, "Update in progress." invoke-direct {v0, v1, v2}, Lcom/ea/nimble/Error;->(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V return-object v0 :cond_0 iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-eqz v0, :cond_1 .line 297 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getMostRecentDirectorResponseTimestamp()Ljava/lang/Long; move-result-object v0 if-eqz v0, :cond_1 .line 300 new-instance v0, Lcom/ea/nimble/Error; sget-object v1, Lcom/ea/nimble/Error$Code;->SYNERGY_ENVIRONMENT_UPDATE_FAILURE:Lcom/ea/nimble/Error$Code; const-string v2, "Environment data already cached." invoke-direct {v0, v1, v2}, Lcom/ea/nimble/Error;->(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V return-object v0 .line 315 :cond_1 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->isInSynergyEnvironmentUpdateRateLimitingPeriod()Z move-result v0 if-eqz v0, :cond_2 .line 319 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 iget-object v2, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyEnvironmentUpdateRateLimitTriggerTimestamp:Ljava/lang/Long; invoke-virtual {v2}, Ljava/lang/Long;->longValue()J move-result-wide v2 sub-long/2addr v0, v2 long-to-double v0, v0 const-wide v2, 0x408f400000000000L # 1000.0 div-double/2addr v0, v2 const-wide/high16 v2, 0x404e000000000000L # 60.0 sub-double/2addr v2, v0 invoke-static {v2, v3}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Attempt to re-initiate Synergy environment update blocked by rate limiting. %.2f seconds of rate limiting left" .line 318 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 323 new-instance v0, Lcom/ea/nimble/Error; sget-object v1, Lcom/ea/nimble/Error$Code;->SYNERGY_ENVIRONMENT_UPDATE_FAILURE:Lcom/ea/nimble/Error$Code; const-string v2, "Synergy environment update rate limit in effect." invoke-direct {v0, v1, v2}, Lcom/ea/nimble/Error;->(Lcom/ea/nimble/Error$Code;Ljava/lang/String;)V return-object v0 .line 327 :cond_2 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->startSynergyEnvironmentUpdate()V const/4 v0, 0x0 return-object v0 .end method .method public cleanup()V .locals 2 .line 446 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; const/4 v1, 0x0 if-eqz v0, :cond_0 .line 454 invoke-virtual {v0}, Lcom/ea/nimble/SynergyEnvironmentUpdater;->cancel()V iput-object v1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; :cond_0 iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; if-eqz v0, :cond_1 .line 460 invoke-static {v0}, Lcom/ea/nimble/Utility;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V iput-object v1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; .line 464 :cond_1 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->saveEnvironmentDataToPersistent()V iput-object v1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; return-void .end method .method public getComponentId()Ljava/lang/String; .locals 1 const-string v0, "com.ea.nimble.synergyEnvironment" return-object v0 .end method .method public getEADeviceId()Ljava/lang/String; .locals 1 .line 87 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 92 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 98 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getEADeviceId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getEAHardwareId()Ljava/lang/String; .locals 1 .line 173 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 174 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 180 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getEAHardwareId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getGosMdmAppKey()Ljava/lang/String; .locals 1 .line 781 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 782 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 789 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getGosMdmAppKey()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getLatestAppVersionCheckResult()I .locals 1 .line 213 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 goto :goto_0 .line 214 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getLatestAppVersionCheckResult()I move-result v0 :goto_0 return v0 .end method .method public getLogSourceTitle()Ljava/lang/String; .locals 1 const-string v0, "SynergyEnv" return-object v0 .end method .method public getNexusClientId()Ljava/lang/String; .locals 1 .line 752 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 753 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 760 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getNexusClientId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getNexusClientSecret()Ljava/lang/String; .locals 1 .line 767 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 768 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 775 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getNexusClientSecret()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getProductId()Ljava/lang/String; .locals 1 .line 152 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 153 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 159 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getProductId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getSellId()Ljava/lang/String; .locals 1 .line 132 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 133 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 139 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getSellId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getServerUrlWithKey(Ljava/lang/String;)Ljava/lang/String; .locals 1 .line 204 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 205 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 p1, 0x0 goto :goto_0 .line 207 :cond_0 invoke-virtual {v0, p1}, Lcom/ea/nimble/EnvironmentDataContainer;->getServerUrlWithKey(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 :goto_0 return-object p1 .end method .method public getSynergyDirectorServerUrl(Lcom/ea/nimble/NimbleConfiguration;)Ljava/lang/String; .locals 3 .line 227 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 228 sget-object v0, Lcom/ea/nimble/SynergyEnvironmentImpl$3;->$SwitchMap$com$ea$nimble$NimbleConfiguration:[I invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I move-result v1 aget v0, v0, v1 const/4 v1, 0x1 if-eq v0, v1, :cond_3 const/4 v1, 0x2 if-eq v0, v1, :cond_2 const/4 v1, 0x3 const-string v2, "https://syn-dir.sn.eamobile.com" if-eq v0, v1, :cond_1 const/4 v1, 0x4 if-eq v0, v1, :cond_0 const-string v0, "Request for Synergy Director server URL with unknown NimbleConfiguration, %d." filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 .line 248 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-object v2 :cond_0 const-string p1, "NimbleCustomizedSynergyServerEndpointUrl" .line 244 invoke-static {p1, v2}, Lcom/ea/nimble/NimbleApplicationConfiguration;->getConfigValueAsString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 return-object p1 :cond_1 return-object v2 :cond_2 const-string p1, "https://director-stage.sn.eamobile.com" return-object p1 :cond_3 const-string p1, "https://director-int.sn.eamobile.com" return-object p1 .end method .method public getSynergyId()Ljava/lang/String; .locals 1 .line 112 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 113 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 119 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getSynergyId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getTrackingPostInterval()I .locals 1 .line 220 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-nez v0, :cond_0 const/4 v0, -0x1 goto :goto_0 .line 221 :cond_0 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getTrackingPostInterval()I move-result v0 :goto_0 return v0 .end method .method public isDataAvailable()Z .locals 1 .line 262 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isFeatureDisabled(Ljava/lang/String;)Z .locals 1 .line 335 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 336 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-eqz v0, :cond_0 .line 338 invoke-virtual {v0, p1}, Lcom/ea/nimble/EnvironmentDataContainer;->isFeatureDisabled(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 isUpdateInProgress()Z .locals 1 .line 273 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public restore()V .locals 4 .line 361 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-boolean v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_dataLoadedOnComponentSetup:Z const/4 v1, 0x0 if-eqz v0, :cond_0 iput-boolean v1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_dataLoadedOnComponentSetup:Z const-string v0, "nimble.environment.notification.restored_from_persistent" .line 371 invoke-static {v0}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;)V goto :goto_0 .line 376 :cond_0 invoke-direct {p0, v1}, Lcom/ea/nimble/SynergyEnvironmentImpl;->restoreEnvironmentDataFromPersistent(Z)Z :goto_0 iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-eqz v0, :cond_2 .line 380 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getMostRecentDirectorResponseTimestamp()Ljava/lang/Long; move-result-object v0 if-eqz v0, :cond_2 .line 381 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 iget-object v2, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; invoke-virtual {v2}, Lcom/ea/nimble/EnvironmentDataContainer;->getMostRecentDirectorResponseTimestamp()Ljava/lang/Long; move-result-object v2 invoke-virtual {v2}, Ljava/lang/Long;->longValue()J move-result-wide v2 sub-long/2addr v0, v2 long-to-double v0, v0 const-wide v2, 0x408f400000000000L # 1000.0 div-double/2addr v0, v2 const-wide v2, 0x4072c00000000000L # 300.0 cmpl-double v0, v0, v2 if-lez v0, :cond_1 goto :goto_1 .line 387 :cond_1 invoke-virtual {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->checkAndInitiateSynergyEnvironmentUpdate()Lcom/ea/nimble/Error; goto :goto_2 .line 383 :cond_2 :goto_1 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->startSynergyEnvironmentUpdate()V :goto_2 return-void .end method .method public resume()V .locals 4 .line 417 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 420 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->clearSynergyEnvironmentUpdateRateLimiting()V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; if-eqz v0, :cond_0 .line 425 invoke-virtual {v0}, Lcom/ea/nimble/EnvironmentDataContainer;->getMostRecentDirectorResponseTimestamp()Ljava/lang/Long; move-result-object v0 if-eqz v0, :cond_0 .line 426 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 iget-object v2, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; invoke-virtual {v2}, Lcom/ea/nimble/EnvironmentDataContainer;->getMostRecentDirectorResponseTimestamp()Ljava/lang/Long; move-result-object v2 invoke-virtual {v2}, Ljava/lang/Long;->longValue()J move-result-wide v2 sub-long/2addr v0, v2 long-to-double v0, v0 const-wide v2, 0x408f400000000000L # 1000.0 div-double/2addr v0, v2 const-wide v2, 0x4072c00000000000L # 300.0 cmpl-double v0, v0, v2 if-lez v0, :cond_1 .line 428 :cond_0 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->startSynergyEnvironmentUpdate()V :cond_1 iget-boolean v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_pendingStartupFinishedNotification:Z if-eqz v0, :cond_2 const/4 v0, 0x0 iput-boolean v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_pendingStartupFinishedNotification:Z .line 434 new-instance v1, Ljava/util/HashMap; invoke-direct {v1}, Ljava/util/HashMap;->()V const-string v2, "result" const-string v3, "1" .line 435 invoke-interface {v1, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v2, "App is running in forground, sending delayed the NOTIFICATION_STARTUP_REQUESTS_FINISHED notification" new-array v0, v0, [Ljava/lang/Object; .line 438 invoke-static {p0, v2, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const-string v0, "nimble.environment.notification.startup_requests_finished" .line 439 invoke-static {v0, v1}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;Ljava/util/Map;)V :cond_2 return-void .end method .method public setServerUrl(Ljava/lang/String;Ljava/lang/String;)Lcom/ea/nimble/Error; .locals 1 iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; .line 192 invoke-virtual {v0, p1, p2}, Lcom/ea/nimble/EnvironmentDataContainer;->setServerUrl(Ljava/lang/String;Ljava/lang/String;)Lcom/ea/nimble/Error; move-result-object p1 return-object p1 .end method .method public setup()V .locals 1 .line 350 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V const/4 v0, 0x1 .line 355 invoke-direct {p0, v0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->restoreEnvironmentDataFromPersistent(Z)Z move-result v0 iput-boolean v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_dataLoadedOnComponentSetup:Z return-void .end method .method public suspend()V .locals 2 .line 394 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; const/4 v1, 0x0 if-eqz v0, :cond_0 .line 401 invoke-virtual {v0}, Lcom/ea/nimble/SynergyEnvironmentUpdater;->cancel()V iput-object v1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_synergyStartupObject:Lcom/ea/nimble/SynergyEnvironmentUpdater; :cond_0 iget-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; if-eqz v0, :cond_1 .line 407 invoke-static {v0}, Lcom/ea/nimble/Utility;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V iput-object v1, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_networkStatusChangeReceiver:Landroid/content/BroadcastReceiver; .line 411 :cond_1 invoke-direct {p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->saveEnvironmentDataToPersistent()V return-void .end method .method public teardown()V .locals 1 .line 472 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V const/4 v0, 0x0 iput-object v0, p0, Lcom/ea/nimble/SynergyEnvironmentImpl;->m_environmentDataContainer:Lcom/ea/nimble/EnvironmentDataContainer; return-void .end method