导航菜单

页面标题

页面副标题

Aplazo v2.4.68 - ErrorBoundary.java 源代码

正在查看: Aplazo v2.4.68 应用的 ErrorBoundary.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.statsig.androidsdk;

import Fi.C;
import Fi.D;
import Fi.H;
import Fi.J;
import Fi.U;
import java.io.PrintStream;
import java.util.HashSet;
import ki.i;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.l;

public final class ErrorBoundary {
    private String apiKey;
    private Diagnostics diagnostics;
    private StatsigMetadata statsigMetadata;
    private String urlString = "https://statsigapi.net/v1/sdk_exception";
    private HashSet<String> seen = new HashSet<>();

    public static void capture$default(ErrorBoundary errorBoundary, Function0 function0, String str, Function1 function1, String str2, int i, Object obj) {
        if ((i & 2) != 0) {
            str = null;
        }
        if ((i & 4) != 0) {
            function1 = null;
        }
        if ((i & 8) != 0) {
            str2 = null;
        }
        errorBoundary.capture(function0, str, function1, str2);
    }

    private final void endMarker(String str, String str2, boolean z, String str3) {
        Diagnostics diagnostics = this.diagnostics;
        KeyType convertFromString = KeyType.Companion.convertFromString(str == null ? "" : str);
        if (str == null || diagnostics == null || convertFromString == null) {
            return;
        }
        diagnostics.markEnd(convertFromString, z, (r13 & 4) != 0 ? null : null, (r13 & 8) != 0 ? null : new Marker(null, null, null, null, null, null, null, null, null, null, str2, null, null, null, str3, null, null, null, null, null, 1031167, null), (r13 & 16) != 0 ? null : null);
    }

    public final void handleException(Throwable th) {
        PrintStream printStream = System.out;
        printStream.println((Object) "[Statsig]: An unexpected exception occurred.");
        printStream.println(th);
        if (th instanceof ExternalException) {
            return;
        }
        logException$build_release(th);
    }

    private final String startMarker(String str, String str2) {
        Diagnostics diagnostics = this.diagnostics;
        KeyType convertFromString = KeyType.Companion.convertFromString(str == null ? "" : str);
        if (str == null || diagnostics == null || convertFromString == null) {
            return null;
        }
        StringBuilder sb = new StringBuilder();
        sb.append((Object) str);
        sb.append('_');
        ContextType contextType = ContextType.API_CALL;
        sb.append(diagnostics.getMarkers(contextType).size());
        String sb2 = sb.toString();
        diagnostics.setDiagnosticsContext(contextType);
        Diagnostics.markStart$default(diagnostics, convertFromString, null, new Marker(null, null, null, null, null, null, null, null, null, null, sb2, null, null, null, str2, null, null, null, null, null, 1031167, null), null, 8, null);
        return sb2;
    }

    public final void capture(Function0 function0, String str, Function1 function1, String str2) {
        l.e(function0, "task");
        String str3 = "";
        try {
            String startMarker = startMarker(str, str2);
            if (startMarker != null) {
                str3 = startMarker;
            }
            function0.invoke();
            endMarker(str, str3, true, str2);
        } catch (Exception e) {
            endMarker(str, str3, false, str2);
            handleException(e);
            if (function1 == null) {
                return;
            }
            function1.invoke(e);
        }
    }

    public final <T> java.lang.Object captureAsync(kotlin.jvm.functions.Function1 r5, kotlin.coroutines.Continuation<? super T> r6) {
        throw new UnsupportedOperationException("Method not decompiled: com.statsig.androidsdk.ErrorBoundary.captureAsync(kotlin.jvm.functions.Function1, kotlin.coroutines.Continuation):java.lang.Object");
    }

    public final D getExceptionHandler() {
        return new ErrorBoundary$getExceptionHandler$$inlined$CoroutineExceptionHandler$1(C.c, this);
    }

    public final D getNoopExceptionHandler() {
        return new ErrorBoundary$getNoopExceptionHandler$$inlined$CoroutineExceptionHandler$1(C.c);
    }

    public final String getUrl() {
        return this.urlString;
    }

    public final String getUrlString$build_release() {
        return this.urlString;
    }

    public final void logException$build_release(Throwable th) {
        l.e(th, "exception");
        try {
            J.B(J.b(getNoopExceptionHandler().plus(U.b)), (i) null, (H) null, new ErrorBoundary$logException$1(this, th, null), 3);
        } catch (Exception unused) {
        }
    }

    public final void setDiagnostics(Diagnostics diagnostics) {
        l.e(diagnostics, "diagnostics");
        this.diagnostics = diagnostics;
        if (Math.floor(Math.random() * ErrorBoundaryKt.SAMPLING_RATE) == 0.0d) {
            diagnostics.setMaxMarkers(ContextType.API_CALL, 30);
        } else {
            diagnostics.setMaxMarkers(ContextType.API_CALL, 0);
        }
    }

    public final void setKey(String str) {
        l.e(str, "apiKey");
        this.apiKey = str;
    }

    public final void setMetadata(StatsigMetadata statsigMetadata) {
        l.e(statsigMetadata, "statsigMetadata");
        this.statsigMetadata = statsigMetadata;
    }

    public final void setUrlString$build_release(String str) {
        l.e(str, "<set-?>");
        this.urlString = str;
    }

    public final <T> java.lang.Object captureAsync(kotlin.jvm.functions.Function1 r6, ui.c r7, kotlin.coroutines.Continuation<? super T> r8) {
        throw new UnsupportedOperationException("Method not decompiled: com.statsig.androidsdk.ErrorBoundary.captureAsync(kotlin.jvm.functions.Function1, ui.c, kotlin.coroutines.Continuation):java.lang.Object");
    }
}