导航菜单

页面标题

页面副标题

Sandridge Go v2025.2.170190457 - StaffbaseTabs.java 源代码

正在查看: Sandridge Go v2025.2.170190457 应用的 StaffbaseTabs.java JAVA 源代码文件

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


package com.staffbase.capacitor.plugin.tabs;

import F6.B;
import G6.AbstractC0103t;
import a7.o;
import android.content.Intent;
import android.net.Uri;
import androidx.browser.customtabs.b;
import b3.d;
import com.getcapacitor.M;
import com.getcapacitor.O;
import com.getcapacitor.Y;
import com.getcapacitor.Z;
import com.getcapacitor.e0;
import com.staffbase.capacitor.plugin.podcast.StaffbasePodcast;
import com.staffbase.capacitor.plugin.tabs.StaffbaseTabs;
import java.util.Iterator;
import java.util.List;
import java.util.WeakHashMap;
import kotlin.jvm.internal.h;
import kotlin.jvm.internal.n;

@b3.b(name = StaffbaseTabs.PLUGIN_NAME, permissions = {@b3.c(alias = StaffbaseTabs.PERMISSION_FINE_LOCATION, strings = {"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}), @b3.c(alias = StaffbaseTabs.PERMISSION_COARSE_LOCATION, strings = {"android.permission.ACCESS_COARSE_LOCATION"}), @b3.c(alias = "permissionCamera", strings = {"android.permission.CAMERA"})})
public final class StaffbaseTabs extends Y {
    public static final String CAMERA_CALLBACK_FUNCTION_NAME = "cameraPermissionsCallback";
    public static final String LOCATION_CALLBACK_FUNCTION_NAME = "locationPermissionsCallback";
    public static final String PERMISSION_CAMERA = "permissionCamera";
    public static final String PERMISSION_COARSE_LOCATION = "permissionCoarseLocation";
    public static final String PERMISSION_FINE_LOCATION = "permissionFineLocation";
    public static final String PLUGIN_NAME = "StaffbaseTabs";
    private static final List<String> URL_PREFIX_ALLOW_LIST_CAMERA_PERM;
    private static final List<String> URL_PREFIX_ALLOW_LIST_LOCATION_PERM;
    private static StaffbaseTabs _instance;
    private String loginTabId;
    private String loginTabUrl;
    private final WeakHashMap<String, com.staffbase.capacitor.plugin.tabs.b> modalViews = new WeakHashMap<>();
    private boolean needsLocationPermission;
    public static final a Companion = new a(null);
    public static final int $stable = 8;

    public static final class a {
        public a(h hVar) {
            this();
        }

        public final StaffbaseTabs a() {
            if (StaffbaseTabs._instance == null) {
                throw new Exception("TabsPlugin not initialized!");
            }
            StaffbaseTabs staffbaseTabs = StaffbaseTabs._instance;
            if (staffbaseTabs != null) {
                return staffbaseTabs;
            }
            throw new AssertionError();
        }

        public final void b(Z call, b event, M data) {
            n.e(call, "call");
            n.e(event, "event");
            n.e(data, "data");
            M m = new M();
            m.j("tabId", call.f());
            m.i("result", data);
            a().notifyListeners(event.b(), m);
        }

        private a() {
        }
    }

    public static final class b {
        public static final b p = new b("CLOSED", 0, "closed");
        public static final b q = new b("BUTTON_PRESSED", 1, "buttonPressed");
        public static final b r = new b("LOAD_STARTED", 2, "loadStarted");
        public static final b s = new b("LOAD_FINISHED", 3, "loadFinished");
        public static final b t = new b("LOAD_ERROR", 4, "loadError");
        private static final b[] u;
        private static final M6.a v;
        private final String o;

        static {
            b[] a = a();
            u = a;
            v = M6.b.a(a);
        }

        private b(String str, int i, String str2) {
            this.o = str2;
        }

        private static final b[] a() {
            return new b[]{p, q, r, s, t};
        }

        public static b valueOf(String str) {
            return (b) Enum.valueOf(b.class, str);
        }

        public static b[] values() {
            return (b[]) u.clone();
        }

        public final String b() {
            return this.o;
        }
    }

    static {
        List<String> e = AbstractC0103t.e("https://app.greatdayhr.com/");
        URL_PREFIX_ALLOW_LIST_CAMERA_PERM = e;
        URL_PREFIX_ALLOW_LIST_LOCATION_PERM = e;
    }

    private final com.staffbase.capacitor.plugin.tabs.b getTabModal(Z z) {
        String p = z.p("tabId");
        if (p == null) {
            z.t("`tabId` not provided");
            return null;
        }
        com.staffbase.capacitor.plugin.tabs.b bVar = this.modalViews.get(p);
        if (bVar != null) {
            return bVar;
        }
        z.t("No tab found with tabId: " + p);
        return null;
    }

    public static final void open$lambda$5(com.staffbase.capacitor.plugin.tabs.b bVar, Z z, StaffbaseTabs staffbaseTabs) {
        bVar.R(z, staffbaseTabs.getTabUserAgent(z));
    }

    public static final void openUrl$lambda$6(com.staffbase.capacitor.plugin.tabs.b bVar, String str, Z z) {
        bVar.x().loadUrl(str);
        z.z();
    }

    public static final void setRightButton$lambda$7(com.staffbase.capacitor.plugin.tabs.b bVar, M m, Z z) {
        bVar.U(m);
        z.z();
    }

    @d
    public final void cameraPermissionsCallback(Z call) {
        n.e(call, "call");
        if (this.needsLocationPermission) {
            requestLocationPermission(call);
        }
    }

    @e0
    public final void close(Z call) {
        n.e(call, "call");
        com.staffbase.capacitor.plugin.tabs.b tabModal = getTabModal(call);
        if (tabModal == null) {
            return;
        }
        tabModal.r();
        call.z();
    }

    public final String getLoginTabId() {
        return this.loginTabId;
    }

    public final String getLoginTabUrl() {
        return this.loginTabUrl;
    }

    public final WeakHashMap<String, com.staffbase.capacitor.plugin.tabs.b> getModalViews() {
        return this.modalViews;
    }

    public final boolean getNeedsLocationPermission() {
        return this.needsLocationPermission;
    }

    public final String getTabUserAgent(Z call) {
        n.e(call, "call");
        String p = call.p("customUserAgent");
        if (p != null) {
            return p;
        }
        String userAgentString = ((Y) this).bridge.H().getSettings().getUserAgentString();
        n.d(userAgentString, "getUserAgentString(...)");
        return userAgentString;
    }

    public void handleOnNewIntent(Intent intent) {
        Uri data;
        super.handleOnNewIntent(intent);
        if (intent == null || (data = intent.getData()) == null) {
            return;
        }
        notifyLoginTabClosed(false, data.toString());
    }

    public void handleOnResume() {
        super.handleOnResume();
        notifyLoginTabClosed(true, this.loginTabUrl);
    }

    public void handleOnStart() {
        super.handleOnStart();
        _instance = this;
    }

    @d
    public final void locationPermissionsCallback(Z call) {
        n.e(call, "call");
    }

    public final void notifyListenersWrapper(String eventName, M data) {
        n.e(eventName, "eventName");
        n.e(data, "data");
        notifyListeners(eventName, data);
    }

    public final void notifyLoginTabClosed(boolean z, String str) {
        String b2 = b.p.b();
        M m = new M();
        String str2 = this.loginTabId;
        if (str2 == null) {
            return;
        }
        m.j("tabId", str2);
        M m2 = new M();
        m2.j("url", str);
        m2.k("userCancelled", z);
        B b3 = B.a;
        m.i("result", m2);
        notifyListenersWrapper(b2, m);
        this.loginTabId = null;
        this.loginTabUrl = null;
    }

    @e0
    public final void open(final Z call) {
        n.e(call, "call");
        final com.staffbase.capacitor.plugin.tabs.b bVar = new com.staffbase.capacitor.plugin.tabs.b(this, "pickFileResult");
        this.modalViews.put(call.f(), bVar);
        ((Y) this).bridge.j(new Runnable() {
            @Override
            public final void run() {
                StaffbaseTabs.open$lambda$5(com.staffbase.capacitor.plugin.tabs.b.this, call, this);
            }
        });
    }

    @e0
    public final void openLoginTab(Z call) {
        n.e(call, "call");
        String p = call.p("url");
        String obj = p != null ? o.R0(p).toString() : null;
        if (obj == null || obj.length() == 0) {
            call.t("url parameter of call is missing");
            return;
        }
        String p2 = call.p("url");
        this.loginTabId = call.f();
        this.loginTabUrl = p2;
        new b.d().a().a(getActivity(), Uri.parse(p2));
        call.A(new M().j("tabId", call.f()));
    }

    @e0
    public final void openUrl(final Z call) {
        n.e(call, "call");
        final String p = call.p("url");
        if (p == null) {
            call.t("`url` not provided");
            return;
        }
        final com.staffbase.capacitor.plugin.tabs.b tabModal = getTabModal(call);
        if (tabModal == null) {
            return;
        }
        ((Y) this).bridge.j(new Runnable() {
            @Override
            public final void run() {
                StaffbaseTabs.openUrl$lambda$6(com.staffbase.capacitor.plugin.tabs.b.this, p, call);
            }
        });
    }

    @b3.a
    public final void pickFileResult(Z call, f.a result) {
        n.e(call, "call");
        n.e(result, "result");
        O.g("Got file upload intent result.");
        if (com.staffbase.capacitor.plugin.tabs.b.r == null) {
            O.g("onActivityResult: ModalView.instance is null (already closed)");
            return;
        }
        if (result.a() == null || result.b() != -1) {
            com.staffbase.capacitor.plugin.tabs.b.r.J(null);
            return;
        }
        com.staffbase.capacitor.plugin.tabs.b bVar = com.staffbase.capacitor.plugin.tabs.b.r;
        Intent a2 = result.a();
        bVar.J(a2 != null ? a2.getData() : null);
    }

    public final void requestCameraPermission(Z call) {
        n.e(call, "call");
        requestPermissions(new String[]{"permissionCamera"}, call, CAMERA_CALLBACK_FUNCTION_NAME);
    }

    public final void requestLocationPermission(Z call) {
        n.e(call, "call");
        requestPermissions(new String[]{PERMISSION_FINE_LOCATION, PERMISSION_COARSE_LOCATION}, call, LOCATION_CALLBACK_FUNCTION_NAME);
    }

    public final void requestPermissions(String[] aliases, Z call, String callbackName) {
        n.e(aliases, "aliases");
        n.e(call, "call");
        n.e(callbackName, "callbackName");
        requestPermissionForAliases(aliases, call, callbackName);
    }

    public final void requestPermissionsIfNeeded(String url, Z call) {
        Object obj;
        Object obj2;
        n.e(url, "url");
        n.e(call, "call");
        Iterator<T> it = URL_PREFIX_ALLOW_LIST_LOCATION_PERM.iterator();
        while (true) {
            obj = null;
            if (!it.hasNext()) {
                obj2 = null;
                break;
            } else {
                obj2 = it.next();
                if (o.H(url, (String) obj2, false, 2, null)) {
                    break;
                }
            }
        }
        this.needsLocationPermission = obj2 != null;
        Iterator<T> it2 = URL_PREFIX_ALLOW_LIST_CAMERA_PERM.iterator();
        while (true) {
            if (!it2.hasNext()) {
                break;
            }
            Object next = it2.next();
            if (o.H(url, (String) next, false, 2, null)) {
                obj = next;
                break;
            }
        }
        if (obj != null) {
            requestCameraPermission(call);
        } else if (this.needsLocationPermission) {
            requestLocationPermission(call);
        }
    }

    public final void setLoginTabId(String str) {
        this.loginTabId = str;
    }

    public final void setLoginTabUrl(String str) {
        this.loginTabUrl = str;
    }

    public final void setNeedsLocationPermission(boolean z) {
        this.needsLocationPermission = z;
    }

    @e0
    public final void setRightButton(final Z call) {
        n.e(call, "call");
        final com.staffbase.capacitor.plugin.tabs.b tabModal = getTabModal(call);
        if (tabModal == null) {
            return;
        }
        String p = call.p(StaffbasePodcast.KEY_TITLE);
        String p2 = call.p("icon");
        if (p == null && p2 == null) {
            call.t("`title` or `icon` should be provided");
            return;
        }
        final M m = new M();
        m.j(StaffbasePodcast.KEY_TITLE, p);
        m.j("icon", p2);
        ((Y) this).bridge.j(new Runnable() {
            @Override
            public final void run() {
                StaffbaseTabs.setRightButton$lambda$7(com.staffbase.capacitor.plugin.tabs.b.this, m, call);
            }
        });
    }

    @e0
    public final void setTitle(Z call) {
        n.e(call, "call");
        com.staffbase.capacitor.plugin.tabs.b tabModal = getTabModal(call);
        if (tabModal == null) {
            return;
        }
        String p = call.p(StaffbasePodcast.KEY_TITLE);
        if (p == null) {
            call.t("`title` not provided");
        } else {
            tabModal.V(p);
            call.z();
        }
    }
}