.class public Lcom/glu/plugins/gluanalytics/GluAnalytics; .super Landroid/os/Handler; .source "SourceFile" # interfaces .implements Lcom/glu/plugins/gluanalytics/IAnalytics; .implements Lcom/glu/plugins/gluanalytics/IAnalyticsParametersGetter; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;, Lcom/glu/plugins/gluanalytics/GluAnalytics$LogEventWithGCSUser;, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo; } .end annotation # static fields .field private static final ARG1_APP_RESUME:I = 0x14 .field private static final ARG1_APP_START:I = 0xa .field private static final HEARTBEAT_PERIOD_MS:J = 0x7530L .field public static final KEY_INTERNAL_TARGETED_ADS:Ljava/lang/String; = "internalTargetedAds" .field public static final KEY_USAGE_SHARING:Ljava/lang/String; = "usageSharing" .field private static final LOG_EVENT_SOURCE_CLIENT:Ljava/lang/String; = "SDK_CUSTOM" .field private static final LOG_EVENT_SOURCE_SDK:Ljava/lang/String; = "SDK_STANDARD" .field private static final MESSAGE_DESTROY:I = 0x6e .field private static final MESSAGE_HEARTBEAT:I = 0x3c .field private static final MESSAGE_LOG_CPU_EVENT:I = 0x8c .field private static final MESSAGE_LOG_EVT_EVENT:I = 0x1e .field private static final MESSAGE_LOG_EVT_EVENT_WITH_GCS_USER:I = 0xbe .field private static final MESSAGE_LOG_EVT_PINPOINT:I = 0xd2 .field private static final MESSAGE_LOG_MTU_EVENT:I = 0x28 .field private static final MESSAGE_LOG_MTU_EVENT_TO_PENGUIN:I = 0x32 .field private static final MESSAGE_PERFORMANCE_EVENT:I = 0xb4 .field private static final MESSAGE_PPS_UPDATE_VALUE:I = 0x50 .field private static final MESSAGE_SESSION_ID:I = 0xa0 .field private static final MESSAGE_SET_REVID:I = 0x64 .field private static final MESSAGE_SET_SESSION_ID:I = 0xaa .field private static final MESSAGE_SET_USER_ID:I = 0x82 .field private static final MESSAGE_START_SESSION:I = 0xa .field private static final MESSAGE_START_SESSION_REAL:I = 0xc8 .field private static final MESSAGE_STOP_SESSION:I = 0x14 .field private static final PWD_CRYPTO_CHECKSUM:Ljava/lang/String; = "appinstalled" .field private static final SESSION_ID_PERIOD_MS:J = 0xea60L .field private static final SPKEY_APP_INSTALLED:Ljava/lang/String; = "appinstalled" .field private static final SPKEY_DEVICE_ID:Ljava/lang/String; = "analyticsDeviceIdentifier" .field private static final SPKEY_DEVICE_ID_CHECKSUM:Ljava/lang/String; = "analyticsDeviceIdentifierCheck" .field private static final SPKEY_LAST_LAUNCH_TIMESTAMP:Ljava/lang/String; = "lastLaunchTimestamp" .field private static final SPKEY_REVID:Ljava/lang/String; = "revid" .field private static final SPKEY_REVID_CHECKSUM:Ljava/lang/String; = "revidChecksum" .field private static final SPKEY_REVID_SYNCED:Ljava/lang/String; = "revidSynced" .field private static final SPKEY_SESSION_COUNT:Ljava/lang/String; = "sessionCount" .field private static final SPKEY_SESSION_ID:Ljava/lang/String; = "sessionID" # instance fields .field private mAdTrackingLimited:Ljava/lang/Boolean; .field private mAmazonAdvertisingId:Ljava/lang/String; .field private mAmazonLimitAdTracking:Z .field private final mAnalyticsRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; .field private final mAnalyticsStreamName:Ljava/lang/String; .field private mAndroidId:Ljava/lang/String; .field private final mAppName:Ljava/lang/String; .field private mAppSetId:Ljava/lang/String; .field private final mApplicationContext:Landroid/content/Context; .field private mCacheService:Lcom/glu/plugins/gluanalytics/CacheService; .field private mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; .field private mCriticalEventList:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Ljava/lang/Object;", ">;" } .end annotation .end field .field private final mDeviceId:Ljava/util/concurrent/atomic/AtomicReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/atomic/AtomicReference<", "Ljava/lang/String;", ">;" } .end annotation .end field .field private final mEnvironment:Ljava/lang/String; .field private mExecutor:Ljava/util/concurrent/ExecutorService; .field private final mExtraFields: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 mGeoLocation:Ljava/util/concurrent/atomic/AtomicReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/atomic/AtomicReference<", "Lcom/glu/plugins/gluanalytics/GeoLocation;", ">;" } .end annotation .end field .field private final mGeoLookUpUrl:Ljava/net/URL; .field private mGoogleAdvertisingId:Ljava/lang/String; .field private mInternalTargetedAds:Z .field private mIsAmazonDevice:Z .field private final mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; .field private mNetworkReachability:Lcom/glu/plugins/gluanalytics/network/NetworkReachability; .field private final mOneWayHashUID:Z .field private final mPPSAppName:Ljava/lang/String; .field private final mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; .field private final mPPSStreamName:Ljava/lang/String; .field private final mPartialCpuData:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation .end field .field private mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; .field private mPinpointImpl:Lcom/glu/plugins/gluanalytics/GluAnalyticsPinpoint; .field private final mRevID:Ljava/util/concurrent/atomic/AtomicReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/atomic/AtomicReference<", "Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;", ">;" } .end annotation .end field .field private final mRevIDEnabled:Z .field private final mRuntimeConfig:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation .end field .field private final mSendGeoEvent:Z .field private final mSendPenguinMTU:Z .field private final mSessionID:Ljava/util/concurrent/atomic/AtomicReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/atomic/AtomicReference<", "Ljava/lang/String;", ">;" } .end annotation .end field .field private final mSessionIDBaseAddress:Ljava/lang/String; .field private mSessionLimitOrphanEvent:J .field private final mSessionStopCalled:Ljava/util/concurrent/atomic/AtomicBoolean; .field private final mSharedPrefs:Landroid/content/SharedPreferences; .field private mShortcircuitEATargetedMarketing:Z .field private final mTomographyEnabled:Z .field private final mUnityVersion:Ljava/lang/String; .field private mUsageSharing:Z .field private mut_appForeground:Z .field private mut_userId:Ljava/lang/String; # direct methods .method public constructor (Landroid/content/Context;Landroid/os/Looper;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/net/URL;Ljava/lang/String;Landroid/content/SharedPreferences;Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/glu/plugins/gluanalytics/IPerformance;JZZZZLjava/util/List;Lcom/glu/plugins/gluanalytics/CacheService;ZZ)V .locals 14 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/content/Context;", "Landroid/os/Looper;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;", "Ljava/net/URL;", "Ljava/lang/String;", "Landroid/content/SharedPreferences;", "Lcom/glu/plugins/gluanalytics/IRecordStream;", "Ljava/lang/String;", "Lcom/glu/plugins/gluanalytics/IRecordStream;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Lcom/glu/plugins/gluanalytics/IPerformance;", "JZZZZ", "Ljava/util/List<", "Ljava/lang/Object;", ">;", "Lcom/glu/plugins/gluanalytics/CacheService;", "ZZ)V" } .end annotation move-object v0, p0 move-object/from16 v7, p6 move-object/from16 v8, p9 move-object/from16 v9, p17 move-object/from16 v1, p2 .line 198 invoke-direct {p0, v1}, Landroid/os/Handler;->(Landroid/os/Looper;)V .line 116 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 invoke-static {v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->create(Ljava/lang/Class;)Lcom/glu/plugins/gluanalytics/util/YLogger; move-result-object v1 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; .line 199 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object v10 iput-object v10, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mApplicationContext:Landroid/content/Context; move-object/from16 v1, p7 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGeoLookUpUrl:Ljava/net/URL; .line 201 new-instance v11, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v11}, Ljava/util/concurrent/atomic/AtomicReference;->()V iput-object v11, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mDeviceId:Ljava/util/concurrent/atomic/AtomicReference; .line 202 new-instance v1, Ljava/util/concurrent/atomic/AtomicReference; new-instance v2, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; const/4 v12, 0x0 const/4 v13, 0x0 invoke-direct {v2, v12, v13}, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->(Ljava/lang/String;Z)V invoke-direct {v1, v2}, Ljava/util/concurrent/atomic/AtomicReference;->(Ljava/lang/Object;)V iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRevID:Ljava/util/concurrent/atomic/AtomicReference; .line 203 new-instance v1, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v1}, Ljava/util/concurrent/atomic/AtomicReference;->()V iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionID:Ljava/util/concurrent/atomic/AtomicReference; move-object/from16 v1, p3 move-object/from16 v2, p4 move-object/from16 v3, p5 move-object/from16 v4, p15 move-object/from16 v5, p16 move-object/from16 v6, p6 .line 204 invoke-static/range {v1 .. v6}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->buildExtraFields(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map; move-result-object v1 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mExtraFields:Ljava/util/Map; .line 205 invoke-static/range {p6 .. p6}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->buildPartialCpuData(Ljava/util/Map;)Ljava/util/Map; move-result-object v1 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPartialCpuData:Ljava/util/Map; iput-object v8, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; move-object/from16 v1, p10 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; move-object/from16 v1, p11 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsStreamName:Ljava/lang/String; move-object/from16 v1, p3 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppName:Ljava/lang/String; move-object/from16 v1, p4 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mEnvironment:Ljava/lang/String; move/from16 v1, p20 iput-boolean v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRevIDEnabled:Z if-eqz p21, :cond_0 const-string v1, "userIdentifier" .line 212 invoke-static {v7, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 goto :goto_0 :cond_0 move-object v1, v12 :goto_0 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 213 new-instance v1, Ljava/util/concurrent/atomic/AtomicBoolean; invoke-direct {v1, v13}, Ljava/util/concurrent/atomic/AtomicBoolean;->(Z)V iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionStopCalled:Ljava/util/concurrent/atomic/AtomicBoolean; const/4 v1, 0x2 .line 214 invoke-static {v1}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService; move-result-object v1 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mExecutor:Ljava/util/concurrent/ExecutorService; move-object/from16 v1, p12 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; move-object/from16 v1, p13 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSStreamName:Ljava/lang/String; move-object/from16 v1, p14 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSAppName:Ljava/lang/String; move-object/from16 v1, p8 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionIDBaseAddress:Ljava/lang/String; move-wide/from16 v1, p18 iput-wide v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionLimitOrphanEvent:J .line 224 invoke-static/range {p6 .. p6}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->shallowClone(Ljava/util/Map;)Ljava/util/Map; move-result-object v1 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRuntimeConfig:Ljava/util/Map; const-string v1, "unityVer" .line 226 invoke-static {v7, v1, v12}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mUnityVersion:Ljava/lang/String; .line 228 new-instance v1, Lcom/glu/plugins/gluanalytics/network/NetworkReachability; invoke-direct {v1, v10}, Lcom/glu/plugins/gluanalytics/network/NetworkReachability;->(Landroid/content/Context;)V iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mNetworkReachability:Lcom/glu/plugins/gluanalytics/network/NetworkReachability; .line 230 new-instance v1, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v1, v12}, Ljava/util/concurrent/atomic/AtomicReference;->(Ljava/lang/Object;)V iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGeoLocation:Ljava/util/concurrent/atomic/AtomicReference; iput-object v9, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-eqz v9, :cond_1 .line 234 invoke-interface {v9, p0}, Lcom/glu/plugins/gluanalytics/IPerformance;->internal_SetAnalytics(Lcom/glu/plugins/gluanalytics/IAnalytics;)V :cond_1 move-object/from16 v1, p25 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCacheService:Lcom/glu/plugins/gluanalytics/CacheService; move/from16 v1, p22 iput-boolean v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mTomographyEnabled:Z move/from16 v1, p23 iput-boolean v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSendPenguinMTU:Z move/from16 v1, p26 iput-boolean v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mOneWayHashUID:Z move/from16 v1, p27 iput-boolean v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSendGeoEvent:Z move-object/from16 v1, p24 iput-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCriticalEventList:Ljava/util/List; const-string v1, "usageSharing" const/4 v2, 0x1 .line 248 invoke-interface {v8, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z move-result v1 iput-boolean v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mUsageSharing:Z const-string v1, "internalTargetedAds" .line 249 invoke-interface {v8, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z move-result v1 iput-boolean v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mInternalTargetedAds:Z iput-boolean v13, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mShortcircuitEATargetedMarketing:Z const-string v1, "analyticsDeviceIdentifier" .line 256 invoke-interface {v8, v1, v12}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 .line 257 invoke-static {v1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->isEmptyDeviceId(Ljava/lang/String;)Z move-result v2 if-nez v2, :cond_2 .line 258 invoke-virtual {v11, v1}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V :cond_2 return-void .end method .method public static synthetic access$002(Lcom/glu/plugins/gluanalytics/GluAnalytics;Ljava/lang/String;)Ljava/lang/String; .locals 0 .line 78 iput-object p1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppSetId:Ljava/lang/String; return-object p1 .end method .method public static synthetic access$100(Lcom/glu/plugins/gluanalytics/GluAnalytics;)Lcom/glu/plugins/gluanalytics/util/YLogger; .locals 0 .line 78 iget-object p0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; return-object p0 .end method .method public static synthetic access$200(Ljavax/net/ssl/HttpsURLConnection;)V .locals 0 .line 78 invoke-static {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->configureConnection(Ljavax/net/ssl/HttpsURLConnection;)V return-void .end method .method public static synthetic access$300(Ljava/net/URLConnection;)Ljava/lang/String; .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 78 invoke-static {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->readBodyAsString(Ljava/net/URLConnection;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static synthetic access$400(Lcom/glu/plugins/gluanalytics/GluAnalytics;)Ljava/util/concurrent/atomic/AtomicReference; .locals 0 .line 78 iget-object p0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGeoLocation:Ljava/util/concurrent/atomic/AtomicReference; return-object p0 .end method .method public static synthetic access$500(Lcom/glu/plugins/gluanalytics/GluAnalytics;Ljava/lang/String;)Ljava/net/URL; .locals 0 .line 78 invoke-direct {p0, p1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->buildSessionIDURL(Ljava/lang/String;)Ljava/net/URL; move-result-object p0 return-object p0 .end method .method private static analyticsDeviceIdentifierVerifyString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 1 .line 937 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz p1, :cond_0 goto :goto_0 :cond_0 const-string p1, "" :goto_0 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 p0 return-object p0 .end method .method private beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/Object;", "Ljava/lang/Object;", "Ljava/util/Map<", "Ljava/lang/String;", "*>;", "Ljava/lang/String;", ")", "Lorg/json/JSONStringer;" } .end annotation sget-object v10, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; move-object v0, p0 move-object v1, p1 move-object v2, p2 move-object v3, p3 move-object v4, p4 move-object/from16 v5, p5 move-object/from16 v6, p6 move-object/from16 v7, p7 move-object/from16 v8, p8 move-object/from16 v9, p9 .line 1259 invoke-direct/range {v0 .. v10}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Boolean;)Lorg/json/JSONStringer; move-result-object v0 return-object v0 .end method .method private beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Boolean;)Lorg/json/JSONStringer; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/Object;", "Ljava/lang/Object;", "Ljava/util/Map<", "Ljava/lang/String;", "*>;", "Ljava/lang/String;", "Ljava/lang/Boolean;", ")", "Lorg/json/JSONStringer;" } .end annotation .line 1264 :try_start_0 invoke-static {}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->timestampSec()J move-result-wide v0 .line 1265 new-instance v2, Lorg/json/JSONStringer; invoke-direct {v2}, Lorg/json/JSONStringer;->()V invoke-virtual {v2}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer; move-result-object v2 const-string v3, "ts" .line 1267 invoke-virtual {v2, v3}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v3 invoke-virtual {v3, v0, v1}, Lorg/json/JSONStringer;->value(J)Lorg/json/JSONStringer; const-string v0, "event_type" .line 1268 invoke-static {v2, v0, p1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "n" .line 1271 invoke-static {v2, v0, p2}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string p2, "st1" .line 1272 invoke-static {v2, p2, p3}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string p2, "st2" .line 1273 invoke-static {v2, p2, p4}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string p2, "st3" .line 1274 invoke-static {v2, p2, p5}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V .line 1275 invoke-virtual {p10}, Ljava/lang/Boolean;->booleanValue()Z move-result p2 if-eqz p2, :cond_0 const-string p2, "i" .line 1276 invoke-static {v2, p2, p9}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V goto :goto_0 :catch_0 move-exception p1 goto :goto_4 .line 1277 :cond_0 :goto_0 instance-of p2, p6, Ljava/lang/String; :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 const-string p3, "v" if-eqz p2, :cond_1 .line 1278 :try_start_1 check-cast p6, Ljava/lang/String; invoke-static {v2, p3, p6}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V goto :goto_1 .line 1280 :cond_1 invoke-static {v2, p3, p6}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotNull(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/Object;)V .line 1281 :goto_1 instance-of p2, p7, Ljava/lang/String; :try_end_1 .catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_0 const-string p3, "l" if-eqz p2, :cond_2 .line 1282 :try_start_2 check-cast p7, Ljava/lang/String; invoke-static {v2, p3, p7}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V goto :goto_2 .line 1284 :cond_2 invoke-static {v2, p3, p7}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotNull(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/Object;)V :goto_2 if-eqz p8, :cond_3 .line 1286 invoke-static {p8}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->isEmpty(Ljava/util/Map;)Z move-result p2 if-nez p2, :cond_3 const-string p2, "json_data" .line 1287 invoke-virtual {v2, p2}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer; .line 1288 invoke-static {v2, p8}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->writeSanitizedMap(Lorg/json/JSONStringer;Ljava/util/Map;)V :cond_3 iget-object p2, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mExtraFields:Ljava/util/Map; .line 1292 invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, [Ljava/lang/String; if-eqz p1, :cond_4 .line 1294 array-length p2, p1 const/4 p3, 0x0 :goto_3 if-ge p3, p2, :cond_4 .line 1296 aget-object p4, p1, p3 invoke-virtual {v2, p4}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object p4 add-int/lit8 p5, p3, 0x1 aget-object p5, p1, p5 invoke-virtual {p4, p5}, Lorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer; :try_end_2 .catch Lorg/json/JSONException; {:try_start_2 .. :try_end_2} :catch_0 add-int/lit8 p3, p3, 0x2 goto :goto_3 :cond_4 return-object v2 .line 1300 :goto_4 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p1 throw p1 .end method .method private beginUpdatePSValue(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/json/JSONStringer; .locals 12 move-object v11, p0 if-eqz p1, :cond_0 const-string v0, "DPS" goto :goto_0 :cond_0 const-string v0, "PPS" :goto_0 :try_start_0 const-string v2, "p_eng" const-string v5, "UPDATE" iget-object v6, v11, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSAppName:Ljava/lang/String; const/4 v9, 0x0 const-string v10, "SDK_STANDARD" move-object v1, p0 move-object v3, p2 move-object v4, v0 move-object/from16 v7, p5 move-object/from16 v8, p4 .line 1177 invoke-direct/range {v1 .. v10}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v9 const-string v1, "su" move-object/from16 v8, p6 .line 1178 invoke-static {v9, v1, v8}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string v1, "c" move-object v5, p3 .line 1179 invoke-static {v9, v1, p3}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V iget-object v3, v11, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; move-object v1, p0 move-object v2, v0 move-object v4, p2 move-object v5, p3 move-object/from16 v6, p4 move-object/from16 v7, p5 move-object/from16 v8, p6 .line 1180 invoke-direct/range {v1 .. v8}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->createReqIdAndForwardToGCS(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const-string v1, "req_id" .line 1181 invoke-static {v9, v1, v0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 return-object v9 :catch_0 move-exception v0 .line 1184 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object v0 throw v0 .end method .method private static buildExtraFields(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map; .locals 8 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;)", "Ljava/util/Map<", "Ljava/lang/String;", "[", "Ljava/lang/String;", ">;" } .end annotation .line 1034 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object v0 const-string v1, "longSdkVersion" .line 1035 invoke-static {p5, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v2, "kt_v" invoke-static {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v1, "applicationVersion" .line 1036 invoke-static {p5, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v2, "v_maj" invoke-static {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v1, "v_min" .line 1037 invoke-static {v0, v1, p2}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string p2, "applicationVersionCode" .line 1038 invoke-static {p5, p2}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object p2 const-string v1, "v_rev" invoke-static {v0, v1, p2}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string p2, "game_name" .line 1039 invoke-static {v0, p2, p0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v1, "env" .line 1040 invoke-static {v0, v1, p1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V .line 1042 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object v2 const-string v3, "pgr" const-string v4, "perf" const-string v5, "apa" const-string v6, "evt" const-string v7, "mtu" filled-new-array {v5, v6, v7, v3, v4}, [Ljava/lang/String; move-result-object v3 .line 1045 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->flatten(Ljava/util/Map;)[Ljava/lang/String; move-result-object v4 const/4 v5, 0x0 :goto_0 const/4 v6, 0x5 if-ge v5, v6, :cond_0 .line 1046 aget-object v6, v3, v5 .line 1047 invoke-interface {v2, v6, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v5, v5, 0x1 goto :goto_0 .line 1049 :cond_0 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->shallowClone(Ljava/util/Map;)Ljava/util/Map; move-result-object v0 const-string v3, "osVersion" .line 1050 invoke-static {p5, v3}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v3 const-string v4, "os" invoke-static {v0, v4, v3}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v3, "deviceModel" .line 1051 invoke-static {p5, v3}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v3 const-string v5, "d" invoke-static {v0, v5, v3}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v3, "deviceManufacturer" .line 1052 invoke-static {p5, v3}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v3 const-string v5, "m" invoke-static {v0, v5, v3}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v3, "carrierName" .line 1053 invoke-static {p5, v3}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object p5 const-string v3, "c" invoke-static {v0, v3, p5}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string p5, "cpu" .line 1054 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->flatten(Ljava/util/Map;)[Ljava/lang/String; move-result-object v0 invoke-interface {v2, p5, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 1058 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object p5 .line 1059 invoke-static {p5, v4, p3}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V .line 1060 invoke-static {p5, p2, p0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V .line 1061 invoke-static {p5, v1, p1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string p0, "tu" .line 1062 invoke-static {p5, p0, p4}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V .line 1064 invoke-static {p5}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->flatten(Ljava/util/Map;)[Ljava/lang/String; move-result-object p0 const-string p1, "p_eng" .line 1065 invoke-interface {v2, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string p1, "glu_id" .line 1066 invoke-interface {v2, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string p1, "mkt" .line 1067 invoke-interface {v2, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-object v2 .end method .method private buildMarketingHash(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 1 const-string v0, "%s%s%s%s%s%s" filled-new-array/range {p1 .. p6}, [Ljava/lang/Object; move-result-object p1 .line 382 invoke-static {v0, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 :try_start_0 const-string p2, "MD5" .line 384 invoke-static {p2}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest; move-result-object p2 .line 385 invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B move-result-object p1 invoke-virtual {p2, p1}, Ljava/security/MessageDigest;->update([B)V .line 386 invoke-virtual {p2}, Ljava/security/MessageDigest;->digest()[B move-result-object p1 .line 387 new-instance p2, Ljava/lang/StringBuffer; invoke-direct {p2}, Ljava/lang/StringBuffer;->()V const/4 p3, 0x0 move p4, p3 .line 388 :goto_0 array-length p5, p1 if-ge p4, p5, :cond_0 const-string p5, "%02X" const/4 p6, 0x1 new-array p6, p6, [Ljava/lang/Object; .line 389 aget-byte v0, p1, p4 invoke-static {v0}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte; move-result-object v0 aput-object v0, p6, p3 invoke-static {p5, p6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p5 invoke-virtual {p2, p5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; add-int/lit8 p4, p4, 0x1 goto :goto_0 :catch_0 move-exception p1 goto :goto_1 .line 391 :cond_0 invoke-virtual {p2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p1 :try_end_0 .catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_0 return-object p1 .line 393 :goto_1 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p1 throw p1 .end method .method private static buildPartialCpuData(Ljava/util/Map;)Ljava/util/Map; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;)", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation .line 1073 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object v0 const-string v1, "deviceName" .line 1074 invoke-static {p0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v2, "p" invoke-static {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v1, "deviceTier" const/4 v2, 0x0 .line 1075 invoke-static {p0, v1, v2}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getNullableLong(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long; move-result-object v1 const/4 v3, 0x1 if-eqz v1, :cond_0 const-string v4, "tier" .line 1077 invoke-interface {v0, v4, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "deviceTierFallback" .line 1078 invoke-static {p0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getBoolean(Ljava/lang/Object;Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_0 const-string v1, "tierfb" .line 1079 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 invoke-interface {v0, v1, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "gpuDeviceVendor" .line 1080 invoke-static {p0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v4, "gpuv" invoke-static {v0, v4, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v1, "gpuDeviceName" .line 1081 invoke-static {p0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v4, "gpur" invoke-static {v0, v4, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v1, "cpuCoreCount" .line 1082 invoke-static {p0, v1, v2}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getNullableLong(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long; move-result-object v1 const-string v2, "cores" invoke-static {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotNull(Ljava/util/Map;Ljava/lang/String;Ljava/lang/Object;)V :cond_0 const-string v1, "localeLanguageCode" .line 1085 invoke-static {p0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const-string v2, "ln" invoke-static {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v1, "supportedABIs" .line 1087 invoke-static {p0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getList(Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List; move-result-object p0 if-eqz p0, :cond_3 .line 1089 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V .line 1091 invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_2 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 if-nez v3, :cond_1 const-string v3, "," .line 1093 invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 1095 :cond_1 invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const/4 v3, 0x0 goto :goto_0 :cond_2 const-string p0, "abi" .line 1097 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v0, p0, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V :cond_3 return-object v0 .end method .method private buildSessionIDURL(Ljava/lang/String;)Ljava/net/URL; .locals 5 const-string v0, "UTF-8" :try_start_0 const-string v1, "%s/v1/sessions/games/%s/devices/%s" const/4 v2, 0x3 new-array v2, v2, [Ljava/lang/Object; iget-object v3, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionIDBaseAddress:Ljava/lang/String; const/4 v4, 0x0 aput-object v3, v2, v4 iget-object v3, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSAppName:Ljava/lang/String; .line 1166 invoke-static {v3, v0}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v3 const/4 v4, 0x1 aput-object v3, v2, v4 .line 1167 invoke-static {p1, v0}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 const/4 v0, 0x2 aput-object p1, v2, v0 .line 1165 invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 .line 1168 new-instance v0, Ljava/net/URL; invoke-direct {v0, p1}, Ljava/net/URL;->(Ljava/lang/String;)V :try_end_0 .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/net/MalformedURLException; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 :catch_0 move-exception p1 goto :goto_0 :catch_1 move-exception p1 .line 1170 :goto_0 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p1 throw p1 .end method .method private static buildSessionStartData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;)Ljava/util/Map; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/Boolean;", "Ljava/lang/Boolean;", "Ljava/lang/Boolean;", "Ljava/lang/String;", "Ljava/lang/Long;", "Ljava/lang/Long;", "Ljava/lang/Long;", ")", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation .line 1114 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object v0 const-string v1, "idfa" .line 1117 invoke-static {v0, v1, p1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string p1, "android_id" .line 1118 invoke-static {v0, p1, p0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string p0, "app_set_id" .line 1119 invoke-static {v0, p0, p2}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V .line 1122 invoke-virtual {p3}, Ljava/lang/Boolean;->booleanValue()Z move-result p0 const-string p1, "opt_out" if-eqz p0, :cond_0 .line 1123 invoke-virtual {p4}, Ljava/lang/Boolean;->booleanValue()Z move-result p0 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-interface {v0, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :cond_0 if-eqz p5, :cond_1 .line 1124 invoke-virtual {p5}, Ljava/lang/Boolean;->booleanValue()Z move-result p0 if-eqz p0, :cond_1 const/4 p0, 0x1 .line 1125 invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 invoke-interface {v0, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_1 :goto_0 const-string p0, "conn_type" .line 1127 invoke-static {v0, p0, p6}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V if-eqz p7, :cond_2 .line 1130 invoke-virtual {p7}, Ljava/lang/Long;->longValue()J move-result-wide p0 invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object p0 const-string p1, "deviceBootTimeSec" invoke-interface {v0, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_2 if-eqz p8, :cond_3 .line 1133 invoke-virtual {p8}, Ljava/lang/Long;->longValue()J move-result-wide p0 invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object p0 const-string p1, "realtime" invoke-interface {v0, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_3 if-eqz p9, :cond_4 .line 1136 invoke-virtual {p9}, Ljava/lang/Long;->longValue()J move-result-wide p0 invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object p0 const-string p1, "monotonicRaw" invoke-interface {v0, p1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_4 return-object v0 .end method .method private static configureConnection(Ljavax/net/ssl/HttpsURLConnection;)V .locals 1 .line 1155 invoke-static {p0}, Lcom/glu/plugins/gluanalytics/network/GluTLS12SocketFactory;->fixTLSPre21(Ljavax/net/ssl/HttpsURLConnection;)V const/4 v0, 0x0 .line 1157 invoke-virtual {p0, v0}, Ljava/net/URLConnection;->setUseCaches(Z)V .line 1158 invoke-virtual {p0, v0}, Ljava/net/URLConnection;->setAllowUserInteraction(Z)V const v0, 0xea60 .line 1159 invoke-virtual {p0, v0}, Ljava/net/URLConnection;->setConnectTimeout(I)V .line 1160 invoke-virtual {p0, v0}, Ljava/net/URLConnection;->setReadTimeout(I)V return-void .end method .method private createReqId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 10 const-string v0, "PPS" .line 463 invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v1 const-string v2, "" if-eqz v1, :cond_0 move-object v5, p2 goto :goto_0 :cond_0 move-object v5, v2 .line 464 :goto_0 invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_1 :goto_1 move-object v9, v2 goto :goto_2 :cond_1 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object v2 goto :goto_1 .line 465 :goto_2 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsApplicationName()Ljava/lang/String; move-result-object v4 move-object v3, p0 move-object v6, p3 move-object v7, p4 move-object v8, p5 invoke-direct/range {v3 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->buildMarketingHash(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private createReqIdAndForwardToGCS(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 10 move-object v0, p0 move-object v1, p1 move-object v2, p2 move-object v3, p3 move-object v4, p5 move-object/from16 v5, p6 .line 470 invoke-direct/range {v0 .. v5}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->createReqId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 move-object v9, p0 iget-object v1, v9, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; move-object v2, p1 move-object v4, p4 move-object v5, p5 move-object/from16 v6, p6 move-object/from16 v7, p7 move-object v8, v0 .line 471 invoke-interface/range {v1 .. v8}, Lcom/glu/plugins/gluanalytics/IAnalyticsCallback;->recordAnalyticsRequest(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V return-object v0 .end method .method private static flatten(Ljava/util/Map;)[Ljava/lang/String; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/String;", ">;)[", "Ljava/lang/String;" } .end annotation .line 849 invoke-interface {p0}, Ljava/util/Map;->size()I move-result v0 mul-int/lit8 v0, v0, 0x2 new-array v0, v0, [Ljava/lang/String; .line 851 invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set; move-result-object p0 invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object p0 const/4 v1, 0x0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_0 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/util/Map$Entry; add-int/lit8 v3, v1, 0x1 .line 852 invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/String; aput-object v4, v0, v1 add-int/lit8 v1, v1, 0x2 .line 853 invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; aput-object v2, v0, v3 goto :goto_0 :cond_0 return-object v0 .end method .method private static getDeviceId(Landroid/content/SharedPreferences;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo; .locals 2 .line 864 invoke-static {p0, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->readAnalyticsDeviceIdentifier(Landroid/content/SharedPreferences;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 865 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->isEmptyDeviceId(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_0 .line 866 new-instance p0, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo; invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->upperCase(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 const-string p2, "sharedPreferences" invoke-direct {p0, p1, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo;->(Ljava/lang/String;Ljava/lang/String;)V return-object p0 .line 870 :cond_0 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->isEmptyDeviceId(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_1 const-string p3, "googleAdvertisingID" goto :goto_0 .line 873 :cond_1 invoke-static {p4}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->isEmptyDeviceId(Ljava/lang/String;)Z move-result p1 if-nez p1, :cond_2 .line 874 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string p3, "AMID-" invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string p3, "amazonId" goto :goto_0 .line 876 :cond_2 invoke-static {p3}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->isEmptyDeviceId(Ljava/lang/String;)Z move-result p1 if-nez p1, :cond_3 .line 877 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string p4, "ASID-" invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string p3, "appSetId" goto :goto_0 .line 879 :cond_3 invoke-static {p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->isEmptyDeviceId(Ljava/lang/String;)Z move-result p1 if-nez p1, :cond_4 const-string p3, "androidID" move-object p1, p2 goto :goto_0 .line 882 :cond_4 invoke-static {p5}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->isEmptyDeviceId(Ljava/lang/String;)Z move-result p1 if-nez p1, :cond_5 .line 883 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string p3, "UUID-" invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string p3, "uuid" goto :goto_0 :cond_5 const/4 p1, 0x0 const-string p3, "none" .line 913 :goto_0 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->upperCase(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 .line 914 invoke-static {p0, p1, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->writeAnalyticsDeviceIdentifier(Landroid/content/SharedPreferences;Ljava/lang/String;Ljava/lang/String;)V .line 915 new-instance p0, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo; invoke-direct {p0, p1, p3}, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo;->(Ljava/lang/String;Ljava/lang/String;)V return-object p0 .end method .method private getFirstInstallTime()Ljava/lang/Long; .locals 4 :try_start_0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mApplicationContext:Landroid/content/Context; .line 1507 invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object v0 iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mApplicationContext:Landroid/content/Context; invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v1 const/4 v2, 0x0 invoke-virtual {v0, v1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; move-result-object v0 .line 1508 iget-wide v0, v0, Landroid/content/pm/PackageInfo;->firstInstallTime:J const-wide/16 v2, 0x3e8 div-long/2addr v0, v2 invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v0 :try_end_0 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 :catch_0 const/4 v0, 0x0 return-object v0 .end method .method private static getRevID(Landroid/content/SharedPreferences;Ljava/lang/String;Ljava/lang/String;)Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; .locals 4 .annotation build Landroidx/annotation/NonNull; .end annotation .line 920 invoke-static {p0, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->readRevID(Landroid/content/SharedPreferences;Ljava/lang/String;)Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; move-result-object v0 if-eqz v0, :cond_0 .line 921 iget-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->id:Ljava/lang/String; invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_0 return-object v0 .line 925 :cond_0 new-instance v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; .line 926 invoke-static {}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->timestampSec()J move-result-wide v2 invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v2 filled-new-array {p1, v2}, [Ljava/lang/Object; move-result-object p1 const-string v2, "%s_%d" invoke-static {v1, v2, p1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 const/4 v1, 0x0 invoke-direct {v0, p1, v1}, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->(Ljava/lang/String;Z)V iget-object p1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->id:Ljava/lang/String; iget-boolean v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->synced:Z .line 928 invoke-static {p0, p1, v1, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->writeRevID(Landroid/content/SharedPreferences;Ljava/lang/String;ZLjava/lang/String;)V return-object v0 .end method .method private static hmacSHA256(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 9 const-string v0, "UTF-8" .line 1018 invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset; move-result-object v1 invoke-virtual {p1, v1}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B move-result-object p1 .line 1019 invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset; move-result-object v0 invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B move-result-object p0 const/16 v0, 0x20 new-array v1, v0, [B const/4 v3, 0x0 const/4 v8, 0x0 .line 1022 :try_start_0 array-length v4, p0 const/4 v7, 0x0 move-object v2, p0 move-object v5, p1 move-object v6, v1 invoke-static/range {v2 .. v7}, Lcom/glu/plugins/gluanalytics/util/Crypto;->hmacSHA256([BII[B[BI)V :try_end_0 .catch Ljava/security/InvalidKeyException; {:try_start_0 .. :try_end_0} :catch_2 .catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljavax/crypto/ShortBufferException; {:try_start_0 .. :try_end_0} :catch_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 1026 invoke-static {p1, v8}, Ljava/util/Arrays;->fill([BB)V .line 1027 invoke-static {p0, v8}, Ljava/util/Arrays;->fill([BB)V .line 1030 invoke-static {v1, v8, v0}, Lcom/glu/plugins/gluanalytics/util/Common;->printBytes([BII)Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->upperCase(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 return-object p0 :catchall_0 move-exception v0 goto :goto_1 :catch_0 move-exception v0 goto :goto_0 :catch_1 move-exception v0 goto :goto_0 :catch_2 move-exception v0 .line 1024 :goto_0 :try_start_1 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object v0 throw v0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 1026 :goto_1 invoke-static {p1, v8}, Ljava/util/Arrays;->fill([BB)V .line 1027 invoke-static {p0, v8}, Ljava/util/Arrays;->fill([BB)V .line 1028 throw v0 .end method .method private static isEmptyDeviceId(Ljava/lang/String;)Z .locals 2 if-eqz p0, :cond_1 const-string v0, "[-0]" const-string v1, "" .line 933 invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p0 if-nez p0, :cond_0 goto :goto_0 :cond_0 const/4 p0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p0, 0x1 :goto_1 return p0 .end method .method private static readAnalyticsDeviceIdentifier(Landroid/content/SharedPreferences;Ljava/lang/String;)Ljava/lang/String; .locals 3 const-string v0, "analyticsDeviceIdentifier" const/4 v1, 0x0 .line 941 invoke-interface {p0, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const-string v2, "analyticsDeviceIdentifierCheck" .line 942 invoke-interface {p0, v2, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 if-eqz v0, :cond_2 if-nez p0, :cond_0 goto :goto_0 .line 946 :cond_0 invoke-static {v0, p1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->analyticsDeviceIdentifierVerifyString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 const-string v2, "appinstalled" invoke-static {p1, v2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->hmacSHA256(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 invoke-virtual {p1, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result p0 if-nez p0, :cond_1 return-object v1 :cond_1 return-object v0 :cond_2 :goto_0 return-object v1 .end method .method private static readBodyAsString(Ljava/net/URLConnection;)Ljava/lang/String; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1148 new-instance v0, Ljava/io/BufferedInputStream; invoke-virtual {p0}, Ljava/net/URLConnection;->getInputStream()Ljava/io/InputStream; move-result-object p0 invoke-direct {v0, p0}, Ljava/io/BufferedInputStream;->(Ljava/io/InputStream;)V .line 1149 invoke-static {v0}, Lcom/amazonaws/util/IOUtils;->toString(Ljava/io/InputStream;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static readLastSessionID(Landroid/content/SharedPreferences;)Ljava/lang/String; .locals 2 const-string v0, "sessionID" const-string v1, "" .line 1013 invoke-interface {p0, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static readRevID(Landroid/content/SharedPreferences;Ljava/lang/String;)Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; .locals 4 const-string v0, "revid" const/4 v1, 0x0 .line 971 invoke-interface {p0, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 const-string v2, "revidSynced" const/4 v3, 0x0 .line 972 invoke-interface {p0, v2, v3}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z move-result v2 const-string v3, "revidChecksum" .line 973 invoke-interface {p0, v3, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 if-eqz v0, :cond_2 if-nez p0, :cond_0 goto :goto_0 .line 977 :cond_0 invoke-static {v0, v2, p1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->revIDVerifyString(Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String; move-result-object p1 const-string v3, "appinstalled" invoke-static {p1, v3}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->hmacSHA256(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 invoke-virtual {p1, p0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result p0 if-nez p0, :cond_1 return-object v1 .line 980 :cond_1 new-instance p0, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; invoke-direct {p0, v0, v2}, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->(Ljava/lang/String;Z)V return-object p0 :cond_2 :goto_0 return-object v1 .end method .method public static readSessionCount(Landroid/content/SharedPreferences;)J .locals 3 const-string v0, "sessionCount" const-wide/16 v1, 0x0 .line 1003 invoke-interface {p0, v0, v1, v2}, Landroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J move-result-wide v0 return-wide v0 .end method .method private static revIDVerifyString(Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String; .locals 2 const/4 v0, 0x3 new-array v0, v0, [Ljava/lang/Object; const/4 v1, 0x0 aput-object p0, v0, v1 const/4 p0, 0x1 .line 967 invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object p1 aput-object p1, v0, p0 if-eqz p2, :cond_0 goto :goto_0 :cond_0 const-string p2, "" :goto_0 const/4 p0, 0x2 aput-object p2, v0, p0 const-string p0, "%s-%s-%s" invoke-static {p0, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private sendDataToCacheService()V .locals 7 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCacheService:Lcom/glu/plugins/gluanalytics/CacheService; if-nez v0, :cond_0 return-void .line 1531 :cond_0 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object v1 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsApplicationName()Ljava/lang/String; move-result-object v2 iget-object v3, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getRevenueIdentifier()Ljava/lang/String; move-result-object v4 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getSessionIdentifier()Ljava/lang/String; move-result-object v5 sget-object v6, Lcom/glu/plugins/gluanalytics/kvstore/StringStore$Key;->LOCATION_IP_ADDRESS:Lcom/glu/plugins/gluanalytics/kvstore/StringStore$Key; invoke-static {v6}, Lcom/glu/plugins/gluanalytics/kvstore/StringStore;->get(Lcom/glu/plugins/gluanalytics/kvstore/StringStore$Key;)Ljava/lang/String; move-result-object v6 invoke-virtual/range {v0 .. v6}, Lcom/glu/plugins/gluanalytics/CacheService;->putData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V return-void .end method .method private static timestampSec()J .locals 4 .line 1143 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 const-wide/16 v2, 0x3e8 div-long/2addr v0, v2 return-wide v0 .end method .method private unsync_assertCanUpdatePSValue(Ljava/lang/String;ZLorg/json/JSONStringer;)V .locals 2 const-string v0, "v" const-string v1, "m" if-nez p2, :cond_0 .line 1192 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result p1 if-eqz p1, :cond_1 iget-object p1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string p2, "user ID is empty" .line 1193 invoke-virtual {p3}, Lorg/json/JSONStringer;->toString()Ljava/lang/String; move-result-object p3 filled-new-array {v1, p2, v0, p3}, [Ljava/lang/Object; move-result-object p2 const-string p3, "PPS.UPDATE.ERROR" invoke-virtual {p1, p3, p2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->e(Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 .line 1195 :cond_0 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object p1 .line 1196 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result p1 if-eqz p1, :cond_1 iget-object p1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string p2, "s is empty" .line 1197 invoke-virtual {p3}, Lorg/json/JSONStringer;->toString()Ljava/lang/String; move-result-object p3 filled-new-array {v1, p2, v0, p3}, [Ljava/lang/Object; move-result-object p2 const-string p3, "DPS.UPDATE.ERROR" invoke-virtual {p1, p3, p2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->e(Ljava/lang/String;[Ljava/lang/Object;)V :cond_1 :goto_0 return-void .end method .method private unsync_cacheLaunchTime()V .locals 4 .line 1524 invoke-static {}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->timestampSec()J move-result-wide v0 iget-object v2, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 1525 invoke-interface {v2}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v2 const-string v3, "lastLaunchTimestamp" invoke-interface {v2, v3, v0, v1}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; move-result-object v0 invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->apply()V return-void .end method .method private unsync_doAppStart()V .locals 11 const-string v10, "appinstalled" :try_start_0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; const/4 v1, 0x0 .line 1215 invoke-interface {v0, v10, v1}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z move-result v0 :try_end_0 .catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0 if-nez v0, :cond_0 goto :goto_0 :catch_0 move-exception v0 move-object v6, v0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v1, "m" const-string v2, "bad-boolean-property" const-string v3, "k" const-string v4, "appinstalled" const-string v5, "e" filled-new-array/range {v1 .. v6}, [Ljava/lang/Object; move-result-object v1 const-string v2, "LIFECYCLE.INIT.ERROR" .line 1217 invoke-virtual {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->e(Ljava/lang/String;[Ljava/lang/Object;)V :goto_0 const/4 v9, 0x0 const-string v2, "apa" const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-object v1, p0 .line 1227 invoke-direct/range {v1 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 1228 invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v0 const/4 v1, 0x1 invoke-interface {v0, v10, v1}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; move-result-object v0 invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->apply()V :cond_0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPartialCpuData:Ljava/util/Map; .line 1231 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->shallowClone(Ljava/util/Map;)Ljava/util/Map; move-result-object v9 const-string v0, "idfa" iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGoogleAdvertisingId:Ljava/lang/String; .line 1234 invoke-static {v9, v0, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "android_id" iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAndroidId:Ljava/lang/String; .line 1235 invoke-static {v9, v0, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "asid" iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppSetId:Ljava/lang/String; .line 1236 invoke-static {v9, v0, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V .line 1239 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object v0 iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mNetworkReachability:Lcom/glu/plugins/gluanalytics/network/NetworkReachability; .line 1240 invoke-virtual {v1}, Lcom/glu/plugins/gluanalytics/network/NetworkReachability;->getNetworkType()Ljava/lang/String; move-result-object v1 const-string v2, "conn_type" invoke-static {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;)V const-string v2, "cpu" const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-object v1, p0 .line 1242 invoke-direct/range {v1 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V const-string v2, "evt" const-string v3, "APP_START" const-string v4, "APP" const-string v5, "APP_START" move-object v9, v0 .line 1243 invoke-direct/range {v1 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V iget-boolean v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSendGeoEvent:Z if-eqz v0, :cond_1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGeoLookUpUrl:Ljava/net/URL; .line 1246 invoke-direct {p0, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_logGeoInfoAsync(Ljava/net/URL;)V .line 1249 :cond_1 invoke-direct {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_cacheLaunchTime()V return-void .end method .method private unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/Long;", "Ljava/lang/Long;", "Ljava/util/Map<", "Ljava/lang/String;", "*>;)V" } .end annotation move-object v10, p0 const-string v9, "SDK_STANDARD" move-object v0, p0 move-object v1, p1 move-object v2, p2 move-object v3, p3 move-object v4, p4 move-object/from16 v5, p5 move-object/from16 v6, p6 move-object/from16 v7, p7 move-object/from16 v8, p8 .line 1328 invoke-direct/range {v0 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v0 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsStreamName:Ljava/lang/String; .line 1329 invoke-direct {p0, v1, v2, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;)V return-void .end method .method private unsync_doStopSession()V .locals 9 const-string v1, "evt" const-string v2, "SESSION_STOP" const-string v3, "APP" const-string v4, "SESSION_STOP" const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-object v0, p0 .line 1253 invoke-direct/range {v0 .. v8}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V const/16 v0, 0x3c .line 1254 invoke-virtual {p0, v0}, Landroid/os/Handler;->removeMessages(I)V const/16 v0, 0xa0 .line 1255 invoke-virtual {p0, v0}, Landroid/os/Handler;->removeMessages(I)V return-void .end method .method private unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V .locals 7 move-object v0, p0 move v1, p2 move-object v2, p3 move-object v3, p4 move-object v4, p5 move-object v5, p6 move-object v6, p7 .line 1203 invoke-direct/range {v0 .. v6}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginUpdatePSValue(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object p3 .line 1204 invoke-direct {p0, p1, p2, p3}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_assertCanUpdatePSValue(Ljava/lang/String;ZLorg/json/JSONStringer;)V iget-object p2, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object p4, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSStreamName:Ljava/lang/String; .line 1205 invoke-direct {p0, p2, p4, p3, p1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;Ljava/lang/String;)V return-void .end method .method private unsync_endJsonEvent(Lorg/json/JSONStringer;Ljava/lang/String;)V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Lorg/json/JSONException; } .end annotation const-string v0, "s" .line 1305 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object v1 invoke-static {p1, v0, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "revid" .line 1306 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getRevenueIdentifier()Ljava/lang/String; move-result-object v1 invoke-static {p1, v0, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string v0, "uid" .line 1307 invoke-static {p1, v0, p2}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string p2, "sess_id" .line 1308 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getSessionIdentifier()Ljava/lang/String; move-result-object v0 invoke-static {p1, p2, v0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V .line 1309 invoke-virtual {p1}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer; return-void .end method .method private unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;)V .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 1313 invoke-direct {p0, p1, p2, p3, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;Ljava/lang/String;)V return-void .end method .method private unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;Ljava/lang/String;)V .locals 0 .line 1319 :try_start_0 invoke-direct {p0, p3, p4}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEvent(Lorg/json/JSONStringer;Ljava/lang/String;)V .line 1320 invoke-virtual {p3}, Lorg/json/JSONStringer;->toString()Ljava/lang/String; move-result-object p3 :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 .line 1324 invoke-interface {p1, p2, p3}, Lcom/glu/plugins/gluanalytics/IRecordStream;->saveRecord(Ljava/lang/String;Ljava/lang/String;)V return-void :catch_0 move-exception p1 .line 1322 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p1 throw p1 .end method .method private unsync_flushNow()V .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; .line 1452 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IRecordStream;->flush()V iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; .line 1453 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IRecordStream;->flush()V return-void .end method .method private unsync_getLastLaunchTime()Ljava/lang/Long; .locals 4 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; const-string v1, "lastLaunchTimestamp" .line 1517 invoke-interface {v0, v1}, Landroid/content/SharedPreferences;->contains(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; const-wide/16 v2, 0x0 .line 1518 invoke-interface {v0, v1, v2, v3}, Landroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J move-result-wide v0 invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return-object v0 .end method .method private unsync_heartbeat()V .locals 9 const-string v1, "pgr" const/4 v2, 0x0 const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-object v0, p0 .line 1446 invoke-direct/range {v0 .. v8}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V .line 1447 invoke-direct {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_scheduleHeartbeat()V .line 1448 invoke-direct {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_flushNow()V return-void .end method .method private unsync_logDefaultSegmentationValues(Ljava/lang/String;Ljava/util/Map;Z)V .locals 20 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;Z)V" } .end annotation move-object/from16 v0, p2 .line 1473 invoke-static/range {p1 .. p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 xor-int/lit8 v1, v1, 0x1 .line 1475 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getFirstInstallTime()Ljava/lang/Long; move-result-object v2 const-string v3, "applicationVersion" if-eqz v1, :cond_0 const/4 v6, 0x0 const-string v7, "AndroidPlayer" const/4 v8, 0x0 const-string v9, "bool" const-string v10, "true" const-string v11, "insert" move-object/from16 v4, p0 move-object/from16 v5, p1 .line 1478 invoke-direct/range {v4 .. v11}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const/4 v14, 0x0 const-string v15, "AppVersion" const/16 v16, 0x0 const-string v17, "version" .line 1479 invoke-static {v0, v3}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v18 const-string v19, "upsert" move-object/from16 v12, p0 move-object/from16 v13, p1 invoke-direct/range {v12 .. v19}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V if-eqz v2, :cond_0 const/4 v6, 0x0 const-string v7, "installTimestamp" const/4 v8, 0x0 const-string v9, "timestamp" .line 1481 invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v10 const-string v11, "insert" move-object/from16 v4, p0 move-object/from16 v5, p1 invoke-direct/range {v4 .. v11}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V :cond_0 if-eqz p3, :cond_2 const/4 v6, 0x1 const-string v7, "deviceMake" const/4 v8, 0x0 const-string v9, "string" const-string v1, "deviceManufacturer" .line 1486 invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v10 const-string v11, "upsert" move-object/from16 v4, p0 move-object/from16 v5, p1 invoke-direct/range {v4 .. v11}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const/4 v14, 0x1 const-string v15, "deviceModel" const/16 v16, 0x0 const-string v17, "string" const-string v1, "deviceModel" .line 1487 invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v18 const-string v19, "upsert" move-object/from16 v12, p0 move-object/from16 v13, p1 invoke-direct/range {v12 .. v19}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const-string v7, "deviceOS" const-string v9, "string" const-string v1, "osVersion" .line 1488 invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v10 const-string v11, "upsert" invoke-direct/range {v4 .. v11}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const-string v15, "deviceCarrier" const-string v17, "string" const-string v1, "carrierName" .line 1489 invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v18 const-string v19, "upsert" invoke-direct/range {v12 .. v19}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const-string v7, "deviceAppVersion" const-string v9, "version" .line 1491 invoke-static {v0, v3}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v10 const-string v11, "upsert" invoke-direct/range {v4 .. v11}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const-string v15, "devicePlatform" const-string v17, "string" const-string v18, "ANDROID" const-string v19, "upsert" .line 1492 invoke-direct/range {v12 .. v19}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V if-eqz v2, :cond_1 const/4 v5, 0x1 const-string v6, "deviceInstallTimestamp" const/4 v7, 0x0 const-string v8, "timestamp" .line 1495 invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v9 const-string v10, "insert" move-object/from16 v3, p0 move-object/from16 v4, p1 invoke-direct/range {v3 .. v10}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V .line 1497 :cond_1 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_getLastLaunchTime()Ljava/lang/Long; move-result-object v0 if-eqz v0, :cond_2 const/4 v3, 0x1 const-string v4, "deviceLastLaunchTimestamp" const/4 v5, 0x0 const-string v6, "timestamp" .line 1499 invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v7 const-string v8, "upsert" move-object/from16 v1, p0 move-object/from16 v2, p1 invoke-direct/range {v1 .. v8}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V :cond_2 move-object/from16 v0, p0 iget-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; .line 1502 invoke-interface {v1}, Lcom/glu/plugins/gluanalytics/IRecordStream;->flush()V return-void .end method .method private unsync_logGeoInfoAsync(Ljava/net/URL;)V .locals 3 .line 1335 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object v0 .line 1336 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getRevenueIdentifier()Ljava/lang/String; move-result-object v1 .line 1337 invoke-virtual {p1}, Ljava/net/URL;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object p1 invoke-virtual {p1}, Landroid/net/Uri;->buildUpon()Landroid/net/Uri$Builder; move-result-object p1 .line 1338 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v2 if-nez v2, :cond_0 const-string v2, "s" .line 1339 invoke-virtual {p1, v2, v0}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder; :cond_0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 1340 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_1 const-string v0, "playerId" iget-object v2, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 1341 invoke-virtual {p1, v0, v2}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder; :cond_1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppName:Ljava/lang/String; .line 1342 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_2 const-string v0, "gameName" iget-object v2, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppName:Ljava/lang/String; .line 1343 invoke-virtual {p1, v0, v2}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder; .line 1344 :cond_2 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_3 const-string v0, "revId" .line 1345 invoke-virtual {p1, v0, v1}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder; :cond_3 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSAppName:Ljava/lang/String; .line 1346 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_4 const-string v0, "gameId" iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSAppName:Ljava/lang/String; .line 1347 invoke-virtual {p1, v0, v1}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder; .line 1351 :cond_4 :try_start_0 new-instance v0, Ljava/net/URL; invoke-virtual {p1}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri; move-result-object p1 invoke-virtual {p1}, Landroid/net/Uri;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/net/URL;->(Ljava/lang/String;)V :try_end_0 .catch Ljava/net/MalformedURLException; {:try_start_0 .. :try_end_0} :catch_0 iget-object p1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mExecutor:Ljava/util/concurrent/ExecutorService; .line 1357 new-instance v1, Lcom/glu/plugins/gluanalytics/GluAnalytics$2; invoke-direct {v1, p0, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics$2;->(Lcom/glu/plugins/gluanalytics/GluAnalytics;Ljava/net/URL;)V invoke-interface {p1, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V return-void :catch_0 move-exception p1 .line 1353 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p1 throw p1 .end method .method private unsync_scheduleHeartbeat()V .locals 3 const/16 v0, 0x3c .line 1441 invoke-virtual {p0, v0}, Landroid/os/Handler;->removeMessages(I)V const-wide/16 v1, 0x7530 .line 1442 invoke-virtual {p0, v0, v1, v2}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z return-void .end method .method private unsync_sessionID(Ljava/lang/String;Z)V .locals 2 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mExecutor:Ljava/util/concurrent/ExecutorService; .line 1393 new-instance v1, Lcom/glu/plugins/gluanalytics/GluAnalytics$3; invoke-direct {v1, p0, p1, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics$3;->(Lcom/glu/plugins/gluanalytics/GluAnalytics;Ljava/lang/String;Z)V invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V return-void .end method .method private unsync_sessionIDStart(Ljava/lang/String;)V .locals 2 const/4 v0, 0x0 .line 1458 invoke-direct {p0, p1, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_sessionID(Ljava/lang/String;Z)V const/16 p1, 0xa0 .line 1460 invoke-virtual {p0, p1}, Landroid/os/Handler;->removeMessages(I)V const-wide/32 v0, 0xea60 .line 1461 invoke-virtual {p0, p1, v0, v1}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z return-void .end method .method private static upperCase(Ljava/lang/String;)Ljava/lang/String; .locals 1 if-eqz p0, :cond_0 .line 860 sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; invoke-virtual {p0, v0}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object p0 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return-object p0 .end method .method private static writeAnalyticsDeviceIdentifier(Landroid/content/SharedPreferences;Ljava/lang/String;Ljava/lang/String;)V .locals 3 .line 953 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const-string v0, "analyticsDeviceIdentifierCheck" const-string v1, "analyticsDeviceIdentifier" if-nez p1, :cond_0 .line 955 invoke-interface {p0, v1}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; move-result-object p1 invoke-interface {p1, v0}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; goto :goto_0 .line 959 :cond_0 invoke-static {p1, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->analyticsDeviceIdentifierVerifyString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p2 const-string v2, "appinstalled" invoke-static {p2, v2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->hmacSHA256(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p2 .line 961 invoke-interface {p0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; move-result-object p1 invoke-interface {p1, v0, p2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; .line 963 :goto_0 invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V return-void .end method .method public static writeLastSessionID(Landroid/content/SharedPreferences;Ljava/lang/String;)V .locals 1 .line 1007 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const-string v0, "sessionID" .line 1008 invoke-interface {p0, v0, p1}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; .line 1009 invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V return-void .end method .method private static writeRevID(Landroid/content/SharedPreferences;Ljava/lang/String;ZLjava/lang/String;)V .locals 4 .line 984 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const-string v0, "revidSynced" const-string v1, "revidChecksum" const-string v2, "revid" if-nez p1, :cond_0 .line 986 invoke-interface {p0, v2}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; move-result-object p1 invoke-interface {p1, v1}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; move-result-object p1 invoke-interface {p1, v0}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; goto :goto_0 .line 988 :cond_0 invoke-static {p1, p2, p3}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->revIDVerifyString(Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String; move-result-object p3 const-string v3, "appinstalled" invoke-static {p3, v3}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->hmacSHA256(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p3 .line 989 invoke-interface {p0, v2, p1}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; move-result-object p1 .line 990 invoke-interface {p1, v0, p2}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; move-result-object p1 .line 991 invoke-interface {p1, v1, p3}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; .line 993 :goto_0 invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V return-void .end method .method private static writeSessionCount(Landroid/content/SharedPreferences;J)V .locals 1 .line 997 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const-string v0, "sessionCount" .line 998 invoke-interface {p0, v0, p1, p2}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; .line 999 invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V return-void .end method # virtual methods .method public destroy()V .locals 3 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const/4 v1, 0x0 new-array v1, v1, [Ljava/lang/Object; const-string v2, "GLUANALYTICS.DESTROY" .line 274 invoke-virtual {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V const/16 v0, 0x6e .line 275 invoke-virtual {p0, v0}, Landroid/os/Handler;->obtainMessage(I)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-eqz v0, :cond_0 .line 278 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IPerformance;->destroy()V :cond_0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCacheService:Lcom/glu/plugins/gluanalytics/CacheService; const/4 v1, 0x0 if-eqz v0, :cond_1 .line 281 invoke-virtual {v0}, Lcom/glu/plugins/gluanalytics/CacheService;->destroy()V iput-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCacheService:Lcom/glu/plugins/gluanalytics/CacheService; :cond_1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPinpointImpl:Lcom/glu/plugins/gluanalytics/GluAnalyticsPinpoint; if-eqz v0, :cond_2 .line 286 invoke-virtual {v0}, Lcom/glu/plugins/gluanalytics/GluAnalyticsPinpoint;->destroy()V iput-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPinpointImpl:Lcom/glu/plugins/gluanalytics/GluAnalyticsPinpoint; :cond_2 return-void .end method .method public enablePinpoint(Lcom/glu/plugins/gluanalytics/eventbus/GluEventBus;)V .locals 1 .line 262 new-instance v0, Lcom/glu/plugins/gluanalytics/GluAnalyticsPinpoint; invoke-direct {v0, p1, p0}, Lcom/glu/plugins/gluanalytics/GluAnalyticsPinpoint;->(Lcom/glu/plugins/gluanalytics/eventbus/GluEventBus;Lcom/glu/plugins/gluanalytics/GluAnalytics;)V iput-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPinpointImpl:Lcom/glu/plugins/gluanalytics/GluAnalyticsPinpoint; return-void .end method .method public getAnalyticsApplicationName()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppName:Ljava/lang/String; return-object v0 .end method .method public getAnalyticsDeviceIdentifier()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mDeviceId:Ljava/util/concurrent/atomic/AtomicReference; .line 597 invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/String; return-object v0 .end method .method public getAnalyticsEnvironment()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mEnvironment:Ljava/lang/String; return-object v0 .end method .method public getCustomProperties()Ljava/util/Map; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; const-string v1, "usageSharing" const/4 v2, 0x1 .line 583 invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z move-result v0 iget-object v3, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; const-string v4, "internalTargetedAds" .line 584 invoke-interface {v3, v4, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z move-result v2 iget-boolean v3, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mShortcircuitEATargetedMarketing:Z if-eqz v3, :cond_0 const/4 v2, 0x0 .line 589 :cond_0 new-instance v3, Ljava/util/HashMap; invoke-direct {v3}, Ljava/util/HashMap;->()V .line 590 invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v0 invoke-virtual {v3, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 591 invoke-static {v2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v0 invoke-virtual {v3, v4, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-object v3 .end method .method public getGeoLocation()Lcom/glu/plugins/gluanalytics/GeoLocation; .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGeoLocation:Ljava/util/concurrent/atomic/AtomicReference; .line 377 invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/glu/plugins/gluanalytics/GeoLocation; return-object v0 .end method .method public getRevenueIdentifier()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRevID:Ljava/util/concurrent/atomic/AtomicReference; .line 612 invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; if-eqz v0, :cond_0 .line 613 iget-object v0, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->id:Ljava/lang/String; goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return-object v0 .end method .method public getSessionIdentifier()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionID:Ljava/util/concurrent/atomic/AtomicReference; .line 618 invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/String; return-object v0 .end method .method public handleMessage(Landroid/os/Message;)V .locals 25 move-object/from16 v10, p0 move-object/from16 v0, p1 .line 625 iget v1, v0, Landroid/os/Message;->what:I const/4 v2, 0x0 const/16 v3, 0xa if-ne v1, v3, :cond_0 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v3, "GLUANALYTICS.MESSAGE_START_SESSION" new-array v2, v2, [Ljava/lang/Object; .line 626 invoke-virtual {v1, v3, v2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mApplicationContext:Landroid/content/Context; .line 627 invoke-static {v1}, Lcom/google/android/gms/appset/AppSet;->getClient(Landroid/content/Context;)Lcom/google/android/gms/appset/AppSetIdClient; move-result-object v1 .line 628 invoke-interface {v1}, Lcom/google/android/gms/appset/AppSetIdClient;->getAppSetIdInfo()Lcom/google/android/gms/tasks/Task; move-result-object v1 .line 630 iget v0, v0, Landroid/os/Message;->arg1:I .line 632 new-instance v2, Lcom/glu/plugins/gluanalytics/GluAnalytics$1; invoke-direct {v2, v10, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics$1;->(Lcom/glu/plugins/gluanalytics/GluAnalytics;I)V invoke-virtual {v1, v2}, Lcom/google/android/gms/tasks/Task;->addOnCompleteListener(Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task; goto/16 :goto_5 :cond_0 const/16 v4, 0xc8 const/4 v5, 0x0 const/4 v6, 0x1 if-ne v1, v4, :cond_7 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v4, "GLUANALYTICS.MESSAGE_START_SESSION_REAL" new-array v7, v2, [Ljava/lang/Object; .line 646 invoke-virtual {v1, v4, v7}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V iput-boolean v6, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_appForeground:Z iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionID:Ljava/util/concurrent/atomic/AtomicReference; .line 648 invoke-virtual {v1, v5}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionStopCalled:Ljava/util/concurrent/atomic/AtomicBoolean; .line 649 invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V .line 650 iget v0, v0, Landroid/os/Message;->arg1:I if-ne v0, v3, :cond_5 iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v1, "GLUANALYTICS.appStart" new-array v3, v2, [Ljava/lang/Object; .line 651 invoke-virtual {v0, v1, v3}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mApplicationContext:Landroid/content/Context; .line 652 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil;->getAdvertisingIdInfo(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo; move-result-object v0 if-eqz v0, :cond_1 .line 654 iget-object v1, v0, Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;->advertisingId:Ljava/lang/String; invoke-static {v1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->upperCase(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 iput-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGoogleAdvertisingId:Ljava/lang/String; .line 655 iget-boolean v0, v0, Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;->adTrackingLimited:Z invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v0 iput-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAdTrackingLimited:Ljava/lang/Boolean; :cond_1 iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mApplicationContext:Landroid/content/Context; .line 657 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/AnalyticsData;->getAndroidId(Landroid/content/Context;)Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->upperCase(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAndroidId:Ljava/lang/String; iput-boolean v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mIsAmazonDevice:Z :try_start_0 iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mApplicationContext:Landroid/content/Context; .line 661 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 const-string v1, "limit_ad_tracking" .line 662 invoke-static {v0, v1}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I move-result v1 if-nez v1, :cond_2 move v1, v2 goto :goto_0 :cond_2 move v1, v6 :goto_0 iput-boolean v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAmazonLimitAdTracking:Z const-string v1, "advertising_id" .line 663 invoke-static {v0, v1}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAmazonAdvertisingId:Ljava/lang/String; iput-boolean v6, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mIsAmazonDevice:Z :try_end_0 .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_1 :catch_0 iput-boolean v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mIsAmazonDevice:Z iput-object v5, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAmazonAdvertisingId:Ljava/lang/String; iput-boolean v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAmazonLimitAdTracking:Z :goto_1 iget-object v11, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; iget-object v12, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGoogleAdvertisingId:Ljava/lang/String; iget-object v13, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAndroidId:Ljava/lang/String; iget-object v14, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppSetId:Ljava/lang/String; iget-object v15, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAmazonAdvertisingId:Ljava/lang/String; .line 671 invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID; move-result-object v0 invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String; move-result-object v16 invoke-static/range {v11 .. v16}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getDeviceId(Landroid/content/SharedPreferences;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo; move-result-object v0 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mDeviceId:Ljava/util/concurrent/atomic/AtomicReference; .line 672 iget-object v3, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo;->deviceId:Ljava/lang/String; invoke-virtual {v1, v3}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-eqz v1, :cond_3 .line 675 invoke-interface {v1}, Lcom/glu/plugins/gluanalytics/IPerformance;->internal_LogLaunchOverhead()V :cond_3 iget-boolean v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRevIDEnabled:Z if-eqz v1, :cond_4 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 680 iget-object v3, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo;->deviceId:Ljava/lang/String; iget-object v4, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAndroidId:Ljava/lang/String; invoke-static {v1, v3, v4}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getRevID(Landroid/content/SharedPreferences;Ljava/lang/String;Ljava/lang/String;)Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; move-result-object v1 iget-object v3, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRevID:Ljava/util/concurrent/atomic/AtomicReference; .line 681 invoke-virtual {v3, v1}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V .line 682 iget-object v3, v1, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->id:Ljava/lang/String; .line 683 iget-boolean v1, v1, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->synced:Z goto :goto_2 :cond_4 move v1, v2 move-object v3, v5 :goto_2 iget-object v4, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v11, "s" .line 688 iget-object v12, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo;->deviceId:Ljava/lang/String; const-string v13, "source" iget-object v14, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo;->source:Ljava/lang/String; const-string v15, "revID" const-string v17, "synced" invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v18 const-string v19, "gaid" iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGoogleAdvertisingId:Ljava/lang/String; const-string v21, "androidID" iget-object v7, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAndroidId:Ljava/lang/String; const-string v23, "appSetId" iget-object v8, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppSetId:Ljava/lang/String; move-object/from16 v16, v3 move-object/from16 v20, v1 move-object/from16 v22, v7 move-object/from16 v24, v8 filled-new-array/range {v11 .. v24}, [Ljava/lang/Object; move-result-object v1 const-string v7, "LIFECYCLE.INIT.ID" invoke-virtual {v4, v7, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V iget-object v11, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; .line 689 iget-object v12, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo;->deviceId:Ljava/lang/String; iget-object v13, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$DeviceIdInfo;->source:Ljava/lang/String; iget-object v15, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGoogleAdvertisingId:Ljava/lang/String; iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAndroidId:Ljava/lang/String; iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppSetId:Ljava/lang/String; move-object v14, v3 move-object/from16 v16, v0 move-object/from16 v17, v1 invoke-interface/range {v11 .. v17}, Lcom/glu/plugins/gluanalytics/IAnalyticsCallback;->onInit(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V .line 690 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doAppStart()V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRuntimeConfig:Ljava/util/Map; .line 693 invoke-direct {v10, v0, v1, v6}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_logDefaultSegmentationValues(Ljava/lang/String;Ljava/util/Map;Z)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 695 invoke-interface {v0, v1, v3}, Lcom/glu/plugins/gluanalytics/IAnalyticsCallback;->onUserIdChanged(Ljava/lang/String;Ljava/lang/String;)V .line 697 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->sendDataToCacheService()V :cond_5 const/4 v0, 0x2 new-array v0, v0, [Ljava/lang/Long; iget-boolean v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mTomographyEnabled:Z if-eqz v1, :cond_6 .line 701 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/AnalyticsData;->getDeviceBootTimeSec([Ljava/lang/Long;)J move-result-wide v3 invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v5 :cond_6 move-object/from16 v18, v5 const-string v3, "evt" const-string v4, "SESSION_START" const-string v5, "APP" const-string v7, "SESSION_START" const/4 v8, 0x0 const/16 v21, 0x0 iget-object v11, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAndroidId:Ljava/lang/String; iget-object v12, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mGoogleAdvertisingId:Ljava/lang/String; iget-object v13, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAppSetId:Ljava/lang/String; iget-boolean v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mIsAmazonDevice:Z .line 704 invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v14 iget-boolean v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAmazonLimitAdTracking:Z invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v15 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAdTrackingLimited:Ljava/lang/Boolean; iget-object v9, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mNetworkReachability:Lcom/glu/plugins/gluanalytics/network/NetworkReachability; .line 705 invoke-virtual {v9}, Lcom/glu/plugins/gluanalytics/network/NetworkReachability;->getNetworkType()Ljava/lang/String; move-result-object v17 aget-object v19, v0, v2 aget-object v20, v0, v6 move-object/from16 v16, v1 .line 703 invoke-static/range {v11 .. v20}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->buildSessionStartData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/lang/Long;)Ljava/util/Map; move-result-object v9 move-object/from16 v1, p0 move-object v2, v3 move-object v3, v4 move-object v4, v5 move-object v5, v7 move-object v6, v8 const/4 v0, 0x0 move-object v7, v0 move-object/from16 v8, v21 .line 702 invoke-direct/range {v1 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V .line 706 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_heartbeat()V .line 707 invoke-virtual/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object v0 invoke-direct {v10, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_sessionIDStart(Ljava/lang/String;)V goto/16 :goto_5 :cond_7 const/16 v3, 0x14 if-ne v1, v3, :cond_8 .line 709 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doStopSession()V .line 710 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_flushNow()V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionStopCalled:Ljava/util/concurrent/atomic/AtomicBoolean; .line 713 invoke-virtual {v0, v6}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionID:Ljava/util/concurrent/atomic/AtomicReference; .line 716 invoke-virtual {v0, v5}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V .line 717 invoke-virtual/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object v0 invoke-direct {v10, v0, v6}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_sessionID(Ljava/lang/String;Z)V iput-boolean v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_appForeground:Z goto/16 :goto_5 :cond_8 const/16 v3, 0x1e if-ne v1, v3, :cond_9 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsStreamName:Ljava/lang/String; .line 720 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Lorg/json/JSONStringer; invoke-direct {v10, v1, v2, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionStopCalled:Ljava/util/concurrent/atomic/AtomicBoolean; .line 721 invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z move-result v0 if-eqz v0, :cond_1d .line 722 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_flushNow()V goto/16 :goto_5 :cond_9 const/16 v3, 0xbe if-ne v1, v3, :cond_a .line 726 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$LogEventWithGCSUser; if-eqz v0, :cond_1d iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsStreamName:Ljava/lang/String; .line 728 iget-object v3, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$LogEventWithGCSUser;->json:Lorg/json/JSONStringer; iget-object v0, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$LogEventWithGCSUser;->userID:Ljava/lang/String; invoke-direct {v10, v1, v2, v3, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;Ljava/lang/String;)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionStopCalled:Ljava/util/concurrent/atomic/AtomicBoolean; .line 729 invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z move-result v0 if-eqz v0, :cond_1d .line 730 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_flushNow()V goto/16 :goto_5 :cond_a const/16 v3, 0x50 if-ne v1, v3, :cond_c .line 734 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate; .line 737 iget-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->userID:Ljava/lang/String; invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_b iget-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->userID:Ljava/lang/String; goto :goto_3 :cond_b iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 738 :goto_3 iget-boolean v2, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->isDeviceValue:Z iget-object v3, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->json:Lorg/json/JSONStringer; invoke-direct {v10, v1, v2, v3}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_assertCanUpdatePSValue(Ljava/lang/String;ZLorg/json/JSONStringer;)V iget-object v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object v3, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSStreamName:Ljava/lang/String; .line 739 iget-object v0, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->json:Lorg/json/JSONStringer; invoke-direct {v10, v2, v3, v0, v1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;Ljava/lang/String;)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; .line 740 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IRecordStream;->flush()V goto/16 :goto_5 :cond_c const/16 v3, 0x28 if-ne v1, v3, :cond_d .line 742 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Lorg/json/JSONStringer; iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsStreamName:Ljava/lang/String; .line 743 invoke-direct {v10, v1, v2, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;)V .line 744 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_flushNow()V goto/16 :goto_5 :cond_d const/16 v3, 0x32 if-ne v1, v3, :cond_e .line 746 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Lorg/json/JSONStringer; :try_start_1 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 748 invoke-direct {v10, v0, v1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEvent(Lorg/json/JSONStringer;Ljava/lang/String;)V .line 749 invoke-virtual {v0}, Lorg/json/JSONStringer;->toString()Ljava/lang/String; move-result-object v0 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSStreamName:Ljava/lang/String; .line 750 invoke-interface {v1, v2, v0}, Lcom/glu/plugins/gluanalytics/IRecordStream;->saveRecord(Ljava/lang/String;Ljava/lang/String;)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; .line 751 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IRecordStream;->flush()V :try_end_1 .catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_1 goto/16 :goto_5 :catch_1 move-exception v0 .line 754 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object v0 throw v0 :cond_e const/16 v3, 0xb4 if-ne v1, v3, :cond_f iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAnalyticsStreamName:Ljava/lang/String; .line 757 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Lorg/json/JSONStringer; invoke-direct {v10, v1, v2, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;)V .line 758 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_flushNow()V goto/16 :goto_5 :cond_f const/16 v3, 0x3c if-ne v1, v3, :cond_10 .line 760 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_heartbeat()V goto/16 :goto_5 :cond_10 const/16 v3, 0xa0 if-ne v1, v3, :cond_11 .line 762 invoke-virtual/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object v0 invoke-direct {v10, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_sessionIDStart(Ljava/lang/String;)V goto/16 :goto_5 :cond_11 const/16 v3, 0xaa if-ne v1, v3, :cond_13 iget-boolean v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_appForeground:Z if-eqz v1, :cond_1d .line 765 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Ljava/lang/String; iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionID:Ljava/util/concurrent/atomic/AtomicReference; .line 766 invoke-virtual {v1, v0}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/String; .line 767 invoke-static {v0, v1}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_12 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v2, "sessionID" filled-new-array {v2, v0}, [Ljava/lang/Object; move-result-object v2 const-string v3, "ID.SESSION.SET" .line 768 invoke-virtual {v1, v3, v2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; .line 770 invoke-interface {v1}, Lcom/glu/plugins/gluanalytics/IAnalyticsCallback;->onUpdateSessionId()V .line 772 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->sendDataToCacheService()V :cond_12 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 775 invoke-static {v1}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->readLastSessionID(Landroid/content/SharedPreferences;)Ljava/lang/String; move-result-object v1 .line 776 invoke-static {v0, v1}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_1d iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 777 invoke-static {v1, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->writeLastSessionID(Landroid/content/SharedPreferences;Ljava/lang/String;)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 778 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->readSessionCount(Landroid/content/SharedPreferences;)J move-result-wide v1 const-wide/16 v3, 0x1 add-long/2addr v1, v3 invoke-static {v0, v1, v2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->writeSessionCount(Landroid/content/SharedPreferences;J)V goto/16 :goto_5 :cond_13 const/16 v3, 0x64 if-ne v1, v3, :cond_18 .line 782 iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v1, Ljava/util/Map; const-string v3, "revid" .line 783 invoke-interface {v1, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/String; const-string v5, "initialPlatform" .line 784 invoke-interface {v1, v5}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/String; .line 785 iget v0, v0, Landroid/os/Message;->arg1:I if-eqz v0, :cond_14 move v0, v6 goto :goto_4 :cond_14 move v0, v2 .line 786 :goto_4 invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v7 if-eqz v7, :cond_15 iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v1, "e" const-string v2, "revID can\'t be empty" filled-new-array {v1, v2}, [Ljava/lang/Object; move-result-object v1 const-string v2, "ID.REVID.ERROR" .line 787 invoke-virtual {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->e(Ljava/lang/String;[Ljava/lang/Object;)V return-void :cond_15 iget-object v7, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRevID:Ljava/util/concurrent/atomic/AtomicReference; .line 790 new-instance v8, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; invoke-direct {v8, v4, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->(Ljava/lang/String;Z)V invoke-virtual {v7, v8}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v7 check-cast v7, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo; .line 792 iget-object v8, v7, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->id:Ljava/lang/String; invoke-static {v4, v8}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z move-result v8 if-eqz v8, :cond_16 return-void .line 794 :cond_16 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->sendDataToCacheService()V iget-object v8, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; iget-object v9, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mAndroidId:Ljava/lang/String; .line 796 invoke-static {v8, v4, v0, v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->writeRevID(Landroid/content/SharedPreferences;Ljava/lang/String;ZLjava/lang/String;)V iget-object v8, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v9, "synced" .line 797 invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object v11 const-string v12, "revID" filled-new-array {v12, v4, v9, v11}, [Ljava/lang/Object; move-result-object v9 const-string v11, "ID.REVID.SET" invoke-virtual {v8, v11, v9}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V iget-object v8, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 799 invoke-static {v8}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->readSessionCount(Landroid/content/SharedPreferences;)J move-result-wide v8 iget-wide v13, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSessionLimitOrphanEvent:J cmp-long v8, v8, v13 if-gtz v8, :cond_17 move v2, v6 .line 801 :cond_17 iget-object v6, v7, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->id:Ljava/lang/String; invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v6 if-nez v6, :cond_1d iget-boolean v6, v7, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->synced:Z if-nez v6, :cond_1d if-eqz v0, :cond_1d if-eqz v2, :cond_1d iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v2, "oldRevID" .line 802 iget-object v6, v7, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->id:Ljava/lang/String; filled-new-array {v12, v4, v2, v6}, [Ljava/lang/Object; move-result-object v2 const-string v4, "ID.REVID.ORPHAN" invoke-virtual {v0, v4, v2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V .line 803 new-instance v9, Ljava/util/HashMap; invoke-direct {v9}, Ljava/util/HashMap;->()V .line 804 iget-object v0, v7, Lcom/glu/plugins/gluanalytics/GluAnalytics$RevIDInfo;->id:Ljava/lang/String; invoke-interface {v9, v3, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 805 invoke-interface {v9, v5, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v2, "evt" const/4 v3, 0x0 const-string v4, "SDK" const-string v5, "ORPHAN_REVID" const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-object/from16 v1, p0 .line 806 invoke-direct/range {v1 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V goto/16 :goto_5 :cond_18 const/16 v3, 0x6e if-ne v1, v3, :cond_19 iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; .line 813 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IAnalyticsCallback;->onDestroy()V goto/16 :goto_5 :cond_19 const/16 v3, 0x82 if-ne v1, v3, :cond_1a .line 815 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Ljava/lang/String; iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; iput-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 818 invoke-static {v0, v1}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_1d iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; iget-object v3, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; .line 820 invoke-virtual/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getRevenueIdentifier()Ljava/lang/String; move-result-object v4 invoke-interface {v1, v3, v4}, Lcom/glu/plugins/gluanalytics/IAnalyticsCallback;->onUserIdChanged(Ljava/lang/String;Ljava/lang/String;)V iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mRuntimeConfig:Ljava/util/Map; .line 822 invoke-direct {v10, v0, v1, v2}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_logDefaultSegmentationValues(Ljava/lang/String;Ljava/util/Map;Z)V .line 824 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->sendDataToCacheService()V goto :goto_5 :cond_1a const/16 v2, 0x8c if-ne v1, v2, :cond_1b .line 827 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; move-object v9, v0 check-cast v9, Ljava/util/Map; const-string v2, "cpu" const/4 v3, 0x0 const-string v4, "SDK" const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-object/from16 v1, p0 .line 836 invoke-direct/range {v1 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doLogEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V .line 837 invoke-direct/range {p0 .. p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_flushNow()V goto :goto_5 :cond_1b const/16 v2, 0xd2 if-ne v1, v2, :cond_1c .line 839 iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate; .line 840 iget-object v1, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->userID:Ljava/lang/String; iget-boolean v2, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->isDeviceValue:Z iget-object v3, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->json:Lorg/json/JSONStringer; invoke-direct {v10, v1, v2, v3}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_assertCanUpdatePSValue(Ljava/lang/String;ZLorg/json/JSONStringer;)V iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; iget-object v2, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSStreamName:Ljava/lang/String; .line 841 iget-object v3, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->json:Lorg/json/JSONStringer; iget-object v0, v0, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->userID:Ljava/lang/String; invoke-direct {v10, v1, v2, v3, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_endJsonEventAndLog(Lcom/glu/plugins/gluanalytics/IRecordStream;Ljava/lang/String;Lorg/json/JSONStringer;Ljava/lang/String;)V iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSRecordStream:Lcom/glu/plugins/gluanalytics/IRecordStream; .line 842 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IRecordStream;->flush()V goto :goto_5 :cond_1c iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v2, "v" .line 844 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 const-string v3, "m" const-string v4, "Unknown message" filled-new-array {v3, v4, v2, v1}, [Ljava/lang/Object; move-result-object v1 const-string v2, "ASYNC.MESSAGE.ERROR" invoke-virtual {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->e(Ljava/lang/String;[Ljava/lang/Object;)V :cond_1d :goto_5 return-void .end method .method public init(Lcom/glu/plugins/gluanalytics/IAnalyticsCallback;)V .locals 4 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const/4 v1, 0x0 new-array v2, v1, [Ljava/lang/Object; const-string v3, "GLUANALYTICS.INIT" .line 267 invoke-virtual {v0, v3, v2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V iput-object p1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; const/16 p1, 0xa .line 269 invoke-virtual {p0, p1, p1, v1}, Landroid/os/Handler;->obtainMessage(III)Landroid/os/Message; move-result-object p1 invoke-virtual {p0, p1}, Landroid/os/Handler;->sendMessageAtFrontOfQueue(Landroid/os/Message;)Z return-void .end method .method public internal_logCpuEvent(Ljava/util/Map;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map<", "Ljava/lang/String;", "*>;)V" } .end annotation const/16 v0, 0x8c .line 354 invoke-virtual {p0, v0, p1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object p1 invoke-virtual {p0, p1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z return-void .end method .method public internal_logEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/Long;", "Ljava/lang/Long;", "Ljava/util/Map<", "Ljava/lang/String;", "*>;)V" } .end annotation move-object v10, p0 const-string v1, "evt" const-string v9, "SDK_STANDARD" move-object v0, p0 move-object v2, p1 move-object v3, p2 move-object v4, p3 move-object v5, p4 move-object/from16 v6, p5 move-object/from16 v7, p6 move-object/from16 v8, p7 .line 364 invoke-direct/range {v0 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v0 iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; if-eqz v1, :cond_0 .line 365 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_1 :cond_0 const-string v1, "gluCentralServicesUserID" move-object/from16 v2, p7 .line 366 invoke-static {v2, v1}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 if-eqz v1, :cond_1 .line 367 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v2 if-nez v2, :cond_1 .line 368 new-instance v2, Lcom/glu/plugins/gluanalytics/GluAnalytics$LogEventWithGCSUser; invoke-direct {v2, v0, v1}, Lcom/glu/plugins/gluanalytics/GluAnalytics$LogEventWithGCSUser;->(Lorg/json/JSONStringer;Ljava/lang/String;)V const/16 v0, 0xbe invoke-virtual {p0, v0, v2}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z return-void :cond_1 const/16 v1, 0x1e .line 372 invoke-virtual {p0, v1, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z return-void .end method .method public internal_logEvent_adImpression(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/math/BigDecimal;Ljava/lang/Long;Ljava/util/Map;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/math/BigDecimal;", "Ljava/lang/Long;", "Ljava/util/Map<", "Ljava/lang/String;", "*>;)V" } .end annotation move-object v10, p0 const-string v1, "evt" const-string v9, "SDK_STANDARD" move-object v0, p0 move-object v2, p1 move-object v3, p2 move-object v4, p3 move-object v5, p4 move-object/from16 v6, p5 move-object/from16 v7, p6 move-object/from16 v8, p7 .line 359 invoke-direct/range {v0 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v0 const/16 v1, 0x1e .line 360 invoke-virtual {p0, v1, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z return-void .end method .method public internal_perfEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;)V" } .end annotation move-object v10, p0 iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mUnityVersion:Ljava/lang/String; .line 501 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_0 const-string v0, "unity_ver" iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mUnityVersion:Ljava/lang/String; move-object/from16 v8, p6 .line 502 invoke-interface {v8, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :cond_0 move-object/from16 v8, p6 :goto_0 const-string v1, "perf" const/4 v6, 0x0 const/4 v7, 0x0 const-string v9, "SDK_STANDARD" move-object v0, p0 move-object v2, p1 move-object v3, p2 move-object v4, p3 move-object v5, p4 move-object/from16 v8, p6 .line 503 invoke-direct/range {v0 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v0 const/16 v1, 0xb4 .line 504 invoke-virtual {p0, v1, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z return-void .end method .method public internal_pinpointAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;)V" } .end annotation .line 418 :try_start_0 invoke-static {p3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_0 goto :goto_0 :cond_0 iget-object p3, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mut_userId:Ljava/lang/String; :goto_0 const-string v0, "event" .line 419 invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 const-string v0, "mkt_event" :goto_1 move-object v2, v0 goto :goto_2 :catch_0 move-exception p1 goto :goto_3 :cond_1 const-string v0, "mkt" goto :goto_1 :goto_2 const-string v4, "MKT" const-string v5, "UPDATE" iget-object v6, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSAppName:Ljava/lang/String; const-string v8, "string" const-string v10, "SDK_STANDARD" move-object v1, p0 move-object v3, p1 move-object v7, p2 move-object v9, p4 .line 420 invoke-direct/range {v1 .. v10}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object p4 .line 421 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsApplicationName()Ljava/lang/String; move-result-object v1 const-string v4, "string" invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->getAnalyticsDeviceIdentifier()Ljava/lang/String; move-result-object v6 move-object v0, p0 move-object v2, p3 move-object v3, p1 move-object v5, p2 invoke-direct/range {v0 .. v6}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->buildMarketingHash(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 const-string p2, "su" const-string v0, "upsert" .line 422 invoke-static {p4, p2, v0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string p2, "req_id" .line 423 invoke-static {p4, p2, p1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V .line 424 new-instance p1, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate; const/4 p2, 0x0 invoke-direct {p1, p4, p3, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->(Lorg/json/JSONStringer;Ljava/lang/String;Z)V const/16 p2, 0xd2 invoke-virtual {p0, p2, p1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object p1 invoke-virtual {p0, p1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 return-void .line 426 :goto_3 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p1 throw p1 .end method .method public internal_setRevID(Ljava/lang/String;Ljava/lang/String;Z)V .locals 2 .line 477 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V const-string v1, "revid" .line 478 invoke-interface {v0, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string p1, "initialPlatform" .line 479 invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 p1, 0x0 const/16 p2, 0x64 .line 480 invoke-virtual {p0, p2, p3, p1, v0}, Landroid/os/Handler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message; move-result-object p1 invoke-virtual {p0, p1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z return-void .end method .method public internal_trackRevenueInUsd(DLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V .locals 13 .annotation system Ldalvik/annotation/Signature; value = { "(D", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/util/Map<", "Ljava/lang/String;", "*>;)V" } .end annotation move-object v10, p0 move-object/from16 v11, p6 .line 485 invoke-static {p1, p2}, Lcom/glu/plugins/gluanalytics/util/Conversion;->usdToCents(D)J move-result-wide v0 invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v0 if-eqz v11, :cond_0 const-string v1, "ft" .line 486 invoke-interface {v11, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_0 invoke-interface {v11, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 const/4 v2, 0x1 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_0 const/4 v0, 0x0 :cond_0 move-object v12, v0 const-string v1, "mtu" const/4 v2, 0x0 const/4 v7, 0x0 const-string v9, "SDK_STANDARD" move-object v0, p0 move-object/from16 v3, p3 move-object/from16 v4, p4 move-object/from16 v5, p5 move-object v6, v12 move-object/from16 v8, p6 .line 488 invoke-direct/range {v0 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v0 const/16 v1, 0x28 .line 489 invoke-virtual {p0, v1, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z iget-boolean v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSendPenguinMTU:Z if-eqz v0, :cond_1 .line 491 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object v8 .line 492 invoke-static {v8, v11}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putAll(Ljava/util/Map;Ljava/util/Map;)V const-string v0, "game_id" iget-object v1, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSAppName:Ljava/lang/String; .line 493 invoke-interface {v8, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "mtu" const/4 v2, 0x0 const/4 v7, 0x0 const-string v9, "SDK_STANDARD" move-object v0, p0 move-object/from16 v3, p3 move-object/from16 v4, p4 move-object/from16 v5, p5 move-object v6, v12 .line 494 invoke-direct/range {v0 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v0 const/16 v1, 0x32 .line 495 invoke-virtual {p0, v1, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z :cond_1 return-void .end method .method public internal_updatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V .locals 13 move-object v11, p0 move v0, p2 if-eqz v0, :cond_0 const-string v1, "DPS" :goto_0 move-object v12, v1 goto :goto_1 :cond_0 const-string v1, "PPS" goto :goto_0 :goto_1 :try_start_0 const-string v2, "p_eng" const-string v5, "UPDATE" iget-object v6, v11, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPPSAppName:Ljava/lang/String; const/4 v9, 0x0 const-string v10, "SDK_STANDARD" move-object v1, p0 move-object/from16 v3, p3 move-object v4, v12 move-object/from16 v7, p6 move-object/from16 v8, p5 .line 400 invoke-direct/range {v1 .. v10}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v9 .line 401 invoke-static/range {p8 .. p8}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_1 move-object v1, p0 move-object v2, v12 move-object v3, p1 move-object/from16 v4, p3 move-object/from16 v5, p4 move-object/from16 v6, p5 move-object/from16 v7, p6 move-object/from16 v8, p7 .line 402 invoke-direct/range {v1 .. v8}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->createReqIdAndForwardToGCS(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 goto :goto_2 :catch_0 move-exception v0 goto :goto_3 :cond_1 move-object v1, p0 move-object v2, v12 move-object v3, p1 move-object/from16 v4, p3 move-object/from16 v5, p5 move-object/from16 v6, p6 .line 404 invoke-direct/range {v1 .. v6}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->createReqId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 :goto_2 const-string v2, "su" move-object/from16 v3, p7 .line 406 invoke-static {v9, v2, v3}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string v2, "c" move-object/from16 v3, p4 .line 407 invoke-static {v9, v2, v3}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V const-string v2, "req_id" .line 408 invoke-static {v9, v2, v1}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->putIfNotEmpty(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/String;)V .line 409 new-instance v1, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate; move-object v2, p1 invoke-direct {v1, v9, p1, p2}, Lcom/glu/plugins/gluanalytics/GluAnalytics$PSValueUpdate;->(Lorg/json/JSONStringer;Ljava/lang/String;Z)V const/16 v0, 0x50 invoke-virtual {p0, v0, v1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 return-void .line 411 :goto_3 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object v0 throw v0 .end method .method public logEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/String;", "Ljava/lang/Long;", "Ljava/lang/Long;", "Ljava/util/Map<", "Ljava/lang/String;", "*>;)V" } .end annotation move-object v10, p0 iget-boolean v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mUsageSharing:Z if-nez v0, :cond_1 iget-object v0, v10, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCriticalEventList:Ljava/util/List; if-eqz v0, :cond_0 move-object v2, p1 .line 345 invoke-interface {v0, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_2 :cond_0 return-void :cond_1 move-object v2, p1 :cond_2 const-string v1, "evt" const-string v9, "SDK_CUSTOM" move-object v0, p0 move-object v2, p1 move-object v3, p2 move-object v4, p3 move-object v5, p4 move-object/from16 v6, p5 move-object/from16 v7, p6 move-object/from16 v8, p7 .line 348 invoke-direct/range {v0 .. v9}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->beginJsonEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;Ljava/lang/String;)Lorg/json/JSONStringer; move-result-object v0 const/16 v1, 0x1e .line 349 invoke-virtual {p0, v1, v0}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z return-void .end method .method public onPause()V .locals 3 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const/4 v1, 0x0 new-array v1, v1, [Ljava/lang/Object; const-string v2, "LIFECYCLE.PAUSE" .line 303 invoke-virtual {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V const/16 v0, 0x14 .line 304 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendEmptyMessage(I)Z iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-eqz v0, :cond_0 .line 307 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IPerformance;->onPause()V :cond_0 return-void .end method .method public onResume()V .locals 4 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const/4 v1, 0x0 new-array v2, v1, [Ljava/lang/Object; const-string v3, "LIFECYCLE.RESUME" .line 293 invoke-virtual {v0, v3, v2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V const/16 v0, 0xa const/16 v2, 0x14 .line 294 invoke-virtual {p0, v0, v2, v1}, Landroid/os/Handler;->obtainMessage(III)Landroid/os/Message; move-result-object v0 invoke-virtual {p0, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-eqz v0, :cond_0 .line 297 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IPerformance;->onResume()V :cond_0 return-void .end method .method public perfGetValues()Lcom/glu/plugins/gluanalytics/PerfMeasure; .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-nez v0, :cond_0 .line 328 new-instance v0, Lcom/glu/plugins/gluanalytics/PerfMeasure; invoke-direct {v0}, Lcom/glu/plugins/gluanalytics/PerfMeasure;->()V return-object v0 .line 331 :cond_0 invoke-interface {v0}, Lcom/glu/plugins/gluanalytics/IPerformance;->perfGetValues()Lcom/glu/plugins/gluanalytics/PerfMeasure; move-result-object v0 return-object v0 .end method .method public perfSampleAction(Ljava/lang/String;I)Z .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-nez v0, :cond_0 const/4 p1, 0x0 return p1 .line 339 :cond_0 invoke-interface {v0, p1, p2}, Lcom/glu/plugins/gluanalytics/IPerformance;->perfSampleAction(Ljava/lang/String;I)Z move-result p1 return p1 .end method .method public perfSampleEnd(Ljava/lang/String;Ljava/util/Map;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/util/Map<", "Ljava/lang/String;", "*>;)V" } .end annotation iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-eqz v0, :cond_0 .line 321 invoke-interface {v0, p1, p2}, Lcom/glu/plugins/gluanalytics/IPerformance;->perfSampleEnd(Ljava/lang/String;Ljava/util/Map;)V :cond_0 return-void .end method .method public perfSampleStart(Ljava/lang/String;ILjava/util/Map;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "I", "Ljava/util/Map<", "Ljava/lang/String;", "*>;)V" } .end annotation iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mPerformance:Lcom/glu/plugins/gluanalytics/IPerformance; if-eqz v0, :cond_0 .line 314 invoke-interface {v0, p1, p2, p3}, Lcom/glu/plugins/gluanalytics/IPerformance;->perfSampleStart(Ljava/lang/String;ILjava/util/Map;)V :cond_0 return-void .end method .method public setCustomProperties(Ljava/util/Map;)V .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;)V" } .end annotation if-eqz p1, :cond_5 const-string v0, "usageSharing" .line 541 invoke-interface {p1, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z move-result v1 const/4 v8, 0x1 if-eqz v1, :cond_1 .line 542 invoke-static {p1, v0, v8}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getBoolean(Ljava/lang/Object;Ljava/lang/String;Z)Z move-result v1 iput-boolean v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mUsageSharing:Z iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 544 invoke-interface {v1}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v1 iget-boolean v2, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mUsageSharing:Z .line 545 invoke-interface {v1, v0, v2}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; .line 546 invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;->apply()V const/4 v1, 0x0 const-string v2, "PRIVACY" iget-boolean v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mUsageSharing:Z if-eqz v0, :cond_0 const-string v0, "USAGE_SHARING_ENABLED" :goto_0 move-object v3, v0 goto :goto_1 :cond_0 const-string v0, "USAGE_SHARING_DISABLED" goto :goto_0 :goto_1 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 move-object v0, p0 .line 548 invoke-virtual/range {v0 .. v7}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->internal_logEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V :cond_1 const-string v0, "internalTargetedAds" .line 552 invoke-interface {p1, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_5 iget-boolean v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mShortcircuitEATargetedMarketing:Z if-eqz v1, :cond_2 goto :goto_6 :cond_2 iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 558 invoke-interface {v1, v0}, Landroid/content/SharedPreferences;->contains(Ljava/lang/String;)Z move-result v9 iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 559 invoke-interface {v1, v0, v8}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z move-result v10 .line 560 invoke-static {p1, v0, v8}, Lcom/glu/plugins/gluanalytics/util/ConfigUtil;->getBoolean(Ljava/lang/Object;Ljava/lang/String;Z)Z move-result v1 iput-boolean v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mInternalTargetedAds:Z iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mSharedPrefs:Landroid/content/SharedPreferences; .line 562 invoke-interface {v1}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v1 iget-boolean v2, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mInternalTargetedAds:Z .line 563 invoke-interface {v1, v0, v2}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; .line 564 invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;->apply()V const/4 v1, 0x0 const/4 v2, 0x1 const-string v3, "internalTargetedAds" const/4 v4, 0x0 const-string v5, "bool" iget-boolean v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mInternalTargetedAds:Z if-eqz v0, :cond_3 const-string v0, "true" :goto_2 move-object v6, v0 goto :goto_3 :cond_3 const-string v0, "false" goto :goto_2 :goto_3 const-string v7, "upsert" move-object v0, p0 .line 566 invoke-direct/range {v0 .. v7}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->unsync_doUpdatePSValue(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const/4 v1, 0x0 const-string v2, "PRIVACY" iget-boolean v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mInternalTargetedAds:Z if-eqz v0, :cond_4 const-string v0, "INTERNAL_TARGETED_ADS_ENABLED" :goto_4 move-object v3, v0 goto :goto_5 :cond_4 const-string v0, "INTERNAL_TARGETED_ADS_DISABLED" goto :goto_4 :goto_5 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 move-object v0, p0 .line 569 invoke-virtual/range {v0 .. v7}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->internal_logEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ljava/util/Map;)V if-eqz v9, :cond_5 iget-boolean v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mInternalTargetedAds:Z if-eq v10, v0, :cond_5 iget-object v1, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mCallback:Lcom/glu/plugins/gluanalytics/IAnalyticsCallback; .line 574 invoke-interface {v1, v0}, Lcom/glu/plugins/gluanalytics/IAnalyticsCallback;->internalTargetedAdsChanged(Z)V :cond_5 :goto_6 return-void .end method .method public setEATargetedMarketing(Z)V .locals 2 .line 457 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V const-string v1, "internalTargetedAds" .line 458 invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object p1 invoke-interface {v0, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 459 invoke-virtual {p0, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->setCustomProperties(Ljava/util/Map;)V return-void .end method .method public setUserIdentifier(Ljava/lang/String;)V .locals 3 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v1, "userID" filled-new-array {v1, p1}, [Ljava/lang/Object; move-result-object v1 const-string v2, "ID.USER.SET" .line 534 invoke-virtual {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V const/16 v0, 0x82 .line 535 invoke-virtual {p0, v0, p1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object p1 invoke-virtual {p0, p1}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z return-void .end method .method public shortcircuitEATargetedMarketingOff()V .locals 1 const/4 v0, 0x1 iput-boolean v0, p0, Lcom/glu/plugins/gluanalytics/GluAnalytics;->mShortcircuitEATargetedMarketing:Z return-void .end method .method public userAgedUp()V .locals 3 .line 445 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V const-string v1, "internalTargetedAds" sget-object v2, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; .line 446 invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 447 invoke-virtual {p0, v0}, Lcom/glu/plugins/gluanalytics/GluAnalytics;->setCustomProperties(Ljava/util/Map;)V return-void .end method