decord/source/modules/js_watchdog/native/JSWatchdogManager.android.tsx
2026-08-24 06:08:38 +00:00

379 lines
12 KiB
TypeScript

// Module ID: 16720
// Function ID: 16721
// Name: handleAppStateUpdate
// Dependencies: [5, 676, 3, 687, 5043, 16721, 1208, 698, 5071, 5068, 5059, 2]
// Module 16720 (handleAppStateUpdate)
import timestampDefault from "timestamp" /* 3 */;
import setDefault from "set" /* 687 */;
import expandEventPropertiesDefault from "expandEventProperties" /* 698 */;
import initializeDefault from "initialize" /* 5043 */;
import getDeviceMetadata from "getDeviceMetadata" /* 5071 */;
import closure_3 from "asyncGeneratorStep" /* 5 */;
import ME from "ME" /* 676 */;
require = arg1;
({ AppStates: c4, AnalyticEvents: c5 } = ME);
let closure_6 = new timestampDefault("JSWatchdogManager");
const HALF_SECOND = setDefault.Millis.HALF_SECOND;
initializeDefault;
class JSWatchdogManager extends tmp4 {
constructor() {
applyArgumentsResult = HermesBuiltin.applyArguments(new.target, new.target);
closure_0 = applyArgumentsResult;
applyArgumentsResult._enabled = true;
applyArgumentsResult._timeoutId = null;
applyArgumentsResult._analyticsReportsRemaining = 3;
applyArgumentsResult._cachedSession = null;
applyArgumentsResult._lastSessionId = null;
applyArgumentsResult._pingCompleted = true;
applyArgumentsResult.actions = {
APP_STATE_UPDATE(arg0) {
applyArgumentsResult.handleAppStateUpdate(arg0);
},
CONNECTION_OPEN_SUPPLEMENTAL() {
const result = applyArgumentsResult.handleConnectionOpenSupplemental();
}
};
return applyArgumentsResult;
}
}
const prototype = JSWatchdogManager.prototype;
prototype["handleAppStateUpdate"] = function handleAppStateUpdate(state) {
const self = this;
if (state.state === constants.ACTIVE) {
self.startWatchdog();
} else {
self.stopWatchdog();
}
};
prototype["handleConnectionOpenSupplemental"] = function handleConnectionOpenSupplemental() {
const self = this;
const timerId = setTimeout(() => {
self.startWatchdog();
}, 0);
};
prototype["ping"] = function ping() {
let flag = arg0;
if (arg0 === undefined) {
flag = false;
}
const self = this;
return callback(function*() {
if (c5 === 2) {
c5 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp7 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
return { value: "HermesInternal", done: null };
}
} else {
try {
c5 = 2;
if (0 === c4) {
if (arg0 === 1) {
c5 = 3;
throw arg1;
} else if (arg0 === 2) {
c5 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
let _lastSessionId = tmp4;
c0 = tmp8;
c0 = undefined;
_lastSessionId = undefined;
checkForStallReportResult._pingCompleted = false;
c3 = 2;
c4 = 3;
c5 = 1;
obj1 = { value: null, done: false };
obj1[0] = checkForStallReportResult.getCurrentSessionId();
return obj1;
}
} else if (1 === tmp8) {
c3 = 0;
checkForStallReportResult._pingCompleted = true;
throw dependencyMap;
} else {
if (2 === tmp8) {
c3 = 1;
checkForStallReportResult(1208).captureException(dependencyMap);
c3 = 0;
checkForStallReportResult._pingCompleted = true;
c5 = 3;
const obj8 = checkForStallReportResult(1208);
} else if (3 === tmp8) {
if (arg0 === 1) {
c5 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 0;
checkForStallReportResult._pingCompleted = true;
c5 = 3;
const obj2 = { value: null, done: true };
obj2[0] = arg1;
return obj2;
} else {
closure_0 = arg1;
if (null == closure_0) {
if (checkForStallReportResult._enabled) {
const _setTimeout2 = setTimeout;
const timerId = setTimeout(() => _undefined.ping(), closure_1_7);
_lastSessionId._timeoutId = timerId;
}
c3 = 0;
checkForStallReportResult._pingCompleted = true;
c5 = 3;
let obj3 = { value: null, done: true };
obj3[0] = undefined;
return obj3;
} else {
obj3 = checkForStallReportResult(16721);
let pingResult;
if (obj3 != null) {
const _Date = Date;
pingResult = obj3.ping(Date.now(), closure_0, closure_0, false);
}
c4 = 4;
c5 = 1;
const obj4 = { value: null, done: false };
obj4[0] = pingResult;
return obj4;
}
}
} else if (arg0 === 1) {
c5 = 3;
throw arg1;
} else if (arg0 !== 2) {
if (arg1) {
obj = checkForStallReportResult(16721);
checkForStallReportResult = undefined;
if (obj != null) {
checkForStallReportResult = obj.checkForStallReport();
}
if (null != checkForStallReportResult) {
if (_lastSessionId._lastSessionId !== closure_0) {
checkForStallReportResult._lastSessionId = c0;
checkForStallReportResult._analyticsReportsRemaining = 3;
}
checkForStallReportResult._analyticsReportsRemaining = +checkForStallReportResult._analyticsReportsRemaining - 1;
if (+checkForStallReportResult._analyticsReportsRemaining > 0) {
checkForStallReportResult.reportStall(_lastSessionId, c0, false, checkForStallReportResult._analyticsReportsRemaining);
}
if (0 === checkForStallReportResult._analyticsReportsRemaining) {
checkForStallReportResult.stopWatchdog();
obj1 = checkForStallReportResult(16721);
if (obj1 != null) {
obj1.disable();
}
}
}
}
if (checkForStallReportResult._enabled) {
const _setTimeout = setTimeout;
_lastSessionId._timeoutId = setTimeout(() => _undefined.ping(), closure_1_7);
}
c3 = 1;
}
c3 = 0;
checkForStallReportResult._pingCompleted = true;
c5 = 3;
const obj5 = { value: null, done: true };
obj5[0] = arg1;
return obj5;
}
} catch (tmp84) {
dependencyMap = tmp84;
if (tmp5 === c3) {
c5 = tmp3;
throw tmp84;
} else if (tmp2 === tmp86) {
c4 = tmp2;
} else {
c4 = tmp;
}
}
}
})();
};
prototype["startWatchdog"] = function startWatchdog() {
const self = this;
return callback(function*() {
if (c3 === 2) {
c3 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp4 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
return { value: "HermesInternal", done: null };
}
} else {
try {
c3 = 2;
if (0 === dependencyMap) {
if (arg0 === 1) {
c3 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
c1 = tmp2;
closure_0 = 0;
closure_0 = undefined;
c1 = undefined;
if (null == closure_1_0._timeoutId) {
if (null != checkForStallReportResult(16721)) {
dependencyMap = 1;
c3 = 1;
obj1 = { value: null, done: false };
obj1[0] = closure_1_0.getCurrentSessionId();
return obj1;
}
}
c3 = 3;
}
} else if (arg0 === 1) {
c3 = 3;
throw arg1;
} else if (arg0 !== 2) {
closure_0 = arg1;
if (null != closure_0) {
if (closure_0._lastSessionId !== closure_0) {
closure_1_6.info("startWatchdog()");
closure_0._enabled = true;
if (closure_0._pingCompleted) {
checkForStallReportResult = undefined;
obj = checkForStallReportResult(16721);
if (obj != null) {
checkForStallReportResult = obj.checkForStallReport();
}
if (null != checkForStallReportResult) {
closure_0.reportStall(checkForStallReportResult, closure_1_0, true, -1);
}
}
closure_1_0.ping(true);
}
}
}
c3 = 3;
const obj2 = { value: null, done: true };
obj2[0] = arg1;
return obj2;
} catch (tmp32) {
c3 = tmp;
throw tmp32;
}
}
})();
};
prototype["stopWatchdog"] = function stopWatchdog() {
logger.info("stopWatchdog()");
this._enabled = false;
clearTimeout(this._timeoutId);
this._timeoutId = null;
};
prototype["reportStall"] = function reportStall(c1, c0, is_previous, _analyticsReportsRemaining) {
let obj = expandEventPropertiesDefault;
obj = {};
const merged = Object.assign(getDeviceMetadata.getDeviceMetadata());
obj.version = 1;
obj.stall_time = c1.stallTime;
obj.is_previous = is_previous;
obj.reports_remaining = _analyticsReportsRemaining;
let sessionId = null;
if (c1.sessionId !== c0) {
sessionId = c1.sessionId;
}
obj.stall_session_id = sessionId;
obj.trace = null;
obj.track(constants2.APP_JS_STALLED, obj);
};
prototype["getCurrentSessionId"] = function getCurrentSessionId() {
const self = this;
return callback(function*() {
if (c3 === 2) {
c3 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp4 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
return { value: "HermesInternal", done: null };
}
} else {
try {
c3 = 2;
if (0 === dependencyMap) {
if (arg0 === 1) {
c3 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
closure_1 = tmp5;
closure_0 = tmp2;
closure_0 = undefined;
if (null != closure_1_0._cachedSession) {
obj1 = closure_1_0(5068);
if (!obj1.isSessionExpired(closure_1_0._cachedSession)) {
const uuid = closure_1_0._cachedSession.uuid;
c3 = 3;
}
}
dependencyMap = 1;
c3 = 1;
obj1 = { value: null, done: false };
obj1[0] = closure_1_0(5059).getSession();
return obj1;
}
} else if (arg0 === 1) {
c3 = 3;
throw arg1;
} else if (arg0 === 2) {
c3 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
closure_0 = arg1;
if (null != closure_0) {
closure_0._cachedSession = closure_0;
}
}
c3 = 3;
return { value: null, done: true };
} catch (tmp20) {
c3 = tmp;
throw tmp20;
}
}
})();
};
const jSWatchdogManager = new JSWatchdogManager();
const tmp3 = new timestampDefault("JSWatchdogManager");
let result = require("set").fileFinishedImporting("modules/js_watchdog/native/JSWatchdogManager.android.tsx");
export default jSWatchdogManager;