347 lines
13 KiB
TypeScript
347 lines
13 KiB
TypeScript
// Module ID: 6695
|
|
// Function ID: 51831
|
|
// Name: receiveNetworkInfoformation
|
|
// Dependencies: [5, 6, 7, 27, 4808, 6696, 1838, 653, 3, 1432, 1431, 6706, 664, 587, 686, 3988, 6697, 6707, 14, 2]
|
|
// Exports: getSignalStrength, isSlowNetwork
|
|
|
|
// Module 6695 (receiveNetworkInfoformation)
|
|
import result from "result";
|
|
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
|
|
import ME from "ME";
|
|
import get_ActivityIndicator from "get ActivityIndicator";
|
|
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
|
|
import closure_8 from "result";
|
|
import closure_9 from "_createForOfIteratorHelperLoose";
|
|
import { AnalyticEvents } from "ME";
|
|
import importDefaultResult from "get ActivityIndicator";
|
|
import importDefaultResult1 from "ensureChangeListenerCreated";
|
|
import importDefaultResult2 from "ensureChangeListenerCreated";
|
|
import importDefaultResult3 from "dispatcher";
|
|
import importDefaultResult4 from "dispatcher";
|
|
import importDefaultResult5 from "dispatcher";
|
|
|
|
const require = arg1;
|
|
function receiveNetworkInfoformation(arg0) {
|
|
let closure_14 = arg0;
|
|
if (null == closure_15) {
|
|
closure_15 = arg0;
|
|
}
|
|
updateNetworkUsage();
|
|
}
|
|
function updateNetworkUsage() {
|
|
if (null != NativeModules.SystemResourceManager.getNetworkUsage) {
|
|
const SystemResourceManager = NativeModules.SystemResourceManager;
|
|
const networkUsage = SystemResourceManager.getNetworkUsage((arg0) => {
|
|
const outer1_12 = arg0;
|
|
if (null == outer1_13) {
|
|
outer1_13 = arg0;
|
|
}
|
|
const obj = { state: outer1_14, nativeStats: outer1_12, rtc: outer1_0(outer1_2[11]).getRTCTotalBytes() };
|
|
outer1_11.fileOnly("Updating Network Info", obj);
|
|
});
|
|
}
|
|
}
|
|
const NativeModules = get_ActivityIndicator.NativeModules;
|
|
importDefaultResult = new importDefaultResult("NetStats");
|
|
let closure_12 = { 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 c13 = null;
|
|
let obj = { type: require("configure").NetInfoStateType.unknown, effectiveSpeed: null, serviceProvider: null };
|
|
let c15 = null;
|
|
let closure_16 = "active" === get_ActivityIndicator.AppState.currentState;
|
|
let c17 = 0;
|
|
let c18 = 0;
|
|
let c19 = 0;
|
|
let c20 = 0;
|
|
require("ensureChangeListenerCreated").addChangeCallback(receiveNetworkInfoformation);
|
|
const networkInformation = require("ensureChangeListenerCreated").getNetworkInformation();
|
|
networkInformation.then(receiveNetworkInfoformation);
|
|
let tmp7 = (() => {
|
|
class EventTracker {
|
|
constructor() {
|
|
self = this;
|
|
self = this;
|
|
tmp = outer1_4(this, EventTracker);
|
|
num = 0;
|
|
if (outer1_16) {
|
|
tmp2 = globalThis;
|
|
_setTimeout = setTimeout;
|
|
tmp3 = f51848;
|
|
tmp4 = f51845;
|
|
num2 = 12;
|
|
num3 = 1;
|
|
num = setTimeout(() => self.track(), f51848(f51845[12]).Millis.MINUTE);
|
|
}
|
|
self.trackTimeout = num;
|
|
num4 = 0;
|
|
if (outer1_16) {
|
|
tmp5 = globalThis;
|
|
_setInterval = setInterval;
|
|
tmp6 = f51848;
|
|
tmp7 = f51845;
|
|
num5 = 12;
|
|
num6 = 5;
|
|
num4 = setInterval(() => self.writeExistingEventStorage(), 5 * f51848(f51845[12]).Millis.SECOND);
|
|
}
|
|
self.flushStorageInterval = num4;
|
|
self.didEverTrack = false;
|
|
Storage = f51853(f51845[13]).Storage;
|
|
value = Storage.get("previousNetStatsEvents");
|
|
if (null == value) {
|
|
value = [];
|
|
}
|
|
self.existingEvents = value;
|
|
self.trackExistingEvents = () => {
|
|
if (self.existingEvents.length > 0) {
|
|
let result = outer2_8.submitEventsImmediately(self.existingEvents);
|
|
result.then(() => {
|
|
outer3_11.fileOnly("Successfully logged existing network usage events", outer1_0.existingEvents);
|
|
outer1_0.existingEvents = [];
|
|
const result = outer1_0.writeExistingEventStorage();
|
|
}).catch((status) => {
|
|
if (tmp) {
|
|
outer3_11.error("Failed to log log existing network usage events", outer1_0.existingEvents, status);
|
|
}
|
|
});
|
|
const nextPromise = result.then(() => {
|
|
outer3_11.fileOnly("Successfully logged existing network usage events", outer1_0.existingEvents);
|
|
outer1_0.existingEvents = [];
|
|
const result = outer1_0.writeExistingEventStorage();
|
|
});
|
|
}
|
|
};
|
|
if (outer1_7.isConnected()) {
|
|
trackExistingEventsResult = self.trackExistingEvents();
|
|
} else {
|
|
tmp8 = f51848;
|
|
tmp9 = f51845;
|
|
num7 = 14;
|
|
obj = f51848(f51845[14]);
|
|
str = "CONNECTION_OPEN";
|
|
subscription = obj.subscribe("CONNECTION_OPEN", self.trackExistingEvents);
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
let obj = {
|
|
key: "handleAppStateChange",
|
|
value(arg0) {
|
|
let self = this;
|
|
self = this;
|
|
if (!this.didEverTrack) {
|
|
if (arg0) {
|
|
if (!tmp) {
|
|
const outer1_16 = true;
|
|
const _setTimeout = setTimeout;
|
|
self.trackTimeout = setTimeout(() => outer2_21.track(), callback2(664).Millis.MINUTE);
|
|
const _setInterval = setInterval;
|
|
self.flushStorageInterval = setInterval(() => self.writeExistingEventStorage(), 5000);
|
|
}
|
|
} else if (tmp) {
|
|
self.track();
|
|
}
|
|
}
|
|
}
|
|
};
|
|
let items = [obj, , , ];
|
|
obj = { key: "writeExistingEventStorage" };
|
|
let closure_2 = EventTracker(async function() {
|
|
const self = this;
|
|
if (!self.didEverTrack) {
|
|
if (outer2_16) {
|
|
let items = [yield self.getQueuedEvent()];
|
|
}
|
|
const existingEvents = self.existingEvents;
|
|
const combined = existingEvents.concat(items);
|
|
if (0 === combined.length) {
|
|
const Storage2 = callback(587).Storage;
|
|
Storage2.remove("previousNetStatsEvents");
|
|
} else {
|
|
const Storage = callback(587).Storage;
|
|
const result = Storage.set("previousNetStatsEvents", combined);
|
|
}
|
|
}
|
|
items = [];
|
|
});
|
|
obj.value = function writeExistingEventStorage() {
|
|
return dependencyMap(...arguments);
|
|
};
|
|
items[1] = obj;
|
|
obj = { key: "track" };
|
|
let closure_1 = EventTracker(async function() {
|
|
const self = this;
|
|
let items;
|
|
if (!self.didEverTrack) {
|
|
self.didEverTrack = true;
|
|
const _clearTimeout = clearTimeout;
|
|
clearTimeout(self.trackTimeout);
|
|
const _clearInterval = clearInterval;
|
|
clearInterval(self.flushStorageInterval);
|
|
items = [yield self.getQueuedEvent()];
|
|
let result = outer2_8.submitEventsImmediately(items);
|
|
result.then(() => {
|
|
outer3_11.fileOnly("Successfully tracked latest network usage", items);
|
|
const result = self.writeExistingEventStorage();
|
|
}).catch((status) => {
|
|
if (429 !== status.status) {
|
|
outer3_11.error("Failed to track latest network usage", items, status);
|
|
}
|
|
const existingEvents = self.existingEvents;
|
|
existingEvents.push(items[0]);
|
|
const result = self.writeExistingEventStorage();
|
|
});
|
|
const nextPromise = result.then(() => {
|
|
outer3_11.fileOnly("Successfully tracked latest network usage", items);
|
|
const result = self.writeExistingEventStorage();
|
|
});
|
|
}
|
|
});
|
|
obj.value = function track() {
|
|
return callback2(...arguments);
|
|
};
|
|
items[2] = obj;
|
|
const obj1 = { key: "getQueuedEvent" };
|
|
let closure_0 = EventTracker(async () => {
|
|
outer2_22();
|
|
let obj = callback2(3988);
|
|
const tmp2 = yield obj.getAppFirstVisibleTimestamp();
|
|
const tmp3 = yield callback(6697).getSession();
|
|
obj = { type: outer2_10.APP_NETWORK_USAGE };
|
|
obj = {};
|
|
const obj2 = callback(6697);
|
|
const merged = Object.assign(callback(6707).getDeviceMetadata());
|
|
obj["client_track_timestamp"] = Date.now();
|
|
let uuid;
|
|
if (null != tmp3) {
|
|
uuid = tmp3.uuid;
|
|
}
|
|
obj["client_heartbeat_session_id"] = uuid;
|
|
const obj5 = callback(6707);
|
|
obj["load_id"] = callback(6707).currentLoadId();
|
|
obj["num_guilds"] = outer2_9.getGuildCount();
|
|
obj["was_authenticated"] = callback2(14).wasAuthenticated;
|
|
obj["did_background_app"] = callback2(14).didBackgroundApp;
|
|
obj["headless_task_ran"] = callback2(14).extraProperties.headless_task_ran;
|
|
const ready = callback2(14).ready;
|
|
obj["ready_payload_duration_ms"] = ready.serializeEnd(tmp2);
|
|
let signalStrengthLevel;
|
|
if (null != outer2_13) {
|
|
signalStrengthLevel = outer2_13.signalStrengthLevel;
|
|
}
|
|
let tmp7;
|
|
if (null != signalStrengthLevel) {
|
|
tmp7 = signalStrengthLevel;
|
|
}
|
|
obj["initial_signal_strength_level"] = tmp7;
|
|
signalStrengthLevel = outer2_12.signalStrengthLevel;
|
|
let tmp8;
|
|
if (null != signalStrengthLevel) {
|
|
tmp8 = signalStrengthLevel;
|
|
}
|
|
obj["final_signal_strength_level"] = tmp8;
|
|
let type;
|
|
if (null != outer2_15) {
|
|
type = outer2_15.type;
|
|
}
|
|
let tmp10;
|
|
if (null != type) {
|
|
tmp10 = type;
|
|
}
|
|
obj["initial_network_type"] = tmp10;
|
|
obj["final_network_type"] = outer2_14.type;
|
|
let effectiveSpeed;
|
|
if (null != outer2_15) {
|
|
effectiveSpeed = outer2_15.effectiveSpeed;
|
|
}
|
|
let tmp12;
|
|
if (null != effectiveSpeed) {
|
|
tmp12 = effectiveSpeed;
|
|
}
|
|
obj["initial_cellular_generation"] = tmp12;
|
|
obj["final_cellular_generation"] = outer2_14.effectiveSpeed;
|
|
obj["is_network_roaming"] = outer2_12.isNetworkRoaming;
|
|
obj["cellular_receive_bytes"] = outer2_12.cellularReceiveBytes;
|
|
obj["cellular_send_bytes"] = outer2_12.cellularSendBytes;
|
|
obj["total_receive_bytes"] = outer2_12.totalReceiveBytes;
|
|
obj["total_send_bytes"] = outer2_12.totalSendBytes;
|
|
obj["uid_receive_bytes"] = outer2_12.uidReceiveBytes;
|
|
obj["uid_send_bytes"] = outer2_12.uidSendBytes;
|
|
obj["socket_bytes_received"] = outer2_12.socketBytesReceived;
|
|
obj["ota_bytes_received"] = outer2_12.otaBytesReceived;
|
|
obj["ota_num_requests"] = outer2_12.otaNumRequests;
|
|
obj["xhr_bytes_received"] = outer2_12.xhrBytesReceived;
|
|
obj["xhr_num_requests"] = outer2_12.xhrNumRequests;
|
|
obj["fresco_bytes_received"] = outer2_12.frescoBytesReceived;
|
|
obj["fresco_num_requests"] = outer2_12.frescoNumRequests;
|
|
obj["download_bytes_received"] = outer2_12.downloadBytesReceived;
|
|
obj["download_num_requests"] = outer2_12.downloadNumRequests;
|
|
obj["media_player_bytes_received"] = outer2_12.mediaPlayerBytesReceived;
|
|
const obj6 = callback(6707);
|
|
obj["rtc_bytes"] = callback(6706).getRTCTotalBytes();
|
|
obj["num_message_sends"] = outer2_17;
|
|
let tmp13;
|
|
if (0 !== outer2_17) {
|
|
tmp13 = outer2_18;
|
|
}
|
|
obj["max_message_send_duration"] = tmp13;
|
|
let tmp14;
|
|
if (0 !== outer2_17) {
|
|
tmp14 = outer2_19;
|
|
}
|
|
obj["max_message_queue_length"] = tmp14;
|
|
obj["num_message_send_fails"] = outer2_20;
|
|
obj["num_identifies"] = outer2_7.getSocket().identifyCount;
|
|
const renderLatestMessages = callback2(14).renderLatestMessages;
|
|
obj["render_latest_messages_duration_ms"] = renderLatestMessages.serialize(tmp2);
|
|
obj.properties = obj;
|
|
return obj;
|
|
});
|
|
obj1.value = function getQueuedEvent() {
|
|
return callback(...arguments);
|
|
};
|
|
items[3] = obj1;
|
|
return callback(EventTracker, items);
|
|
})();
|
|
tmp7 = new tmp7();
|
|
let closure_21 = tmp7;
|
|
let subscription = require("dispatcher").subscribe("APP_STATE_UPDATE", (state) => {
|
|
tmp7.handleAppStateChange("active" === state.state);
|
|
});
|
|
const subscription1 = require("dispatcher").subscribe("MESSAGE_CREATE", (sendMessageOptions) => {
|
|
sendMessageOptions = sendMessageOptions.sendMessageOptions;
|
|
let sendAnalytics;
|
|
if (null != sendMessageOptions) {
|
|
sendAnalytics = sendMessageOptions.sendAnalytics;
|
|
}
|
|
if (null != sendAnalytics) {
|
|
closure_17 = closure_17 + 1;
|
|
const _Math = Math;
|
|
closure_18 = Math.max(closure_18, sendMessageOptions.sendMessageOptions.sendAnalytics.duration);
|
|
const _Math2 = Math;
|
|
closure_19 = Math.max(closure_19, sendMessageOptions.sendMessageOptions.sendAnalytics.queueSize);
|
|
}
|
|
});
|
|
const subscription2 = require("dispatcher").subscribe("MESSAGE_SEND_FAILED", () => {
|
|
closure_20 = closure_20 + 1;
|
|
});
|
|
let result = require("_defineProperties").fileFinishedImporting("modules/network/NetStats.android.tsx");
|
|
|
|
export const isSlowNetwork = function isSlowNetwork() {
|
|
let tmp = obj.type === require(1432) /* configure */.NetInfoStateType.cellular;
|
|
if (tmp) {
|
|
let isNetworkRoaming = null != closure_12.signalStrengthLevel;
|
|
if (isNetworkRoaming) {
|
|
isNetworkRoaming = closure_12.signalStrengthLevel <= 2;
|
|
}
|
|
if (!isNetworkRoaming) {
|
|
isNetworkRoaming = "2g" === obj.effectiveSpeed;
|
|
}
|
|
if (!isNetworkRoaming) {
|
|
isNetworkRoaming = closure_12.isNetworkRoaming;
|
|
}
|
|
tmp = isNetworkRoaming;
|
|
}
|
|
return tmp;
|
|
};
|
|
export const getSignalStrength = function getSignalStrength() {
|
|
return closure_12.signalStrengthLevel;
|
|
};
|