decord/source/modules/app_icons/native/AppIconUtils.tsx

392 lines
12 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 7984
// Function ID: 7985
2026-07-20 16:05:17 +00:00
// Name: fetchCurrentAppIcon
2026-08-24 06:08:38 +00:00
// Dependencies: [32, 5, 19, 17, 7985, 676, 1924, 3, 500, 8012, 7986, 4766, 709, 698, 4097, 1236, 7398, 1625, 2]
2026-07-29 08:29:29 +00:00
// Exports: isAppIconsSupported, navigateToAppIconSettings, setAppIcon, useAppIcons, useCurrentAppIcon
2026-07-20 16:05:17 +00:00
2026-08-24 06:08:38 +00:00
// Module 7984 (fetchCurrentAppIcon)
import timestampDefault from "timestamp" /* 3 */;
import isMetaQuest from "isMetaQuest" /* 1625 */;
import useMountLayoutEffectDefault from "useMountLayoutEffect" /* 4766 */;
import openUserSettings from "openUserSettings" /* 7398 */;
import closure_3 from "_slicedToArray" /* 32 */;
import closure_4 from "asyncGeneratorStep" /* 5 */;
import closure_5 from "noop" /* 19 */;
import items from "items" /* 7985 */;
import ME from "ME" /* 676 */;
import { PremiumTypes } from "GuildFeatures" /* 1924 */;
import set from "set" /* 500 */;
2026-07-23 10:11:24 +00:00
2026-08-24 06:08:38 +00:00
require = arg1;
2026-07-20 16:05:17 +00:00
function fetchCurrentAppIcon() {
2026-07-29 08:29:29 +00:00
const self = this;
const apply = _fetchCurrentAppIcon.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
}
return applyArgumentsResult;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
function _fetchCurrentAppIcon() {
const self = this;
const tmp = callback2(function*() {
if (c5 === 2) {
c5 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp6 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-24 06:08:38 +00:00
return { value: "HermesInternal", done: null };
2026-07-29 08:29:29 +00:00
}
} else {
try {
c5 = 2;
if (0 === c4) {
if (arg0 === 1) {
c5 = 3;
throw arg1;
} else if (arg0 === 2) {
c5 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-24 06:08:38 +00:00
closure_1 = tmp3;
2026-07-29 08:29:29 +00:00
let callback = tmp7;
2026-08-24 06:08:38 +00:00
c3 = 1;
let obj3 = closure_1_13;
2026-07-29 08:29:29 +00:00
let currentIcon;
2026-08-24 06:08:38 +00:00
if (closure_1_13 != null) {
2026-07-29 08:29:29 +00:00
currentIcon = obj3.getCurrentIcon();
}
c4 = 2;
c5 = 1;
2026-08-24 06:08:38 +00:00
obj1 = { value: null, done: false };
2026-07-29 08:29:29 +00:00
obj1[0] = currentIcon;
return obj1;
}
} else if (1 === tmp7) {
c3 = 0;
callback = table;
const _HermesInternal = HermesInternal;
logger.warn("Error fetching current app icon: " + callback);
c5 = 3;
const obj2 = { value: null, done: true };
obj2[0] = callback(table[10]).FreemiumAppIconIds.DEFAULT;
return obj2;
} else if (arg0 === 1) {
c5 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 0;
c5 = 3;
obj3 = { value: null, done: true };
obj3[0] = arg1;
return obj3;
} else {
c3 = 0;
c5 = 3;
obj = { value: null, done: true };
obj[0] = arg1.id;
return obj;
}
} catch (tmp18) {
table = tmp18;
if (tmp4 === c3) {
c5 = tmp2;
throw tmp18;
} else {
c4 = tmp;
}
}
}
});
2026-08-24 06:08:38 +00:00
closure_15 = tmp;
2026-07-29 08:29:29 +00:00
const apply = tmp.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
2026-07-24 07:16:23 +00:00
}
2026-07-29 08:29:29 +00:00
return applyArgumentsResult;
}
function _setAppIcon() {
const self = this;
const tmp = callback2((arg0, arg1) => {
2026-08-24 06:08:38 +00:00
closure_0 = arg0;
closure_1 = arg1;
c6 = 0;
c7 = 0;
c5 = 0;
2026-07-29 08:29:29 +00:00
return (function*(arg0, arg1) {
2026-08-24 06:08:38 +00:00
closure_3 = tmp3;
dependencyMap = tmp5;
c5 = 1;
let obj3 = closure_1_13;
if (closure_1_13 != null) {
2026-08-04 21:03:28 +00:00
const setIconResult = obj3.setIcon(tmp27);
}
yield setIconResult;
if (1 === tmp8) {
c5 = 0;
dependencyMap = closure_4;
2026-08-24 06:08:38 +00:00
obj1 = callback2(4097);
2026-08-04 21:03:28 +00:00
const obj2 = { key: "APP_ICON_LOGS_ERROR_MESSAGE_GENERIC", content: null };
const intl = callback(1236).intl;
obj2[1] = intl.string(callback(1236).t["c76eo/"]);
obj1.open(obj2);
const _HermesInternal = HermesInternal;
logger.warn("Error changing users app icon: " + dependencyMap);
2026-08-24 06:08:38 +00:00
c7 = 3;
2026-08-04 21:03:28 +00:00
} else if (arg0 === 1) {
2026-07-29 08:29:29 +00:00
c7 = 3;
2026-08-04 21:03:28 +00:00
throw arg1;
} else if (arg0 !== 2) {
callback2(709).dispatch({ type: "APP_ICON_UPDATED" });
const obj8 = callback2(709);
obj3 = { icon_id: null, user_premium_tier: null, icon_premium_tier: null };
obj3[0] = callback;
obj3[1] = callback2;
let TIER_2 = null;
2026-08-24 06:08:38 +00:00
if (callback !== callback(7986).FreemiumAppIconIds.DEFAULT) {
2026-08-04 21:03:28 +00:00
TIER_2 = TIER_2.TIER_2;
2026-07-29 08:29:29 +00:00
}
2026-08-04 21:03:28 +00:00
obj3[2] = TIER_2;
callback2(698).track(constants.APP_ICON_UPDATED, obj3);
c5 = 0;
const obj9 = callback2(698);
2026-07-29 08:29:29 +00:00
}
2026-08-04 21:03:28 +00:00
c5 = 0;
return arg1;
2026-07-29 08:29:29 +00:00
})();
});
2026-08-24 06:08:38 +00:00
closure_16 = tmp;
2026-07-29 08:29:29 +00:00
const apply = tmp.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
}
return applyArgumentsResult;
}
2026-08-24 06:08:38 +00:00
({ getDefaultIcon: closure_6, getOfficialAlternateIcons: error, getLimitedAlternateIcons: closure_8 } = items);
2026-07-29 08:29:29 +00:00
({ AnalyticEvents: c9, UserSettingsSections: c10 } = ME);
2026-08-24 06:08:38 +00:00
let closure_12 = new timestampDefault("AppIconUtils");
2026-07-29 08:29:29 +00:00
if (set.isAndroid()) {
let DCDIconManager = require("enforcing").default;
} else {
2026-08-24 06:08:38 +00:00
DCDIconManager = require("get ActivityIndicator").NativeModules.DCDIconManager;
2026-07-20 16:05:17 +00:00
}
function useCurrentAppIcon() {
2026-08-24 06:08:38 +00:00
const tmp = callback(React.useState(_require(7986).FreemiumAppIconIds.DEFAULT), 2);
2026-07-24 07:16:23 +00:00
_require = tmp[1];
2026-08-24 06:08:38 +00:00
importDefault = React.useCallback(callback2(function*() {
2026-07-29 08:29:29 +00:00
if (c3 === 2) {
c3 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp4 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-24 06:08:38 +00:00
return { value: "HermesInternal", done: null };
2026-07-29 08:29:29 +00:00
}
} else {
try {
c3 = 2;
if (0 === c2) {
if (arg0 === 1) {
c3 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-24 06:08:38 +00:00
closure_1 = tmp5;
2026-07-29 08:29:29 +00:00
let callback = tmp2;
callback = undefined;
c2 = 1;
c3 = 1;
2026-08-24 06:08:38 +00:00
obj1 = { value: null, done: false };
obj1[0] = closure_1_14();
2026-07-29 08:29:29 +00:00
return obj1;
}
} else if (arg0 === 1) {
c3 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
callback = arg1;
callback(callback);
c3 = 3;
2026-08-24 06:08:38 +00:00
return { value: "HermesInternal", done: null };
2026-07-29 08:29:29 +00:00
}
} catch (tmp12) {
c3 = tmp;
throw tmp12;
}
}
2026-07-24 07:16:23 +00:00
}), []);
2026-08-24 06:08:38 +00:00
useMountLayoutEffectDefault(() => {
2026-07-20 16:05:17 +00:00
callback();
2026-07-29 08:29:29 +00:00
const subscription = callback(709).subscribe("APP_ICON_UPDATED", callback);
2026-07-20 16:05:17 +00:00
return () => {
2026-08-24 06:08:38 +00:00
closure_1_1(closure_1_2[12]).unsubscribe("APP_ICON_UPDATED", closure_1);
2026-07-20 16:05:17 +00:00
};
});
return tmp[0];
}
2026-07-23 10:11:24 +00:00
const result = set.fileFinishedImporting("modules/app_icons/native/AppIconUtils.tsx");
2026-07-20 16:05:17 +00:00
export { fetchCurrentAppIcon };
export { useCurrentAppIcon };
export const setAppIcon = function setAppIcon(DEFAULT, premiumType) {
2026-07-29 08:29:29 +00:00
const self = this;
const apply = _setAppIcon.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
}
return applyArgumentsResult;
2026-07-20 16:05:17 +00:00
};
export const useAppIcons = function useAppIcons() {
2026-08-24 06:08:38 +00:00
const currentAppIcon = callback(React.useState(_require(7986).FreemiumAppIconIds.DEFAULT), 2);
2026-07-29 08:29:29 +00:00
_require = currentAppIcon[1];
2026-08-24 06:08:38 +00:00
importDefault = React.useCallback(callback2(function*() {
2026-07-29 08:29:29 +00:00
if (c3 === 2) {
c3 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp4 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-24 06:08:38 +00:00
return { value: "HermesInternal", done: null };
2026-07-29 08:29:29 +00:00
}
} else {
try {
c3 = 2;
if (0 === c2) {
if (arg0 === 1) {
c3 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-24 06:08:38 +00:00
closure_1 = tmp5;
2026-07-29 08:29:29 +00:00
let callback = tmp2;
callback = undefined;
c2 = 1;
c3 = 1;
2026-08-24 06:08:38 +00:00
obj1 = { value: null, done: false };
obj1[0] = closure_1_14();
2026-07-29 08:29:29 +00:00
return obj1;
}
} else if (arg0 === 1) {
c3 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
callback = arg1;
callback(callback);
c3 = 3;
2026-08-24 06:08:38 +00:00
return { value: "HermesInternal", done: null };
2026-07-29 08:29:29 +00:00
}
} catch (tmp12) {
c3 = tmp;
throw tmp12;
}
}
}), []);
2026-08-24 06:08:38 +00:00
useMountLayoutEffectDefault(() => {
2026-07-29 08:29:29 +00:00
callback();
const subscription = callback(709).subscribe("APP_ICON_UPDATED", callback);
return () => {
2026-08-24 06:08:38 +00:00
closure_1_1(closure_1_2[12]).unsubscribe("APP_ICON_UPDATED", closure_1);
2026-07-29 08:29:29 +00:00
};
});
[tmp4, closure_0] = callback(React.useState([]), 2);
const tmp3 = callback(React.useState([]), 2);
[tmp6, closure_1] = callback(React.useState([]), 2);
2026-08-24 06:08:38 +00:00
dependencyMap = React.useCallback(callback2(function*() {
closure_2 = tmp3;
c4 = 1;
if (closure_1_13 != null) {
const availableIcons = closure_1_13.getAvailableIcons();
2026-08-04 21:03:28 +00:00
}
yield availableIcons;
if (1 === tmp7) {
c4 = 0;
2026-08-24 06:08:38 +00:00
obj1 = closure_1_1(closure_1_2[14]);
2026-08-04 21:03:28 +00:00
const obj2 = { key: "APP_ICON_LOGS_ERROR_MESSAGE_GENERIC", content: null };
2026-08-24 06:08:38 +00:00
const intl = closure_1_0(closure_1_2[15]).intl;
obj2[1] = intl.string(closure_1_0(closure_1_2[15]).t["c76eo/"]);
2026-08-04 21:03:28 +00:00
obj1.open(obj2);
const _HermesInternal = HermesInternal;
2026-08-24 06:08:38 +00:00
closure_1_12.warn("Error fetching available app icons: " + closure_3);
2026-08-04 21:03:28 +00:00
let v0 = 3;
} else if (arg0 === 1) {
2026-07-29 08:29:29 +00:00
v0 = 3;
2026-08-04 21:03:28 +00:00
throw arg1;
} else if (arg0 !== 2) {
let callback = arg1.map((id) => id.id);
2026-08-24 06:08:38 +00:00
const callback2 = closure_1_7().filter((id) => closure_0.includes(id.id));
const arr = closure_1_7();
closure_2 = closure_1_8().filter((id) => closure_0.includes(id.id));
2026-08-04 21:03:28 +00:00
callback2(closure_2);
callback = 0;
const items = [v0()];
const sum = callback + 1;
callback = sum;
callback = HermesBuiltin.arraySpread(callback2, sum);
callback(items);
c4 = 0;
2026-08-24 06:08:38 +00:00
const arr2 = closure_1_8();
2026-07-24 07:16:23 +00:00
}
2026-08-04 21:03:28 +00:00
c4 = 0;
return arg1;
2026-07-24 07:16:23 +00:00
}), []);
2026-08-24 06:08:38 +00:00
useMountLayoutEffectDefault(() => {
2026-07-23 10:11:24 +00:00
dependencyMap();
2026-07-29 08:29:29 +00:00
const subscription = callback(709).subscribe("APP_ICON_UPDATED", dependencyMap);
2026-07-20 16:05:17 +00:00
return () => {
2026-08-24 06:08:38 +00:00
closure_1_1(closure_1_2[12]).unsubscribe("APP_ICON_UPDATED", closure_2);
2026-07-20 16:05:17 +00:00
};
});
2026-07-29 08:29:29 +00:00
return { officialAppIcons, limitedTimeAppIcons, currentAppIcon: currentAppIcon[0] };
2026-07-20 16:05:17 +00:00
};
export const navigateToAppIconSettings = function navigateToAppIconSettings() {
2026-08-24 06:08:38 +00:00
let obj = openUserSettings;
2026-07-20 16:05:17 +00:00
obj = { screen: constants.APP_ICONS };
obj.openUserSettings(obj);
};
export const isAppIconsSupported = function isAppIconsSupported() {
2026-08-24 06:08:38 +00:00
return !isMetaQuest.isMetaQuest();
2026-07-20 16:05:17 +00:00
};