.class public Lcom/glu/plugins/gluanalytics/AnalyticsData; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo; } .end annotation # static fields .field public static final S_APPLICATION_VERSION:Ljava/lang/String; = "applicationVersion" .field public static final S_APPLICATION_VERSION_CODE:Ljava/lang/String; = "applicationVersionCode" .field public static final S_CARRIER_NAME:Ljava/lang/String; = "carrierName" .field public static final S_CPU_CORE_COUNT:Ljava/lang/String; = "cpuCoreCount" .field public static final S_DEVICE_MANUFACTURER:Ljava/lang/String; = "deviceManufacturer" .field public static final S_DEVICE_MODEL:Ljava/lang/String; = "deviceModel" .field public static final S_DEVICE_NAME:Ljava/lang/String; = "deviceName" .field public static final S_DEVICE_TIER:Ljava/lang/String; = "deviceTier" .field public static final S_DEVICE_TIER_FALLBACK:Ljava/lang/String; = "deviceTierFallback" .field public static final S_GPU_RENDERER:Ljava/lang/String; = "gpuDeviceName" .field public static final S_GPU_VENDOR:Ljava/lang/String; = "gpuDeviceVendor" .field public static final S_LOCALE_COUNTRY_CODE:Ljava/lang/String; = "localeCountryCode" .field public static final S_LOCALE_LANGUAGE_CODE:Ljava/lang/String; = "localeLanguageCode" .field public static final S_LONG_SDK_VERSION:Ljava/lang/String; = "longSdkVersion" .field public static final S_OS_VERSION:Ljava/lang/String; = "osVersion" .field public static final S_PRE_INIT_TIME:Ljava/lang/String; = "preInitTime" .field public static final S_SDK_VERSION:Ljava/lang/String; = "sdkVersion" .field public static final S_SUPPORTED_ABIS:Ljava/lang/String; = "supportedABIs" .field public static final S_UNITY_VERSION:Ljava/lang/String; = "unityVer" .field public static final S_USER_ID:Ljava/lang/String; = "userIdentifier" .field private static final sLog:Lcom/glu/plugins/gluanalytics/util/YLogger; # direct methods .method static constructor ()V .locals 1 const-class v0, Lcom/glu/plugins/gluanalytics/AnalyticsData; .line 51 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/YLogger;->create(Ljava/lang/Class;)Lcom/glu/plugins/gluanalytics/util/YLogger; move-result-object v0 sput-object v0, Lcom/glu/plugins/gluanalytics/AnalyticsData;->sLog:Lcom/glu/plugins/gluanalytics/util/YLogger; return-void .end method .method private constructor ()V .locals 0 .line 53 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static abis21()Ljava/util/List; .locals 1 .annotation build Landroid/annotation/TargetApi; value = 0x15 .end annotation .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Ljava/lang/String;", ">;" } .end annotation .line 143 sget-object v0, Landroid/os/Build;->SUPPORTED_ABIS:[Ljava/lang/String; if-nez v0, :cond_0 .line 145 invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List; move-result-object v0 return-object v0 .line 147 :cond_0 invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; move-result-object v0 return-object v0 .end method .method private static abis4()Ljava/util/List; .locals 2 .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Ljava/lang/String;", ">;" } .end annotation .line 153 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 154 sget-object v1, Landroid/os/Build;->CPU_ABI:Ljava/lang/String; if-eqz v1, :cond_0 .line 155 invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 156 :cond_0 sget-object v1, Landroid/os/Build;->CPU_ABI2:Ljava/lang/String; if-eqz v1, :cond_1 .line 157 invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z :cond_1 return-object v0 .end method .method public static buildDefault(Landroid/content/Context;)Ljava/util/Map; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/content/Context;", ")", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation .line 57 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object v0 :try_start_0 const-string v1, "applicationVersion" .line 59 invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object v2 invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v3 const/4 v4, 0x0 invoke-virtual {v2, v3, v4}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; move-result-object v2 iget-object v2, v2, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String; invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "applicationVersionCode" .line 60 invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/Common;->packageVersionCode(Landroid/content/Context;)J move-result-wide v2 invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v2 invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :try_end_0 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception v1 sget-object v2, Lcom/glu/plugins/gluanalytics/AnalyticsData;->sLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v3, "no package version" const-string v4, "e" const-string v5, "m" filled-new-array {v5, v3, v4, v1}, [Ljava/lang/Object; move-result-object v1 const-string v3, "BUILD_ANALYTICS_DATA.ERROR" .line 62 invoke-virtual {v2, v3, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->e(Ljava/lang/String;[Ljava/lang/Object;)V .line 65 :goto_0 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v1 invoke-virtual {v1}, Ljava/util/Locale;->getCountry()Ljava/lang/String; move-result-object v1 const-string v2, "localeCountryCode" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 66 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v1 invoke-virtual {v1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String; move-result-object v1 const-string v2, "localeLanguageCode" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string v1, "phone" .line 68 invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p0 check-cast p0, Landroid/telephony/TelephonyManager; if-eqz p0, :cond_0 const-string v1, "carrierName" .line 70 invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String; move-result-object p0 invoke-interface {v0, v1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_0 const-string p0, "osVersion" .line 72 sget-object v1, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String; invoke-interface {v0, p0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string p0, "deviceModel" .line 73 sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String; invoke-interface {v0, p0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string p0, "deviceManufacturer" .line 74 sget-object v1, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String; invoke-interface {v0, p0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string p0, "deviceName" .line 75 sget-object v1, Landroid/os/Build;->PRODUCT:Ljava/lang/String; invoke-interface {v0, p0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string p0, "longSdkVersion" const-string v1, "7.3.0-b9f217a" .line 77 invoke-interface {v0, p0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const-string p0, "^[\\d\\.]+" .line 79 invoke-static {p0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object p0 invoke-virtual {p0, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher; move-result-object p0 .line 80 invoke-virtual {p0}, Ljava/util/regex/Matcher;->find()Z move-result v1 if-eqz v1, :cond_1 const-string v1, "sdkVersion" .line 81 invoke-virtual {p0}, Ljava/util/regex/Matcher;->group()Ljava/lang/String; move-result-object p0 invoke-interface {v0, v1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 83 :cond_1 invoke-static {}, Lcom/glu/plugins/gluanalytics/AnalyticsData;->abis21()Ljava/util/List; move-result-object p0 const-string v1, "supportedABIs" .line 84 invoke-interface {v0, v1, p0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 86 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/AnalyticsData;->cleanEmpty(Ljava/util/Map;)Ljava/util/Map; move-result-object p0 return-object p0 .end method .method private static cleanEmpty(Ljava/util/Map;)Ljava/util/Map; .locals 3 .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 131 invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map; move-result-object v0 .line 132 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 :cond_0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/Map$Entry; .line 133 invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v2 if-eqz v2, :cond_0 .line 134 invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v1 invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :cond_1 return-object v0 .end method .method public static getAdvertisingIdInfo(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo; .locals 8 .line 100 invoke-static {}, Lcom/glu/plugins/gluanalytics/AnalyticsData;->hasGooglePlayServices()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_0 return-object v1 .line 103 :cond_0 :try_start_0 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide v2 .line 104 invoke-static {p0}, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient;->getAdvertisingIdInfo(Landroid/content/Context;)Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info; move-result-object p0 .line 105 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide v4 sub-long/2addr v4, v2 sget-object v0, Lcom/glu/plugins/gluanalytics/AnalyticsData;->sLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v2, "getAdvertisingIdInfo.timer" const/4 v3, 0x2 new-array v3, v3, [Ljava/lang/Object; const-string v6, "delta" const/4 v7, 0x0 aput-object v6, v3, v7 .line 107 invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v4 const/4 v5, 0x1 aput-object v4, v3, v5 invoke-virtual {v0, v2, v3}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V .line 108 new-instance v0, Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo; invoke-virtual {p0}, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;->getId()Ljava/lang/String; move-result-object v2 invoke-virtual {p0}, Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;->isLimitAdTrackingEnabled()Z move-result p0 invoke-direct {v0, v2, p0}, Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;->(Ljava/lang/String;Z)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 :catch_0 move-exception p0 sget-object v0, Lcom/glu/plugins/gluanalytics/AnalyticsData;->sLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v2, "e" filled-new-array {v2, p0}, [Ljava/lang/Object; move-result-object p0 const-string v2, "getAdvertisingIdInfo.exception" .line 110 invoke-virtual {v0, v2, p0}, Lcom/glu/plugins/gluanalytics/util/YLogger;->i(Ljava/lang/String;[Ljava/lang/Object;)V return-object v1 .end method .method public static getAndroidId(Landroid/content/Context;)Ljava/lang/String; .locals 4 .line 91 :try_start_0 invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object p0 const-string v0, "android_id" invoke-static {p0, v0}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return-object p0 :catch_0 move-exception p0 sget-object v0, Lcom/glu/plugins/gluanalytics/AnalyticsData;->sLog:Lcom/glu/plugins/gluanalytics/util/YLogger; const-string v1, "no Android ID" const-string v2, "e" const-string v3, "m" filled-new-array {v3, v1, v2, p0}, [Ljava/lang/Object; move-result-object p0 const-string v1, "BUILD_ANALYTICS_DATA.ERROR" .line 93 invoke-virtual {v0, v1, p0}, Lcom/glu/plugins/gluanalytics/util/YLogger;->e(Ljava/lang/String;[Ljava/lang/Object;)V const/4 p0, 0x0 return-object p0 .end method .method public static getDeviceBootTimeSec([Ljava/lang/Long;)J .locals 6 .line 125 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 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 const/4 v1, 0x0 aput-object v0, p0, v1 .line 126 invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J move-result-wide v4 div-long/2addr v4, v2 invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v0 const/4 v2, 0x1 aput-object v0, p0, v2 .line 127 aget-object v0, p0, v1 invoke-virtual {v0}, Ljava/lang/Long;->longValue()J move-result-wide v0 aget-object p0, p0, v2 invoke-virtual {p0}, Ljava/lang/Long;->longValue()J move-result-wide v2 sub-long/2addr v0, v2 return-wide v0 .end method .method private static hasGooglePlayServices()Z .locals 1 const/4 v0, 0x1 return v0 .end method