Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

157 lines
6.4 KiB
Java

package com.glu.plugins.gluanalytics;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.SystemClock;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import androidx.annotation.NonNull;
import com.fyber.inneractive.sdk.external.InneractiveMediationDefs;
import com.glu.plugins.gluanalytics.util.CollectionUtil;
import com.glu.plugins.gluanalytics.util.Common;
import com.glu.plugins.gluanalytics.util.YLogger;
import com.google.android.gms.ads.identifier.AdvertisingIdClient;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* loaded from: classes2.dex */
public class AnalyticsData {
public static final String S_APPLICATION_VERSION = "applicationVersion";
public static final String S_APPLICATION_VERSION_CODE = "applicationVersionCode";
public static final String S_CARRIER_NAME = "carrierName";
public static final String S_CPU_CORE_COUNT = "cpuCoreCount";
public static final String S_DEVICE_MANUFACTURER = "deviceManufacturer";
public static final String S_DEVICE_MODEL = "deviceModel";
public static final String S_DEVICE_NAME = "deviceName";
public static final String S_DEVICE_TIER = "deviceTier";
public static final String S_DEVICE_TIER_FALLBACK = "deviceTierFallback";
public static final String S_GPU_RENDERER = "gpuDeviceName";
public static final String S_GPU_VENDOR = "gpuDeviceVendor";
public static final String S_LOCALE_COUNTRY_CODE = "localeCountryCode";
public static final String S_LOCALE_LANGUAGE_CODE = "localeLanguageCode";
public static final String S_LONG_SDK_VERSION = "longSdkVersion";
public static final String S_OS_VERSION = "osVersion";
public static final String S_PRE_INIT_TIME = "preInitTime";
public static final String S_SDK_VERSION = "sdkVersion";
public static final String S_SUPPORTED_ABIS = "supportedABIs";
public static final String S_UNITY_VERSION = "unityVer";
public static final String S_USER_ID = "userIdentifier";
private static final YLogger sLog = YLogger.create((Class<?>) AnalyticsData.class);
private static boolean hasGooglePlayServices() {
return true;
}
private AnalyticsData() {
}
public static Map<String, Object> buildDefault(Context context) {
Map createMap = CollectionUtil.createMap();
try {
createMap.put(S_APPLICATION_VERSION, context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName);
createMap.put(S_APPLICATION_VERSION_CODE, Long.valueOf(Common.packageVersionCode(context)));
} catch (PackageManager.NameNotFoundException e) {
sLog.e("BUILD_ANALYTICS_DATA.ERROR", InneractiveMediationDefs.GENDER_MALE, "no package version", "e", e);
}
createMap.put(S_LOCALE_COUNTRY_CODE, Locale.getDefault().getCountry());
createMap.put(S_LOCALE_LANGUAGE_CODE, Locale.getDefault().getLanguage());
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService("phone");
if (telephonyManager != null) {
createMap.put(S_CARRIER_NAME, telephonyManager.getNetworkOperatorName());
}
createMap.put(S_OS_VERSION, Build.VERSION.RELEASE);
createMap.put("deviceModel", Build.MODEL);
createMap.put("deviceManufacturer", Build.MANUFACTURER);
createMap.put(S_DEVICE_NAME, Build.PRODUCT);
createMap.put(S_LONG_SDK_VERSION, BuildConfig.VERSION_NAME);
Matcher matcher = Pattern.compile("^[\\d\\.]+").matcher(BuildConfig.VERSION_NAME);
if (matcher.find()) {
createMap.put("sdkVersion", matcher.group());
}
createMap.put(S_SUPPORTED_ABIS, abis21());
return cleanEmpty(createMap);
}
public static String getAndroidId(Context context) {
try {
return Settings.Secure.getString(context.getContentResolver(), "android_id");
} catch (Exception e) {
sLog.e("BUILD_ANALYTICS_DATA.ERROR", InneractiveMediationDefs.GENDER_MALE, "no Android ID", "e", e);
return null;
}
}
public static AdvertisingIdInfo getAdvertisingIdInfo(Context context) {
if (!hasGooglePlayServices()) {
return null;
}
try {
long nanoTime = System.nanoTime();
AdvertisingIdClient.Info advertisingIdInfo = AdvertisingIdClient.getAdvertisingIdInfo(context);
sLog.i("getAdvertisingIdInfo.timer", "delta", Long.valueOf(System.nanoTime() - nanoTime));
return new AdvertisingIdInfo(advertisingIdInfo.getId(), advertisingIdInfo.isLimitAdTrackingEnabled());
} catch (Exception e) {
sLog.i("getAdvertisingIdInfo.exception", "e", e);
return null;
}
}
public static long getDeviceBootTimeSec(Long[] lArr) {
lArr[0] = Long.valueOf(System.currentTimeMillis() / 1000);
lArr[1] = Long.valueOf(SystemClock.elapsedRealtime() / 1000);
return lArr[0].longValue() - lArr[1].longValue();
}
private static Map<String, Object> cleanEmpty(Map<String, Object> map) {
Map<String, Object> createMap = CollectionUtil.createMap();
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (entry.getValue() != null) {
createMap.put(entry.getKey(), entry.getValue());
}
}
return createMap;
}
@NonNull
@TargetApi(21)
private static List<String> abis21() {
String[] strArr = Build.SUPPORTED_ABIS;
if (strArr == null) {
return Collections.emptyList();
}
return Arrays.asList(strArr);
}
@NonNull
private static List<String> abis4() {
ArrayList arrayList = new ArrayList();
String str = Build.CPU_ABI;
if (str != null) {
arrayList.add(str);
}
String str2 = Build.CPU_ABI2;
if (str2 != null) {
arrayList.add(str2);
}
return arrayList;
}
public static class AdvertisingIdInfo {
public final boolean adTrackingLimited;
public final String advertisingId;
public AdvertisingIdInfo(String str, boolean z) {
this.advertisingId = str;
this.adTrackingLimited = z;
}
}
}