Files
rr3-apk/decompiled-community/sources/com/glu/plugins/gluanalytics/Analytics.java
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

385 lines
16 KiB
Java

package com.glu.plugins.gluanalytics;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.text.TextUtils;
import androidx.core.app.NotificationCompat;
import com.glu.plugins.gluanalytics.kvstore.StringStore;
import com.glu.plugins.gluanalytics.util.Common;
import com.glu.plugins.gluanalytics.util.EventBus;
import com.glu.plugins.gluanalytics.util.GluActivityLifecycleCallbacks;
import com.glu.plugins.gluanalytics.util.IAction2;
import com.glu.plugins.gluanalytics.util.Subscriber;
import com.glu.plugins.gluanalytics.util.YLogger;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.UUID;
/* loaded from: classes2.dex */
public class Analytics implements IAnalytics, IAnalyticsParametersGetter {
private GluActivityLifecycleCallbacks mActivityLifeCycleCallbacks;
private Application mContext;
private final EventBus mEventBus;
private final IAnalyticsParametersGetter mGetter;
private GluFirebase mGluFirebase;
private Subscriber mSubscriber;
private final UUID mSubscriberKey;
private final YLogger mLog = YLogger.create(getClass());
private final Collection<IAnalytics> mAnalytics = new ArrayList();
public Analytics(Iterable<IAnalytics> iterable, IAnalyticsParametersGetter iAnalyticsParametersGetter, EventBus eventBus, Context context) {
this.mEventBus = eventBus;
this.mContext = (Application) context;
Iterator<IAnalytics> it = iterable.iterator();
while (it.hasNext()) {
this.mAnalytics.add(it.next());
}
this.mGetter = iAnalyticsParametersGetter;
this.mSubscriberKey = UUID.randomUUID();
this.mGluFirebase = new GluFirebase(context);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void init(IAnalyticsCallback iAnalyticsCallback) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().init(iAnalyticsCallback);
}
EventBus eventBus = this.mEventBus;
if (eventBus != null) {
this.mSubscriber = AnalyticsSubscriber.subscribe(eventBus, this.mSubscriberKey, this);
}
this.mActivityLifeCycleCallbacks = new GluActivityLifecycleCallbacks(this.mContext, new IAction2<String, Activity>() { // from class: com.glu.plugins.gluanalytics.Analytics.1
@Override // com.glu.plugins.gluanalytics.util.IAction2
public void apply(String str, Activity activity) {
Analytics.this.mLog.i("ACTIVITY", NotificationCompat.CATEGORY_EVENT, str);
if ("onApplicationResumed".equals(str)) {
Analytics.this.onResume();
} else if ("onApplicationPaused".equals(str)) {
Analytics.this.onPause();
}
}
});
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void destroy() {
EventBus eventBus = this.mEventBus;
if (eventBus != null) {
eventBus.unsubscribe(this.mSubscriberKey);
}
doPause(this.mAnalytics);
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().destroy();
}
this.mAnalytics.clear();
StringStore.destroy();
this.mActivityLifeCycleCallbacks.destroy();
this.mContext = null;
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void onResume() {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().onResume();
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void onPause() {
doPause(this.mAnalytics);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void perfSampleStart(String str, int i, Map<String, ?> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().perfSampleStart(str, i, map);
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void perfSampleEnd(String str, Map<String, ?> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().perfSampleEnd(str, map);
}
}
private IAnalytics getGluAnalytics() {
for (IAnalytics iAnalytics : this.mAnalytics) {
if (iAnalytics instanceof GluAnalytics) {
return iAnalytics;
}
}
return null;
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public PerfMeasure perfGetValues() {
return getGluAnalytics().perfGetValues();
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public boolean perfSampleAction(String str, int i) {
return getGluAnalytics().perfSampleAction(str, i);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void logEvent(String str, String str2, String str3, String str4, Long l, Long l2, Map<String, ?> map) {
doLogEvent(str, str2, str3, str4, l, l2, map);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void internal_logCpuEvent(Map<String, ?> map) {
doLogCpuEvent(map);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void internal_logEvent(String str, String str2, String str3, String str4, Long l, Long l2, Map<String, ?> map) {
internal_doLogEvent(str, str2, str3, str4, l, l2, map);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void internal_logEvent_adImpression(String str, String str2, String str3, String str4, BigDecimal bigDecimal, Long l, Map<String, ?> map) {
doLogEvent(str, str2, str3, str4, bigDecimal, l, map);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public GeoLocation getGeoLocation() {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
GeoLocation geoLocation = it.next().getGeoLocation();
if (geoLocation != null) {
return geoLocation;
}
}
return null;
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void internal_updatePSValue(String str, boolean z, String str2, String str3, String str4, String str5, String str6, String str7) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().internal_updatePSValue(str, z, str2, str3, str4, str5, str6, str7);
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void internal_pinpointAttribute(String str, String str2, String str3, Map<String, Object> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().internal_pinpointAttribute(str, str2, str3, map);
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void internal_setRevID(String str, String str2, boolean z) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().internal_setRevID(str, str2, z);
}
this.mGluFirebase.internal_SetRevID(str);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void internal_trackRevenueInUsd(double d, String str, String str2, String str3, Map<String, ?> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().internal_trackRevenueInUsd(d, Common.emptyToNull(str), Common.emptyToNull(str2), Common.emptyToNull(str3), map);
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void internal_perfEvent(String str, String str2, String str3, String str4, String str5, Map<String, Object> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().internal_perfEvent(str, str2, str3, str4, str5, map);
}
}
public void logInAppPurchaseInUsd(double d, String str, String str2, String str3, String str4, long j, long j2, long j3, Map<String, ?> map) {
AnalyticsHelper.logInAppPurchaseInUsd(this, d, str, str2, str3, str4, j, j2, j3, map);
}
public void logInAppPurchaseInCents(long j, String str, String str2, String str3, String str4, long j2, long j3, long j4, Map<String, ?> map) {
AnalyticsHelper.logInAppPurchaseInCents(this, j, str, str2, str3, str4, j2, j3, j4, map);
}
public void logTutorialStepCompleted(String str, long j, String str2, long j2, Map<String, ?> map) {
AnalyticsHelper.logTutorialStepCompleted(this, str, j, str2, j2, map);
}
public void logMissionStarted(String str, String str2, String str3, long j, long j2, long j3, Map<String, ?> map) {
AnalyticsHelper.logMissionStarted(this, str, str2, str3, j, j2, j3, map);
}
public void logMissionFailed(String str, String str2, String str3, String str4, long j, long j2, long j3, Map<String, ?> map) {
AnalyticsHelper.logMissionFailed(this, str, str2, str3, str4, j, j2, j3, map);
}
public void logMissionCompleted(String str, String str2, String str3, long j, long j2, long j3, Map<String, ?> map) {
AnalyticsHelper.logMissionCompleted(this, str, str2, str3, j, j2, j3, map);
}
public void logCurrencySink(long j, String str, String str2, String str3, String str4, String str5, String str6, long j2, long j3, long j4, Map<String, ?> map) {
AnalyticsHelper.logCurrencySink(this, j, str, str2, str3, str4, str5, str6, j2, j3, j4, map);
if (TextUtils.isEmpty(str) || TextUtils.isEmpty(str2)) {
return;
}
HashMap hashMap = new HashMap();
hashMap.put("virtual_currency_name", str);
hashMap.put("item_name", str2);
hashMap.put("value", Long.valueOf(j));
internal_logFirebaseEvent("spend_virtual_currency", hashMap);
}
public void logCurrencySource(long j, String str, String str2, String str3, String str4, String str5, String str6, long j2, long j3, long j4, Map<String, ?> map) {
AnalyticsHelper.logCurrencySource(this, j, str, str2, str3, str4, str5, str6, j2, j3, j4, map);
if (TextUtils.isEmpty(str)) {
return;
}
HashMap hashMap = new HashMap();
hashMap.put("virtual_currency_name", str);
hashMap.put("value", Long.valueOf(j));
internal_logFirebaseEvent("earn_virtual_currency", hashMap);
}
public void logAdvertisementOpportunity(String str, String str2, long j, boolean z, Map<String, ?> map) {
AnalyticsHelper.logAdvertisementOpportunity(this, str, str2, j, z, map);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void setUserIdentifier(String str) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().setUserIdentifier(str);
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void setCustomProperties(Map<String, Object> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().setCustomProperties(map);
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics, com.glu.plugins.gluanalytics.IAnalyticsParametersGetter
public Map<String, Object> getCustomProperties() {
return this.mGetter.getCustomProperties();
}
@Override // com.glu.plugins.gluanalytics.IAnalyticsParametersGetter
public String getAnalyticsDeviceIdentifier() {
String analyticsDeviceIdentifier = this.mGetter.getAnalyticsDeviceIdentifier();
return analyticsDeviceIdentifier != null ? analyticsDeviceIdentifier : "";
}
@Override // com.glu.plugins.gluanalytics.IAnalyticsParametersGetter
public String getAnalyticsApplicationName() {
String analyticsApplicationName = this.mGetter.getAnalyticsApplicationName();
return analyticsApplicationName != null ? analyticsApplicationName : "";
}
@Override // com.glu.plugins.gluanalytics.IAnalyticsParametersGetter
public String getAnalyticsEnvironment() {
String analyticsEnvironment = this.mGetter.getAnalyticsEnvironment();
return analyticsEnvironment != null ? analyticsEnvironment : "";
}
@Override // com.glu.plugins.gluanalytics.IAnalyticsParametersGetter
public String getRevenueIdentifier() {
String revenueIdentifier = this.mGetter.getRevenueIdentifier();
return revenueIdentifier != null ? revenueIdentifier : "";
}
@Override // com.glu.plugins.gluanalytics.IAnalyticsParametersGetter
public String getSessionIdentifier() {
String sessionIdentifier = this.mGetter.getSessionIdentifier();
return sessionIdentifier != null ? sessionIdentifier : "";
}
private static void doPause(Iterable<IAnalytics> iterable) {
Iterator<IAnalytics> it = iterable.iterator();
while (it.hasNext()) {
it.next().onPause();
}
}
private void doLogEvent(String str, String str2, String str3, String str4, Long l, Long l2, Map<String, ?> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().logEvent(str, Common.emptyToNull(str2), Common.emptyToNull(str3), Common.emptyToNull(str4), l, l2, map);
}
}
private void internal_doLogEvent(String str, String str2, String str3, String str4, Long l, Long l2, Map<String, ?> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().internal_logEvent(str, Common.emptyToNull(str2), Common.emptyToNull(str3), Common.emptyToNull(str4), l, l2, map);
}
}
private void doLogCpuEvent(Map<String, ?> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().internal_logCpuEvent(map);
}
}
private void doLogEvent(String str, String str2, String str3, String str4, BigDecimal bigDecimal, Long l, Map<String, ?> map) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().internal_logEvent_adImpression(str, Common.emptyToNull(str2), Common.emptyToNull(str3), Common.emptyToNull(str4), bigDecimal, l, map);
}
}
public void internal_firebaseInitialize(Map<String, Object> map, IAnalyticsCallback iAnalyticsCallback) {
this.mGluFirebase.initialize(map, iAnalyticsCallback);
}
public void internal_firebaseUpdateUnderAgeUserStatus(boolean z) {
this.mGluFirebase.updateUnderAgeUserStatus(z);
}
public void internal_firebaseAllowPersonalizedAds(boolean z) {
this.mGluFirebase.allowPersonalizedAds(z);
}
public void internal_logFirebaseEvent(String str, Map<String, Object> map) {
this.mGluFirebase.logEvent(str, map);
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void shortcircuitEATargetedMarketingOff() {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().shortcircuitEATargetedMarketingOff();
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void userAgedUp() {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().userAgedUp();
}
}
@Override // com.glu.plugins.gluanalytics.IAnalytics
public void setEATargetedMarketing(boolean z) {
Iterator<IAnalytics> it = this.mAnalytics.iterator();
while (it.hasNext()) {
it.next().setEATargetedMarketing(z);
}
}
}