decord/beta/source/modules/routing/native/BackPressTracking.android.tsx
2026-10-12 16:32:48 +00:00

209 lines
6.2 KiB
TypeScript

// Module ID: 5375
// Function ID: 5376
// Name: BackPressTracking
// Dependencies: [19, 17, 5376, 558, 576, 2]
// Exports: addBackPressListener
// Module 5375 (BackPressTracking)
import react_native from "react-native" /* 17 */;
import react from "react" /* 19 */;
import ReactCompilerGating from "ReactCompilerGating" /* 558 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
let _require, closure_3;
const BackHandler = react_native.BackHandler;
let closure_6 = 0;
const set = new Set();
let c8 = false;
let tmp3 = ReactCompilerGating.isReactCompilerEnabled() ? (function useTrackNavigationBackPress(arg0) {
let closure_0;
let tmp2;
let tmp3;
_require = arg0;
let obj = require("react");
const cResult = obj.c(3);
if (cResult[0] !== arg0) {
const fn = function t() {
const obj = closure_0;
if (null != closure_0) {
if (obj.isReady()) {
if (obj.canGoBack()) {
let tmp3 = set;
set.add(obj);
}
const tmp5 = c8;
if (!tmp5) {
c8 = true;
let _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
c8 = false;
if ((closure_1_6 > 0 || size.size > 0) !== closure_3) {
closure_3 = tmp;
obj = closure_1_1(closure_1_2[2]);
const result = obj.setHasActiveBackPressHandler(tmp);
}
});
}
let closure_1 = obj.addListener("state", function update() {
if (obj.isReady()) {
if (obj.canGoBack()) {
set.add(obj);
}
const tmp4 = c8;
if (!tmp4) {
c8 = true;
const _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
c8 = false;
if ((closure_1_6 > 0 || size.size > 0) !== closure_3) {
closure_3 = tmp;
obj = closure_1_1(closure_1_2[2]);
const result = obj.setHasActiveBackPressHandler(tmp);
}
});
}
}
set.delete(obj);
});
return () => {
closure_1();
set.delete(obj);
const tmp3 = c8;
if (!tmp3) {
c8 = true;
const _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
c8 = false;
if ((closure_1_6 > 0 || size.size > 0) !== closure_3) {
closure_3 = tmp;
obj = closure_1_1(closure_1_2[2]);
const result = obj.setHasActiveBackPressHandler(tmp);
}
});
}
};
}
set.delete(obj);
}
};
const items = [arg0];
cResult[0] = arg0;
cResult[1] = fn;
cResult[2] = items;
tmp3 = items;
tmp2 = fn;
} else {
tmp2 = cResult[1];
tmp3 = cResult[2];
}
const effect = react.useEffect(tmp2, tmp3);
}) : (function useTrackNavigationBackPress(arg0) {
let closure_0 = arg0;
const items = [arg0];
const effect = react.useEffect(() => {
let obj = closure_0;
if (null != closure_0) {
if (obj.isReady()) {
if (obj.canGoBack()) {
let tmp3 = set;
set.add(obj);
}
const tmp5 = c8;
if (!tmp5) {
c8 = true;
let _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
c8 = false;
if ((closure_1_6 > 0 || size.size > 0) !== closure_3) {
closure_3 = tmp;
obj = closure_1_1(closure_1_2[2]);
const result = obj.setHasActiveBackPressHandler(tmp);
}
});
}
let closure_1 = obj.addListener("state", function update() {
if (obj.isReady()) {
if (obj.canGoBack()) {
set.add(obj);
}
const tmp4 = c8;
if (!tmp4) {
c8 = true;
const _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
c8 = false;
if ((closure_1_6 > 0 || size.size > 0) !== closure_3) {
closure_3 = tmp;
obj = closure_1_1(closure_1_2[2]);
const result = obj.setHasActiveBackPressHandler(tmp);
}
});
}
}
set.delete(obj);
});
return () => {
const tmp = closure_1();
set.delete(obj);
const tmp3 = c8;
if (!tmp3) {
c8 = true;
const _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
c8 = false;
if ((closure_1_6 > 0 || size.size > 0) !== closure_3) {
closure_3 = tmp;
obj = closure_1_1(closure_1_2[2]);
const result = obj.setHasActiveBackPressHandler(tmp);
}
});
}
};
}
let tmp = set;
set.delete(obj);
}
}, items);
});
let result = size.fileFinishedImporting("modules/routing/native/BackPressTracking.android.tsx");
export const addBackPressListener = function addBackPressListener(fn) {
let closure_0 = BackHandler.addEventListener("hardwareBackPress", fn);
closure_6 = closure_6 + 1;
const tmp = c8;
if (!tmp) {
c8 = true;
let tmp2 = globalThis;
let _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
c8 = false;
if ((closure_1_6 > 0 || size.size > 0) !== closure_3) {
closure_3 = tmp;
obj = closure_1_1(closure_1_2[2]);
const result = obj.setHasActiveBackPressHandler(tmp);
}
});
}
return {
remove() {
closure_0.remove();
closure_6 = closure_6 - 1;
const tmp2 = c8;
if (!tmp2) {
c8 = true;
const _queueMicrotask = queueMicrotask;
queueMicrotask(() => {
c8 = false;
if ((closure_1_6 > 0 || size.size > 0) !== closure_3) {
closure_3 = tmp;
obj = closure_1_1(closure_1_2[2]);
const result = obj.setHasActiveBackPressHandler(tmp);
}
});
}
}
};
};
export const useTrackNavigationBackPress = tmp3;