// Metro module 4155 (f4156). import { AppState, NativeEventEmitter, NativeModules } from "react-native"; import { create } from "../../../_bundle/Module644"; import { isAndroid, isIOS } from "../../../utils/PlatformUtils"; import Module4156, { BrowserType } from "../../../_bundle/Module4156"; import { WebBrowserType } from "../../../ConstantsIOS"; import Linking from "../../../lib/native/Linking"; import { assertNever } from "../../../utils/GlobalUtils"; let c2392_8; const BrowserManager = NativeModules.BrowserManager; let c2392_7 = create(() => ({ isChromeInstalled: isAndroid() ? Module4156.getConstants().isChromeInstalled : BrowserManager.isChromeInstalled, selectedBrowser: isAndroid() ? Module4156.getConstants().selectedBrowser : BrowserManager.selectedBrowser, supportsInAppBrowser: isAndroid() ? Module4156.getConstants().supportsInAppBrowser : BrowserManager.supportsInAppBrowser, isInAppBrowserOpen: false })); c2392_8 = null; export function useBrowserManagerIsChromeInstalled() { return c2392_7((a0) => a0.isChromeInstalled); } export function getBrowserManagerIsChromeInstalled() { return c2392_7.getState().isChromeInstalled; } export function useBrowserManagerSupportsInAppBrowser() { return c2392_7((a0) => a0.supportsInAppBrowser); } export function useBrowserManagerSelectedBrowser() { return c2392_7((a0) => a0.selectedBrowser); } export function getBrowserManagerSelectedBrowser() { return c2392_7.getState().selectedBrowser; } export function useIsInAppBrowserOpen() { return c2392_7((a0) => a0.isInAppBrowserOpen); } export function getIsInAppBrowserOpen() { return c2392_7.getState().isInAppBrowserOpen; } export function subscribeToIsInAppBrowserOpen(c13869_0) { return c2392_7.subscribe((a0, a1) => { if (a0.isInAppBrowserOpen !== a1.isInAppBrowserOpen) { c13869_0(a0.isInAppBrowserOpen, a1.isInAppBrowserOpen); } }); } export function browserManagerOpenUrl(a0, r8 = c2392_7.getState().selectedBrowser) { L19: { if (r8 !== WebBrowserType.SAFARI) { if (r8 === WebBrowserType.CHROME && !c2392_7.getState().isChromeInstalled) { break L19; } if (r8 === WebBrowserType.IN_APP && isAndroid() && !c2392_7.getState().supportsInAppBrowser) { break L19; } if (WebBrowserType.IN_APP === r8) { return (isAndroid() ? Module4156.openInAppURL(a0) : BrowserManager.openInAppURL(a0)).then((result) => { if (result !== false) { c2392_7.setState({ isInAppBrowserOpen: true }); const r11 = c2392_8; if (r11 != null) { r11.remove(); } c2392_8 = null; if (isIOS()) { c2392_8 = new NativeEventEmitter(BrowserManager).addListener("safariViewControllerDidFinish", () => { c2392_7.setState({ isInAppBrowserOpen: false }); const r6 = c2392_8; if (r6 != null) { r6.remove(); } c2392_8 = null; }); } else if (isAndroid()) { c2392_8 = AppState.addEventListener("change", (a0) => { if (a0 === "active" && c2392_7.getState().isInAppBrowserOpen) { c2392_7.setState({ isInAppBrowserOpen: false }); const r12 = c2392_8; if (r12 != null) { r12.remove(); } c2392_8 = null; } }); } } }); } if (WebBrowserType.CHROME === r8) { return isAndroid() ? Module4156.openInChromeURL(a0) : BrowserManager.openInChromeURL(a0, true); } return assertNever(r8); } } Linking.performURLNavigation(a0); return Promise.resolve(); } export function browserManagerSelectBrowser(a0) { if (isAndroid()) { if (WebBrowserType.SAFARI === a0) { Module4156.selectBrowser(BrowserType.SAFARI); } else if (WebBrowserType.IN_APP === a0) { Module4156.selectBrowser(BrowserType.IN_APP); } else if (WebBrowserType.CHROME === a0) { Module4156.selectBrowser(BrowserType.CHROME); } } else { NativeModules.BrowserManager.selectBrowser(a0); } c2392_7.setState({ selectedBrowser: a0 }); } export function browserManagerCloseBrowser() { c2392_7.setState({ isInAppBrowserOpen: false }); if (!isAndroid()) { NativeModules.BrowserManager.closeBrowser(); } } export function openPlayStoreInlineInstall(a0, a1, a2) { let r23; let c13870_1 = Date.now(); if (isAndroid()) { r23 = Module4156.openPlayStoreInline(a0, a1, function callback() { const r7 = Date.now() - c13870_1; if (a2 != null) { a2(r7); } }); } else if (a1 == null) { r23 = Promise.resolve(false); } else { if (a2 != null) { BrowserManager.setOpenAppStoreDismissCallback(() => { a2(Date.now() - c13870_1); }); } r23 = BrowserManager.openAppStoreInline(a0, a1); } return r23; }