80 lines
2.2 KiB
TypeScript
80 lines
2.2 KiB
TypeScript
// Metro module 4282 (f4283).
|
|
import Durations from "../utils/Durations";
|
|
import Module589 from "../_bundle/Module589";
|
|
import Module12 from "../_bundle/Module12";
|
|
import Dispatcher from "../Dispatcher";
|
|
let c2521_2 = {
|
|
preferredRegions: null,
|
|
lastTestTimestamp: null,
|
|
lastGeoRankedOrder: null
|
|
};
|
|
let c2521_3 = c2521_2;
|
|
let c2521_4 = 1 * Durations.Millis.HOUR;
|
|
class RTCRegionStore extends Module589.DeviceSettingsStore {
|
|
static displayName = "RTCRegionStore";
|
|
static persistKey = "RTCRegionStore";
|
|
static migrations = [(a0) => {
|
|
if (a0.preferredRegion) {
|
|
a0.preferredRegions = [a0.preferredRegion];
|
|
} else {
|
|
a0.preferredRegions = null;
|
|
}
|
|
delete a0["preferredRegion"];
|
|
return a0;
|
|
}];
|
|
initialize(a0) {
|
|
c2521_3 = a0 == null ? c2521_2 : a0;
|
|
}
|
|
shouldIncludePreferredRegion() {
|
|
return c2521_3.preferredRegions != null;
|
|
}
|
|
getPreferredRegion() {
|
|
const preferredRegions = c2521_3.preferredRegions;
|
|
let r5 = preferredRegions == null ? void 0 : preferredRegions[0];
|
|
if (r5 == null) {
|
|
r5 = null;
|
|
}
|
|
return r5;
|
|
}
|
|
getPreferredRegions() {
|
|
return c2521_3.preferredRegions;
|
|
}
|
|
getRegion(a0) {
|
|
if (a0 != null) {
|
|
return a0.substr(0, a0.search(/\d/));
|
|
}
|
|
}
|
|
getUserAgnosticState() {
|
|
return c2521_3;
|
|
}
|
|
shouldPerformLatencyTest(a0) {
|
|
let r1 = c2521_3.preferredRegions === null;
|
|
if (!r1) {
|
|
let lastGeoRankedOrder = c2521_3.lastGeoRankedOrder;
|
|
if (lastGeoRankedOrder == null) {
|
|
lastGeoRankedOrder = [];
|
|
}
|
|
r1 = !Module12.isEqual(a0, lastGeoRankedOrder);
|
|
}
|
|
if (!r1) {
|
|
const r19 = Date.now();
|
|
let lastTestTimestamp = c2521_3.lastTestTimestamp;
|
|
if (lastTestTimestamp == null) {
|
|
lastTestTimestamp = 0;
|
|
}
|
|
r1 = r19 - lastTestTimestamp >= c2521_4;
|
|
}
|
|
return r1;
|
|
}
|
|
}
|
|
const rTCRegionStore = new RTCRegionStore(Dispatcher, {
|
|
RTC_LATENCY_TEST_COMPLETE: function handleCompletedRTCLatencyTest(a0) {
|
|
if (a0.latencyRankedRegions.length > 0) {
|
|
c2521_3.lastGeoRankedOrder = a0.geoRankedRegions;
|
|
c2521_3.preferredRegions = a0.latencyRankedRegions;
|
|
}
|
|
c2521_3.lastTestTimestamp = Date.now();
|
|
}
|
|
});
|
|
export default rTCRegionStore;
|