decord/source/modules/app_icons/native/AppIconPremiumManager.tsx
github-actions ecf26fc058 chore: update source for alpha 347.2
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4823.js (118.4 MB)
2026-09-16 07:03:15 +00:00

154 lines
5.4 KiB
TypeScript

// Module ID: 17522
// Function ID: 17523
// Name: AppIconPremiumManager
// Dependencies: [5, 1372, 9466, 1074, 3, 9467, 7228, 1364, 13554, 4295, 1241, 2]
// Module 17522 (AppIconPremiumManager)
import LoggerDefault from "Logger" /* 3 */;
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1241 */;
import asyncGeneratorStep from "asyncGeneratorStep" /* 5 */;
import UserStore from "UserStore" /* 1372 */;
import AutomaticLifecycleManager from "AutomaticLifecycleManager" /* 7228 */;
let require = fn;
const getIconById = fn(9466).getIconById;
const AnalyticEvents = fn(1074).AnalyticEvents;
let closure_7 = new LoggerDefault("AppIconPremiumManager");
const DEFAULT = fn(9467).FreemiumAppIconIds.DEFAULT;
let closure_9 = { ORPHANED: "orphaned", PREMIUM_LOST: "premium_lost" };
class AppIconPremiumManager extends tmp3 {
constructor() {
applyArgumentsResult = HermesBuiltin.applyArguments(new.target, new.target);
closure_0 = applyArgumentsResult;
applyArgumentsResult.actions = {
APP_STATE_UPDATE(arg0) {
return applyArgumentsResult.handleAppStateUpdate(arg0);
}
};
return applyArgumentsResult;
}
}
const prototype = AppIconPremiumManager.prototype;
prototype["handleAppStateUpdate"] = function handleAppStateUpdate(state) {
state = state.state;
if (obj.isIOS()) {
let tmp = "active" === state;
} else {
tmp = "background" === state;
}
if (tmp) {
const self = this;
const result = this.validateAndResetIfNeeded();
}
};
prototype["validateAndResetIfNeeded"] = function validateAndResetIfNeeded() {
const self = this;
return (async (arg0, value) => {
if (v3 === 2) {
v3 = 3;
throw new TypeError("Generator functions may not be called on executing generators");
} else if (tmp4 === 3) {
if (arg0 === 1) {
throw value;
} else if (arg0 === 2) {
const obj2 = { value, done: true };
return obj2;
} else {
return { value: "HermesInternal", done: null };
}
} else {
try {
v3 = 2;
if (0 === currentUser) {
if (arg0 === 1) {
v3 = 3;
throw value;
} else if (arg0 === 2) {
v3 = 3;
const obj4 = { value, done: true };
return obj4;
} else {
closure_3 = tmp5;
let currentUser2;
closure_130_1 = undefined;
closure_130_2 = undefined;
currentUser2 = currentUser.getCurrentUser();
currentUser = 1;
v3 = 1;
const obj5 = { value: _undefined(tmp2[8]).fetchCurrentAppIcon(), done: false };
return obj5;
}
} else if (arg0 === 1) {
v3 = 3;
throw value;
} else if (arg0 === 2) {
v3 = 3;
const obj6 = { value, done: true };
return obj6;
} else {
closure_130_1 = value;
if (closure_130_1 !== DEFAULT) {
closure_130_2 = v3(closure_130_1);
if (closure_130_1 !== closure_130_2.id) {
const _HermesInternal2 = HermesInternal;
logger.info("Icon " + closure_130_1 + " is no longer available, resetting to default");
let premiumType;
if (currentUser2 != null) {
premiumType = currentUser2.premiumType;
}
_undefined = premiumType;
if (premiumType == null) {
_undefined = undefined;
}
closure_131_0.resetIcon(closure_130_1, _undefined, constants.ORPHANED);
v3 = 3;
const obj = { value: undefined, done: true };
return obj;
} else {
const result = _undefined2(tmp2[9]).canUsePremiumAppIcons(currentUser2);
let isPremium = !result;
if (!result) {
isPremium = closure_130_2.isPremium;
}
if (isPremium) {
const _HermesInternal = HermesInternal;
logger.info("User is not premium, resetting icon " + closure_130_1 + " to default");
let premiumType1;
if (currentUser2 != null) {
premiumType1 = currentUser2.premiumType;
}
_undefined2 = premiumType1;
if (premiumType1 == null) {
_undefined2 = undefined;
}
closure_131_0.resetIcon(closure_130_1, _undefined2, constants.PREMIUM_LOST);
}
const obj7 = _undefined2(tmp2[9]);
}
}
v3 = 3;
return { value: "HermesInternal", done: null };
}
} catch (tmp39) {
v3 = tmp;
throw tmp39;
}
}
})();
};
prototype["resetIcon"] = function resetIcon(previous_icon_id, c0, ORPHANED) {
_require = previous_icon_id;
const reset_reason = ORPHANED;
const obj = require("AppIconUtils");
const setAppIconResult = require("AppIconUtils").setAppIcon(DEFAULT, c0);
require("AppIconUtils").setAppIcon(DEFAULT, c0).then(() => {
AnalyticsUtilsDefault.track(AnalyticEvents.APP_ICON_AUTO_RESET, { previous_icon_id, reset_to_icon_id: DEFAULT, reset_reason });
}).catch((error) => {
logger.error("Failed to reset app icon:", error);
});
};
const appIconPremiumManager = new AppIconPremiumManager();
const size = fn(2);
let result = size.fileFinishedImporting("modules/app_icons/native/AppIconPremiumManager.tsx");
export default appIconPremiumManager;