// Metro module 6582 (f6583). import _slicedToArray from "../../../_bundle/_slicedToArray"; import { useState, useCallback } from "react"; import { NativeModules } from "react-native"; import { getOfficialAlternateIcons, getLimitedAlternateIcons, getDefaultIcon } from "./AppIconConstants"; import { AnalyticEvents, UserSettingsSections } from "../../../Constants"; import { PremiumTypes } from "../../premium/PremiumConstants"; import Logger from "../../debug/Logger"; import { isAndroid } from "../../../utils/PlatformUtils"; import * as _Module6610 from "../../../_bundle/Module6610"; import { FreemiumAppIconIds } from "../AppIconTypes"; import useMountEffect from "../../../hooks/useMountEffect"; import Dispatcher from "../../../Dispatcher"; import AnalyticsUtils from "../../../utils/AnalyticsUtils"; import ToastActionCreators from "../../toast/native/ToastActionCreators"; import { intl, t } from "../../../intl/index.native"; import { openUserSettings } from "../../user_settings/core/native/openUserSettings"; import { isMetaQuest } from "../../device/MetaQuestUtils.android"; import { HermesBuiltin } from "../../../_hermes/prelude"; function $mk78850($env) { return async () => { let env25938 = { $parent: $env }; env25938[2] = 0; env25938[3] = 0; let env29804; const r20 = env25938.$parent; env25938[1] = r20; const r10 = env29804 = {}; env25938[0] = r10; env29804[0] = void 0; const r29 = await (0, r20.$parent[14])(); const r37 = env25938[0]; const r38 = env25938[1]; r37[0] = r29; (0, r38[0])(r37[0]); }; } function $mk78851($env) { return () => { const r1 = $env; const r5 = r1[1]; r5(); const r6 = $env.$parent; (0, r6[1])(r6[2][12]).subscribe("APP_ICON_UPDATED", r5); return $mk105276(r1); }; } function $mk105276($env) { return () => { const r1 = $env.$parent; (0, r1[1])(r1[2][12]).unsubscribe("APP_ICON_UPDATED", $env[1]); }; } function $mk115009($env) { return (a0) => $env[0].includes(a0.id); } function $mk115010($env) { return (a0) => $env[0].includes(a0.id); } let c4237_12, c4237_13; let env4237 = {}; export async function fetchCurrentAppIcon() { let DEFAULT, id; let c25937_2; let c25937_3 = 0; let c29803_0; try { c25937_3 = 1; id = (await (c4237_13 == null ? void 0 : c4237_13.getCurrentIcon())).id; c25937_3 = 0; } catch ($e) { const r27 = $e; let r8 = r27; c25937_2 = r27; if (c25937_3 !== 0) { while (true) { try { const r59 = c25937_2; c25937_3 = 0; c29803_0 = r59; c4237_12.warn(`Error fetching current app icon: ${c29803_0}`); DEFAULT = FreemiumAppIconIds.DEFAULT; } catch (r55) { r8 = r55; c25937_2 = r55; if (c25937_3 === 0) { break; } continue; } return DEFAULT; } } throw r8; } return id; } c4237_12 = new Logger("AppIconUtils"); const r50 = isAndroid() ? _Module6610.default : NativeModules.DCDIconManager; export function useCurrentAppIcon() { let env15813; const r3 = env15813 = { $parent: env4237 }; const r15 = _slicedToArray(useState(FreemiumAppIconIds.DEFAULT), 2); const r16 = r15[0]; env15813[0] = r15[1]; env15813[1] = useCallback($mk78850(r3), []); useMountEffect($mk78851(r3)); return r16; } c4237_13 = r50; export async function setAppIcon(c25939_0, c25939_1) { let c25939_4; let c25939_5 = 0; let c29805_0, c29805_1, c29805_2; L14: { try { c29805_0 = c25939_0; c29805_1 = c25939_1; c25939_5 = 1; await (c4237_13 == null ? void 0 : c4237_13.setIcon(c25939_0)); Dispatcher.dispatch({ type: "APP_ICON_UPDATED" }); AnalyticsUtils.track(AnalyticEvents.APP_ICON_UPDATED, { icon_id: c29805_0, user_premium_tier: c29805_1, icon_premium_tier: c29805_0 !== FreemiumAppIconIds.DEFAULT ? PremiumTypes.TIER_2 : null }); c25939_5 = 0; } catch ($e) { const r32 = $e; let r8 = r32; c25939_4 = r32; if (c25939_5 !== 0) { while (true) { try { const r91 = c25939_4; c25939_5 = 0; c29805_2 = r91; ToastActionCreators.open({ key: "APP_ICON_LOGS_ERROR_MESSAGE_GENERIC", content: intl.string(t["c76eo/"]) }); c4237_12.warn(`Error changing users app icon: ${c29805_2}`); break L14; } catch (r87) { r8 = r87; c25939_4 = r87; if (c25939_5 === 0) { break; } } } } throw r8; } } } export function useAppIcons() { let env15815; const r4 = env15815 = { $parent: env4237 }; const r18 = _slicedToArray(useState(FreemiumAppIconIds.DEFAULT), 2); const currentAppIcon = r18[0]; env15815[0] = r18[1]; env15815[1] = useCallback($mk78850(r4), []); useMountEffect($mk78851(r4)); const [officialAppIcons, setState] = useState([]); const [limitedTimeAppIcons, setState2] = useState([]); const callback = useCallback(async () => { let c25940_0, c25940_1, c25940_2, c25940_3; let c25940_4 = 0; const r14 = void 0; L12: { try { let env29806; c25940_2 = r14; const r35 = env29806 = {}; c25940_1 = r35; env29806[0] = void 0; env29806[1] = void 0; env29806[2] = void 0; c25940_4 = 1; const r43 = await (c4237_13 == null ? void 0 : c4237_13.getAvailableIcons()); const r57 = c25940_1; env29806[0] = r43.map((item) => item.id); env29806[1] = (0, getOfficialAlternateIcons)().filter($mk115009(r57)); env29806[2] = (0, getLimitedAlternateIcons)().filter($mk115010(r57)); (0, setState2)(env29806[2]); c25940_0 = 0; const r76 = [(0, getDefaultIcon)()]; const r78 = c25940_0 + 1; c25940_0 = r78; c25940_0 = HermesBuiltin.arraySpread(r76, env29806[1], r78); setState(r76); c25940_4 = 0; } catch ($e) { const r33 = $e; let r7 = r33; c25940_3 = r33; if (c25940_4 !== 0) { while (true) { try { const r89 = c25940_3; c25940_4 = 0; env29806[3] = r89; ToastActionCreators.open({ key: "APP_ICON_LOGS_ERROR_MESSAGE_GENERIC", content: intl.string(t["c76eo/"]) }); c4237_12.warn(`Error fetching available app icons: ${env29806[3]}`); break L12; } catch (r85) { r7 = r85; c25940_3 = r85; if (c25940_4 === 0) { break; } } } } throw r7; } } }, []); useMountEffect(() => { callback(); Dispatcher.subscribe("APP_ICON_UPDATED", callback); return () => { Dispatcher.unsubscribe("APP_ICON_UPDATED", callback); }; }); return { officialAppIcons, limitedTimeAppIcons, currentAppIcon }; } export function navigateToAppIconSettings() { openUserSettings({ screen: UserSettingsSections.APP_ICONS }); } export function isAppIconsSupported() { return !isMetaQuest(); }