- 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
385 lines
16 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|