正在查看: Sandridge Go v2025.2.170190457 应用的 StaffbaseTabs.java JAVA 源代码文件
本页面展示 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();
}
}
}