.class public Lcom/ea/nimble/ApplicationEnvironmentImpl; .super Lcom/ea/nimble/Component; .source "SourceFile" # interfaces .implements Lcom/ea/nimble/IApplicationEnvironment; .implements Lcom/ea/nimble/LogSource; # static fields .field private static final KEY_GAME_PLAYER_ID:Ljava/lang/String; = "gamePlayerId" .field private static final MILLIS_IN_AN_HOUR:I = 0x36ee80 .field private static final NIMBLE_APPLICATIONENVIRONMENT_PERSISTENCE_GAME_SPECIFIED_ID:Ljava/lang/String; = "nimble_applicationenvironment_game_specified_id" .field private static final OVERRIDE_BUNDLE_ID_KEY:Ljava/lang/String; = "NimbleBundleIdOverride" .field private static final PERSISTENCE_AGE_REQUIREMENTS:Ljava/lang/String; = "ageRequirement" .field private static final PERSISTENCE_ATTRIBUTION_DATA:Ljava/lang/String; = "attributionData" .field private static final PERSISTENCE_LANGUAGE:Ljava/lang/String; = "language" .field private static final PERSISTENCE_TIME_RETRIEVED:Ljava/lang/String; = "timeRetrieved" .field private static final SUPERUSER_APK_LOCATION:Ljava/lang/String; = "/system/app/Superuser.apk" .field private static final SYNERGY_API_GET_AGE_REQUIREMENTS:Ljava/lang/String; = "/rest/agerequirements/ip" .field private static isMainApplicationActive:Z = false .field private static isMainApplicationRunning:Z = false .field private static s_currentActivity:Landroid/app/Activity; # instance fields .field private m_advertisingId:Ljava/lang/String; .field private m_advertisingIdCallbacks:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;", ">;" } .end annotation .end field .field private m_androidId:Ljava/lang/String; .field private m_attributionDataNetworkListener:Landroid/content/BroadcastReceiver; .field private m_context:Landroid/content/Context; .field private final m_core:Lcom/ea/nimble/BaseCore; .field private m_language:Ljava/lang/String; .field private m_limitAdTrackingEnabled:Z .field private m_networkListener:Landroid/content/BroadcastReceiver; .field private m_packageId:Ljava/lang/String; .field private final m_parameters:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/String;", ">;" } .end annotation .end field .field private final m_playerIdMap:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/String;", ">;" } .end annotation .end field .field private m_referrerClient:Lcom/android/installreferrer/api/InstallReferrerClient; .field private m_version:Ljava/lang/String; # direct methods .method static constructor ()V .locals 0 return-void .end method .method public constructor (Lcom/ea/nimble/BaseCore;)V .locals 5 .line 101 invoke-direct {p0}, Lcom/ea/nimble/Component;->()V const/4 v0, 0x0 iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingId:Ljava/lang/String; const/4 v1, 0x1 iput-boolean v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_limitAdTrackingEnabled:Z sget-object v1, Lcom/ea/nimble/ApplicationEnvironmentImpl;->s_currentActivity:Landroid/app/Activity; if-eqz v1, :cond_6 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_core:Lcom/ea/nimble/BaseCore; .line 109 invoke-virtual {v1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object p1 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; .line 111 new-instance p1, Ljava/util/concurrent/ConcurrentHashMap; invoke-direct {p1}, Ljava/util/concurrent/ConcurrentHashMap;->()V iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_playerIdMap:Ljava/util/Map; .line 112 invoke-direct {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->generateParameterDictionary()Ljava/util/Map; move-result-object p1 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_parameters:Ljava/util/Map; .line 114 invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getDocumentPath()Ljava/lang/String; move-result-object p1 if-eqz p1, :cond_0 .line 118 new-instance v0, Ljava/io/File; invoke-direct {v0, p1}, Ljava/io/File;->(Ljava/lang/String;)V .line 121 :cond_0 new-instance p1, Ljava/io/File; invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getTempPath()Ljava/lang/String; move-result-object v1 invoke-direct {p1, v1}, Ljava/io/File;->(Ljava/lang/String;)V if-eqz v0, :cond_5 .line 122 invoke-virtual {v0}, Ljava/io/File;->exists()Z move-result v1 if-nez v1, :cond_1 invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z move-result v0 if-eqz v0, :cond_5 :cond_1 invoke-virtual {p1}, Ljava/io/File;->exists()Z move-result v0 if-nez v0, :cond_2 invoke-virtual {p1}, Ljava/io/File;->mkdirs()Z move-result v0 if-eqz v0, :cond_5 .line 127 :cond_2 invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File; move-result-object p1 if-eqz p1, :cond_4 .line 130 array-length v0, p1 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_4 aget-object v2, p1, v1 .line 133 invoke-virtual {v2}, Ljava/io/File;->delete()Z move-result v3 if-eqz v3, :cond_3 .line 135 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "APP_ENV: Delete temp file " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/io/File;->getName()Ljava/lang/String; move-result-object v2 invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; :cond_3 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_4 iget-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; .line 140 invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object p1 const-string v0, "android_id" invoke-static {p1, v0}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_androidId:Ljava/lang/String; return-void .line 124 :cond_5 new-instance p1, Ljava/lang/AssertionError; const-string v0, "APP_ENV: Cannot create necessary folder" invoke-direct {p1, v0}, Ljava/lang/AssertionError;->(Ljava/lang/Object;)V throw p1 .line 105 :cond_6 new-instance p1, Ljava/lang/AssertionError; const-string v0, "Cannot create a ApplicationEnvironment without a valid current activity" invoke-direct {p1, v0}, Ljava/lang/AssertionError;->(Ljava/lang/Object;)V throw p1 .end method .method public static synthetic access$000(Lcom/ea/nimble/ApplicationEnvironmentImpl;)Landroid/content/BroadcastReceiver; .locals 0 .line 61 iget-object p0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_networkListener:Landroid/content/BroadcastReceiver; return-object p0 .end method .method public static synthetic access$002(Lcom/ea/nimble/ApplicationEnvironmentImpl;Landroid/content/BroadcastReceiver;)Landroid/content/BroadcastReceiver; .locals 0 .line 61 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_networkListener:Landroid/content/BroadcastReceiver; return-object p1 .end method .method public static synthetic access$100(Lcom/ea/nimble/ApplicationEnvironmentImpl;)Ljava/lang/String; .locals 0 .line 61 iget-object p0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingId:Ljava/lang/String; return-object p0 .end method .method public static synthetic access$102(Lcom/ea/nimble/ApplicationEnvironmentImpl;Ljava/lang/String;)Ljava/lang/String; .locals 0 .line 61 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingId:Ljava/lang/String; return-object p1 .end method .method public static synthetic access$200(Lcom/ea/nimble/ApplicationEnvironmentImpl;)Z .locals 0 .line 61 iget-boolean p0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_limitAdTrackingEnabled:Z return p0 .end method .method public static synthetic access$202(Lcom/ea/nimble/ApplicationEnvironmentImpl;Z)Z .locals 0 .line 61 iput-boolean p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_limitAdTrackingEnabled:Z return p1 .end method .method public static synthetic access$300(Lcom/ea/nimble/ApplicationEnvironmentImpl;)Ljava/util/List; .locals 0 .line 61 iget-object p0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingIdCallbacks:Ljava/util/List; return-object p0 .end method .method public static synthetic access$302(Lcom/ea/nimble/ApplicationEnvironmentImpl;Ljava/util/List;)Ljava/util/List; .locals 0 .line 61 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingIdCallbacks:Ljava/util/List; return-object p1 .end method .method public static synthetic access$400(Lcom/ea/nimble/ApplicationEnvironmentImpl;)Ljava/util/Map; .locals 0 .line 61 iget-object p0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_parameters:Ljava/util/Map; return-object p0 .end method .method public static synthetic access$500(Lcom/ea/nimble/ApplicationEnvironmentImpl;)Landroid/content/BroadcastReceiver; .locals 0 .line 61 iget-object p0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_attributionDataNetworkListener:Landroid/content/BroadcastReceiver; return-object p0 .end method .method public static synthetic access$502(Lcom/ea/nimble/ApplicationEnvironmentImpl;Landroid/content/BroadcastReceiver;)Landroid/content/BroadcastReceiver; .locals 0 .line 61 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_attributionDataNetworkListener:Landroid/content/BroadcastReceiver; return-object p1 .end method .method public static synthetic access$600(Lcom/ea/nimble/ApplicationEnvironmentImpl;)V .locals 0 .line 61 invoke-direct {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->requestAttributionData()V return-void .end method .method public static synthetic access$700(Lcom/ea/nimble/ApplicationEnvironmentImpl;)Lcom/android/installreferrer/api/InstallReferrerClient; .locals 0 .line 61 iget-object p0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_referrerClient:Lcom/android/installreferrer/api/InstallReferrerClient; return-object p0 .end method .method public static synthetic access$702(Lcom/ea/nimble/ApplicationEnvironmentImpl;Lcom/android/installreferrer/api/InstallReferrerClient;)Lcom/android/installreferrer/api/InstallReferrerClient; .locals 0 .line 61 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_referrerClient:Lcom/android/installreferrer/api/InstallReferrerClient; return-object p1 .end method .method public static synthetic access$800(Lcom/ea/nimble/ApplicationEnvironmentImpl;Ljava/lang/String;Ljava/lang/String;JJ)V .locals 0 .line 61 invoke-direct/range {p0 .. p6}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->setAttributionData(Ljava/lang/String;Ljava/lang/String;JJ)V return-void .end method .method private static commandExists(Ljava/lang/String;)Z .locals 6 const-string v0, "BaseCore" .line 659 invoke-static {v0}, Lcom/ea/nimble/Log$Helper;->LOGFUNCS(Ljava/lang/String;)V const-string v0, "PATH" .line 660 invoke-static {v0}, Ljava/lang/System;->getenv(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 665 :cond_0 sget-object v2, Ljava/io/File;->pathSeparator:Ljava/lang/String; invoke-static {v2}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; move-result-object v0 .line 666 array-length v2, v0 move v3, v1 :goto_0 if-ge v3, v2, :cond_2 aget-object v4, v0, v3 .line 668 new-instance v5, Ljava/io/File; invoke-direct {v5, v4, p0}, Ljava/io/File;->(Ljava/lang/String;Ljava/lang/String;)V .line 669 invoke-virtual {v5}, Ljava/io/File;->exists()Z move-result v4 if-eqz v4, :cond_1 const/4 p0, 0x1 return p0 :cond_1 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_2 return v1 .end method .method private generateParameterDictionary()Ljava/util/Map; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/String;", ">;" } .end annotation .line 145 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 146 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V iget-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_androidId:Ljava/lang/String; .line 148 invoke-static {v1}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_0 iget-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; .line 150 invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v1 const-string v2, "android_id" invoke-static {v1, v2}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lcom/ea/nimble/Utility;->safeString(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 iput-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_androidId:Ljava/lang/String; :cond_0 const-string v1, "androidId" iget-object v2, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_androidId:Ljava/lang/String; .line 152 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "systemName" const-string v2, "Android" .line 153 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "systemVersion" .line 154 sget-object v2, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "platform" const-string v2, "android" .line 155 invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "deviceCodename" .line 156 sget-object v2, Landroid/os/Build;->DEVICE:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "deviceModel" .line 157 sget-object v2, Landroid/os/Build;->MODEL:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "deviceProduct" .line 158 sget-object v2, Landroid/os/Build;->PRODUCT:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "deviceBrand" .line 159 sget-object v2, Landroid/os/Build;->BRAND:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "deviceManufacturer" .line 160 sget-object v2, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; iget-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; const-string v2, "activity" .line 162 invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/app/ActivityManager; .line 163 new-instance v2, Landroid/app/ActivityManager$MemoryInfo; invoke-direct {v2}, Landroid/app/ActivityManager$MemoryInfo;->()V .line 164 invoke-virtual {v1, v2}, Landroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V iget-wide v1, v2, Landroid/app/ActivityManager$MemoryInfo;->totalMem:J .line 165 invoke-static {v1, v2}, Ljava/lang/String;->valueOf(J)Ljava/lang/String; move-result-object v1 const-string v2, "deviceMemory" invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 167 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v1 invoke-virtual {v1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lcom/ea/nimble/Utility;->safeString(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v2, "deviceLanguage" invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 168 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v1 invoke-virtual {v1}, Ljava/util/Locale;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lcom/ea/nimble/Utility;->safeString(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v2, "deviceLocale" invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "," .line 172 sget-object v2, Landroid/os/Build;->SUPPORTED_ABIS:[Ljava/lang/String; invoke-static {v1, v2}, Landroid/text/TextUtils;->join(Ljava/lang/CharSequence;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 const-string v2, "deviceAbis" invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 181 invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Runtime;->availableProcessors()I move-result v1 invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v1 const-string v2, "cpuCoreCount" invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "cpuChipset" .line 182 sget-object v2, Landroid/os/Build;->BOARD:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 184 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v1 invoke-virtual {v1}, Ljava/util/Locale;->getCountry()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lcom/ea/nimble/Utility;->safeString(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v2, "countryCode" invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 187 invoke-direct {p0, v0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->setDisplayParameters(Ljava/util/HashMap;)V return-object v0 .end method .method public static getCurrentActivity()Landroid/app/Activity; .locals 1 sget-object v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->s_currentActivity:Landroid/app/Activity; return-object v0 .end method .method private getDeviceLanguage()Ljava/lang/String; .locals 1 .line 447 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 448 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v0 invoke-virtual {v0}, Ljava/util/Locale;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public static isMainApplicationActive()Z .locals 1 sget-boolean v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->isMainApplicationActive:Z return v0 .end method .method public static isMainApplicationRunning()Z .locals 1 sget-boolean v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->isMainApplicationRunning:Z return v0 .end method .method private requestAttributionData()V .locals 10 .line 1265 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V const-string v0, "com.ea.nimble.applicationEnvironment" .line 1267 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-string v1, "attributionData" .line 1268 invoke-virtual {v0, v1}, Lcom/ea/nimble/Persistence;->getStringValue(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const/4 v2, 0x0 if-eqz v0, :cond_0 .line 1271 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "requestAttributionData(): Google Play Referrer data found in persistance.\nData = " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 new-array v2, v2, [Ljava/lang/Object; invoke-static {p0, v3, v2}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v2, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_parameters:Ljava/util/Map; .line 1272 invoke-interface {v2, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-void .line 1276 :cond_0 invoke-static {}, Lcom/ea/nimble/Network;->getComponent()Lcom/ea/nimble/INetwork; move-result-object v0 invoke-interface {v0}, Lcom/ea/nimble/INetwork;->getStatus()Lcom/ea/nimble/Network$Status; move-result-object v0 sget-object v1, Lcom/ea/nimble/Network$Status;->OK:Lcom/ea/nimble/Network$Status; if-eq v0, v1, :cond_1 const-string v0, "requestAttributionData(): NetworkStatus is NOT OK. We\'ll retry later." new-array v1, v2, [Ljava/lang/Object; .line 1278 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 1280 new-instance v0, Lcom/ea/nimble/ApplicationEnvironmentImpl$8; invoke-direct {v0, p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl$8;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;)V iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_attributionDataNetworkListener:Landroid/content/BroadcastReceiver; const-string v1, "nimble.notification.networkStatusChange" .line 1294 invoke-static {v1, v0}, Lcom/ea/nimble/Utility;->registerReceiver(Ljava/lang/String;Landroid/content/BroadcastReceiver;)V return-void :cond_1 :try_start_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; .line 1300 invoke-static {v0}, Lcom/android/installreferrer/api/InstallReferrerClient;->newBuilder(Landroid/content/Context;)Lcom/android/installreferrer/api/InstallReferrerClient$Builder; move-result-object v0 invoke-virtual {v0}, Lcom/android/installreferrer/api/InstallReferrerClient$Builder;->build()Lcom/android/installreferrer/api/InstallReferrerClient; move-result-object v0 iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_referrerClient:Lcom/android/installreferrer/api/InstallReferrerClient; .line 1301 new-instance v1, Lcom/ea/nimble/ApplicationEnvironmentImpl$9; invoke-direct {v1, p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl$9;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;)V invoke-virtual {v0, v1}, Lcom/android/installreferrer/api/InstallReferrerClient;->startConnection(Lcom/android/installreferrer/api/InstallReferrerStateListener;)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception v0 .line 1370 invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v1 filled-new-array {v1}, [Ljava/lang/Object; move-result-object v1 const-string v2, "requestAttributionData(): Failed to start Install Referrer connection.\n" invoke-static {p0, v2, v1}, Lcom/ea/nimble/Log$Helper;->LOGW(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 1371 invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String; move-result-object v4 const-string v5, "" const-wide/16 v6, 0x0 const-wide/16 v8, 0x0 move-object v3, p0 invoke-direct/range {v3 .. v9}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->setAttributionData(Ljava/lang/String;Ljava/lang/String;JJ)V :goto_0 return-void .end method .method private retrieveAdvertisingIdImpl(Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;)V .locals 3 .line 910 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V const/4 v0, 0x0 .line 913 :try_start_0 sget v1, Lcom/google/android/gms/common/GooglePlayServicesNotAvailableException;->$r8$clinit:I :try_end_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 .line 927 monitor-enter p0 :try_start_1 iget-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingIdCallbacks:Ljava/util/List; if-eqz v1, :cond_1 if-eqz p1, :cond_0 .line 934 invoke-interface {v1, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_0 :catchall_0 move-exception p1 goto :goto_3 .line 936 :cond_0 :goto_0 monitor-exit p0 return-void .line 938 :cond_1 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V iput-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingIdCallbacks:Ljava/util/List; if-eqz p1, :cond_2 .line 941 invoke-interface {v1, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 943 :cond_2 monitor-exit p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 950 new-instance p1, Lcom/ea/nimble/ApplicationEnvironmentImpl$4; invoke-direct {p1, p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl$4;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;)V .line 1046 new-instance v1, Ljava/lang/Thread; invoke-direct {v1, p1}, Ljava/lang/Thread;->(Ljava/lang/Runnable;)V .line 1051 :try_start_2 invoke-virtual {v1}, Ljava/lang/Thread;->start()V :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 goto :goto_2 :catchall_1 const-string p1, "APP_ENV: Cannot get Google Advertising ID because this device is not supported" new-array v1, v0, [Ljava/lang/Object; .line 1055 invoke-static {p0, p1, v1}, Lcom/ea/nimble/Log$Helper;->LOGW(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 1058 monitor-enter p0 :try_start_3 const-string p1, "" iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingId:Ljava/lang/String; iget-boolean p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_limitAdTrackingEnabled:Z iget-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingIdCallbacks:Ljava/util/List; const/4 v2, 0x0 iput-object v2, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingIdCallbacks:Ljava/util/List; .line 1064 monitor-exit p0 :try_end_3 .catchall {:try_start_3 .. :try_end_3} :catchall_2 if-nez v1, :cond_3 const-string p1, "m_advertisingIdCallbacks was null after trying to refresh advertising ID, something is wrong" new-array v0, v0, [Ljava/lang/Object; .line 1068 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGW(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_2 .line 1072 :cond_3 invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_1 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_4 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback; const-string v2, "" .line 1074 invoke-interface {v1, v2, p1}, Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;->onCallback(Ljava/lang/String;Z)V goto :goto_1 :cond_4 :goto_2 return-void :catchall_2 move-exception p1 .line 1064 :try_start_4 monitor-exit p0 :try_end_4 .catchall {:try_start_4 .. :try_end_4} :catchall_2 throw p1 .line 943 :goto_3 :try_start_5 monitor-exit p0 :try_end_5 .catchall {:try_start_5 .. :try_end_5} :catchall_0 throw p1 :catch_0 const-string v1, "APP_ENV: Cannot get Google Advertising ID because this device is not using google play services" new-array v0, v0, [Ljava/lang/Object; .line 919 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGW(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const-string v0, "" iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingId:Ljava/lang/String; if-eqz p1, :cond_5 iget-boolean v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_limitAdTrackingEnabled:Z .line 923 invoke-interface {p1, v0, v1}, Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;->onCallback(Ljava/lang/String;Z)V :cond_5 return-void .end method .method private setApplicationLanguageCode(Ljava/lang/String;Z)V .locals 1 .line 406 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 407 invoke-direct {p0, p1, p2}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->validatedLanguageCode(Ljava/lang/String;Z)Ljava/lang/String; move-result-object p1 if-nez p1, :cond_0 return-void :cond_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; if-eqz v0, :cond_1 .line 415 invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 if-eqz p2, :cond_2 iget-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string p2, "Setting the same language %s, skipping assignment" .line 419 invoke-static {p0, p2, p1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void :cond_1 iput-object p1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; const-string v0, "Successfully set language to %s." filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 .line 426 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGI(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const-string p1, "nimble.notification.languageChange" .line 427 invoke-static {p1}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;)V :cond_2 if-nez p2, :cond_4 const-string p1, "com.ea.nimble.applicationEnvironment" .line 432 sget-object p2, Lcom/ea/nimble/Persistence$Storage;->DOCUMENT:Lcom/ea/nimble/Persistence$Storage; invoke-static {p1, p2}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence; move-result-object p1 const/4 p2, 0x0 if-eqz p1, :cond_3 const-string v0, "Saving language data to persistence." new-array p2, p2, [Ljava/lang/Object; .line 435 invoke-static {p0, v0, p2}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const-string p2, "language" iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; .line 436 invoke-virtual {p1, p2, v0}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V goto :goto_0 :cond_3 const-string p1, "Could not get application environment persistence object to save to." new-array p2, p2, [Ljava/lang/Object; .line 440 invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :cond_4 :goto_0 return-void .end method .method private setAttributionData(Ljava/lang/String;Ljava/lang/String;JJ)V .locals 7 const-string v0, "nimble.notification.attributionDataAvailable" const-string v1, "com.ea.nimble.applicationEnvironment" const-string v2, "setAttributionData(): Attribution Data = " const-string v3, "attributionData" .line 1377 new-instance v4, Lorg/json/JSONObject; invoke-direct {v4}, Lorg/json/JSONObject;->()V const/4 v5, 0x0 :try_start_0 const-string v6, "status" .line 1381 invoke-static {p1}, Lcom/ea/nimble/Utility;->safeString(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 invoke-virtual {v4, v6, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; const-string p1, "referrer" .line 1382 invoke-static {p2}, Lcom/ea/nimble/Utility;->safeString(Ljava/lang/String;)Ljava/lang/String; move-result-object p2 invoke-virtual {v4, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; const-string p1, "install_begin_time" .line 1383 invoke-virtual {v4, p1, p3, p4}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject; const-string p1, "referrer_click_time" .line 1384 invoke-virtual {v4, p1, p5, p6}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject; :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 1392 invoke-virtual {v4}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object p1 .line 1393 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 new-array p3, v5, [Ljava/lang/Object; invoke-static {p0, p2, p3}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_0 iget-object p2, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_parameters:Ljava/util/Map; .line 1395 invoke-interface {p2, v3, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 1397 sget-object p2, Lcom/ea/nimble/Persistence$Storage;->CACHE:Lcom/ea/nimble/Persistence$Storage; invoke-static {v1, p2}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence; move-result-object p2 .line 1398 invoke-virtual {p2, v3, p1}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V .line 1400 invoke-static {v0}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;)V goto :goto_1 :catchall_0 move-exception p1 goto :goto_2 :catch_0 move-exception p1 .line 1388 :try_start_1 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string p3, "setAttributionData(): Failed with exception. " invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 new-array p2, v5, [Ljava/lang/Object; invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 1392 invoke-virtual {v4}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object p1 .line 1393 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 new-array p3, v5, [Ljava/lang/Object; invoke-static {p0, p2, p3}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :goto_1 return-void .line 1392 :goto_2 invoke-virtual {v4}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object p2 .line 1393 new-instance p3, Ljava/lang/StringBuilder; invoke-direct {p3}, Ljava/lang/StringBuilder;->()V invoke-virtual {p3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p3 new-array p4, v5, [Ljava/lang/Object; invoke-static {p0, p3, p4}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object p3, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_parameters:Ljava/util/Map; .line 1395 invoke-interface {p3, v3, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 1397 sget-object p3, Lcom/ea/nimble/Persistence$Storage;->CACHE:Lcom/ea/nimble/Persistence$Storage; invoke-static {v1, p3}, Lcom/ea/nimble/PersistenceService;->getPersistenceForNimbleComponent(Ljava/lang/String;Lcom/ea/nimble/Persistence$Storage;)Lcom/ea/nimble/Persistence; move-result-object p3 .line 1398 invoke-virtual {p3, v3, p2}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V .line 1400 invoke-static {v0}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;)V .line 1401 throw p1 .end method .method public static setCurrentActivity(Landroid/app/Activity;)V .locals 1 const/4 v0, 0x1 sput-boolean v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->isMainApplicationRunning:Z sput-object p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->s_currentActivity:Landroid/app/Activity; return-void .end method .method private setDisplayParameters(Ljava/util/HashMap;)V .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/HashMap<", "Ljava/lang/String;", "Ljava/lang/String;", ">;)V" } .end annotation iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; const-string v1, "window" .line 195 invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/view/WindowManager; invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object v0 iget-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; .line 196 invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v1 invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v1 .line 197 invoke-virtual {v0, v1}, Landroid/view/Display;->getRealMetrics(Landroid/util/DisplayMetrics;)V .line 199 iget v0, v1, Landroid/util/DisplayMetrics;->widthPixels:I invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v0 const-string v2, "displayWidth" invoke-virtual {p1, v2, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 200 iget v0, v1, Landroid/util/DisplayMetrics;->heightPixels:I invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v0 const-string v2, "displayHeight" invoke-virtual {p1, v2, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 201 iget v0, v1, Landroid/util/DisplayMetrics;->density:F invoke-static {v0}, Ljava/lang/String;->valueOf(F)Ljava/lang/String; move-result-object v0 const-string v1, "displayDensity" invoke-virtual {p1, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-void .end method .method private validatedLanguageCode(Ljava/lang/String;Z)Ljava/lang/String; .locals 6 .line 348 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 349 invoke-static {p1}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result p2 const/4 v0, 0x0 if-nez p2, :cond_0 const-string p1, "AppEnv: Language parameter is null or empty; keeping language at previous value." new-array p2, v0, [Ljava/lang/Object; .line 351 invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGI(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const/4 p1, 0x0 return-object p1 :cond_0 const/16 p2, 0x5f const/16 v1, 0x2d .line 354 invoke-virtual {p1, p2, v1}, Ljava/lang/String;->replace(CC)Ljava/lang/String; move-result-object p1 const-string p2, "^([a-z]{2,3})?(-([A-Z][a-z]{3}))?(-([A-Z]{2}))?(-.*)*$" .line 355 invoke-static {p2}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object p2 .line 356 invoke-virtual {p2, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; move-result-object p2 .line 357 invoke-virtual {p2}, Ljava/util/regex/Matcher;->find()Z move-result v1 if-eqz v1, :cond_6 const/4 v1, 0x1 .line 360 invoke-virtual {p2, v1}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String; move-result-object v1 .line 361 invoke-static {v1}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result v2 const-string v3, "; backend system will likely treat it as en-US." const-string v4, " in language code " if-eqz v2, :cond_4 const-string v2, "iw" .line 363 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_1 const-string v1, "he" goto :goto_0 :cond_1 const-string v2, "in" .line 367 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_2 const-string v1, "id" goto :goto_0 :cond_2 const-string v2, "ji" .line 371 invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_3 const-string v1, "yi" .line 375 :cond_3 :goto_0 invoke-static {}, Ljava/util/Locale;->getISOLanguages()[Ljava/lang/String; move-result-object v2 .line 376 invoke-static {v2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object v2 invoke-interface {v2, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_4 .line 378 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v5, "Unknown language code " invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 new-array v2, v0, [Ljava/lang/Object; invoke-static {p0, v1, v2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :cond_4 const/4 v1, 0x5 .line 382 invoke-virtual {p2, v1}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String; move-result-object p2 .line 383 invoke-static {p2}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_5 .line 385 invoke-static {}, Ljava/util/Locale;->getISOCountries()[Ljava/lang/String; move-result-object v1 .line 386 invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object v1 invoke-interface {v1, p2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_5 .line 388 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Unknown region code " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 new-array v0, v0, [Ljava/lang/Object; invoke-static {p0, p2, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :cond_5 return-object p1 .line 393 :cond_6 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string v1, "Malformed language code " invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, " cannot be validated; backend system will likely treat it as en-US." invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 new-array v0, v0, [Ljava/lang/Object; invoke-static {p0, p2, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-object p1 .end method # virtual methods .method public getAdvertisingId()Ljava/lang/String; .locals 1 .line 847 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingId:Ljava/lang/String; return-object v0 .end method .method public getAgeCompliance()I .locals 8 .line 680 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V const-string v0, "com.ea.nimble.applicationEnvironment" .line 681 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, "timeRetrieved" .line 685 invoke-virtual {v0, v2}, Lcom/ea/nimble/Persistence;->getValue(Ljava/lang/String;)Ljava/io/Serializable; move-result-object v2 goto :goto_0 :cond_0 const/4 v2, 0x0 new-array v2, v2, [Ljava/lang/Object; const-string v3, "Could not get persistence object" .line 689 invoke-static {p0, v3, v2}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V move-object v2, v1 :goto_0 const/4 v3, -0x1 if-eqz v2, :cond_2 .line 694 new-instance v4, Ljava/util/Date; invoke-direct {v4}, Ljava/util/Date;->()V invoke-virtual {v4}, Ljava/util/Date;->getTime()J move-result-wide v4 check-cast v2, Ljava/lang/Long; invoke-virtual {v2}, Ljava/lang/Long;->longValue()J move-result-wide v6 sub-long/2addr v4, v6 long-to-int v2, v4 const v4, 0x36ee80 div-int/2addr v2, v4 const/16 v4, 0x18 if-le v2, v4, :cond_1 const-string v0, "getAgeCompliance- Stored value is older than 24 hours. Call refreshAgeCompliance to retrieve minAgeCompliance" filled-new-array {v1}, [Ljava/lang/Object; move-result-object v1 .line 697 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGI(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return v3 :cond_1 const-string v1, "ageRequirement" .line 700 invoke-virtual {v0, v1}, Lcom/ea/nimble/Persistence;->getValue(Ljava/lang/String;)Ljava/io/Serializable; move-result-object v0 check-cast v0, Ljava/lang/Integer; invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I move-result v0 return v0 :cond_2 const-string v0, "getAgeCompliance- No stored value in persistance. Call refreshAgeCompliance to retrieve minAgeCompliance." filled-new-array {v1}, [Ljava/lang/Object; move-result-object v1 .line 704 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGI(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return v3 .end method .method public getAndroidId()Ljava/lang/String; .locals 1 .line 865 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_androidId:Ljava/lang/String; return-object v0 .end method .method public getApplicationBundleId()Ljava/lang/String; .locals 2 .line 539 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_packageId:Ljava/lang/String; if-nez v0, :cond_0 .line 542 invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getApplicationContext()Landroid/content/Context; move-result-object v0 if-eqz v0, :cond_0 .line 545 invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_packageId:Ljava/lang/String; const-string v0, "NimbleBundleIdOverride" .line 548 invoke-static {v0}, Lcom/ea/nimble/NimbleApplicationConfiguration;->configValueExists(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_0 .line 550 invoke-static {v0}, Lcom/ea/nimble/NimbleApplicationConfiguration;->getConfigValueAsString(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 551 invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z move-result v1 if-nez v1, :cond_0 iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_packageId:Ljava/lang/String; :cond_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_packageId:Ljava/lang/String; return-object v0 .end method .method public getApplicationContext()Landroid/content/Context; .locals 1 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; return-object v0 .end method .method public getApplicationLanguageCode()Ljava/lang/String; .locals 1 .line 327 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; return-object v0 .end method .method public getApplicationName()Ljava/lang/String; .locals 3 .line 614 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 615 invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getApplicationContext()Landroid/content/Context; move-result-object v0 const/4 v1, 0x0 if-nez v0, :cond_0 return-object v1 .line 621 :cond_0 invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object v2 if-eqz v2, :cond_1 .line 624 invoke-virtual {v0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; move-result-object v0 invoke-virtual {v2, v0}, Landroid/content/pm/PackageManager;->getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence; move-result-object v0 invoke-interface {v0}, Ljava/lang/CharSequence;->toString()Ljava/lang/String; move-result-object v0 return-object v0 :cond_1 return-object v1 .end method .method public getApplicationVersion()Ljava/lang/String; .locals 1 .line 309 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_version:Ljava/lang/String; if-nez v0, :cond_0 const/4 v0, 0x0 .line 314 invoke-static {v0}, Lcom/ea/nimble/Utility;->getPackageInfo(I)Landroid/content/pm/PackageInfo; move-result-object v0 if-eqz v0, :cond_0 .line 317 iget-object v0, v0, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String; iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_version:Ljava/lang/String; :cond_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_version:Ljava/lang/String; return-object v0 .end method .method public getCachePath()Ljava/lang/String; .locals 3 .line 482 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 484 invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getApplicationContext()Landroid/content/Context; move-result-object v0 if-nez v0, :cond_0 .line 489 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "user.dir" invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; sget-object v1, Ljava/io/File;->separator:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "cache" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 goto :goto_0 .line 493 :cond_0 invoke-virtual {v0}, Landroid/content/Context;->getCacheDir()Ljava/io/File; move-result-object v0 if-eqz v0, :cond_1 .line 496 invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String; move-result-object v0 .line 504 :goto_0 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; sget-object v0, Ljava/io/File;->separator:Ljava/lang/String; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, "Nimble" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_core:Lcom/ea/nimble/BaseCore; invoke-virtual {v0}, Lcom/ea/nimble/BaseCore;->getConfiguration()Lcom/ea/nimble/NimbleConfiguration; move-result-object v0 invoke-virtual {v0}, Lcom/ea/nimble/NimbleConfiguration;->toString()Ljava/lang/String; move-result-object v0 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 :cond_1 const/4 v0, 0x0 new-array v0, v0, [Ljava/lang/Object; const-string v1, "Could not build cache path" .line 500 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x0 return-object v0 .end method .method public getCarrier()Ljava/lang/String; .locals 3 .line 517 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 518 invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getApplicationContext()Landroid/content/Context; move-result-object v0 const/4 v1, 0x0 if-nez v0, :cond_0 return-object v1 :cond_0 const-string v2, "phone" .line 524 invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/telephony/TelephonyManager; if-eqz v0, :cond_1 .line 527 invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String; move-result-object v0 return-object v0 :cond_1 const/4 v0, 0x0 new-array v0, v0, [Ljava/lang/Object; const-string v2, "Could not retrieve telephony service" .line 531 invoke-static {p0, v2, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-object v1 .end method .method public getComponentId()Ljava/lang/String; .locals 1 const-string v0, "com.ea.nimble.applicationEnvironment" return-object v0 .end method .method public getCurrencyCode()Ljava/lang/String; .locals 2 .line 800 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V const-string v0, "" .line 804 :try_start_0 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v1 invoke-static {v1}, Ljava/util/Currency;->getInstance(Ljava/util/Locale;)Ljava/util/Currency; move-result-object v1 if-eqz v1, :cond_0 .line 807 invoke-virtual {v1}, Ljava/util/Currency;->toString()Ljava/lang/String; move-result-object v0 :try_end_0 .catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0 :catch_0 :cond_0 return-object v0 .end method .method public getDeviceBrand()Ljava/lang/String; .locals 1 .line 593 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 594 sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String; return-object v0 .end method .method public getDeviceCodename()Ljava/lang/String; .locals 1 .line 572 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 573 sget-object v0, Landroid/os/Build;->DEVICE:Ljava/lang/String; return-object v0 .end method .method public getDeviceFingerprint()Ljava/lang/String; .locals 1 .line 600 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 601 sget-object v0, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String; return-object v0 .end method .method public getDeviceManufacturer()Ljava/lang/String; .locals 1 .line 579 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 580 sget-object v0, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String; return-object v0 .end method .method public getDeviceModel()Ljava/lang/String; .locals 1 .line 586 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 587 sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String; return-object v0 .end method .method public getDeviceString()Ljava/lang/String; .locals 2 .line 565 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 566 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V sget-object v1, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getDocumentPath()Ljava/lang/String; .locals 3 .line 454 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 456 invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getApplicationContext()Landroid/content/Context; move-result-object v0 if-nez v0, :cond_0 .line 461 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "user.dir" invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; sget-object v1, Ljava/io/File;->separator:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "doc" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 goto :goto_0 .line 465 :cond_0 invoke-virtual {v0}, Landroid/content/Context;->getFilesDir()Ljava/io/File; move-result-object v0 if-eqz v0, :cond_1 .line 468 invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String; move-result-object v0 .line 476 :goto_0 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; sget-object v0, Ljava/io/File;->separator:Ljava/lang/String; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, "Nimble" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_core:Lcom/ea/nimble/BaseCore; invoke-virtual {v0}, Lcom/ea/nimble/BaseCore;->getConfiguration()Lcom/ea/nimble/NimbleConfiguration; move-result-object v0 invoke-virtual {v0}, Lcom/ea/nimble/NimbleConfiguration;->toString()Ljava/lang/String; move-result-object v0 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 :cond_1 const/4 v0, 0x0 new-array v0, v0, [Ljava/lang/Object; const-string v1, "Could not build files path" .line 472 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x0 return-object v0 .end method .method public getGameSpecifiedPlayerId()Ljava/lang/String; .locals 2 .line 1150 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_playerIdMap:Ljava/util/Map; if-eqz v0, :cond_0 const-string v1, "gamePlayerId" .line 1153 invoke-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/String; return-object v0 :cond_0 const/4 v0, 0x0 return-object v0 .end method .method public getGoogleAdvertisingId()Ljava/lang/String; .locals 1 .line 853 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 854 invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getAdvertisingId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getIadAttribution()Z .locals 1 .line 1197 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V const/4 v0, 0x0 return v0 .end method .method public getLogSourceTitle()Ljava/lang/String; .locals 1 const-string v0, "AppEnv" return-object v0 .end method .method public getOsVersion()Ljava/lang/String; .locals 1 .line 607 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V sget v0, Landroid/os/Build$VERSION;->SDK_INT:I .line 608 invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getParameter(Ljava/lang/String;)Ljava/lang/String; .locals 1 .line 1208 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 1209 monitor-enter p0 :try_start_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_parameters:Ljava/util/Map; .line 1211 invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/lang/String; monitor-exit p0 return-object p1 :catchall_0 move-exception p1 .line 1212 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method .method public getPlayerIdMap()Ljava/util/Map; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/String;", ">;" } .end annotation .line 1089 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_playerIdMap:Ljava/util/Map; return-object v0 .end method .method public getShortApplicationLanguageCode()Ljava/lang/String; .locals 3 .line 334 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; if-eqz v0, :cond_0 const/16 v1, 0x2d .line 337 invoke-virtual {v0, v1}, Ljava/lang/String;->indexOf(I)I move-result v0 const/4 v1, -0x1 if-eq v0, v1, :cond_0 iget-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; const/4 v2, 0x0 .line 340 invoke-virtual {v1, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v0 return-object v0 :cond_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; return-object v0 .end method .method public getTempPath()Ljava/lang/String; .locals 2 .line 510 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 511 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getCachePath()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; sget-object v1, Ljava/io/File;->separator:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "temp" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public isAppCracked()Z .locals 4 .line 635 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V const/4 v0, 0x0 new-array v1, v0, [Ljava/lang/Object; const-string v2, "FraudDetection" const-string v3, "Returning false for isAppCracked() since it hasn\'t been implemented yet" .line 637 invoke-static {v2, v3, v1}, Lcom/ea/nimble/Log$Helper;->LOGDS(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V return v0 .end method .method public isDeviceRooted()Z .locals 3 .line 644 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 645 sget-object v0, Landroid/os/Build;->TAGS:Ljava/lang/String; const/4 v1, 0x1 if-eqz v0, :cond_0 const-string v2, "test-keys" .line 646 invoke-virtual {v0, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_0 return v1 .line 650 :cond_0 new-instance v0, Ljava/io/File; const-string v2, "/system/app/Superuser.apk" invoke-direct {v0, v2}, Ljava/io/File;->(Ljava/lang/String;)V invoke-virtual {v0}, Ljava/io/File;->exists()Z move-result v0 if-eqz v0, :cond_1 return v1 :cond_1 const-string v0, "su" .line 654 invoke-static {v0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->commandExists(Ljava/lang/String;)Z move-result v0 return v0 .end method .method public isLimitAdTrackingEnabled()Z .locals 1 .line 879 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-boolean v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_limitAdTrackingEnabled:Z return v0 .end method .method public refreshAgeCompliance()V .locals 5 .line 712 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 713 invoke-static {}, Lcom/ea/nimble/Network;->getComponent()Lcom/ea/nimble/INetwork; move-result-object v0 .line 714 invoke-interface {v0}, Lcom/ea/nimble/INetwork;->getStatus()Lcom/ea/nimble/Network$Status; move-result-object v0 sget-object v1, Lcom/ea/nimble/Network$Status;->OK:Lcom/ea/nimble/Network$Status; if-eq v0, v1, :cond_1 const/4 v0, 0x0 new-array v0, v0, [Ljava/lang/Object; const-string v1, "Adding network observer for age compliance refresh" .line 716 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_networkListener:Landroid/content/BroadcastReceiver; if-nez v0, :cond_0 .line 719 new-instance v0, Lcom/ea/nimble/ApplicationEnvironmentImpl$1; invoke-direct {v0, p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl$1;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;)V iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_networkListener:Landroid/content/BroadcastReceiver; const-string v1, "nimble.notification.networkStatusChange" .line 729 invoke-static {v1, v0}, Lcom/ea/nimble/Utility;->registerReceiver(Ljava/lang/String;Landroid/content/BroadcastReceiver;)V :cond_0 return-void .line 734 :cond_1 new-instance v0, Lcom/ea/nimble/ApplicationEnvironmentImpl$2; invoke-direct {v0, p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl$2;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;)V .line 743 new-instance v1, Lcom/ea/nimble/ApplicationEnvironmentImpl$3; invoke-direct {v1, p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl$3;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;)V .line 793 new-instance v2, Lcom/ea/nimble/SynergyRequest; const-string v3, "/rest/agerequirements/ip" sget-object v4, Lcom/ea/nimble/IHttpRequest$Method;->GET:Lcom/ea/nimble/IHttpRequest$Method; invoke-direct {v2, v3, v4, v0}, Lcom/ea/nimble/SynergyRequest;->(Ljava/lang/String;Lcom/ea/nimble/IHttpRequest$Method;Lcom/ea/nimble/SynergyRequest$SynergyRequestPreparingCallback;)V .line 794 invoke-static {}, Lcom/ea/nimble/SynergyNetwork;->getComponent()Lcom/ea/nimble/ISynergyNetwork; move-result-object v0 invoke-interface {v0, v2, v1}, Lcom/ea/nimble/ISynergyNetwork;->sendRequest(Lcom/ea/nimble/SynergyRequest;Lcom/ea/nimble/SynergyNetworkConnectionCallback;)V return-void .end method .method public requestIntegrityToken(Ljava/lang/String;Lcom/ea/nimble/IApplicationEnvironment$IntegrityTokenCallback;)V .locals 4 .line 1218 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 1222 :try_start_0 invoke-virtual {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getApplicationContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Lcom/google/android/play/core/integrity/IntegrityManagerFactory;->create(Landroid/content/Context;)Lcom/google/android/play/core/integrity/IntegrityManager; move-result-object v0 .line 1224 invoke-static {}, Lcom/google/android/play/core/integrity/IntegrityTokenRequest;->builder()Lcom/google/android/play/core/integrity/IntegrityTokenRequest$Builder; move-result-object v1 .line 1225 invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B move-result-object p1 const/16 v2, 0xa invoke-static {p1, v2}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String; move-result-object p1 invoke-virtual {v1, p1}, Lcom/google/android/play/core/integrity/IntegrityTokenRequest$Builder;->setNonce(Ljava/lang/String;)Lcom/google/android/play/core/integrity/IntegrityTokenRequest$Builder; move-result-object p1 .line 1226 invoke-virtual {p1}, Lcom/google/android/play/core/integrity/IntegrityTokenRequest$Builder;->build()Lcom/google/android/play/core/integrity/IntegrityTokenRequest; move-result-object p1 .line 1223 invoke-interface {v0, p1}, Lcom/google/android/play/core/integrity/IntegrityManager;->requestIntegrityToken(Lcom/google/android/play/core/integrity/IntegrityTokenRequest;)Lcom/google/android/gms/tasks/Task; move-result-object p1 .line 1228 new-instance v0, Lcom/ea/nimble/ApplicationEnvironmentImpl$7; invoke-direct {v0, p0, p2}, Lcom/ea/nimble/ApplicationEnvironmentImpl$7;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;Lcom/ea/nimble/IApplicationEnvironment$IntegrityTokenCallback;)V invoke-virtual {p1, v0}, Lcom/google/android/gms/tasks/Task;->addOnSuccessListener(Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task; move-result-object p1 new-instance v0, Lcom/ea/nimble/ApplicationEnvironmentImpl$6; invoke-direct {v0, p0, p2}, Lcom/ea/nimble/ApplicationEnvironmentImpl$6;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;Lcom/ea/nimble/IApplicationEnvironment$IntegrityTokenCallback;)V .line 1236 invoke-virtual {p1, v0}, Lcom/google/android/gms/tasks/Task;->addOnFailureListener(Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task; move-result-object p1 new-instance v0, Lcom/ea/nimble/ApplicationEnvironmentImpl$5; invoke-direct {v0, p0, p2}, Lcom/ea/nimble/ApplicationEnvironmentImpl$5;->(Lcom/ea/nimble/ApplicationEnvironmentImpl;Lcom/ea/nimble/IApplicationEnvironment$IntegrityTokenCallback;)V .line 1244 invoke-virtual {p1, v0}, Lcom/google/android/gms/tasks/Task;->addOnCanceledListener(Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task; :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return-void :catch_0 move-exception p1 .line 1256 invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "requestIntegrityToken() resulted in exception\nCause:%s" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGW(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 1257 new-instance v0, Lcom/ea/nimble/Error; sget-object v2, Lcom/ea/nimble/Error$Code;->NOT_AVAILABLE:Lcom/ea/nimble/Error$Code; invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String; move-result-object v3 filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v1, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 invoke-direct {v0, v2, v1, p1}, Lcom/ea/nimble/Error;->(Lcom/ea/nimble/Error$Code;Ljava/lang/String;Ljava/lang/Throwable;)V const/4 p1, 0x0 .line 1258 invoke-interface {p2, p1, v0}, Lcom/ea/nimble/IApplicationEnvironment$IntegrityTokenCallback;->onCallback(Ljava/lang/String;Lcom/ea/nimble/Error;)V return-void .end method .method public restore()V .locals 7 const-string v0, "com.ea.nimble.applicationEnvironment" .line 247 sget-object v1, Lcom/ea/nimble/Persistence$Storage;->DOCUMENT: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-string v1, "ApplicationEnvironment" const/4 v2, 0x1 const/4 v3, 0x0 if-nez v0, :cond_0 .line 251 invoke-direct {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getDeviceLanguage()Ljava/lang/String; move-result-object v0 invoke-direct {p0, v0, v2}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->setApplicationLanguageCode(Ljava/lang/String;Z)V const-string v0, "Persistence is null - Couldn\'t read Game Specified Player ID or Language from Persistence" new-array v2, v3, [Ljava/lang/Object; .line 252 invoke-static {v1, v0, v2}, Lcom/ea/nimble/Log$Helper;->LOGWS(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :cond_0 const-string v4, "nimble_applicationenvironment_game_specified_id" .line 256 invoke-virtual {v0, v4}, Lcom/ea/nimble/Persistence;->getStringValue(Ljava/lang/String;)Ljava/lang/String; move-result-object v4 .line 259 invoke-static {v4}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result v5 if-eqz v5, :cond_1 const-string v5, "Current game specified player ID is empty, reload from persistence" new-array v6, v3, [Ljava/lang/Object; .line 261 invoke-static {v1, v5, v6}, Lcom/ea/nimble/Log$Helper;->LOGDS(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V const-string v1, "gamePlayerId" .line 262 invoke-virtual {p0, v1, v4}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->setPlayerId(Ljava/lang/String;Ljava/lang/String;)V :cond_1 const-string v1, "language" .line 265 invoke-virtual {v0, v1}, Lcom/ea/nimble/Persistence;->getStringValue(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 266 invoke-static {v0}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_2 iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_language:Ljava/lang/String; const-string v1, "Restored language %s from persistence." filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 .line 269 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :cond_2 const-string v0, "Unable to restore language from persistence. Setting language to device language." new-array v1, v3, [Ljava/lang/Object; .line 274 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 275 invoke-direct {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->getDeviceLanguage()Ljava/lang/String; move-result-object v0 invoke-direct {p0, v0, v2}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->setApplicationLanguageCode(Ljava/lang/String;Z)V .line 279 :goto_0 invoke-direct {p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->requestAttributionData()V return-void .end method .method public resume()V .locals 2 const/4 v0, 0x0 new-array v0, v0, [Ljava/lang/Object; const-string v1, "Setting application to active in resume" .line 237 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x1 sput-boolean v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->isMainApplicationActive:Z const/4 v0, 0x0 .line 240 invoke-direct {p0, v0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->retrieveAdvertisingIdImpl(Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;)V return-void .end method .method public retrieveAdvertisingId(Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;)V .locals 2 .line 889 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 892 monitor-enter p0 :try_start_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingId:Ljava/lang/String; iget-boolean v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_limitAdTrackingEnabled:Z .line 896 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v0, :cond_1 if-eqz p1, :cond_0 .line 901 invoke-interface {p1, v0, v1}, Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;->onCallback(Ljava/lang/String;Z)V :cond_0 return-void .line 905 :cond_1 invoke-direct {p0, p1}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->retrieveAdvertisingIdImpl(Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;)V return-void :catchall_0 move-exception p1 .line 896 :try_start_1 monitor-exit p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p1 .end method .method public setApplicationLanguageCode(Ljava/lang/String;)V .locals 1 .line 400 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V const/4 v0, 0x0 .line 401 invoke-direct {p0, p1, v0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->setApplicationLanguageCode(Ljava/lang/String;Z)V return-void .end method .method public setGameSpecifiedPlayerId(Ljava/lang/String;)V .locals 2 .line 1173 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V const-string v0, "gamePlayerId" .line 1174 invoke-virtual {p0, v0, p1}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->setPlayerId(Ljava/lang/String;Ljava/lang/String;)V const-string v0, "com.ea.nimble.applicationEnvironment" .line 1177 sget-object v1, Lcom/ea/nimble/Persistence$Storage;->DOCUMENT:Lcom/ea/nimble/Persistence$Storage; .line 1178 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 if-nez v0, :cond_0 const/4 p1, 0x0 new-array p1, p1, [Ljava/lang/Object; const-string v0, "ApplicationEnvironment" const-string v1, "Persistence is null - Couldn\'t save Game Specified Player ID to Persistence" .line 1182 invoke-static {v0, v1, p1}, Lcom/ea/nimble/Log$Helper;->LOGWS(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :cond_0 const-string v1, "nimble_applicationenvironment_game_specified_id" .line 1186 invoke-virtual {v0, v1, p1}, Lcom/ea/nimble/Persistence;->setValue(Ljava/lang/String;Ljava/io/Serializable;)V :goto_0 return-void .end method .method public setPlayerId(Ljava/lang/String;Ljava/lang/String;)V .locals 5 .line 1106 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 1107 invoke-static {p1}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_0 const-string p1, "setPlayerId: Empty/Null key" new-array p2, v1, [Ljava/lang/Object; .line 1109 invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGW(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void :cond_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_playerIdMap:Ljava/util/Map; .line 1113 invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/String; invoke-static {v0}, Lcom/ea/nimble/Utility;->safeString(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 1114 invoke-static {p2}, Lcom/ea/nimble/Utility;->safeString(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 .line 1117 invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 const-string v3, " = " const-string v4, "setPlayerId: [" if-nez v0, :cond_2 .line 1119 invoke-static {v2}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_playerIdMap:Ljava/util/Map; .line 1121 invoke-interface {v0, p1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 1122 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p1, "] success." invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 new-array p2, v1, [Ljava/lang/Object; invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 .line 1126 :cond_1 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string v0, "setPlayerId: Empty value. Removed entry for key " invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 new-array v0, v1, [Ljava/lang/Object; invoke-static {p0, p2, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object p2, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_playerIdMap:Ljava/util/Map; .line 1127 invoke-interface {p2, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; :goto_0 const-string p1, "nimble.notification.playerIdMapChange" .line 1129 invoke-static {p1}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;)V goto :goto_1 .line 1133 :cond_2 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p1, "] skipped. Same key/value exists or the new value is empty!" invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 new-array p2, v1, [Ljava/lang/Object; invoke-static {p0, p1, p2}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_1 return-void .end method .method public setup()V .locals 2 const/4 v0, 0x0 new-array v0, v0, [Ljava/lang/Object; const-string v1, "Setting application to active in setup" .line 221 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x1 sput-boolean v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->isMainApplicationActive:Z sget-object v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->s_currentActivity:Landroid/app/Activity; .line 223 invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object v0 iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; const/4 v0, 0x0 .line 225 invoke-direct {p0, v0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->retrieveAdvertisingIdImpl(Lcom/ea/nimble/IApplicationEnvironment$AdvertisingIdCalback;)V return-void .end method .method public suspend()V .locals 3 const/4 v0, 0x0 new-array v1, v0, [Ljava/lang/Object; const-string v2, "Setting application to NOT active in suspend" .line 285 invoke-static {p0, v2, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V sput-boolean v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->isMainApplicationActive:Z const/4 v0, 0x0 iput-object v0, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_advertisingId:Ljava/lang/String; return-void .end method .method public teardown()V .locals 3 const/4 v0, 0x0 new-array v1, v0, [Ljava/lang/Object; const-string v2, "Setting application to NOT active in teardown" .line 293 invoke-static {p0, v2, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const/4 v1, 0x0 iput-object v1, p0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->m_context:Landroid/content/Context; sput-boolean v0, Lcom/ea/nimble/ApplicationEnvironmentImpl;->isMainApplicationActive:Z return-void .end method