// 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;