/* Metro module 12086; source: modules/nuf_channels/native/NUFChannelsManager.tsx; dependencies: [6, 7, 15, 17, 18, 1945, 1867, 3969, 1878, 661, 3772, 587, 3995, 4007, 1391, 4080, 12087, 1962, 4008, 4860, 2] */ import ClassCallCheck from '../../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */ import CreateClass from '../../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */ import PossibleConstructorReturn from '../../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */ import Module00017 from '../../../by-id/module-00017.js'; /* Metro dependency 17 */ import Inherits from '../../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */ import GuildStore from '../../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import GuildMemberStore from '../../../stores/GuildMemberStore.tsx'; /* Metro dependency 1945 */ import SelectedGuildStore from '../../../stores/SelectedGuildStore.tsx'; /* Metro dependency 3969 */ import AutomaticLifecycleManager from '../../../lib/AutomaticLifecycleManager.tsx'; /* Metro dependency 4860 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as StorageModule from '../../../external/discord_common/js/packages/storage/Storage.tsx'; /* Metro dependency 587 */ import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */ import * as GuildMemberConstantsModule from '../../guild_member/GuildMemberConstants.tsx'; /* Metro dependency 3772 */ function _fun92869(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92869, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:6, offset: 0x0209c37c, size: 349 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = AutomaticLifecycleManager; value = _fun92874(value); value = new value(); (FileImportTrackerModule).fileFinishedImporting('modules/nuf_channels/native/NUFChannelsManager.tsx'); exports.default = value; function _isNativeReflectConstruct_92870() { // fn#92870, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:240, offset: 0x0209c4d9, size: 98 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_92870_isNativeReflectConstruct = function() { return !!result; })(); } function requiresChannelOnboard() { // fn#92873, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:516, offset: 0x0209c53b, size: 99 bytes, params: 1, frame: 14 var r0; var moduleValue; var isNewUser; var userStoreBinding; const Storage = (StorageModule).Storage; const value2 = Storage.get('2020_02_nuf_channels'); if (value2) { r0 = !value2; } else { moduleValue = require(3995) /* metro dependency 3995: UserUtils */; isNewUser = moduleValue.isNewUser; userStoreBinding = UserStore; r0 = Reflect.apply(isNewUser, moduleValue, [userStoreBinding.getCurrentUser()]); } return r0; } function _fun92874(a0) { // fn#92874, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:591, offset: 0x0209c59e, size: 97 bytes, params: 2, frame: 16 const NUFChannelsManager2 = NUFChannelsManager; Inherits(NUFChannelsManager2, a0); return CreateClass(NUFChannelsManager2, [{key: '_initialize', value: value_92881}, {key: '_terminate', value: value_92882}]); function NUFChannelsManager(a0) { // fn#92875, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:603, offset: 0x0209c5ff, size: 204 bytes, params: 2, frame: 20 var r0; var Reflect; let value = copyRestArgs(0, undefined); let binding = env1_3; binding(this, NUFChannelsManager); const items2 = []; arraySpread(items2, value, 0, items2); value = env1_6(NUFChannelsManager); binding = env1_5; if (_isNativeReflectConstruct_92870()) { Reflect = global.Reflect; value = Reflect.construct(value, items2, env1_6(this).constructor); r0 = value; } else { value = value.apply(this, items2); r0 = value; } value = binding(this, r0); value.actions = {LOGOUT: LOGOUT_92876}; value.handleNavigationStateChanged = handleNavigationStateChanged; value.requiresVoiceChannelsOnboard = requiresVoiceChannelsOnboard; value.handleVoiceChannelsOnboard = function() { var Storage = require(dependencyMap[11]).Storage; Storage.set('2020_02_nuf_voice_channels', true); }; value.clear = function() { var Storage = require(dependencyMap[11]).Storage; Storage.remove('2020_02_nuf_channels'); Storage.remove('2020_02_nuf_voice_channels'); }; return value; function NUFChannelsManagerLOGOUT() { // fn#92876, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:861, owner: NUFChannelsManager.LOGOUT, offset: 0x0209c6cb, size: 19 bytes, params: 1, frame: 9 return env0_0.clear(); } function handleNavigationStateChanged() { // fn#92877, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:907, owner: NUFChannelsManager.handleNavigationStateChanged, offset: 0x0209c6de, size: 478 bytes, params: 1, frame: 20 var r3; var r2; var r8; var flags; var guildId; var guild; var value6; var moduleValue2; var hasFlag; var moduleValue3; var defaultImport; var openLazy; let value = environment.__proto__.__proto__; const value2 = undefined; if (require(dependencyMap[13]).getCurrentNavigationRouteName() === 'guilds') { guildId = SelectedGuildStore.getGuildId(); guild = GuildStore.getGuild(guildId); value6 = null; r2 = value6 != guildId && !(value6 != guild && guild.features.has(GuildFeatures.HUB)); r8 = value6 != guild ? GuildMemberStore.getSelfMember(guild.id) : value6; r3 = value6 != guild && guild.features.has(GuildFeatures.GUILD_ONBOARDING); if (r3) { moduleValue2 = require(dependencyMap[14]); hasFlag = moduleValue2.hasFlag; flags = value6 == r8 ? value2 : r8.flags; r3 = Reflect.apply(hasFlag, moduleValue2, [value6 != flags ? flags : 0, GuildMemberFlags.STARTED_ONBOARDING]); } if (r3) { moduleValue3 = require(dependencyMap[14]); hasFlag = moduleValue3.hasFlag; flags = value6 == r8 ? value2 : r8.flags; r3 = !Reflect.apply(hasFlag, moduleValue3, [value6 != flags ? flags : 0, GuildMemberFlags.COMPLETED_ONBOARDING]); } r2 = r2 && !r3; if (r2) { if (requiresChannelOnboard()) { defaultImport = importDefault(dependencyMap[15]); openLazy = defaultImport.openLazy; value = require(dependencyMap[17]); value = value(dependencyMap[16], dependencyMap.paths); Reflect.apply(openLazy, defaultImport, [value, 'NUFChannelsActionSheet']); require(dependencyMap[11]).Storage.set('2020_02_nuf_channels', true); } env0_0.terminate(); } } return value2; } function requiresVoiceChannelsOnboard() { // fn#92878, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:1477, owner: NUFChannelsManager.requiresVoiceChannelsOnboard, offset: 0x0209c8bc, size: 99 bytes, params: 1, frame: 14 var r0; var moduleValue; var isNewUser; var userStoreBinding; const value = environment.__proto__.__proto__; const Storage = (StorageModule).Storage; const value2 = Storage.get('2020_02_nuf_voice_channels'); if (value2) { r0 = !value2; } else { moduleValue = require(3995) /* metro dependency 3995: UserUtils */; isNewUser = moduleValue.isNewUser; userStoreBinding = UserStore; r0 = Reflect.apply(isNewUser, moduleValue, [userStoreBinding.getCurrentUser()]); } return r0; } } function value_92881() { // fn#92881, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:1756, offset: 0x0209c9a5, size: 79 bytes, params: 1, frame: 14 let value = environment.__proto__; if (requiresChannelOnboard()) { value = require(4008) /* metro dependency 4008: RootNavigationRefNative */; value = value.getRootNavigationRef(); if (value != null) { value.addListener('state', this.handleNavigationStateChanged); } } } function value_92882() { // fn#92882, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12272:1927, offset: 0x0209c9f4, size: 68 bytes, params: 1, frame: 14 let value = environment.__proto__; value = require(4008) /* metro dependency 4008: RootNavigationRefNative */; value = value.getRootNavigationRef(); if (value != null) { value.removeListener('state', this.handleNavigationStateChanged); } } } } global.__d(_fun92869, 12086, [6, 7, 15, 17, 18, 1945, 1867, 3969, 1878, 661, 3772, 587, 3995, 4007, 1391, 4080, 12087, 1962, 4008, 4860, 2]) /* metro module 12086, dependencies: [6, 7, 15, 17, 18, 1945, 1867, 3969, 1878, 661, 3772, 587, 3995, 4007, 1391, 4080, 12087, 1962, 4008, 4860, 2] */;