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,35 @@
|
||||
package com.google.firebase.sessions.api;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.ContinuationImpl;
|
||||
import kotlin.coroutines.jvm.internal.DebugMetadata;
|
||||
import kotlin.jvm.internal.IntCompanionObject;
|
||||
|
||||
@Metadata(k = 3, mv = {1, 7, 1}, xi = 48)
|
||||
@DebugMetadata(c = "com.google.firebase.sessions.api.FirebaseSessionsDependencies", f = "FirebaseSessionsDependencies.kt", i = {0, 0, 0}, l = {123}, m = "getRegisteredSubscribers$com_google_firebase_firebase_sessions", n = {"destination$iv$iv", "subscriberName", "$this$withLock_u24default$iv"}, s = {"L$0", "L$2", "L$3"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class FirebaseSessionsDependencies$getRegisteredSubscribers$1 extends ContinuationImpl {
|
||||
Object L$0;
|
||||
Object L$1;
|
||||
Object L$2;
|
||||
Object L$3;
|
||||
Object L$4;
|
||||
Object L$5;
|
||||
int label;
|
||||
/* synthetic */ Object result;
|
||||
final /* synthetic */ FirebaseSessionsDependencies this$0;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public FirebaseSessionsDependencies$getRegisteredSubscribers$1(FirebaseSessionsDependencies firebaseSessionsDependencies, Continuation<? super FirebaseSessionsDependencies$getRegisteredSubscribers$1> continuation) {
|
||||
super(continuation);
|
||||
this.this$0 = firebaseSessionsDependencies;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
this.result = obj;
|
||||
this.label |= IntCompanionObject.MIN_VALUE;
|
||||
return this.this$0.getRegisteredSubscribers$com_google_firebase_firebase_sessions(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
package com.google.firebase.sessions.api;
|
||||
|
||||
import android.util.Log;
|
||||
import com.google.firebase.sessions.api.SessionSubscriber;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.JvmStatic;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlinx.coroutines.sync.Mutex;
|
||||
import kotlinx.coroutines.sync.MutexKt;
|
||||
|
||||
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010%\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010$\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\n\bÆ\u0002\u0018\u00002\u00020\u0001:\u0001\u0019B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u000e\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u0007J\u0010\u0010\u000e\u001a\u00020\t2\u0006\u0010\r\u001a\u00020\u0007H\u0002J\u001f\u0010\u000f\u001a\u000e\u0012\u0004\u0012\u00020\u0007\u0012\u0004\u0012\u00020\u00100\nH\u0080@ø\u0001\u0000¢\u0006\u0004\b\u0011\u0010\u0012J\u0015\u0010\u0013\u001a\u00020\u00102\u0006\u0010\r\u001a\u00020\u0007H\u0001¢\u0006\u0002\b\u0014J\u0010\u0010\u0015\u001a\u00020\f2\u0006\u0010\u0016\u001a\u00020\u0010H\u0007J\r\u0010\u0017\u001a\u00020\fH\u0001¢\u0006\u0002\b\u0018R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000RN\u0010\u0005\u001aB\u0012\f\u0012\n \b*\u0004\u0018\u00010\u00070\u0007\u0012\f\u0012\n \b*\u0004\u0018\u00010\t0\t \b* \u0012\f\u0012\n \b*\u0004\u0018\u00010\u00070\u0007\u0012\f\u0012\n \b*\u0004\u0018\u00010\t0\t\u0018\u00010\n0\u0006X\u0082\u0004¢\u0006\u0002\n\u0000\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006\u001a"}, d2 = {"Lcom/google/firebase/sessions/api/FirebaseSessionsDependencies;", "", "()V", "TAG", "", "dependencies", "", "Lcom/google/firebase/sessions/api/SessionSubscriber$Name;", "kotlin.jvm.PlatformType", "Lcom/google/firebase/sessions/api/FirebaseSessionsDependencies$Dependency;", "", "addDependency", "", "subscriberName", "getDependency", "getRegisteredSubscribers", "Lcom/google/firebase/sessions/api/SessionSubscriber;", "getRegisteredSubscribers$com_google_firebase_firebase_sessions", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "getSubscriber", "getSubscriber$com_google_firebase_firebase_sessions", "register", "subscriber", "reset", "reset$com_google_firebase_firebase_sessions", "Dependency", "com.google.firebase-firebase-sessions"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class FirebaseSessionsDependencies {
|
||||
private static final String TAG = "SessionsDependencies";
|
||||
public static final FirebaseSessionsDependencies INSTANCE = new FirebaseSessionsDependencies();
|
||||
private static final Map<SessionSubscriber.Name, Dependency> dependencies = Collections.synchronizedMap(new LinkedHashMap());
|
||||
|
||||
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0082\b\u0018\u00002\u00020\u0001B\u0019\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\n\b\u0002\u0010\u0004\u001a\u0004\u0018\u00010\u0005¢\u0006\u0002\u0010\u0006J\t\u0010\r\u001a\u00020\u0003HÆ\u0003J\u000b\u0010\u000e\u001a\u0004\u0018\u00010\u0005HÆ\u0003J\u001f\u0010\u000f\u001a\u00020\u00002\b\b\u0002\u0010\u0002\u001a\u00020\u00032\n\b\u0002\u0010\u0004\u001a\u0004\u0018\u00010\u0005HÆ\u0001J\u0013\u0010\u0010\u001a\u00020\u00112\b\u0010\u0012\u001a\u0004\u0018\u00010\u0001HÖ\u0003J\t\u0010\u0013\u001a\u00020\u0014HÖ\u0001J\t\u0010\u0015\u001a\u00020\u0016HÖ\u0001R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0007\u0010\bR\u001c\u0010\u0004\u001a\u0004\u0018\u00010\u0005X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\t\u0010\n\"\u0004\b\u000b\u0010\f¨\u0006\u0017"}, d2 = {"Lcom/google/firebase/sessions/api/FirebaseSessionsDependencies$Dependency;", "", "mutex", "Lkotlinx/coroutines/sync/Mutex;", "subscriber", "Lcom/google/firebase/sessions/api/SessionSubscriber;", "(Lkotlinx/coroutines/sync/Mutex;Lcom/google/firebase/sessions/api/SessionSubscriber;)V", "getMutex", "()Lkotlinx/coroutines/sync/Mutex;", "getSubscriber", "()Lcom/google/firebase/sessions/api/SessionSubscriber;", "setSubscriber", "(Lcom/google/firebase/sessions/api/SessionSubscriber;)V", "component1", "component2", "copy", "equals", "", "other", "hashCode", "", "toString", "", "com.google.firebase-firebase-sessions"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final /* data */ class Dependency {
|
||||
private final Mutex mutex;
|
||||
private SessionSubscriber subscriber;
|
||||
|
||||
public Dependency(Mutex mutex, SessionSubscriber sessionSubscriber) {
|
||||
Intrinsics.checkNotNullParameter(mutex, "mutex");
|
||||
this.mutex = mutex;
|
||||
this.subscriber = sessionSubscriber;
|
||||
}
|
||||
|
||||
public static /* synthetic */ Dependency copy$default(Dependency dependency, Mutex mutex, SessionSubscriber sessionSubscriber, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
mutex = dependency.mutex;
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
sessionSubscriber = dependency.subscriber;
|
||||
}
|
||||
return dependency.copy(mutex, sessionSubscriber);
|
||||
}
|
||||
|
||||
/* renamed from: component1, reason: from getter */
|
||||
public final Mutex getMutex() {
|
||||
return this.mutex;
|
||||
}
|
||||
|
||||
/* renamed from: component2, reason: from getter */
|
||||
public final SessionSubscriber getSubscriber() {
|
||||
return this.subscriber;
|
||||
}
|
||||
|
||||
public final Dependency copy(Mutex mutex, SessionSubscriber subscriber) {
|
||||
Intrinsics.checkNotNullParameter(mutex, "mutex");
|
||||
return new Dependency(mutex, subscriber);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
if (!(other instanceof Dependency)) {
|
||||
return false;
|
||||
}
|
||||
Dependency dependency = (Dependency) other;
|
||||
return Intrinsics.areEqual(this.mutex, dependency.mutex) && Intrinsics.areEqual(this.subscriber, dependency.subscriber);
|
||||
}
|
||||
|
||||
public final Mutex getMutex() {
|
||||
return this.mutex;
|
||||
}
|
||||
|
||||
public final SessionSubscriber getSubscriber() {
|
||||
return this.subscriber;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = this.mutex.hashCode() * 31;
|
||||
SessionSubscriber sessionSubscriber = this.subscriber;
|
||||
return hashCode + (sessionSubscriber == null ? 0 : sessionSubscriber.hashCode());
|
||||
}
|
||||
|
||||
public final void setSubscriber(SessionSubscriber sessionSubscriber) {
|
||||
this.subscriber = sessionSubscriber;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Dependency(mutex=" + this.mutex + ", subscriber=" + this.subscriber + ')';
|
||||
}
|
||||
|
||||
public /* synthetic */ Dependency(Mutex mutex, SessionSubscriber sessionSubscriber, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(mutex, (i & 2) != 0 ? null : sessionSubscriber);
|
||||
}
|
||||
}
|
||||
|
||||
private FirebaseSessionsDependencies() {
|
||||
}
|
||||
|
||||
private final Dependency getDependency(SessionSubscriber.Name subscriberName) {
|
||||
Map<SessionSubscriber.Name, Dependency> dependencies2 = dependencies;
|
||||
Intrinsics.checkNotNullExpressionValue(dependencies2, "dependencies");
|
||||
Dependency dependency = dependencies2.get(subscriberName);
|
||||
if (dependency != null) {
|
||||
Intrinsics.checkNotNullExpressionValue(dependency, "dependencies.getOrElse(s…load time.\"\n )\n }");
|
||||
return dependency;
|
||||
}
|
||||
throw new IllegalStateException("Cannot get dependency " + subscriberName + ". Dependencies should be added at class load time.");
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
public static final void register(SessionSubscriber subscriber) {
|
||||
Intrinsics.checkNotNullParameter(subscriber, "subscriber");
|
||||
SessionSubscriber.Name sessionSubscriberName = subscriber.getSessionSubscriberName();
|
||||
Dependency dependency = INSTANCE.getDependency(sessionSubscriberName);
|
||||
if (dependency.getSubscriber() != null) {
|
||||
Log.d(TAG, "Subscriber " + sessionSubscriberName + " already registered.");
|
||||
return;
|
||||
}
|
||||
dependency.setSubscriber(subscriber);
|
||||
Log.d(TAG, "Subscriber " + sessionSubscriberName + " registered.");
|
||||
Mutex.DefaultImpls.unlock$default(dependency.getMutex(), null, 1, null);
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public final void addDependency(SessionSubscriber.Name subscriberName) {
|
||||
Intrinsics.checkNotNullParameter(subscriberName, "subscriberName");
|
||||
if (subscriberName == SessionSubscriber.Name.PERFORMANCE) {
|
||||
throw new IllegalArgumentException("Incompatible versions of Firebase Perf and Firebase Sessions.\nA safe combination would be:\n firebase-sessions:1.1.0\n firebase-crashlytics:18.5.0\n firebase-perf:20.5.0\nFor more information contact Firebase Support.");
|
||||
}
|
||||
Map<SessionSubscriber.Name, Dependency> dependencies2 = dependencies;
|
||||
if (dependencies2.containsKey(subscriberName)) {
|
||||
Log.d(TAG, "Dependency " + subscriberName + " already added.");
|
||||
return;
|
||||
}
|
||||
Intrinsics.checkNotNullExpressionValue(dependencies2, "dependencies");
|
||||
dependencies2.put(subscriberName, new Dependency(MutexKt.Mutex(true), null, 2, 0 == true ? 1 : 0));
|
||||
Log.d(TAG, "Dependency to " + subscriberName + " added.");
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:15:0x006f */
|
||||
/* JADX WARN: Removed duplicated region for block: B:20:0x00b3 A[RETURN] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:27:0x0048 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:8:0x0024 */
|
||||
/* JADX WARN: Unsupported multi-entry loop pattern (BACK_EDGE: B:19:0x009f -> B:10:0x00a0). Please report as a decompilation issue!!! */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public final java.lang.Object getRegisteredSubscribers$com_google_firebase_firebase_sessions(kotlin.coroutines.Continuation<? super java.util.Map<com.google.firebase.sessions.api.SessionSubscriber.Name, ? extends com.google.firebase.sessions.api.SessionSubscriber>> r10) {
|
||||
/*
|
||||
r9 = this;
|
||||
boolean r0 = r10 instanceof com.google.firebase.sessions.api.FirebaseSessionsDependencies$getRegisteredSubscribers$1
|
||||
if (r0 == 0) goto L13
|
||||
r0 = r10
|
||||
com.google.firebase.sessions.api.FirebaseSessionsDependencies$getRegisteredSubscribers$1 r0 = (com.google.firebase.sessions.api.FirebaseSessionsDependencies$getRegisteredSubscribers$1) r0
|
||||
int r1 = r0.label
|
||||
r2 = -2147483648(0xffffffff80000000, float:-0.0)
|
||||
r3 = r1 & r2
|
||||
if (r3 == 0) goto L13
|
||||
int r1 = r1 - r2
|
||||
r0.label = r1
|
||||
goto L18
|
||||
L13:
|
||||
com.google.firebase.sessions.api.FirebaseSessionsDependencies$getRegisteredSubscribers$1 r0 = new com.google.firebase.sessions.api.FirebaseSessionsDependencies$getRegisteredSubscribers$1
|
||||
r0.<init>(r9, r10)
|
||||
L18:
|
||||
java.lang.Object r9 = r0.result
|
||||
java.lang.Object r10 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
|
||||
int r1 = r0.label
|
||||
r2 = 1
|
||||
r3 = 0
|
||||
if (r1 == 0) goto L48
|
||||
if (r1 != r2) goto L40
|
||||
java.lang.Object r1 = r0.L$5
|
||||
java.lang.Object r4 = r0.L$4
|
||||
java.util.Map r4 = (java.util.Map) r4
|
||||
java.lang.Object r5 = r0.L$3
|
||||
kotlinx.coroutines.sync.Mutex r5 = (kotlinx.coroutines.sync.Mutex) r5
|
||||
java.lang.Object r6 = r0.L$2
|
||||
com.google.firebase.sessions.api.SessionSubscriber$Name r6 = (com.google.firebase.sessions.api.SessionSubscriber.Name) r6
|
||||
java.lang.Object r7 = r0.L$1
|
||||
java.util.Iterator r7 = (java.util.Iterator) r7
|
||||
java.lang.Object r8 = r0.L$0
|
||||
java.util.Map r8 = (java.util.Map) r8
|
||||
kotlin.ResultKt.throwOnFailure(r9)
|
||||
goto La0
|
||||
L40:
|
||||
java.lang.IllegalStateException r9 = new java.lang.IllegalStateException
|
||||
java.lang.String r10 = "call to 'resume' before 'invoke' with coroutine"
|
||||
r9.<init>(r10)
|
||||
throw r9
|
||||
L48:
|
||||
kotlin.ResultKt.throwOnFailure(r9)
|
||||
java.util.Map<com.google.firebase.sessions.api.SessionSubscriber$Name, com.google.firebase.sessions.api.FirebaseSessionsDependencies$Dependency> r9 = com.google.firebase.sessions.api.FirebaseSessionsDependencies.dependencies
|
||||
java.lang.String r1 = "dependencies"
|
||||
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r9, r1)
|
||||
java.util.LinkedHashMap r1 = new java.util.LinkedHashMap
|
||||
int r4 = r9.size()
|
||||
int r4 = kotlin.collections.MapsKt.mapCapacity(r4)
|
||||
r1.<init>(r4)
|
||||
java.util.Set r9 = r9.entrySet()
|
||||
java.util.Iterator r9 = r9.iterator()
|
||||
r7 = r9
|
||||
r4 = r1
|
||||
L69:
|
||||
boolean r9 = r7.hasNext()
|
||||
if (r9 == 0) goto Lb3
|
||||
java.lang.Object r9 = r7.next()
|
||||
java.util.Map$Entry r9 = (java.util.Map.Entry) r9
|
||||
java.lang.Object r1 = r9.getKey()
|
||||
java.lang.Object r5 = r9.getKey()
|
||||
r6 = r5
|
||||
com.google.firebase.sessions.api.SessionSubscriber$Name r6 = (com.google.firebase.sessions.api.SessionSubscriber.Name) r6
|
||||
java.lang.Object r9 = r9.getValue()
|
||||
com.google.firebase.sessions.api.FirebaseSessionsDependencies$Dependency r9 = (com.google.firebase.sessions.api.FirebaseSessionsDependencies.Dependency) r9
|
||||
kotlinx.coroutines.sync.Mutex r5 = r9.getMutex()
|
||||
r0.L$0 = r4
|
||||
r0.L$1 = r7
|
||||
r0.L$2 = r6
|
||||
r0.L$3 = r5
|
||||
r0.L$4 = r4
|
||||
r0.L$5 = r1
|
||||
r0.label = r2
|
||||
java.lang.Object r9 = r5.lock(r3, r0)
|
||||
if (r9 != r10) goto L9f
|
||||
return r10
|
||||
L9f:
|
||||
r8 = r4
|
||||
La0:
|
||||
com.google.firebase.sessions.api.FirebaseSessionsDependencies r9 = com.google.firebase.sessions.api.FirebaseSessionsDependencies.INSTANCE // Catch: java.lang.Throwable -> Lae
|
||||
com.google.firebase.sessions.api.SessionSubscriber r9 = r9.getSubscriber$com_google_firebase_firebase_sessions(r6) // Catch: java.lang.Throwable -> Lae
|
||||
r5.unlock(r3)
|
||||
r4.put(r1, r9)
|
||||
r4 = r8
|
||||
goto L69
|
||||
Lae:
|
||||
r9 = move-exception
|
||||
r5.unlock(r3)
|
||||
throw r9
|
||||
Lb3:
|
||||
return r4
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: com.google.firebase.sessions.api.FirebaseSessionsDependencies.getRegisteredSubscribers$com_google_firebase_firebase_sessions(kotlin.coroutines.Continuation):java.lang.Object");
|
||||
}
|
||||
|
||||
public final SessionSubscriber getSubscriber$com_google_firebase_firebase_sessions(SessionSubscriber.Name subscriberName) {
|
||||
Intrinsics.checkNotNullParameter(subscriberName, "subscriberName");
|
||||
SessionSubscriber subscriber = getDependency(subscriberName).getSubscriber();
|
||||
if (subscriber != null) {
|
||||
return subscriber;
|
||||
}
|
||||
throw new IllegalStateException("Subscriber " + subscriberName + " has not been registered.");
|
||||
}
|
||||
|
||||
public final void reset$com_google_firebase_firebase_sessions() {
|
||||
dependencies.clear();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.google.firebase.sessions.api;
|
||||
|
||||
import com.google.android.gms.measurement.internal.a;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\bf\u0018\u00002\u00020\u0001:\u0002\r\u000eJ\u0010\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\fH&R\u0012\u0010\u0002\u001a\u00020\u0003X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0002\u0010\u0004R\u0012\u0010\u0005\u001a\u00020\u0006X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0007\u0010\b¨\u0006\u000f"}, d2 = {"Lcom/google/firebase/sessions/api/SessionSubscriber;", "", "isDataCollectionEnabled", "", "()Z", "sessionSubscriberName", "Lcom/google/firebase/sessions/api/SessionSubscriber$Name;", "getSessionSubscriberName", "()Lcom/google/firebase/sessions/api/SessionSubscriber$Name;", "onSessionChanged", "", "sessionDetails", "Lcom/google/firebase/sessions/api/SessionSubscriber$SessionDetails;", "Name", "SessionDetails", "com.google.firebase-firebase-sessions"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public interface SessionSubscriber {
|
||||
|
||||
@Metadata(d1 = {"\u0000\f\n\u0002\u0018\u0002\n\u0002\u0010\u0010\n\u0002\b\u0005\b\u0086\u0001\u0018\u00002\b\u0012\u0004\u0012\u00020\u00000\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002j\u0002\b\u0003j\u0002\b\u0004j\u0002\b\u0005¨\u0006\u0006"}, d2 = {"Lcom/google/firebase/sessions/api/SessionSubscriber$Name;", "", "(Ljava/lang/String;I)V", "CRASHLYTICS", "PERFORMANCE", "MATT_SAYS_HI", "com.google.firebase-firebase-sessions"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public enum Name {
|
||||
CRASHLYTICS,
|
||||
PERFORMANCE,
|
||||
MATT_SAYS_HI
|
||||
}
|
||||
|
||||
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\b\u0086\b\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\t\u0010\u0007\u001a\u00020\u0003HÆ\u0003J\u0013\u0010\b\u001a\u00020\u00002\b\b\u0002\u0010\u0002\u001a\u00020\u0003HÆ\u0001J\u0013\u0010\t\u001a\u00020\n2\b\u0010\u000b\u001a\u0004\u0018\u00010\u0001HÖ\u0003J\t\u0010\f\u001a\u00020\rHÖ\u0001J\t\u0010\u000e\u001a\u00020\u0003HÖ\u0001R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u000f"}, d2 = {"Lcom/google/firebase/sessions/api/SessionSubscriber$SessionDetails;", "", "sessionId", "", "(Ljava/lang/String;)V", "getSessionId", "()Ljava/lang/String;", "component1", "copy", "equals", "", "other", "hashCode", "", "toString", "com.google.firebase-firebase-sessions"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final /* data */ class SessionDetails {
|
||||
private final String sessionId;
|
||||
|
||||
public SessionDetails(String sessionId) {
|
||||
Intrinsics.checkNotNullParameter(sessionId, "sessionId");
|
||||
this.sessionId = sessionId;
|
||||
}
|
||||
|
||||
public static /* synthetic */ SessionDetails copy$default(SessionDetails sessionDetails, String str, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
str = sessionDetails.sessionId;
|
||||
}
|
||||
return sessionDetails.copy(str);
|
||||
}
|
||||
|
||||
/* renamed from: component1, reason: from getter */
|
||||
public final String getSessionId() {
|
||||
return this.sessionId;
|
||||
}
|
||||
|
||||
public final SessionDetails copy(String sessionId) {
|
||||
Intrinsics.checkNotNullParameter(sessionId, "sessionId");
|
||||
return new SessionDetails(sessionId);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
return (other instanceof SessionDetails) && Intrinsics.areEqual(this.sessionId, ((SessionDetails) other).sessionId);
|
||||
}
|
||||
|
||||
public final String getSessionId() {
|
||||
return this.sessionId;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.sessionId.hashCode();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return a.n(new StringBuilder("SessionDetails(sessionId="), this.sessionId, ')');
|
||||
}
|
||||
}
|
||||
|
||||
Name getSessionSubscriberName();
|
||||
|
||||
boolean isDataCollectionEnabled();
|
||||
|
||||
void onSessionChanged(SessionDetails sessionDetails);
|
||||
}
|
||||
Reference in New Issue
Block a user