252 lines
7.2 KiB
TypeScript
252 lines
7.2 KiB
TypeScript
// 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();
|
|
}
|