Picsart v24.6版本的 MD5 值为:21a61631d94e54da68d2ad9268b8b9d9

以下内容为反编译后的 NdkPlugin.java 源代码,内容仅作参考


package com.bugsnag.android;

import com.bugsnag.android.internal.TaskType;
import com.bugsnag.android.ndk.NativeBridge;
import com.bugsnag.android.r;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.jvm.internal.Intrinsics;
import myobfuscated.nf.c1;
import myobfuscated.nf.d1;
import myobfuscated.nf.e1;
import myobfuscated.nf.h1;
import myobfuscated.nf.l1;
import myobfuscated.nf.p1;
import myobfuscated.nf.t0;
import myobfuscated.nf.v;
import myobfuscated.nf.x;
import myobfuscated.nf.z1;
import org.jetbrains.annotations.NotNull;
@Metadata(d1 = {"\u0000V\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010$\n\u0002\u0010\b\n\u0002\b\u0007\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\r\b\u0000\u0018\u0000 -2\u00020\u0001:\u0001.B\u0007¢\u0006\u0004\b+\u0010,J\t\u0010\u0003\u001a\u00020\u0002H\u0082 J\t\u0010\u0004\u001a\u00020\u0002H\u0082 J\t\u0010\u0006\u001a\u00020\u0005H\u0082 J\u0010\u0010\n\u001a\u00020\t2\u0006\u0010\b\u001a\u00020\u0007H\u0002J\u0010\u0010\u000b\u001a\u00020\u00022\u0006\u0010\b\u001a\u00020\u0007H\u0002J\u0010\u0010\f\u001a\u00020\u00022\u0006\u0010\b\u001a\u00020\u0007H\u0016J\b\u0010\r\u001a\u00020\u0002H\u0016J\u000e\u0010\u0010\u001a\u00020\u00022\u0006\u0010\u000f\u001a\u00020\u000eJ\u0006\u0010\u0012\u001a\u00020\u0011J\u0012\u0010\u0015\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u00140\u0013J\u0012\u0010\u0016\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u000e0\u0013J\u001a\u0010\u0018\u001a\u00020\u00022\u0012\u0010\u0017\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u00140\u0013J\u000e\u0010\u001a\u001a\u00020\u00022\u0006\u0010\u0019\u001a\u00020\u0005J\u000e\u0010\u001b\u001a\u00020\u00022\u0006\u0010\u0019\u001a\u00020\u0005J\u001a\u0010\u001e\u001a\u00020\u00022\u0012\u0010\u001d\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u001c0\u0013R\u0014\u0010 \u001a\u00020\u001f8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b \u0010!R\u0014\u0010#\u001a\u00020\"8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b#\u0010$R\u0018\u0010\b\u001a\u0004\u0018\u00010\u00078\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\b\u0010%R(\u0010'\u001a\u0004\u0018\u00010\t2\b\u0010&\u001a\u0004\u0018\u00010\t8\u0006@BX\u0086\u000e¢\u0006\f\n\u0004\b'\u0010(\u001a\u0004\b)\u0010*¨\u0006/"}, d2 = {"Lcom/bugsnag/android/NdkPlugin;", "Lmyobfuscated/nf/z1;", "", "enableCrashReporting", "disableCrashReporting", "", "getBinaryArch", "Lcom/bugsnag/android/a;", "client", "Lcom/bugsnag/android/ndk/NativeBridge;", "initNativeBridge", "performOneTimeSetup", "load", "unload", "", "enabled", "setInternalMetricsEnabled", "", "getSignalUnwindStackFunction", "", "", "getCurrentCallbackSetCounts", "getCurrentNativeApiCallUsage", "counts", "initCallbackCounts", "callback", "notifyAddCallback", "notifyRemoveCallback", "", "data", "setStaticData", "Lmyobfuscated/nf/l1;", "libraryLoader", "Lmyobfuscated/nf/l1;", "Ljava/util/concurrent/atomic/AtomicBoolean;", "oneTimeSetupPerformed", "Ljava/util/concurrent/atomic/AtomicBoolean;", "Lcom/bugsnag/android/a;", "<set-?>", "nativeBridge", "Lcom/bugsnag/android/ndk/NativeBridge;", "getNativeBridge", "()Lcom/bugsnag/android/ndk/NativeBridge;", "<init>", "()V", "Companion", com.inmobi.commons.core.configs.a.d, "bugsnag-plugin-android-ndk_release"}, k = 1, mv = {1, 5, 1})
public final class NdkPlugin implements z1 {
    @NotNull
    private static final a Companion = new Object();
    @Deprecated
    @NotNull
    private static final String LOAD_ERR_MSG = "Native library could not be linked. Bugsnag will not report NDK errors. See https://docs.bugsnag.com/platforms/android/ndk-link-errors";
    private com.bugsnag.android.a client;
    private NativeBridge nativeBridge;
    @NotNull
    private final l1 libraryLoader = new l1();
    @NotNull
    private final AtomicBoolean oneTimeSetupPerformed = new AtomicBoolean(false);

    public static final class a {
    }

    private final native void disableCrashReporting();

    private final native void enableCrashReporting();

    private final native String getBinaryArch();

    private final NativeBridge initNativeBridge(com.bugsnag.android.a aVar) {
        ArrayList arrayList;
        Set<Map.Entry<String, Object>> entrySet;
        NativeBridge nativeBridge = new NativeBridge(aVar.z);
        aVar.b.addObserver(nativeBridge);
        aVar.l.addObserver(nativeBridge);
        aVar.o.addObserver(nativeBridge);
        aVar.t.addObserver(nativeBridge);
        aVar.g.addObserver(nativeBridge);
        aVar.e.addObserver(nativeBridge);
        aVar.s.addObserver(nativeBridge);
        aVar.y.addObserver(nativeBridge);
        aVar.m.addObserver(nativeBridge);
        aVar.c.addObserver(nativeBridge);
        if (((Boolean) aVar.z.b(TaskType.IO, new v(aVar)).get()).booleanValue()) {
            String absolutePath = aVar.x.a.getAbsolutePath();
            h1 h1Var = aVar.w;
            int i = h1Var != null ? h1Var.a : 0;
            x xVar = aVar.t;
            myobfuscated.of.h hVar = aVar.a;
            if (!xVar.getObservers$bugsnag_android_core_release().isEmpty()) {
                r.h hVar2 = new r.h(hVar.a, hVar.c.b, absolutePath, i, hVar.e);
                for (myobfuscated.of.o oVar : xVar.getObservers$bugsnag_android_core_release()) {
                    oVar.onStateChange(hVar2);
                }
            }
            p1 p1Var = aVar.b;
            m mVar = p1Var.a;
            for (String str : mVar.a.keySet()) {
                Map<String, Object> map = mVar.a.get(str);
                if (map != null && (entrySet = map.entrySet()) != null) {
                    Iterator<T> it = entrySet.iterator();
                    while (it.hasNext()) {
                        Map.Entry entry = (Map.Entry) it.next();
                        p1Var.c(entry.getValue(), str, (String) entry.getKey());
                    }
                }
            }
            aVar.e.b();
            aVar.g.b();
            aVar.m.b();
            d1 d1Var = aVar.c;
            e1 e1Var = d1Var.a;
            synchronized (e1Var) {
                Set<Map.Entry<String, String>> entrySet2 = e1Var.a.entrySet();
                arrayList = new ArrayList(myobfuscated.jk2.p.n(entrySet2, 10));
                Iterator<T> it2 = entrySet2.iterator();
                while (it2.hasNext()) {
                    Map.Entry entry2 = (Map.Entry) it2.next();
                    String str2 = (String) entry2.getKey();
                    String str3 = (String) entry2.getValue();
                    if (Intrinsics.c(str3, "__EMPTY_VARIANT_SENTINEL__")) {
                        str3 = null;
                    }
                    arrayList.add(new c1(str2, str3));
                }
            }
            Iterator it3 = arrayList.iterator();
            while (it3.hasNext()) {
                c1 c1Var = (c1) it3.next();
                String str4 = c1Var.a;
                String str5 = c1Var.b;
                if (!d1Var.getObservers$bugsnag_android_core_release().isEmpty()) {
                    r.b bVar = new r.b(str4, str5);
                    for (myobfuscated.of.o oVar2 : d1Var.getObservers$bugsnag_android_core_release()) {
                        oVar2.onStateChange(bVar);
                    }
                }
            }
            x xVar2 = aVar.t;
            if (!xVar2.getObservers$bugsnag_android_core_release().isEmpty()) {
                r.g gVar = r.g.a;
                for (myobfuscated.of.o oVar3 : xVar2.getObservers$bugsnag_android_core_release()) {
                    oVar3.onStateChange(gVar);
                }
            }
            return nativeBridge;
        }
        aVar.q.g("Failed to setup NDK directory.");
        return nativeBridge;
    }

    private final void performOneTimeSetup(com.bugsnag.android.a aVar) {
        this.libraryLoader.a("bugsnag-ndk", aVar, new Object());
        if (!this.libraryLoader.b) {
            aVar.q.e(LOAD_ERR_MSG);
            return;
        }
        aVar.k.h = getBinaryArch();
        this.nativeBridge = initNativeBridge(aVar);
    }

    public static final boolean m83performOneTimeSetup$lambda0(f fVar) {
        t0 t0Var = fVar.a.n.get(0).a;
        t0Var.a = "NdkLinkError";
        t0Var.b = LOAD_ERR_MSG;
        return true;
    }

    @NotNull
    public final Map<String, Integer> getCurrentCallbackSetCounts() {
        NativeBridge nativeBridge = this.nativeBridge;
        Map<String, Integer> currentCallbackSetCounts = nativeBridge == null ? null : nativeBridge.getCurrentCallbackSetCounts();
        return currentCallbackSetCounts == null ? kotlin.collections.d.f() : currentCallbackSetCounts;
    }

    @NotNull
    public final Map<String, Boolean> getCurrentNativeApiCallUsage() {
        NativeBridge nativeBridge = this.nativeBridge;
        Map<String, Boolean> currentNativeApiCallUsage = nativeBridge == null ? null : nativeBridge.getCurrentNativeApiCallUsage();
        return currentNativeApiCallUsage == null ? kotlin.collections.d.f() : currentNativeApiCallUsage;
    }

    public final NativeBridge getNativeBridge() {
        return this.nativeBridge;
    }

    public final long getSignalUnwindStackFunction() {
        NativeBridge nativeBridge = this.nativeBridge;
        if (nativeBridge == null) {
            return 0L;
        }
        return nativeBridge.getSignalUnwindStackFunction();
    }

    public final void initCallbackCounts(@NotNull Map<String, Integer> map) {
        NativeBridge nativeBridge = this.nativeBridge;
        if (nativeBridge == null) {
            return;
        }
        nativeBridge.initCallbackCounts(map);
    }

    @Override
    public void load(@NotNull com.bugsnag.android.a aVar) {
        this.client = aVar;
        if (!this.oneTimeSetupPerformed.getAndSet(true)) {
            performOneTimeSetup(aVar);
        }
        if (this.libraryLoader.b) {
            enableCrashReporting();
            aVar.q.b("Initialised NDK Plugin");
        }
    }

    public final void notifyAddCallback(@NotNull String str) {
        NativeBridge nativeBridge = this.nativeBridge;
        if (nativeBridge == null) {
            return;
        }
        nativeBridge.notifyAddCallback(str);
    }

    public final void notifyRemoveCallback(@NotNull String str) {
        NativeBridge nativeBridge = this.nativeBridge;
        if (nativeBridge == null) {
            return;
        }
        nativeBridge.notifyRemoveCallback(str);
    }

    public final void setInternalMetricsEnabled(boolean z) {
        NativeBridge nativeBridge = this.nativeBridge;
        if (nativeBridge == null) {
            return;
        }
        nativeBridge.setInternalMetricsEnabled(z);
    }

    public final void setStaticData(@NotNull Map<String, ? extends Object> map) {
        StringWriter stringWriter = new StringWriter();
        try {
            l lVar = new l(stringWriter);
            lVar.G(map, false);
            Unit unit = Unit.a;
            myobfuscated.sr.e.s(lVar, null);
            myobfuscated.sr.e.s(stringWriter, null);
            String stringWriter2 = stringWriter.toString();
            NativeBridge nativeBridge = this.nativeBridge;
            if (nativeBridge == null) {
                return;
            }
            nativeBridge.setStaticJsonData(stringWriter2);
        } catch (Throwable th) {
            try {
                throw th;
            } catch (Throwable th2) {
                myobfuscated.sr.e.s(stringWriter, th);
                throw th2;
            }
        }
    }

    @Override
    public void unload() {
        com.bugsnag.android.a aVar;
        if (this.libraryLoader.b) {
            disableCrashReporting();
            NativeBridge nativeBridge = this.nativeBridge;
            if (nativeBridge == null || (aVar = this.client) == null) {
                return;
            }
            aVar.b.removeObserver(nativeBridge);
            aVar.l.removeObserver(nativeBridge);
            aVar.o.removeObserver(nativeBridge);
            aVar.t.removeObserver(nativeBridge);
            aVar.g.removeObserver(nativeBridge);
            aVar.e.removeObserver(nativeBridge);
            aVar.s.removeObserver(nativeBridge);
            aVar.y.removeObserver(nativeBridge);
            aVar.m.removeObserver(nativeBridge);
            aVar.c.removeObserver(nativeBridge);
        }
    }
}