/* Metro module 15770; source: modules/multi_account/native/MultiAccountManagerNative.tsx; dependencies: [7, 6, 11876, 11877, 661, 3, 672, 5080, 15771, 1962, 4008, 1239, 15772, 683, 1230, 4013, 4007, 3857, 1244, 15773, 25, 2] */ function _fun121171(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#121171, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:6, offset: 0x0253ffad, size: 423 bytes, params: 8, frame: 20 let env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = importDefault(7) /* metro dependency 7 */; const env0_3 = importDefault(6) /* metro dependency 6 */; const multiAccountStore = importDefault(11876) /* metro dependency 11876: MultiAccountStore */; const env0_5 = (require(11877) /* metro dependency 11877: Constants */).SWITCH_ACCOUNTS_MODAL_KEY; const constantsModule = require(661) /* metro dependency 661: Constants */; const env0_6 = constantsModule.AnalyticEvents; const env0_7 = constantsModule.ComponentActions; const env0_8 = constantsModule.Routes; const value5 = new (importDefault(3) /* metro dependency 3: Logger */)('MultiAccountManagerNative'); const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; const SECOND = Millis.SECOND; const env0_10 = 15 * SECOND; value = value(MultiAccountModalManagerImpl); value = new value(); value = importDefault(15772) /* metro dependency 15772: MultiAccountManager */; value = new value({onSwitchStart: onSwitchStart, onSwitchSuccess: function(a0, a1) { var env0_0 = a0; var env0_1 = a1; global.setTimeout(_fun121181, 100); }, onSwitchError: function() { var defaultImport = importDefault(dependencyMap[17]); var object = {key: 'SWITCH_ACCOUNTS_TOAST_LOGIN_ERROR'}; object.content = require(dependencyMap[18]).intl.string(require(dependencyMap[18]).t.pqvKWA); object.icon = importDefault(dependencyMap[19]); defaultImport.open(object); }, onTokenSet: onTokenSet, onLogout: onLogout}); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/multi_account/native/MultiAccountManagerNative.tsx'); exports.default = value; } function MultiAccountModalManagerImpl() { // fn#121172, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:344, offset: 0x02540154, size: 77 bytes, params: 1, frame: 14 env0_3(this, MultiAccountModalManagerImpl); this.cancelled = false; this.push = push_121173; this.enqueue = enqueue; this.pop = pop_121176; } function onSwitchStart() { // fn#121177, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:818, offset: 0x0254030a, size: 114 bytes, params: 1, frame: 14 (importDefault(5080) /* metro dependency 5080: ModalActionCreators */).popWithKey(SWITCH_ACCOUNTS_MODAL_KEY); env0_12.enqueue(); if (env0_11 !== null) { global.clearTimeout(env0_11); } env0_11 = global.setTimeout(_fun121178, env0_10); } function onSwitchSuccess(a0, a1) { // fn#121180, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:1212, offset: 0x02540428, size: 44 bytes, params: 3, frame: 13 const env0_0 = a0; const env0_1 = a1; global.setTimeout(_fun121181, 100); } function onTokenSet() { // fn#121183, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:1701, offset: 0x025405ea, size: 44 bytes, params: 1, frame: 12 env0_12.pop(); global.clearTimeout(env0_11); } function onLogout(a0) { // fn#121184, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:1746, offset: 0x02540616, size: 72 bytes, params: 2, frame: 12 if (a0.isSwitchingAccount) { env0_9.info('Closing fast-connect socket because of account switch logout'); (require(25) /* metro dependency 25: fast_connect */).closeFastConnectSocket(); } } function MultiAccountModalManagerImplPush() { // fn#121173, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:449, owner: MultiAccountModalManagerImpl.push, offset: 0x025401a1, size: 126 bytes, params: 1, frame: 18 const value = environment.__proto__; const defaultImport = importDefault(dependencyMap[7]); defaultImport.pushLazy(require(dependencyMap[9])(dependencyMap[8], dependencyMap.paths), {}, 'switch-accounts-spinner-modal'); if (env0_0.cancelled) { importDefault(dependencyMap[7]).popWithKey('switch-accounts-spinner-modal'); } } function enqueue() { // fn#121174, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:551, owner: MultiAccountModalManagerImpl.enqueue, offset: 0x0254021f, size: 143 bytes, params: 1, frame: 15 const ComponentDispatch = (require(1239) /* metro dependency 1239: ComponentDispatchUtils */).ComponentDispatch; env0_0.cancelled = false; const rootNavigationRef = (require(4008) /* metro dependency 4008: RootNavigationRefNative */).getRootNavigationRef(); if (rootNavigationRef == null) { ComponentDispatch.subscribeOnce(ComponentActions.NAVIGATOR_READY, _fun121175); } else if (rootNavigationRef.isReady()) { env0_0.push(); } else { ComponentDispatch.subscribeOnce(ComponentActions.NAVIGATOR_READY, _fun121175); } } function MultiAccountModalManagerImplPop() { // fn#121176, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:751, owner: MultiAccountModalManagerImpl.pop, offset: 0x025402cf, size: 59 bytes, params: 1, frame: 12 env0_0.cancelled = true; const value = environment.__proto__; (importDefault(5080) /* metro dependency 5080: ModalActionCreators */).popWithKey('switch-accounts-spinner-modal'); } function _fun121178() { // fn#121178, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:908, offset: 0x0254037c, size: 172 bytes, params: 1, frame: 19 var environment; const value = environment.__proto__; env1_12.pop(); const {previousUserId, expectedUserId, switchLocation, hasEverConnected} = (require(15772) /* metro dependency 15772: MultiAccountManager */).getMultiAccountManagerState(); const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; const track = defaultImport.track; const MULTI_ACCOUNT_SWITCH_TIMEOUT = AnalyticEvents.MULTI_ACCOUNT_SWITCH_TIMEOUT; const object2 = {from_user_id: previousUserId, to_user_id: expectedUserId}; object2.linked_user_ids = MultiAccountStore.getUsers().map(function(a0) { return a0.id; }); object2.has_ever_connected = hasEverConnected; object2.switch_origin = switchLocation; Reflect.apply(track, defaultImport, [MULTI_ACCOUNT_SWITCH_TIMEOUT, object2]); } function _fun121181() { // fn#121181, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:1245, offset: 0x02540454, size: 283 bytes, params: 1, frame: 20 var value2; var moduleValue; var MobileHomeDrawerExperiment; if (require) { value2 = environment.__proto__; moduleValue = require(1230) /* metro dependency 1230: router_utils */; moduleValue.transitionTo(Routes.ME); MobileHomeDrawerExperiment = (require(4013) /* metro dependency 4013: HomeDrawerExperiment */).MobileHomeDrawerExperiment; if (MobileHomeDrawerExperiment.getConfig({location: 'multi-account'}).enableHome) { (require(4007) /* metro dependency 4007: NavigationRouteUtilsNative */).setHomeDrawerState(false); } } const defaultImport = importDefault(3857) /* metro dependency 3857: ToastActionCreators */; const open = defaultImport.open; const object2 = {key: 'SWITCH_ACCOUNTS_TOAST_LOGIN_SUCCESS'}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const formatToPlainString = intl.formatToPlainString; const wx7O3L = (require(1244) /* metro dependency 1244: indexNative */).t.wx7O3L; const username = env0_0.username; object2.content = Reflect.apply(formatToPlainString, intl, [wx7O3L, {username: username}]); object2.icon = importDefault(15773) /* metro dependency 15773 */; Reflect.apply(open, defaultImport, [object2]); } function _fun121175() { // fn#121175, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15978:705, offset: 0x025402ae, size: 33 bytes, params: 1, frame: 9 if (!env1_0.cancelled) { env1_0.push(); } }