decord/alpha/source/utils/native/NetworkUtils.tsx

158 lines
4.1 KiB
TypeScript
Raw Normal View History

// Module ID: 1463
// Function ID: 1464
// Name: utils/NetworkUtils
// Dependencies: [1074, 3, 1464, 2]
2026-07-20 16:05:17 +00:00
// Module 1463 (utils/NetworkUtils)
import LoggerDefault from "Logger" /* 3 */;
import Constants from "Constants" /* 1074 */;
import configure_mod from "configure" /* 1464 */;
import size from "module_2" /* 2 */;
2026-07-22 07:54:56 +00:00
2026-07-29 08:29:29 +00:00
function notifyListeners(isConnected) {
isConnected = isConnected.isConnected;
2026-07-20 16:05:17 +00:00
({ type, details } = isConnected);
2026-08-24 06:08:38 +00:00
obj = { type, effectiveSpeed: null, serviceProvider: null };
2026-07-20 16:05:17 +00:00
let cellularGeneration = null;
if (type === NetworkConnectionTypes.CELLULAR) {
cellularGeneration = details.cellularGeneration;
}
obj.effectiveSpeed = cellularGeneration;
2026-07-20 16:05:17 +00:00
let carrier = null;
if (type === NetworkConnectionTypes.CELLULAR) {
carrier = details.carrier;
}
obj.serviceProvider = carrier;
flag = isConnected;
2026-07-29 08:29:29 +00:00
if (isConnected == null) {
flag = false;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj.log("Network status changed: isConnected:" + isConnected + " type:" + isConnected.type + " speed:" + obj.cellularGeneration);
const item = isConnected ? closure_4 : closure_5.forEach((fn) => {
2026-08-24 06:08:38 +00:00
flag = isConnected;
2026-07-29 08:29:29 +00:00
if (isConnected == null) {
flag = false;
}
return fn(flag, obj);
2026-07-29 08:29:29 +00:00
});
const item1 = closure_6.forEach((fn) => fn(obj));
2026-07-20 16:05:17 +00:00
}
const NetworkConnectionTypes = Constants.NetworkConnectionTypes;
let obj = new LoggerDefault("NetworkUtils");
2026-07-29 08:29:29 +00:00
obj.enableNativeLogger(true);
2026-07-20 16:05:17 +00:00
let closure_4 = [];
let closure_5 = [];
let closure_6 = [];
2026-07-23 10:11:24 +00:00
let c7 = null;
let configure = configure_mod;
configure = configure.fetch();
configure.then((isConnected) => {
flag = isConnected.isConnected;
2026-07-29 08:29:29 +00:00
if (flag == null) {
flag = false;
}
2026-07-20 16:05:17 +00:00
});
const result = size.fileFinishedImporting("utils/native/NetworkUtils.tsx");
export default {
2026-07-20 16:05:17 +00:00
addOnlineCallback(_handleNetworkOnline) {
closure_4.push(_handleNetworkOnline);
if (null == c7) {
c7 = configure.addEventListener(notifyListeners);
2026-07-29 08:29:29 +00:00
}
2026-07-20 16:05:17 +00:00
},
removeOnlineCallback(_handleNetworkOnline) {
const index = closure_4.indexOf(_handleNetworkOnline);
2026-07-29 08:29:29 +00:00
if (-1 !== index) {
arr.splice(index, 1);
let tmp5 = null != _null;
if (tmp5) {
tmp5 = 0 === arr.length;
}
if (tmp5) {
tmp5 = 0 === closure_5.length;
2026-07-29 08:29:29 +00:00
}
if (tmp5) {
tmp5 = 0 === closure_6.length;
2026-07-29 08:29:29 +00:00
}
if (tmp5) {
_null();
_null = null;
}
}
2026-07-20 16:05:17 +00:00
},
addOfflineCallback(_handleNetworkOffline) {
closure_5.push(_handleNetworkOffline);
if (null == c7) {
c7 = configure.addEventListener(notifyListeners);
2026-07-29 08:29:29 +00:00
}
2026-07-20 16:05:17 +00:00
},
removeOfflineCallback(_handleNetworkOffline) {
const index = closure_5.indexOf(_handleNetworkOffline);
2026-07-29 08:29:29 +00:00
if (-1 !== index) {
arr.splice(index, 1);
let tmp5 = null != _null;
if (tmp5) {
tmp5 = 0 === closure_4.length;
2026-07-29 08:29:29 +00:00
}
if (tmp5) {
tmp5 = 0 === arr.length;
}
if (tmp5) {
tmp5 = 0 === closure_6.length;
2026-07-29 08:29:29 +00:00
}
if (tmp5) {
_null();
_null = null;
}
}
2026-07-20 16:05:17 +00:00
},
2026-07-29 08:29:29 +00:00
addChangeCallback(handleConnectionInfoChange) {
closure_6.push(handleConnectionInfoChange);
if (null == c7) {
c7 = configure.addEventListener(notifyListeners);
2026-07-29 08:29:29 +00:00
}
2026-07-20 16:05:17 +00:00
},
removeChangeCallback(arg0) {
const index = closure_6.indexOf(arg0);
2026-07-20 16:05:17 +00:00
if (-1 !== index) {
arr.splice(index, 1);
2026-07-29 08:29:29 +00:00
let tmp5 = null != _null;
if (tmp5) {
tmp5 = 0 === closure_4.length;
2026-07-29 08:29:29 +00:00
}
if (tmp5) {
tmp5 = 0 === closure_5.length;
2026-07-29 08:29:29 +00:00
}
if (tmp5) {
tmp5 = 0 === arr.length;
}
if (tmp5) {
_null();
_null = null;
}
2026-07-20 16:05:17 +00:00
}
},
getNetworkInformation() {
const response = configure.fetch();
return response.then((result) => {
({ type, details } = result);
2026-08-24 06:08:38 +00:00
obj = { type, effectiveSpeed: null, serviceProvider: null };
2026-07-29 08:29:29 +00:00
let cellularGeneration = null;
if (type === constants.CELLULAR) {
cellularGeneration = details.cellularGeneration;
}
obj.effectiveSpeed = cellularGeneration;
2026-07-29 08:29:29 +00:00
let carrier = null;
if (type === constants.CELLULAR) {
carrier = details.carrier;
}
obj.serviceProvider = carrier;
2026-07-29 08:29:29 +00:00
return obj;
});
2026-07-20 16:05:17 +00:00
},
isOnline() {
return flag;
2026-07-20 16:05:17 +00:00
}
};