/* Metro module 1459; source: utils/native/NetworkUtils.tsx; dependencies: [661, 3, 1460, 2] */ function _fun16713(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#16713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:6, offset: 0x00e58762, size: 377 bytes, params: 8, frame: 20 var object2; const convertNetInfo = function({type, details}) { var value2 = null; return {type: type, effectiveSpeed: type !== NetworkConnectionTypes.CELLULAR ? value2 : details.cellularGeneration, serviceProvider: type !== NetworkConnectionTypes.CELLULAR ? value2 : details.carrier}; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = (require(661) /* metro dependency 661: Constants */).NetworkConnectionTypes; let value = importDefault(3) /* metro dependency 3: Logger */; value = new value('NetworkUtils'); value.enableNativeLogger(true); const env0_4 = []; const env0_5 = []; const env0_6 = []; value = importDefault(1460) /* metro dependency 1460 */; value = value.fetch(); value.then(_fun16722); object2 = {addOnlineCallback: function(a0) { addCallback(true, a0); }, removeOnlineCallback: function(a0) { removeCallback(true, a0); }, addOfflineCallback: function(a0) { addCallback(false, a0); }, removeOfflineCallback: function(a0) { removeCallback(false, a0); }, addChangeCallback: addChangeCallback, removeChangeCallback: removeChangeCallback, getNetworkInformation: getNetworkInformation, isOnline: isOnline}; (require(2) /* metro dependency 2 */).fileFinishedImporting('utils/native/NetworkUtils.tsx'); exports.default = object2; } function ensureChangeListenerCreated() { // fn#16714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:216, offset: 0x00e588db, size: 58 bytes, params: 1, frame: 12 var defaultImport; if (env0_7 == null) { defaultImport = importDefault(1460) /* metro dependency 1460 */; env0_7 = defaultImport.addEventListener(notifyListeners); } } function cleanupChangeListener() { // fn#16715, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:310, offset: 0x00e58915, size: 88 bytes, params: 1, frame: 12 if (env0_7 != null && env0_4.length === 0 && env0_5.length === 0 && env0_6.length === 0) { env0_7(); } } function notifyListeners(a0) { // fn#16717, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:576, offset: 0x00e589be, size: 162 bytes, params: 2, frame: 25 const isConnected = a0.isConnected; const value2 = convertNetInfo(a0); const r5 = isConnected ? env0_4 : env0_5; env0_8 = isConnected != null && isConnected; const binding = env0_3; binding.log('Network status changed: isConnected:' + isConnected + ' type:' + a0.type + ' speed:' + value2.cellularGeneration); r5.forEach(_fun16718); env0_6.forEach(_fun16719); } function addCallback(a0, a1) { // fn#16720, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:813, offset: 0x00e58a98, size: 44 bytes, params: 3, frame: 12 (a0 ? env0_4 : env0_5).push(a1); ensureChangeListenerCreated(); } function removeCallback(a0, a1) { // fn#16721, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:885, offset: 0x00e58ac4, size: 75 bytes, params: 3, frame: 14 const r2 = a0 ? env0_4 : env0_5; const value2 = r2.indexOf(a1); if (value2 !== -1) { r2.splice(value2, 1); cleanupChangeListener(); } } function _fun16722({isConnected}) { // fn#16722, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:1011, offset: 0x00e58b0f, size: 32 bytes, params: 2, frame: 3 const r1 = isConnected != null && isConnected; } function addChangeCallback(a0) { // fn#16727, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:1228, offset: 0x00e58b87, size: 32 bytes, params: 2, frame: 12 env0_6.push(a0); ensureChangeListenerCreated(); } function removeChangeCallback(a0) { // fn#16728, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:1325, offset: 0x00e58ba7, size: 64 bytes, params: 2, frame: 14 const value2 = env0_6.indexOf(a0); if (value2 !== -1) { env0_6.splice(value2, 1); cleanupChangeListener(); } } function getNetworkInformation() { // fn#16729, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:1477, offset: 0x00e58be7, size: 54 bytes, params: 1, frame: 11 let value = importDefault(1460) /* metro dependency 1460 */; value = value.fetch(); return value.then(function(a0) { return convertNetInfo(a0); }); } function _fun16718(a0) { // fn#16718, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:771, offset: 0x00e58a60, size: 37 bytes, params: 2, frame: 13 return a0(isConnected != null && isConnected, env0_1); } function _fun16719(a0) { // fn#16719, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1586:803, offset: 0x00e58a85, size: 19 bytes, params: 2, frame: 11 return a0(env0_1); }