decord/source/modules/links/native/BrowserManager.tsx

201 lines
8 KiB
TypeScript
Raw Normal View History

2026-08-25 06:04:03 +00:00
// Module ID: 4345
// Function ID: 4346
2026-07-29 08:29:29 +00:00
// Name: NativeModules
2026-08-25 06:04:03 +00:00
// Dependencies: [17, 644, 500, 4346, 691, 4094, 1370, 2]
2026-07-29 08:29:29 +00:00
// Exports: browserManagerCloseBrowser, browserManagerOpenUrl, browserManagerSelectBrowser, getBrowserManagerIsChromeInstalled, getBrowserManagerSelectedBrowser, getIsInAppBrowserOpen, openPlayStoreInlineInstall, subscribeToIsInAppBrowserOpen, useBrowserManagerIsChromeInstalled, useBrowserManagerSelectedBrowser, useBrowserManagerSupportsInAppBrowser, useIsInAppBrowserOpen
2026-07-20 16:05:17 +00:00
2026-08-25 06:04:03 +00:00
// Module 4345 (NativeModules)
2026-08-24 06:08:38 +00:00
import set from "set" /* 2 */;
import set2 from "set" /* 500 */;
import keys2 from "keys" /* 691 */;
2026-08-25 06:04:03 +00:00
import _modDef4094 from "module_4094" /* 4094 */;
import enforcingDefault from "enforcing" /* 4346 */;
2026-08-24 06:08:38 +00:00
import get_ActivityIndicator from "get ActivityIndicator" /* 17 */;
import keys from "keys" /* 644 */;
2026-07-23 10:11:24 +00:00
2026-07-29 08:29:29 +00:00
({ AppState: c3, NativeEventEmitter: c4, NativeModules } = get_ActivityIndicator);
2026-07-23 10:11:24 +00:00
let BrowserManager = NativeModules.BrowserManager;
let closure_7 = keys.create(() => {
2026-08-24 06:08:38 +00:00
let obj = set2;
2026-07-29 08:29:29 +00:00
if (obj.isAndroid()) {
2026-08-24 06:08:38 +00:00
let isChromeInstalled = enforcingDefault.getConstants().isChromeInstalled;
const obj2 = enforcingDefault;
2026-07-20 16:05:17 +00:00
} else {
isChromeInstalled = BrowserManager.isChromeInstalled;
}
2026-07-29 08:29:29 +00:00
obj = { isChromeInstalled, selectedBrowser: null, supportsInAppBrowser: null, isInAppBrowserOpen: false };
let tmpResult = tmp(500);
if (tmpResult.isAndroid()) {
2026-08-24 06:08:38 +00:00
let selectedBrowser = enforcingDefault.getConstants().selectedBrowser;
const obj5 = enforcingDefault;
2026-07-20 16:05:17 +00:00
} else {
selectedBrowser = BrowserManager.selectedBrowser;
}
2026-07-29 08:29:29 +00:00
obj[1] = selectedBrowser;
tmpResult = tmp(500);
if (tmpResult.isAndroid()) {
2026-08-24 06:08:38 +00:00
let supportsInAppBrowser = enforcingDefault.getConstants().supportsInAppBrowser;
const obj7 = enforcingDefault;
2026-07-20 16:05:17 +00:00
} else {
supportsInAppBrowser = BrowserManager.supportsInAppBrowser;
}
2026-07-29 08:29:29 +00:00
obj[2] = supportsInAppBrowser;
2026-07-20 16:05:17 +00:00
return obj;
});
2026-07-23 10:11:24 +00:00
let c8 = null;
2026-08-24 06:08:38 +00:00
let result = set.fileFinishedImporting("modules/links/native/BrowserManager.tsx");
2026-07-20 16:05:17 +00:00
export const useBrowserManagerIsChromeInstalled = function useBrowserManagerIsChromeInstalled() {
return store((isChromeInstalled) => isChromeInstalled.isChromeInstalled);
};
2026-07-29 08:29:29 +00:00
export const getBrowserManagerIsChromeInstalled = function getBrowserManagerIsChromeInstalled() {
return store.getState().isChromeInstalled;
};
2026-07-20 16:05:17 +00:00
export const useBrowserManagerSupportsInAppBrowser = function useBrowserManagerSupportsInAppBrowser() {
return store((supportsInAppBrowser) => supportsInAppBrowser.supportsInAppBrowser);
};
export const useBrowserManagerSelectedBrowser = function useBrowserManagerSelectedBrowser() {
return store((selectedBrowser) => selectedBrowser.selectedBrowser);
};
2026-07-29 08:29:29 +00:00
export const getBrowserManagerSelectedBrowser = function getBrowserManagerSelectedBrowser() {
return store.getState().selectedBrowser;
};
2026-07-20 16:05:17 +00:00
export const useIsInAppBrowserOpen = function useIsInAppBrowserOpen() {
return store((isInAppBrowserOpen) => isInAppBrowserOpen.isInAppBrowserOpen);
};
export const getIsInAppBrowserOpen = function getIsInAppBrowserOpen() {
return store.getState().isInAppBrowserOpen;
};
export const subscribeToIsInAppBrowserOpen = function subscribeToIsInAppBrowserOpen(arg0) {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
2026-07-20 16:05:17 +00:00
return store.subscribe((isInAppBrowserOpen, isInAppBrowserOpen2) => {
if (isInAppBrowserOpen.isInAppBrowserOpen !== isInAppBrowserOpen2.isInAppBrowserOpen) {
2026-07-23 10:11:24 +00:00
callback(isInAppBrowserOpen.isInAppBrowserOpen, isInAppBrowserOpen2.isInAppBrowserOpen);
2026-07-20 16:05:17 +00:00
}
});
};
2026-07-23 10:11:24 +00:00
export const browserManagerOpenUrl = function browserManagerOpenUrl(closure_0, CHROME) {
2026-07-29 08:29:29 +00:00
let selectedBrowser = CHROME;
2026-07-20 16:05:17 +00:00
if (CHROME === undefined) {
2026-07-29 08:29:29 +00:00
selectedBrowser = store.getState().selectedBrowser;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
if (selectedBrowser !== keys2.WebBrowserType.SAFARI) {
2026-07-29 08:29:29 +00:00
if (selectedBrowser !== tmp2(691).WebBrowserType.CHROME) {
if (selectedBrowser === tmp2(691).WebBrowserType.IN_APP) {
let tmp2Result = tmp2(500);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (tmp2(691).WebBrowserType.IN_APP === selectedBrowser) {
tmp2Result = tmp2(500);
if (tmp2Result.isAndroid()) {
2026-08-24 06:08:38 +00:00
let openInAppURLResult = enforcingDefault.openInAppURL(closure_0);
const obj6 = enforcingDefault;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
openInAppURLResult = BrowserManager.openInAppURL(closure_0);
2026-07-20 16:05:17 +00:00
}
return openInAppURLResult.then((arg0) => {
if (false !== arg0) {
2026-07-29 08:29:29 +00:00
state.setState({ isInAppBrowserOpen: true });
if (closure_8 != null) {
obj4.remove();
}
closure_8 = null;
if (obj.isIOS()) {
const obj3 = new closure_4(closure_6);
closure_8 = obj3.addListener("safariViewControllerDidFinish", () => {
store.setState({ isInAppBrowserOpen: false });
if (c8 != null) {
c8.remove();
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
c8 = null;
});
} else {
if (tmp2Result.isAndroid()) {
closure_8 = closure_3.addEventListener("change", (arg0) => {
let isInAppBrowserOpen = "active" === arg0;
if (isInAppBrowserOpen) {
isInAppBrowserOpen = store.getState().isInAppBrowserOpen;
}
if (isInAppBrowserOpen) {
store.setState({ isInAppBrowserOpen: false });
if (c8 != null) {
obj.remove();
}
c8 = null;
obj = c8;
}
});
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp2Result = tmp2(tmp3[2]);
}
obj = callback(table[2]);
obj4 = closure_8;
tmp2 = callback;
tmp3 = table;
2026-07-20 16:05:17 +00:00
}
});
2026-07-29 08:29:29 +00:00
} else if (tmp2(691).WebBrowserType.CHROME === selectedBrowser) {
if (tmp2Result1.isAndroid()) {
2026-08-24 06:08:38 +00:00
let openInChromeURLResult = enforcingDefault.openInChromeURL(closure_0);
let obj4 = enforcingDefault;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
openInChromeURLResult = BrowserManager.openInChromeURL(closure_0, true);
2026-07-20 16:05:17 +00:00
}
return openInChromeURLResult;
} else {
2026-08-11 06:20:06 +00:00
return tmp2(1370).assertNever(selectedBrowser);
2026-07-20 16:05:17 +00:00
}
}
}
2026-08-25 06:04:03 +00:00
_modDef4094.performURLNavigation(closure_0);
2026-07-20 16:05:17 +00:00
return Promise.resolve();
};
export const browserManagerSelectBrowser = function browserManagerSelectBrowser(selectedBrowser) {
2026-08-24 06:08:38 +00:00
let obj = set2;
2026-07-20 16:05:17 +00:00
if (obj.isAndroid()) {
2026-07-29 08:29:29 +00:00
if (tmp(691).WebBrowserType.SAFARI === selectedBrowser) {
2026-08-25 06:04:03 +00:00
const browser = enforcingDefault.selectBrowser(tmp(4346).BrowserType.SAFARI);
2026-08-24 06:08:38 +00:00
const obj3 = enforcingDefault;
2026-07-29 08:29:29 +00:00
} else if (tmp(691).WebBrowserType.IN_APP === selectedBrowser) {
2026-08-25 06:04:03 +00:00
const browser1 = enforcingDefault.selectBrowser(tmp(4346).BrowserType.IN_APP);
2026-08-24 06:08:38 +00:00
const obj2 = enforcingDefault;
2026-07-29 08:29:29 +00:00
} else if (tmp(691).WebBrowserType.CHROME === selectedBrowser) {
2026-08-25 06:04:03 +00:00
const browser2 = enforcingDefault.selectBrowser(tmp(4346).BrowserType.CHROME);
2026-08-24 06:08:38 +00:00
const obj5 = enforcingDefault;
2026-07-20 16:05:17 +00:00
}
} else {
2026-08-24 06:08:38 +00:00
BrowserManager = NativeModules.BrowserManager;
2026-07-20 16:05:17 +00:00
const browser3 = BrowserManager.selectBrowser(selectedBrowser);
}
obj = { selectedBrowser };
store.setState(obj);
};
export const browserManagerCloseBrowser = function browserManagerCloseBrowser() {
store.setState({ isInAppBrowserOpen: false });
if (!obj.isAndroid()) {
2026-08-24 06:08:38 +00:00
BrowserManager = NativeModules.BrowserManager;
2026-07-20 16:05:17 +00:00
BrowserManager.closeBrowser();
}
};
2026-07-29 08:29:29 +00:00
export const openPlayStoreInlineInstall = function openPlayStoreInlineInstall(url, arg1, arg2) {
2026-07-23 10:11:24 +00:00
const _require = arg2;
2026-08-24 06:08:38 +00:00
importDefault = Date.now();
2026-07-20 16:05:17 +00:00
if (obj.isAndroid()) {
2026-08-24 06:08:38 +00:00
let openPlayStoreInlineResult = enforcingDefault.openPlayStoreInline(url, arg1, function callback() {
2026-07-29 08:29:29 +00:00
if (closure_0 != null) {
tmp2(tmp);
2026-07-20 16:05:17 +00:00
}
});
2026-08-24 06:08:38 +00:00
const obj2 = enforcingDefault;
2026-07-29 08:29:29 +00:00
} else if (null == arg1) {
2026-07-20 16:05:17 +00:00
openPlayStoreInlineResult = Promise.resolve(false);
} else {
if (null != arg2) {
const result = BrowserManager.setOpenAppStoreDismissCallback(() => {
2026-07-23 10:11:24 +00:00
callback(Date.now() - closure_1);
2026-07-20 16:05:17 +00:00
});
}
2026-07-29 08:29:29 +00:00
openPlayStoreInlineResult = BrowserManager.openAppStoreInline(url, arg1);
2026-07-20 16:05:17 +00:00
}
return openPlayStoreInlineResult;
};