Primer paso de la investigacion. Se aportan el .apk, las carpetas con el apk extraido y el apk descompilado. El archivo API_DOCUMENTATION.md es un archivo donde se anotaran los descubrimientos del funcionamiento de la API, y los .py son scripts para probar la funcionalidad de la API con los métodos que vayamos encontrando. Finalmente, los archivos .js son scripts de Frida para extraer informacion de la APP durante la ejecucion.
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
package com.google.firebase.analytics.connector;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.android.gms.common.annotation.KeepForSdk;
|
||||
import com.google.firebase.annotations.DeferredApi;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface AnalyticsConnector {
|
||||
|
||||
@KeepForSdk
|
||||
/* loaded from: classes3.dex */
|
||||
public interface AnalyticsConnectorHandle {
|
||||
@KeepForSdk
|
||||
void registerEventNames(Set<String> set);
|
||||
|
||||
@KeepForSdk
|
||||
void unregister();
|
||||
|
||||
@KeepForSdk
|
||||
void unregisterEventNames();
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
/* loaded from: classes3.dex */
|
||||
public interface AnalyticsConnectorListener {
|
||||
@KeepForSdk
|
||||
void onMessageTriggered(int i, Bundle bundle);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
/* loaded from: classes3.dex */
|
||||
public static class ConditionalUserProperty {
|
||||
|
||||
@KeepForSdk
|
||||
public boolean active;
|
||||
|
||||
@KeepForSdk
|
||||
public long creationTimestamp;
|
||||
|
||||
@KeepForSdk
|
||||
public String expiredEventName;
|
||||
|
||||
@KeepForSdk
|
||||
public Bundle expiredEventParams;
|
||||
|
||||
@KeepForSdk
|
||||
public String name;
|
||||
|
||||
@KeepForSdk
|
||||
public String origin;
|
||||
|
||||
@KeepForSdk
|
||||
public long timeToLive;
|
||||
|
||||
@KeepForSdk
|
||||
public String timedOutEventName;
|
||||
|
||||
@KeepForSdk
|
||||
public Bundle timedOutEventParams;
|
||||
|
||||
@KeepForSdk
|
||||
public String triggerEventName;
|
||||
|
||||
@KeepForSdk
|
||||
public long triggerTimeout;
|
||||
|
||||
@KeepForSdk
|
||||
public String triggeredEventName;
|
||||
|
||||
@KeepForSdk
|
||||
public Bundle triggeredEventParams;
|
||||
|
||||
@KeepForSdk
|
||||
public long triggeredTimestamp;
|
||||
|
||||
@KeepForSdk
|
||||
public Object value;
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
void clearConditionalUserProperty(String str, String str2, Bundle bundle);
|
||||
|
||||
@KeepForSdk
|
||||
List<ConditionalUserProperty> getConditionalUserProperties(String str, String str2);
|
||||
|
||||
@KeepForSdk
|
||||
int getMaxUserProperties(String str);
|
||||
|
||||
@KeepForSdk
|
||||
Map<String, Object> getUserProperties(boolean z3);
|
||||
|
||||
@KeepForSdk
|
||||
void logEvent(String str, String str2, Bundle bundle);
|
||||
|
||||
@KeepForSdk
|
||||
@DeferredApi
|
||||
AnalyticsConnectorHandle registerAnalyticsConnectorListener(String str, AnalyticsConnectorListener analyticsConnectorListener);
|
||||
|
||||
@KeepForSdk
|
||||
void setConditionalUserProperty(ConditionalUserProperty conditionalUserProperty);
|
||||
|
||||
@KeepForSdk
|
||||
void setUserProperty(String str, String str2, Object obj);
|
||||
}
|
||||
@@ -0,0 +1,278 @@
|
||||
package com.google.firebase.analytics.connector;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import com.google.android.gms.common.annotation.KeepForSdk;
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
import com.google.android.gms.internal.measurement.zzef;
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import com.google.android.gms.measurement.internal.zzgz;
|
||||
import com.google.android.gms.measurement.internal.zziq;
|
||||
import com.google.firebase.DataCollectionDefaultChange;
|
||||
import com.google.firebase.FirebaseApp;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import com.google.firebase.analytics.connector.internal.zzc;
|
||||
import com.google.firebase.analytics.connector.internal.zze;
|
||||
import com.google.firebase.analytics.connector.internal.zzg;
|
||||
import com.google.firebase.events.Event;
|
||||
import com.google.firebase.events.EventHandler;
|
||||
import com.google.firebase.events.Subscriber;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnalyticsConnectorImpl implements AnalyticsConnector {
|
||||
private static volatile AnalyticsConnector zzc;
|
||||
final AppMeasurementSdk zza;
|
||||
final Map zzb;
|
||||
|
||||
public AnalyticsConnectorImpl(AppMeasurementSdk appMeasurementSdk) {
|
||||
Preconditions.checkNotNull(appMeasurementSdk);
|
||||
this.zza = appMeasurementSdk;
|
||||
this.zzb = new ConcurrentHashMap();
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static AnalyticsConnector getInstance() {
|
||||
return getInstance(FirebaseApp.getInstance());
|
||||
}
|
||||
|
||||
public static /* synthetic */ void zza(Event event) {
|
||||
boolean z3 = ((DataCollectionDefaultChange) event.getPayload()).enabled;
|
||||
synchronized (AnalyticsConnectorImpl.class) {
|
||||
((AnalyticsConnectorImpl) Preconditions.checkNotNull(zzc)).zza.zza(z3);
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public final boolean zzc(String str) {
|
||||
return (str.isEmpty() || !this.zzb.containsKey(str) || this.zzb.get(str) == null) ? false : true;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@KeepForSdk
|
||||
public void clearConditionalUserProperty(String str, String str2, Bundle bundle) {
|
||||
if (str2 == null || zzc.zzb(str2, bundle)) {
|
||||
this.zza.clearConditionalUserProperty(str, str2, bundle);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@KeepForSdk
|
||||
public List<AnalyticsConnector.ConditionalUserProperty> getConditionalUserProperties(String str, String str2) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (Bundle bundle : this.zza.getConditionalUserProperties(str, str2)) {
|
||||
int i = zzc.zza;
|
||||
Preconditions.checkNotNull(bundle);
|
||||
AnalyticsConnector.ConditionalUserProperty conditionalUserProperty = new AnalyticsConnector.ConditionalUserProperty();
|
||||
conditionalUserProperty.origin = (String) Preconditions.checkNotNull((String) zzgz.zza(bundle, "origin", String.class, null));
|
||||
conditionalUserProperty.name = (String) Preconditions.checkNotNull((String) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.NAME, String.class, null));
|
||||
conditionalUserProperty.value = zzgz.zza(bundle, "value", Object.class, null);
|
||||
conditionalUserProperty.triggerEventName = (String) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.TRIGGER_EVENT_NAME, String.class, null);
|
||||
conditionalUserProperty.triggerTimeout = ((Long) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.TRIGGER_TIMEOUT, Long.class, 0L)).longValue();
|
||||
conditionalUserProperty.timedOutEventName = (String) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.TIMED_OUT_EVENT_NAME, String.class, null);
|
||||
conditionalUserProperty.timedOutEventParams = (Bundle) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.TIMED_OUT_EVENT_PARAMS, Bundle.class, null);
|
||||
conditionalUserProperty.triggeredEventName = (String) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.TRIGGERED_EVENT_NAME, String.class, null);
|
||||
conditionalUserProperty.triggeredEventParams = (Bundle) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.TRIGGERED_EVENT_PARAMS, Bundle.class, null);
|
||||
conditionalUserProperty.timeToLive = ((Long) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.TIME_TO_LIVE, Long.class, 0L)).longValue();
|
||||
conditionalUserProperty.expiredEventName = (String) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.EXPIRED_EVENT_NAME, String.class, null);
|
||||
conditionalUserProperty.expiredEventParams = (Bundle) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.EXPIRED_EVENT_PARAMS, Bundle.class, null);
|
||||
conditionalUserProperty.active = ((Boolean) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.ACTIVE, Boolean.class, Boolean.FALSE)).booleanValue();
|
||||
conditionalUserProperty.creationTimestamp = ((Long) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.CREATION_TIMESTAMP, Long.class, 0L)).longValue();
|
||||
conditionalUserProperty.triggeredTimestamp = ((Long) zzgz.zza(bundle, AppMeasurementSdk.ConditionalUserProperty.TRIGGERED_TIMESTAMP, Long.class, 0L)).longValue();
|
||||
arrayList.add(conditionalUserProperty);
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@KeepForSdk
|
||||
public int getMaxUserProperties(String str) {
|
||||
return this.zza.getMaxUserProperties(str);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@KeepForSdk
|
||||
public Map<String, Object> getUserProperties(boolean z3) {
|
||||
return this.zza.getUserProperties(null, null, z3);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@KeepForSdk
|
||||
public void logEvent(String str, String str2, Bundle bundle) {
|
||||
if (bundle == null) {
|
||||
bundle = new Bundle();
|
||||
}
|
||||
if (zzc.zzd(str) && zzc.zzb(str2, bundle) && zzc.zza(str, str2, bundle)) {
|
||||
if ("clx".equals(str) && "_ae".equals(str2)) {
|
||||
bundle.putLong("_r", 1L);
|
||||
}
|
||||
this.zza.logEvent(str, str2, bundle);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@KeepForSdk
|
||||
public AnalyticsConnector.AnalyticsConnectorHandle registerAnalyticsConnectorListener(final String str, AnalyticsConnector.AnalyticsConnectorListener analyticsConnectorListener) {
|
||||
Preconditions.checkNotNull(analyticsConnectorListener);
|
||||
if (!zzc.zzd(str) || zzc(str)) {
|
||||
return null;
|
||||
}
|
||||
AppMeasurementSdk appMeasurementSdk = this.zza;
|
||||
com.google.firebase.analytics.connector.internal.zza zzeVar = "fiam".equals(str) ? new zze(appMeasurementSdk, analyticsConnectorListener) : "clx".equals(str) ? new zzg(appMeasurementSdk, analyticsConnectorListener) : null;
|
||||
if (zzeVar == null) {
|
||||
return null;
|
||||
}
|
||||
this.zzb.put(str, zzeVar);
|
||||
return new AnalyticsConnector.AnalyticsConnectorHandle() { // from class: com.google.firebase.analytics.connector.AnalyticsConnectorImpl.1
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector.AnalyticsConnectorHandle
|
||||
@KeepForSdk
|
||||
public void registerEventNames(Set<String> set) {
|
||||
if (!AnalyticsConnectorImpl.this.zzc(str) || !str.equals("fiam") || set == null || set.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
((com.google.firebase.analytics.connector.internal.zza) AnalyticsConnectorImpl.this.zzb.get(str)).zzb(set);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector.AnalyticsConnectorHandle
|
||||
public final void unregister() {
|
||||
if (AnalyticsConnectorImpl.this.zzc(str)) {
|
||||
AnalyticsConnector.AnalyticsConnectorListener zza = ((com.google.firebase.analytics.connector.internal.zza) AnalyticsConnectorImpl.this.zzb.get(str)).zza();
|
||||
if (zza != null) {
|
||||
zza.onMessageTriggered(0, null);
|
||||
}
|
||||
AnalyticsConnectorImpl.this.zzb.remove(str);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector.AnalyticsConnectorHandle
|
||||
@KeepForSdk
|
||||
public void unregisterEventNames() {
|
||||
if (AnalyticsConnectorImpl.this.zzc(str) && str.equals("fiam")) {
|
||||
((com.google.firebase.analytics.connector.internal.zza) AnalyticsConnectorImpl.this.zzb.get(str)).zzc();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@KeepForSdk
|
||||
public void setConditionalUserProperty(AnalyticsConnector.ConditionalUserProperty conditionalUserProperty) {
|
||||
String str;
|
||||
int i = zzc.zza;
|
||||
if (conditionalUserProperty == null || (str = conditionalUserProperty.origin) == null || str.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
Object obj = conditionalUserProperty.value;
|
||||
if ((obj == null || zziq.zza(obj) != null) && zzc.zzd(str) && zzc.zze(str, conditionalUserProperty.name)) {
|
||||
String str2 = conditionalUserProperty.expiredEventName;
|
||||
if (str2 == null || (zzc.zzb(str2, conditionalUserProperty.expiredEventParams) && zzc.zza(str, conditionalUserProperty.expiredEventName, conditionalUserProperty.expiredEventParams))) {
|
||||
String str3 = conditionalUserProperty.triggeredEventName;
|
||||
if (str3 == null || (zzc.zzb(str3, conditionalUserProperty.triggeredEventParams) && zzc.zza(str, conditionalUserProperty.triggeredEventName, conditionalUserProperty.triggeredEventParams))) {
|
||||
String str4 = conditionalUserProperty.timedOutEventName;
|
||||
if (str4 == null || (zzc.zzb(str4, conditionalUserProperty.timedOutEventParams) && zzc.zza(str, conditionalUserProperty.timedOutEventName, conditionalUserProperty.timedOutEventParams))) {
|
||||
AppMeasurementSdk appMeasurementSdk = this.zza;
|
||||
Bundle bundle = new Bundle();
|
||||
String str5 = conditionalUserProperty.origin;
|
||||
if (str5 != null) {
|
||||
bundle.putString("origin", str5);
|
||||
}
|
||||
String str6 = conditionalUserProperty.name;
|
||||
if (str6 != null) {
|
||||
bundle.putString(AppMeasurementSdk.ConditionalUserProperty.NAME, str6);
|
||||
}
|
||||
Object obj2 = conditionalUserProperty.value;
|
||||
if (obj2 != null) {
|
||||
zzgz.zzb(bundle, obj2);
|
||||
}
|
||||
String str7 = conditionalUserProperty.triggerEventName;
|
||||
if (str7 != null) {
|
||||
bundle.putString(AppMeasurementSdk.ConditionalUserProperty.TRIGGER_EVENT_NAME, str7);
|
||||
}
|
||||
bundle.putLong(AppMeasurementSdk.ConditionalUserProperty.TRIGGER_TIMEOUT, conditionalUserProperty.triggerTimeout);
|
||||
String str8 = conditionalUserProperty.timedOutEventName;
|
||||
if (str8 != null) {
|
||||
bundle.putString(AppMeasurementSdk.ConditionalUserProperty.TIMED_OUT_EVENT_NAME, str8);
|
||||
}
|
||||
Bundle bundle2 = conditionalUserProperty.timedOutEventParams;
|
||||
if (bundle2 != null) {
|
||||
bundle.putBundle(AppMeasurementSdk.ConditionalUserProperty.TIMED_OUT_EVENT_PARAMS, bundle2);
|
||||
}
|
||||
String str9 = conditionalUserProperty.triggeredEventName;
|
||||
if (str9 != null) {
|
||||
bundle.putString(AppMeasurementSdk.ConditionalUserProperty.TRIGGERED_EVENT_NAME, str9);
|
||||
}
|
||||
Bundle bundle3 = conditionalUserProperty.triggeredEventParams;
|
||||
if (bundle3 != null) {
|
||||
bundle.putBundle(AppMeasurementSdk.ConditionalUserProperty.TRIGGERED_EVENT_PARAMS, bundle3);
|
||||
}
|
||||
bundle.putLong(AppMeasurementSdk.ConditionalUserProperty.TIME_TO_LIVE, conditionalUserProperty.timeToLive);
|
||||
String str10 = conditionalUserProperty.expiredEventName;
|
||||
if (str10 != null) {
|
||||
bundle.putString(AppMeasurementSdk.ConditionalUserProperty.EXPIRED_EVENT_NAME, str10);
|
||||
}
|
||||
Bundle bundle4 = conditionalUserProperty.expiredEventParams;
|
||||
if (bundle4 != null) {
|
||||
bundle.putBundle(AppMeasurementSdk.ConditionalUserProperty.EXPIRED_EVENT_PARAMS, bundle4);
|
||||
}
|
||||
bundle.putLong(AppMeasurementSdk.ConditionalUserProperty.CREATION_TIMESTAMP, conditionalUserProperty.creationTimestamp);
|
||||
bundle.putBoolean(AppMeasurementSdk.ConditionalUserProperty.ACTIVE, conditionalUserProperty.active);
|
||||
bundle.putLong(AppMeasurementSdk.ConditionalUserProperty.TRIGGERED_TIMESTAMP, conditionalUserProperty.triggeredTimestamp);
|
||||
appMeasurementSdk.setConditionalUserProperty(bundle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector
|
||||
@KeepForSdk
|
||||
public void setUserProperty(String str, String str2, Object obj) {
|
||||
if (zzc.zzd(str) && zzc.zze(str, str2)) {
|
||||
this.zza.setUserProperty(str, str2, obj);
|
||||
}
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static AnalyticsConnector getInstance(FirebaseApp firebaseApp) {
|
||||
return (AnalyticsConnector) firebaseApp.get(AnalyticsConnector.class);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static AnalyticsConnector getInstance(FirebaseApp firebaseApp, Context context, Subscriber subscriber) {
|
||||
Preconditions.checkNotNull(firebaseApp);
|
||||
Preconditions.checkNotNull(context);
|
||||
Preconditions.checkNotNull(subscriber);
|
||||
Preconditions.checkNotNull(context.getApplicationContext());
|
||||
if (zzc == null) {
|
||||
synchronized (AnalyticsConnectorImpl.class) {
|
||||
try {
|
||||
if (zzc == null) {
|
||||
Bundle bundle = new Bundle(1);
|
||||
if (firebaseApp.isDefaultApp()) {
|
||||
subscriber.subscribe(DataCollectionDefaultChange.class, new Executor() { // from class: com.google.firebase.analytics.connector.zza
|
||||
@Override // java.util.concurrent.Executor
|
||||
public final void execute(Runnable runnable) {
|
||||
runnable.run();
|
||||
}
|
||||
}, new EventHandler() { // from class: com.google.firebase.analytics.connector.zzb
|
||||
@Override // com.google.firebase.events.EventHandler
|
||||
public final void handle(Event event) {
|
||||
AnalyticsConnectorImpl.zza(event);
|
||||
}
|
||||
});
|
||||
bundle.putBoolean("dataCollectionDefaultEnabled", firebaseApp.isDataCollectionDefaultEnabled());
|
||||
}
|
||||
zzc = new AnalyticsConnectorImpl(zzef.zzg(context, null, null, null, bundle).zzd());
|
||||
}
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
}
|
||||
return zzc;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.google.firebase.analytics.connector;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class R {
|
||||
private R() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.google.firebase.analytics.connector.internal;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import androidx.annotation.Keep;
|
||||
import com.google.android.gms.common.annotation.KeepForSdk;
|
||||
import com.google.firebase.FirebaseApp;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnectorImpl;
|
||||
import com.google.firebase.components.Component;
|
||||
import com.google.firebase.components.ComponentContainer;
|
||||
import com.google.firebase.components.ComponentFactory;
|
||||
import com.google.firebase.components.ComponentRegistrar;
|
||||
import com.google.firebase.components.Dependency;
|
||||
import com.google.firebase.events.Subscriber;
|
||||
import com.google.firebase.platforminfo.LibraryVersionComponent;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Keep
|
||||
@KeepForSdk
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnalyticsConnectorRegistrar implements ComponentRegistrar {
|
||||
@Override // com.google.firebase.components.ComponentRegistrar
|
||||
@Keep
|
||||
@KeepForSdk
|
||||
@SuppressLint({"MissingPermission"})
|
||||
public List<Component<?>> getComponents() {
|
||||
return Arrays.asList(Component.builder(AnalyticsConnector.class).add(Dependency.required((Class<?>) FirebaseApp.class)).add(Dependency.required((Class<?>) Context.class)).add(Dependency.required((Class<?>) Subscriber.class)).factory(new ComponentFactory() { // from class: com.google.firebase.analytics.connector.internal.zzb
|
||||
@Override // com.google.firebase.components.ComponentFactory
|
||||
public final Object create(ComponentContainer componentContainer) {
|
||||
AnalyticsConnector analyticsConnectorImpl;
|
||||
analyticsConnectorImpl = AnalyticsConnectorImpl.getInstance((FirebaseApp) componentContainer.get(FirebaseApp.class), (Context) componentContainer.get(Context.class), (Subscriber) componentContainer.get(Subscriber.class));
|
||||
return analyticsConnectorImpl;
|
||||
}
|
||||
}).eagerInDefaultApp().build(), LibraryVersionComponent.create("fire-analytics", "21.3.0"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.google.firebase.analytics.connector.internal;
|
||||
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface zza {
|
||||
AnalyticsConnector.AnalyticsConnectorListener zza();
|
||||
|
||||
void zzb(Set set);
|
||||
|
||||
void zzc();
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
package com.google.firebase.analytics.connector.internal;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.android.gms.internal.measurement.zzix;
|
||||
import com.google.android.gms.internal.measurement.zzja;
|
||||
import com.google.android.gms.internal.measurement.zzjb;
|
||||
import com.google.android.gms.measurement.internal.zzhe;
|
||||
import com.google.firebase.abt.FirebaseABTesting;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.google.firebase.messaging.Constants;
|
||||
import kotlinx.coroutines.DebugKt;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class zzc {
|
||||
public static final /* synthetic */ int zza = 0;
|
||||
private static final zzjb zzb = zzjb.zzi("_in", "_xa", "_xu", "_aq", "_aa", "_ai", "_ac", FirebaseAnalytics.Event.CAMPAIGN_DETAILS, "_ug", "_iapx", "_exp_set", "_exp_clear", "_exp_activate", "_exp_timeout", "_exp_expire");
|
||||
private static final zzja zzc = zzja.zzj("_e", "_f", "_iap", "_s", "_au", "_ui", "_cd");
|
||||
private static final zzja zzd = zzja.zzi(DebugKt.DEBUG_PROPERTY_VALUE_AUTO, "app", "am");
|
||||
private static final zzja zze = zzja.zzh("_r", "_dbg");
|
||||
private static final zzja zzf;
|
||||
private static final zzja zzg;
|
||||
|
||||
static {
|
||||
zzix zzixVar = new zzix();
|
||||
zzixVar.zza(zzhe.zza);
|
||||
zzixVar.zza(zzhe.zzb);
|
||||
zzf = zzixVar.zzb();
|
||||
zzg = zzja.zzh("^_ltv_[A-Z]{3}$", "^_cc[1-5]{1}$");
|
||||
}
|
||||
|
||||
public static boolean zza(String str, String str2, Bundle bundle) {
|
||||
char c4;
|
||||
if (!"_cmp".equals(str2)) {
|
||||
return true;
|
||||
}
|
||||
if (!zzd(str) || bundle == null) {
|
||||
return false;
|
||||
}
|
||||
zzja zzjaVar = zze;
|
||||
int size = zzjaVar.size();
|
||||
int i = 0;
|
||||
while (i < size) {
|
||||
boolean containsKey = bundle.containsKey((String) zzjaVar.get(i));
|
||||
i++;
|
||||
if (containsKey) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
int hashCode = str.hashCode();
|
||||
if (hashCode == 101200) {
|
||||
if (str.equals("fcm")) {
|
||||
c4 = 0;
|
||||
}
|
||||
c4 = 65535;
|
||||
} else if (hashCode != 101230) {
|
||||
if (hashCode == 3142703 && str.equals("fiam")) {
|
||||
c4 = 2;
|
||||
}
|
||||
c4 = 65535;
|
||||
} else {
|
||||
if (str.equals("fdl")) {
|
||||
c4 = 1;
|
||||
}
|
||||
c4 = 65535;
|
||||
}
|
||||
if (c4 == 0) {
|
||||
bundle.putString("_cis", "fcm_integration");
|
||||
return true;
|
||||
}
|
||||
if (c4 == 1) {
|
||||
bundle.putString("_cis", "fdl_integration");
|
||||
return true;
|
||||
}
|
||||
if (c4 != 2) {
|
||||
return false;
|
||||
}
|
||||
bundle.putString("_cis", "fiam_integration");
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean zzb(String str, Bundle bundle) {
|
||||
if (zzc.contains(str)) {
|
||||
return false;
|
||||
}
|
||||
if (bundle == null) {
|
||||
return true;
|
||||
}
|
||||
zzja zzjaVar = zze;
|
||||
int size = zzjaVar.size();
|
||||
int i = 0;
|
||||
while (i < size) {
|
||||
boolean containsKey = bundle.containsKey((String) zzjaVar.get(i));
|
||||
i++;
|
||||
if (containsKey) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean zzc(String str) {
|
||||
return !zzb.contains(str);
|
||||
}
|
||||
|
||||
public static boolean zzd(String str) {
|
||||
return !zzd.contains(str);
|
||||
}
|
||||
|
||||
public static boolean zze(String str, String str2) {
|
||||
if ("_ce1".equals(str2) || "_ce2".equals(str2)) {
|
||||
return str.equals("fcm") || str.equals(FirebaseABTesting.OriginService.REMOTE_CONFIG);
|
||||
}
|
||||
if (Constants.ScionAnalytics.USER_PROPERTY_FIREBASE_LAST_NOTIFICATION.equals(str2)) {
|
||||
return str.equals("fcm") || str.equals("fiam");
|
||||
}
|
||||
if (zzf.contains(str2)) {
|
||||
return false;
|
||||
}
|
||||
zzja zzjaVar = zzg;
|
||||
int size = zzjaVar.size();
|
||||
int i = 0;
|
||||
while (i < size) {
|
||||
boolean matches = str2.matches((String) zzjaVar.get(i));
|
||||
i++;
|
||||
if (matches) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.google.firebase.analytics.connector.internal;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import com.google.android.gms.measurement.internal.zzhc;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public final class zzd implements AppMeasurementSdk.OnEventListener {
|
||||
final /* synthetic */ zze zza;
|
||||
|
||||
public zzd(zze zzeVar) {
|
||||
this.zza = zzeVar;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.measurement.api.AppMeasurementSdk.OnEventListener, com.google.android.gms.measurement.internal.zzhg
|
||||
public final void onEvent(String str, String str2, Bundle bundle, long j4) {
|
||||
AnalyticsConnector.AnalyticsConnectorListener analyticsConnectorListener;
|
||||
if (this.zza.zza.contains(str2)) {
|
||||
Bundle bundle2 = new Bundle();
|
||||
int i = zzc.zza;
|
||||
String zza = zzhc.zza(str2);
|
||||
if (zza != null) {
|
||||
str2 = zza;
|
||||
}
|
||||
bundle2.putString("events", str2);
|
||||
analyticsConnectorListener = this.zza.zzb;
|
||||
analyticsConnectorListener.onMessageTriggered(2, bundle2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
package com.google.firebase.analytics.connector.internal;
|
||||
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import com.google.android.gms.measurement.internal.zzhc;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class zze implements zza {
|
||||
final Set zza;
|
||||
private final AnalyticsConnector.AnalyticsConnectorListener zzb;
|
||||
private final AppMeasurementSdk zzc;
|
||||
private final zzd zzd;
|
||||
|
||||
public zze(AppMeasurementSdk appMeasurementSdk, AnalyticsConnector.AnalyticsConnectorListener analyticsConnectorListener) {
|
||||
this.zzb = analyticsConnectorListener;
|
||||
this.zzc = appMeasurementSdk;
|
||||
zzd zzdVar = new zzd(this);
|
||||
this.zzd = zzdVar;
|
||||
appMeasurementSdk.registerOnMeasurementEventListener(zzdVar);
|
||||
this.zza = new HashSet();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.internal.zza
|
||||
public final AnalyticsConnector.AnalyticsConnectorListener zza() {
|
||||
return this.zzb;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.internal.zza
|
||||
public final void zzb(Set set) {
|
||||
this.zza.clear();
|
||||
Set set2 = this.zza;
|
||||
HashSet hashSet = new HashSet();
|
||||
Iterator it = set.iterator();
|
||||
while (it.hasNext()) {
|
||||
String str = (String) it.next();
|
||||
if (hashSet.size() >= 50) {
|
||||
break;
|
||||
}
|
||||
int i = zzc.zza;
|
||||
if (str != null && str.length() != 0) {
|
||||
int codePointAt = str.codePointAt(0);
|
||||
if (!Character.isLetter(codePointAt)) {
|
||||
if (codePointAt == 95) {
|
||||
codePointAt = 95;
|
||||
}
|
||||
}
|
||||
int length = str.length();
|
||||
int charCount = Character.charCount(codePointAt);
|
||||
while (true) {
|
||||
if (charCount < length) {
|
||||
int codePointAt2 = str.codePointAt(charCount);
|
||||
if (codePointAt2 == 95 || Character.isLetterOrDigit(codePointAt2)) {
|
||||
charCount += Character.charCount(codePointAt2);
|
||||
}
|
||||
} else if (str.length() != 0) {
|
||||
int codePointAt3 = str.codePointAt(0);
|
||||
if (Character.isLetter(codePointAt3)) {
|
||||
int length2 = str.length();
|
||||
int charCount2 = Character.charCount(codePointAt3);
|
||||
while (true) {
|
||||
if (charCount2 >= length2) {
|
||||
String zzb = zzhc.zzb(str);
|
||||
if (zzb != null) {
|
||||
str = zzb;
|
||||
}
|
||||
Preconditions.checkNotNull(str);
|
||||
hashSet.add(str);
|
||||
} else {
|
||||
int codePointAt4 = str.codePointAt(charCount2);
|
||||
if (codePointAt4 == 95 || Character.isLetterOrDigit(codePointAt4)) {
|
||||
charCount2 += Character.charCount(codePointAt4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
set2.addAll(hashSet);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.internal.zza
|
||||
public final void zzc() {
|
||||
this.zza.clear();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.google.firebase.analytics.connector.internal;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public final class zzf implements AppMeasurementSdk.OnEventListener {
|
||||
final /* synthetic */ zzg zza;
|
||||
|
||||
public zzf(zzg zzgVar) {
|
||||
this.zza = zzgVar;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.measurement.api.AppMeasurementSdk.OnEventListener, com.google.android.gms.measurement.internal.zzhg
|
||||
public final void onEvent(String str, String str2, Bundle bundle, long j4) {
|
||||
AnalyticsConnector.AnalyticsConnectorListener analyticsConnectorListener;
|
||||
if (str == null || !zzc.zzc(str2)) {
|
||||
return;
|
||||
}
|
||||
Bundle bundle2 = new Bundle();
|
||||
bundle2.putString(AppMeasurementSdk.ConditionalUserProperty.NAME, str2);
|
||||
bundle2.putLong("timestampInMillis", j4);
|
||||
bundle2.putBundle("params", bundle);
|
||||
analyticsConnectorListener = this.zza.zza;
|
||||
analyticsConnectorListener.onMessageTriggered(3, bundle2);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.google.firebase.analytics.connector.internal;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import java.util.Set;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class zzg implements zza {
|
||||
private final AnalyticsConnector.AnalyticsConnectorListener zza;
|
||||
private final AppMeasurementSdk zzb;
|
||||
private final zzf zzc;
|
||||
|
||||
public zzg(AppMeasurementSdk appMeasurementSdk, AnalyticsConnector.AnalyticsConnectorListener analyticsConnectorListener) {
|
||||
this.zza = analyticsConnectorListener;
|
||||
this.zzb = appMeasurementSdk;
|
||||
zzf zzfVar = new zzf(this);
|
||||
this.zzc = zzfVar;
|
||||
appMeasurementSdk.registerOnMeasurementEventListener(zzfVar);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.internal.zza
|
||||
public final AnalyticsConnector.AnalyticsConnectorListener zza() {
|
||||
return this.zza;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.internal.zza
|
||||
public final void zzb(Set set) {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.internal.zza
|
||||
public final void zzc() {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user