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

198 lines
8 KiB
TypeScript
Raw Normal View History

2026-07-23 10:11:24 +00:00
// Module ID: 4096
2026-07-24 07:16:23 +00:00
// Function ID: 33918
2026-07-20 16:05:17 +00:00
// Name: removeInAppBrowserCloseSubscription
2026-07-23 10:11:24 +00:00
// Dependencies: [27, 621, 477, 4097, 668, 3827, 1327, 2]
2026-07-20 16:05:17 +00:00
// Exports: browserManagerCloseBrowser, browserManagerOpenUrl, browserManagerSelectBrowser, getIsInAppBrowserOpen, openPlayStoreInlineInstall, subscribeToIsInAppBrowserOpen, useBrowserManagerIsChromeInstalled, useBrowserManagerSelectedBrowser, useBrowserManagerSupportsInAppBrowser, useIsInAppBrowserOpen
2026-07-23 10:11:24 +00:00
// Module 4096 (removeInAppBrowserCloseSubscription)
import get_ActivityIndicator from "get ActivityIndicator";
import keys from "keys";
2026-07-20 16:05:17 +00:00
let NativeModules;
2026-07-23 10:11:24 +00:00
let closure_3;
let closure_4;
2026-07-20 16:05:17 +00:00
function removeInAppBrowserCloseSubscription() {
2026-07-23 10:11:24 +00:00
if (null != c8) {
c8.remove();
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
c8 = null;
2026-07-20 16:05:17 +00:00
}
function getBrowserManagerIsChromeInstalled() {
return store.getState().isChromeInstalled;
}
function getBrowserManagerSelectedBrowser() {
return store.getState().selectedBrowser;
}
2026-07-23 10:11:24 +00:00
({ AppState: closure_3, NativeEventEmitter: closure_4, NativeModules } = get_ActivityIndicator);
let BrowserManager = NativeModules.BrowserManager;
let closure_7 = keys.create(() => {
2026-07-20 16:05:17 +00:00
const obj = {};
if (obj2.isAndroid()) {
2026-07-23 10:11:24 +00:00
let isChromeInstalled = importDefault(4097).getConstants().isChromeInstalled;
const obj3 = importDefault(4097);
2026-07-20 16:05:17 +00:00
} else {
isChromeInstalled = BrowserManager.isChromeInstalled;
}
obj.isChromeInstalled = isChromeInstalled;
2026-07-23 10:11:24 +00:00
obj2 = require(477) /* set */;
2026-07-20 16:05:17 +00:00
if (obj4.isAndroid()) {
2026-07-23 10:11:24 +00:00
let selectedBrowser = importDefault(4097).getConstants().selectedBrowser;
const obj5 = importDefault(4097);
2026-07-20 16:05:17 +00:00
} else {
selectedBrowser = BrowserManager.selectedBrowser;
}
obj.selectedBrowser = selectedBrowser;
2026-07-23 10:11:24 +00:00
obj4 = require(477) /* set */;
2026-07-20 16:05:17 +00:00
if (obj6.isAndroid()) {
2026-07-23 10:11:24 +00:00
let supportsInAppBrowser = importDefault(4097).getConstants().supportsInAppBrowser;
const obj7 = importDefault(4097);
2026-07-20 16:05:17 +00:00
} else {
supportsInAppBrowser = BrowserManager.supportsInAppBrowser;
}
obj.supportsInAppBrowser = supportsInAppBrowser;
obj.isInAppBrowserOpen = false;
return obj;
});
2026-07-23 10:11:24 +00:00
let c8 = null;
let result = require("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);
};
export { getBrowserManagerIsChromeInstalled };
export const useBrowserManagerSupportsInAppBrowser = function useBrowserManagerSupportsInAppBrowser() {
return store((supportsInAppBrowser) => supportsInAppBrowser.supportsInAppBrowser);
};
export const useBrowserManagerSelectedBrowser = function useBrowserManagerSelectedBrowser() {
return store((selectedBrowser) => selectedBrowser.selectedBrowser);
};
export { getBrowserManagerSelectedBrowser };
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-07-23 10:11:24 +00:00
let 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-20 16:05:17 +00:00
let tmp = CHROME;
if (CHROME === undefined) {
tmp = getBrowserManagerSelectedBrowser();
}
2026-07-23 10:11:24 +00:00
if (tmp !== require(668) /* keys */.WebBrowserType.SAFARI) {
if (tmp !== require(668) /* keys */.WebBrowserType.CHROME) {
if (tmp === require(668) /* keys */.WebBrowserType.IN_APP) {
let obj = require(477) /* set */;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if (require(668) /* keys */.WebBrowserType.IN_APP === tmp) {
2026-07-20 16:05:17 +00:00
if (obj5.isAndroid()) {
2026-07-23 10:11:24 +00:00
let openInAppURLResult = importDefault(4097).openInAppURL(closure_0);
const obj6 = importDefault(4097);
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-23 10:11:24 +00:00
let obj = { isInAppBrowserOpen: true };
outer1_7.setState(obj);
(function subscribeToInAppBrowserClose() {
outer2_9();
2026-07-20 16:05:17 +00:00
if (obj.isIOS()) {
2026-07-23 10:11:24 +00:00
const prototype = outer2_4.prototype;
const obj3 = new outer2_4(outer2_6);
let outer2_8 = obj3.addListener("safariViewControllerDidFinish", () => {
outer3_7.setState({ isInAppBrowserOpen: false });
outer3_9();
2026-07-20 16:05:17 +00:00
});
} else {
if (obj2.isAndroid()) {
2026-07-23 10:11:24 +00:00
outer2_8 = outer2_3.addEventListener("change", (arg0) => {
2026-07-20 16:05:17 +00:00
let isInAppBrowserOpen = "active" === arg0;
if (isInAppBrowserOpen) {
2026-07-23 10:11:24 +00:00
isInAppBrowserOpen = outer3_7.getState().isInAppBrowserOpen;
2026-07-20 16:05:17 +00:00
}
if (isInAppBrowserOpen) {
const obj = { isInAppBrowserOpen: false };
2026-07-23 10:11:24 +00:00
outer3_7.setState(obj);
outer3_9();
2026-07-20 16:05:17 +00:00
}
});
}
2026-07-23 10:11:24 +00:00
obj2 = outer2_0(outer2_2[2]);
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
})();
2026-07-20 16:05:17 +00:00
}
});
2026-07-23 10:11:24 +00:00
} else if (require(668) /* keys */.WebBrowserType.CHROME === tmp) {
2026-07-20 16:05:17 +00:00
if (obj3.isAndroid()) {
2026-07-23 10:11:24 +00:00
let openInChromeURLResult = importDefault(4097).openInChromeURL(closure_0);
const obj4 = importDefault(4097);
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-07-23 10:11:24 +00:00
return require(1327) /* isDiscordFrontendDevelopment */.assertNever(tmp);
2026-07-20 16:05:17 +00:00
}
}
}
2026-07-23 10:11:24 +00:00
importDefault(3827).performURLNavigation(closure_0);
2026-07-20 16:05:17 +00:00
return Promise.resolve();
};
export const browserManagerSelectBrowser = function browserManagerSelectBrowser(selectedBrowser) {
2026-07-23 10:11:24 +00:00
let obj = require(477) /* set */;
2026-07-20 16:05:17 +00:00
if (obj.isAndroid()) {
2026-07-23 10:11:24 +00:00
if (require(668) /* keys */.WebBrowserType.SAFARI === selectedBrowser) {
const browser = importDefault(4097).selectBrowser(require(4097) /* enforcing */.BrowserType.SAFARI);
const obj3 = importDefault(4097);
} else if (require(668) /* keys */.WebBrowserType.IN_APP === selectedBrowser) {
const browser1 = importDefault(4097).selectBrowser(require(4097) /* enforcing */.BrowserType.IN_APP);
const obj2 = importDefault(4097);
} else if (require(668) /* keys */.WebBrowserType.CHROME === selectedBrowser) {
const browser2 = importDefault(4097).selectBrowser(require(4097) /* enforcing */.BrowserType.CHROME);
const obj5 = importDefault(4097);
2026-07-20 16:05:17 +00:00
}
} else {
const BrowserManager = NativeModules.BrowserManager;
const browser3 = BrowserManager.selectBrowser(selectedBrowser);
}
obj = { selectedBrowser };
store.setState(obj);
};
export const browserManagerCloseBrowser = function browserManagerCloseBrowser() {
store.setState({ isInAppBrowserOpen: false });
if (!obj.isAndroid()) {
const BrowserManager = NativeModules.BrowserManager;
BrowserManager.closeBrowser();
}
};
export const openPlayStoreInlineInstall = function openPlayStoreInlineInstall(url, appId, arg2) {
2026-07-23 10:11:24 +00:00
const _require = arg2;
2026-07-20 16:05:17 +00:00
const importDefault = Date.now();
if (obj.isAndroid()) {
2026-07-23 10:11:24 +00:00
let openPlayStoreInlineResult = importDefault(4097).openPlayStoreInline(url, appId, function callback() {
if (null != callback) {
callback(tmp);
2026-07-20 16:05:17 +00:00
}
});
2026-07-23 10:11:24 +00:00
const obj2 = importDefault(4097);
2026-07-20 16:05:17 +00:00
} else if (null == appId) {
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
});
}
openPlayStoreInlineResult = BrowserManager.openAppStoreInline(url, appId);
}
return openPlayStoreInlineResult;
};