Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/05xxx/module_5012.js (118.4 MB)
433 lines
16 KiB
TypeScript
433 lines
16 KiB
TypeScript
// Module ID: 7787
|
|
// Function ID: 7788
|
|
// Name: NetStats
|
|
// Dependencies: [5, 17, 5580, 7788, 2064, 1074, 3, 1464, 1463, 7802, 1091, 510, 573, 4691, 7789, 7803, 9, 2]
|
|
// Exports: getSignalStrength, isSlowNetwork
|
|
|
|
// Module 7787 (NetStats)
|
|
import LoggerDefault from "Logger" /* 3 */;
|
|
import DurationsDefault from "Durations" /* 1091 */;
|
|
import configure from "configure" /* 1464 */;
|
|
import NativeTTIManagerModuleDefault from "NativeTTIManagerModule" /* 4691 */;
|
|
import RTCBandwidthMonitor from "RTCBandwidthMonitor" /* 7802 */;
|
|
import asyncGeneratorStep from "asyncGeneratorStep" /* 5 */;
|
|
import GatewayConnectionStore from "GatewayConnectionStore" /* 5580 */;
|
|
import AnalyticsTrackingStore from "stores/AnalyticsTrackingStore" /* 7788 */;
|
|
import GuildStore from "GuildStore" /* 2064 */;
|
|
import NetworkUtils_mod from "utils/NetworkUtils" /* 1463 */;
|
|
import Dispatcher_mod from "Dispatcher" /* 573 */;
|
|
|
|
require = fn;
|
|
function receiveNetworkInfoformation(result) {
|
|
global = result;
|
|
if (null == global) {
|
|
global = result;
|
|
}
|
|
const SystemResourceManager = React4.SystemResourceManager;
|
|
const getNetworkUsage = SystemResourceManager.getNetworkUsage;
|
|
if (getNetworkUsage != null) {
|
|
const networkUsage = getNetworkUsage((arg0) => {
|
|
nativeStats = arg0;
|
|
if (null == closure_11) {
|
|
closure_11 = arg0;
|
|
}
|
|
const obj = { state, nativeStats, rtc: RTCBandwidthMonitor.getRTCTotalBytes() };
|
|
closure_1_9.fileOnly("Updating Network Info", obj);
|
|
});
|
|
}
|
|
}
|
|
function updateNetworkUsage() {
|
|
const SystemResourceManager = React4.SystemResourceManager;
|
|
const getNetworkUsage = SystemResourceManager.getNetworkUsage;
|
|
if (getNetworkUsage != null) {
|
|
const networkUsage = getNetworkUsage((arg0) => {
|
|
nativeStats = arg0;
|
|
if (null == closure_11) {
|
|
closure_11 = arg0;
|
|
}
|
|
const obj = { state, nativeStats, rtc: RTCBandwidthMonitor.getRTCTotalBytes() };
|
|
closure_1_9.fileOnly("Updating Network Info", obj);
|
|
});
|
|
}
|
|
}
|
|
get_ActivityIndicator = fn(17);
|
|
({ NativeModules: closure_4, AppState } = get_ActivityIndicator);
|
|
const AnalyticEvents = fn(1074).AnalyticEvents;
|
|
let closure_9 = new LoggerDefault("NetStats");
|
|
let closure_10 = { signalStrengthLevel: null, isNetworkRoaming: false, cellularReceiveBytes: 0, cellularSendBytes: 0, totalReceiveBytes: 0, totalSendBytes: 0, uidReceiveBytes: 0, uidSendBytes: 0, socketBytesReceived: 0, otaBytesReceived: 0, otaNumRequests: 0, xhrBytesReceived: 0, xhrNumRequests: 0, frescoBytesReceived: 0, frescoNumRequests: 0, downloadBytesReceived: 0, downloadNumRequests: 0, mediaPlayerBytesReceived: 0 };
|
|
let c11 = null;
|
|
const tmp3 = new LoggerDefault("NetStats");
|
|
let global = { type: fn(1464).NetInfoStateType.unknown, effectiveSpeed: null, serviceProvider: null };
|
|
global = null;
|
|
let closure_14 = "active" === AppState.currentState;
|
|
let closure_15 = 0;
|
|
let closure_16 = 0;
|
|
let closure_17 = 0;
|
|
let closure_18 = 0;
|
|
let NetworkUtils = NetworkUtils_mod;
|
|
NetworkUtils.addChangeCallback(receiveNetworkInfoformation);
|
|
let NetworkUtils = NetworkUtils_mod;
|
|
NetworkUtils = NetworkUtils.getNetworkInformation();
|
|
NetworkUtils.then(receiveNetworkInfoformation);
|
|
class EventTracker {
|
|
constructor() {
|
|
obj = Object.create(new.target.prototype);
|
|
closure_0 = obj;
|
|
num = 0;
|
|
if (closure_14) {
|
|
tmp = globalThis;
|
|
_setTimeout = setTimeout;
|
|
tmp2 = closure_1;
|
|
tmp3 = closure_2;
|
|
num2 = 1;
|
|
num = setTimeout(() => obj.track(), closure_1(closure_2[10]).Millis.MINUTE);
|
|
}
|
|
obj.trackTimeout = num;
|
|
num3 = 0;
|
|
if (closure_14) {
|
|
tmp4 = globalThis;
|
|
_setInterval = setInterval;
|
|
tmp5 = closure_1;
|
|
tmp6 = closure_2;
|
|
num4 = 5;
|
|
num3 = setInterval(() => obj.writeExistingEventStorage(), 5 * closure_1(closure_2[10]).Millis.SECOND);
|
|
}
|
|
obj.flushStorageInterval = num3;
|
|
obj.didEverTrack = false;
|
|
tmp7 = closure_2;
|
|
Storage = closure_0(closure_2[11]).Storage;
|
|
value = Storage.get("previousNetStatsEvents");
|
|
if (value == null) {
|
|
value = [];
|
|
}
|
|
obj.existingEvents = value;
|
|
obj.trackExistingEvents = function trackExistingEvents() {
|
|
if (obj.existingEvents.length > 0) {
|
|
let result = AnalyticsTrackingStore.submitEventsImmediately(tmp.existingEvents);
|
|
result.then(() => {
|
|
closure_2_9.fileOnly("Successfully logged existing network usage events", obj.existingEvents);
|
|
obj.existingEvents = [];
|
|
const result = obj.writeExistingEventStorage();
|
|
}).catch((error) => {
|
|
if (tmp) {
|
|
closure_2_9.error("Failed to log log existing network usage events", obj.existingEvents, error);
|
|
}
|
|
});
|
|
const nextPromise = result.then(() => {
|
|
closure_2_9.fileOnly("Successfully logged existing network usage events", obj.existingEvents);
|
|
obj.existingEvents = [];
|
|
const result = obj.writeExistingEventStorage();
|
|
});
|
|
}
|
|
};
|
|
if (closure_5.isConnected()) {
|
|
trackExistingEventsResult = obj.trackExistingEvents();
|
|
} else {
|
|
tmp8 = closure_1;
|
|
obj2 = closure_1(tmp7[12]);
|
|
str = "CONNECTION_OPEN";
|
|
subscription = obj2.subscribe("CONNECTION_OPEN", obj.trackExistingEvents);
|
|
}
|
|
return obj;
|
|
}
|
|
}
|
|
const prototype = EventTracker.prototype;
|
|
prototype["handleAppStateChange"] = function handleAppStateChange(arg0) {
|
|
const self = this;
|
|
if (!this.didEverTrack) {
|
|
if (arg0) {
|
|
if (!tmp2) {
|
|
c14 = true;
|
|
const _setTimeout = setTimeout;
|
|
self.trackTimeout = setTimeout(() => closure_1_20.track(), DurationsDefault.Millis.MINUTE);
|
|
const _setInterval = setInterval;
|
|
self.flushStorageInterval = setInterval(() => self.writeExistingEventStorage(), 5000);
|
|
}
|
|
} else if (tmp2) {
|
|
self.track();
|
|
}
|
|
}
|
|
};
|
|
prototype["writeExistingEventStorage"] = function writeExistingEventStorage() {
|
|
const self = this;
|
|
return (async (arg0, value) => {
|
|
if (c3 === 2) {
|
|
c3 = 3;
|
|
throw new TypeError("Generator functions may not be called on executing generators");
|
|
} else if (tmp5 === 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 {
|
|
c3 = 2;
|
|
if (0 === dependencyMap) {
|
|
if (arg0 === 1) {
|
|
c3 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c3 = 3;
|
|
const obj3 = { value, done: true };
|
|
return obj3;
|
|
} else {
|
|
closure_1 = tmp2;
|
|
closure_128_0 = undefined;
|
|
closure_128_1 = undefined;
|
|
if (!self.didEverTrack) {
|
|
if (closure_1_14) {
|
|
dependencyMap = 1;
|
|
c3 = 1;
|
|
const obj4 = { value: self.getQueuedEvent(), done: false };
|
|
return obj4;
|
|
}
|
|
}
|
|
let items = [];
|
|
}
|
|
} else if (arg0 === 1) {
|
|
c3 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c3 = 3;
|
|
const obj = { value, done: true };
|
|
return obj;
|
|
} else {
|
|
items = [value];
|
|
}
|
|
closure_128_0 = items;
|
|
const existingEvents = closure_129_0.existingEvents;
|
|
closure_128_1 = existingEvents.concat(closure_128_0);
|
|
if (0 === closure_128_1.length) {
|
|
const Storage2 = tmp3(510).Storage;
|
|
Storage2.remove("previousNetStatsEvents");
|
|
} else {
|
|
const Storage = tmp3(510).Storage;
|
|
const result = Storage.set("previousNetStatsEvents", closure_128_1);
|
|
}
|
|
c3 = 3;
|
|
} catch (tmp24) {
|
|
c3 = tmp;
|
|
throw tmp24;
|
|
}
|
|
}
|
|
})();
|
|
};
|
|
prototype["track"] = function track() {
|
|
const self = this;
|
|
return (async (arg0, value) => {
|
|
if (c3 === 2) {
|
|
c3 = 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 {
|
|
c3 = 2;
|
|
if (0 === c2) {
|
|
if (arg0 === 1) {
|
|
c3 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c3 = 3;
|
|
const obj3 = { value, done: true };
|
|
return obj3;
|
|
} else {
|
|
closure_1 = tmp5;
|
|
closure_0 = tmp2;
|
|
closure_128_0 = undefined;
|
|
if (self.didEverTrack) {
|
|
c3 = 3;
|
|
} else {
|
|
obj5.didEverTrack = true;
|
|
const _clearTimeout = clearTimeout;
|
|
clearTimeout(obj5.trackTimeout);
|
|
const _clearInterval = clearInterval;
|
|
clearInterval(obj5.flushStorageInterval);
|
|
c2 = 1;
|
|
c3 = 1;
|
|
const obj4 = { value: obj5.getQueuedEvent(), done: false };
|
|
return obj4;
|
|
}
|
|
}
|
|
} else if (arg0 === 1) {
|
|
c3 = 3;
|
|
throw value;
|
|
} else if (arg0 !== 2) {
|
|
const items = [value];
|
|
closure_128_0 = items;
|
|
let result = AnalyticsTrackingStore.submitEventsImmediately(closure_128_0);
|
|
result.then(() => {
|
|
closure_3_9.fileOnly("Successfully tracked latest network usage", closure_1_0);
|
|
const result = closure_0.writeExistingEventStorage();
|
|
}).catch((error) => {
|
|
if (!tmp) {
|
|
closure_3_9.error("Failed to track latest network usage", closure_1_0, error);
|
|
}
|
|
const existingEvents = closure_0.existingEvents;
|
|
existingEvents.push(closure_1_0[0]);
|
|
const result = closure_0.writeExistingEventStorage();
|
|
});
|
|
const nextPromise = result.then(() => {
|
|
closure_3_9.fileOnly("Successfully tracked latest network usage", closure_1_0);
|
|
const result = closure_0.writeExistingEventStorage();
|
|
});
|
|
}
|
|
c3 = 3;
|
|
const obj = { value, done: true };
|
|
return obj;
|
|
} catch (tmp14) {
|
|
c3 = tmp;
|
|
throw tmp14;
|
|
}
|
|
}
|
|
})();
|
|
};
|
|
prototype["getQueuedEvent"] = function getQueuedEvent() {
|
|
return (async () => {
|
|
closure_4 = tmp2;
|
|
updateNetworkUsage();
|
|
closure_132_0 = await NativeTTIManagerModuleDefault.getAppFirstVisibleTimestamp();
|
|
closure_132_1 = await closure_133_0(closure_133_2[14]).getSession();
|
|
const obj11 = { type: closure_133_8.APP_NETWORK_USAGE, properties: null };
|
|
const obj12 = {};
|
|
const merged = Object.assign(closure_133_0(closure_133_2[15]).getDeviceMetadata());
|
|
const _Date = Date;
|
|
obj12.client_track_timestamp = Date.now();
|
|
if (closure_132_1 != null) {
|
|
const uuid = closure_132_1.uuid;
|
|
}
|
|
obj12.client_heartbeat_session_id = uuid;
|
|
closure_133_0(closure_133_2[15]);
|
|
obj12.load_id = closure_133_0(closure_133_2[15]).currentLoadId();
|
|
obj12.num_guilds = closure_133_7.getGuildCount();
|
|
obj12.was_authenticated = closure_133_1(closure_133_2[16]).wasAuthenticated;
|
|
obj12.did_background_app = closure_133_1(closure_133_2[16]).didBackgroundApp;
|
|
obj12.headless_task_ran = closure_133_1(closure_133_2[16]).extraProperties.headless_task_ran;
|
|
const ready = closure_133_1(closure_133_2[16]).ready;
|
|
obj12.ready_payload_duration_ms = ready.serializeEnd(closure_132_0);
|
|
if (closure_133_11 != null) {
|
|
const signalStrengthLevel1 = closure_133_11.signalStrengthLevel;
|
|
}
|
|
let initial_signal_strength_level = signalStrengthLevel1;
|
|
if (signalStrengthLevel1 == null) {
|
|
initial_signal_strength_level = undefined;
|
|
}
|
|
obj12.initial_signal_strength_level = initial_signal_strength_level;
|
|
const signalStrengthLevel = closure_133_10.signalStrengthLevel;
|
|
let final_signal_strength_level = signalStrengthLevel;
|
|
if (signalStrengthLevel == null) {
|
|
final_signal_strength_level = undefined;
|
|
}
|
|
obj12.final_signal_strength_level = final_signal_strength_level;
|
|
if (closure_133_13 != null) {
|
|
const type = closure_133_13.type;
|
|
}
|
|
let initial_network_type = type;
|
|
if (type == null) {
|
|
initial_network_type = undefined;
|
|
}
|
|
obj12.initial_network_type = initial_network_type;
|
|
obj12.final_network_type = closure_133_12.type;
|
|
if (closure_133_13 != null) {
|
|
const effectiveSpeed = closure_133_13.effectiveSpeed;
|
|
}
|
|
let initial_cellular_generation = effectiveSpeed;
|
|
if (effectiveSpeed == null) {
|
|
initial_cellular_generation = undefined;
|
|
}
|
|
obj12.initial_cellular_generation = initial_cellular_generation;
|
|
obj12.final_cellular_generation = closure_133_12.effectiveSpeed;
|
|
obj12.is_network_roaming = closure_133_10.isNetworkRoaming;
|
|
obj12.cellular_receive_bytes = closure_133_10.cellularReceiveBytes;
|
|
obj12.cellular_send_bytes = closure_133_10.cellularSendBytes;
|
|
obj12.total_receive_bytes = closure_133_10.totalReceiveBytes;
|
|
obj12.total_send_bytes = closure_133_10.totalSendBytes;
|
|
obj12.uid_receive_bytes = closure_133_10.uidReceiveBytes;
|
|
obj12.uid_send_bytes = closure_133_10.uidSendBytes;
|
|
obj12.socket_bytes_received = closure_133_10.socketBytesReceived;
|
|
obj12.ota_bytes_received = closure_133_10.otaBytesReceived;
|
|
obj12.ota_num_requests = closure_133_10.otaNumRequests;
|
|
obj12.xhr_bytes_received = closure_133_10.xhrBytesReceived;
|
|
obj12.xhr_num_requests = closure_133_10.xhrNumRequests;
|
|
obj12.fresco_bytes_received = closure_133_10.frescoBytesReceived;
|
|
obj12.fresco_num_requests = closure_133_10.frescoNumRequests;
|
|
obj12.download_bytes_received = closure_133_10.downloadBytesReceived;
|
|
obj12.download_num_requests = closure_133_10.downloadNumRequests;
|
|
obj12.media_player_bytes_received = closure_133_10.mediaPlayerBytesReceived;
|
|
closure_133_0(closure_133_2[15]);
|
|
obj12.rtc_bytes = closure_133_0(closure_133_2[9]).getRTCTotalBytes();
|
|
obj12.num_message_sends = closure_133_15;
|
|
if (0 !== closure_133_15) {
|
|
const tmp56 = closure_133_16;
|
|
}
|
|
obj12.max_message_send_duration = tmp56;
|
|
if (0 !== closure_133_15) {
|
|
const tmp60 = closure_133_17;
|
|
}
|
|
obj12.max_message_queue_length = tmp60;
|
|
obj12.num_message_send_fails = closure_133_18;
|
|
obj12.num_identifies = closure_133_5.getSocket().identifyCount;
|
|
const renderLatestMessages = closure_133_1(closure_133_2[16]).renderLatestMessages;
|
|
obj12.render_latest_messages_duration_ms = renderLatestMessages.serialize(closure_132_0);
|
|
obj11.properties = obj12;
|
|
return obj11;
|
|
})();
|
|
};
|
|
let closure_20 = new EventTracker();
|
|
let Dispatcher = Dispatcher_mod;
|
|
let subscription = Dispatcher.subscribe("APP_STATE_UPDATE", (state) => {
|
|
closure_20.handleAppStateChange("active" === state.state);
|
|
});
|
|
let Dispatcher = Dispatcher_mod;
|
|
const subscription1 = Dispatcher.subscribe("MESSAGE_CREATE", (sendMessageOptions) => {
|
|
sendMessageOptions = sendMessageOptions.sendMessageOptions;
|
|
let sendAnalytics;
|
|
if (sendMessageOptions != null) {
|
|
sendAnalytics = sendMessageOptions.sendAnalytics;
|
|
}
|
|
if (null != sendAnalytics) {
|
|
closure_15 = closure_15 + 1;
|
|
const _Math = Math;
|
|
closure_16 = Math.max(closure_16, sendMessageOptions.sendMessageOptions.sendAnalytics.duration);
|
|
const _Math2 = Math;
|
|
closure_17 = Math.max(closure_17, sendMessageOptions.sendMessageOptions.sendAnalytics.queueSize);
|
|
}
|
|
});
|
|
let Dispatcher = Dispatcher_mod;
|
|
const subscription2 = Dispatcher.subscribe("MESSAGE_SEND_FAILED", (arg0) => {
|
|
closure_18 = closure_18 + 1;
|
|
});
|
|
const size = fn(2);
|
|
let result = size.fileFinishedImporting("modules/network/NetStats.android.tsx");
|
|
|
|
export const isSlowNetwork = function isSlowNetwork() {
|
|
let tmp = global.type === configure.NetInfoStateType.cellular;
|
|
if (tmp) {
|
|
let isNetworkRoaming = null != closure_10.signalStrengthLevel;
|
|
if (isNetworkRoaming) {
|
|
isNetworkRoaming = closure_10.signalStrengthLevel <= 2;
|
|
}
|
|
if (!isNetworkRoaming) {
|
|
isNetworkRoaming = "2g" === global.effectiveSpeed;
|
|
}
|
|
if (!isNetworkRoaming) {
|
|
isNetworkRoaming = closure_10.isNetworkRoaming;
|
|
}
|
|
tmp = isNetworkRoaming;
|
|
}
|
|
return tmp;
|
|
};
|
|
export const getSignalStrength = function getSignalStrength() {
|
|
return closure_10.signalStrengthLevel;
|
|
};
|