Initial import of ADIF API reverse-engineering toolkit
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface AnalyticsEventLogger {
|
||||
void logEvent(String str, Bundle bundle);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface AnalyticsEventReceiver {
|
||||
void onEvent(String str, Bundle bundle);
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class BlockingAnalyticsEventLogger implements AnalyticsEventReceiver, AnalyticsEventLogger {
|
||||
static final String APP_EXCEPTION_EVENT_NAME = "_ae";
|
||||
private final CrashlyticsOriginAnalyticsEventLogger baseAnalyticsEventLogger;
|
||||
private CountDownLatch eventLatch;
|
||||
private final TimeUnit timeUnit;
|
||||
private final int timeout;
|
||||
private final Object latchLock = new Object();
|
||||
private boolean callbackReceived = false;
|
||||
|
||||
public BlockingAnalyticsEventLogger(CrashlyticsOriginAnalyticsEventLogger crashlyticsOriginAnalyticsEventLogger, int i, TimeUnit timeUnit) {
|
||||
this.baseAnalyticsEventLogger = crashlyticsOriginAnalyticsEventLogger;
|
||||
this.timeout = i;
|
||||
this.timeUnit = timeUnit;
|
||||
}
|
||||
|
||||
public boolean isCallbackReceived() {
|
||||
return this.callbackReceived;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger
|
||||
public void logEvent(String str, Bundle bundle) {
|
||||
synchronized (this.latchLock) {
|
||||
try {
|
||||
Logger.getLogger().v("Logging event " + str + " to Firebase Analytics with params " + bundle);
|
||||
this.eventLatch = new CountDownLatch(1);
|
||||
this.callbackReceived = false;
|
||||
this.baseAnalyticsEventLogger.logEvent(str, bundle);
|
||||
Logger.getLogger().v("Awaiting app exception callback from Analytics...");
|
||||
try {
|
||||
if (this.eventLatch.await(this.timeout, this.timeUnit)) {
|
||||
this.callbackReceived = true;
|
||||
Logger.getLogger().v("App exception callback received from Analytics listener.");
|
||||
} else {
|
||||
Logger.getLogger().w("Timeout exceeded while awaiting app exception callback from Analytics listener.");
|
||||
}
|
||||
} catch (InterruptedException unused) {
|
||||
Logger.getLogger().e("Interrupted while awaiting app exception callback from Analytics listener.");
|
||||
}
|
||||
this.eventLatch = null;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventReceiver
|
||||
public void onEvent(String str, Bundle bundle) {
|
||||
CountDownLatch countDownLatch = this.eventLatch;
|
||||
if (countDownLatch != null && APP_EXCEPTION_EVENT_NAME.equals(str)) {
|
||||
countDownLatch.countDown();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbHandler;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class BreadcrumbAnalyticsEventReceiver implements AnalyticsEventReceiver, BreadcrumbSource {
|
||||
private static final String BREADCRUMB_NAME_KEY = "name";
|
||||
private static final String BREADCRUMB_PARAMS_KEY = "parameters";
|
||||
private static final String BREADCRUMB_PREFIX = "$A$:";
|
||||
private BreadcrumbHandler breadcrumbHandler;
|
||||
|
||||
private static String serializeEvent(String str, Bundle bundle) throws JSONException {
|
||||
JSONObject jSONObject = new JSONObject();
|
||||
JSONObject jSONObject2 = new JSONObject();
|
||||
for (String str2 : bundle.keySet()) {
|
||||
jSONObject2.put(str2, bundle.get(str2));
|
||||
}
|
||||
jSONObject.put("name", str);
|
||||
jSONObject.put("parameters", jSONObject2);
|
||||
return jSONObject.toString();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventReceiver
|
||||
public void onEvent(String str, Bundle bundle) {
|
||||
BreadcrumbHandler breadcrumbHandler = this.breadcrumbHandler;
|
||||
if (breadcrumbHandler != null) {
|
||||
try {
|
||||
breadcrumbHandler.handleBreadcrumb(BREADCRUMB_PREFIX + serializeEvent(str, bundle));
|
||||
} catch (JSONException unused) {
|
||||
Logger.getLogger().w("Unable to serialize Firebase Analytics event to breadcrumb.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource
|
||||
public void registerBreadcrumbHandler(BreadcrumbHandler breadcrumbHandler) {
|
||||
this.breadcrumbHandler = breadcrumbHandler;
|
||||
Logger.getLogger().d("Registered Firebase Analytics event receiver for breadcrumbs");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsOriginAnalyticsEventLogger implements AnalyticsEventLogger {
|
||||
static final String FIREBASE_ANALYTICS_ORIGIN_CRASHLYTICS = "clx";
|
||||
private final AnalyticsConnector analyticsConnector;
|
||||
|
||||
public CrashlyticsOriginAnalyticsEventLogger(AnalyticsConnector analyticsConnector) {
|
||||
this.analyticsConnector = analyticsConnector;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger
|
||||
public void logEvent(String str, Bundle bundle) {
|
||||
this.analyticsConnector.logEvent(FIREBASE_ANALYTICS_ORIGIN_CRASHLYTICS, str, bundle);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class UnavailableAnalyticsEventLogger implements AnalyticsEventLogger {
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger
|
||||
public void logEvent(String str, Bundle bundle) {
|
||||
Logger.getLogger().d("Skipping logging Crashlytics event to Firebase, no Firebase Analytics");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user