// Module ID: 5361 // Function ID: 5362 // Name: AccessibilityFocusLockManager // Dependencies: [3, 2002, 5362, 5303, 2] // Module 5361 (AccessibilityFocusLockManager) import LoggerDefault from "Logger" /* 3 */; import react_nativeDefault from "react-native" /* 5303 */; import useIsScreenReaderEnabled from "useIsScreenReaderEnabled" /* 5362 */; import LifecycleManager from "LifecycleManager" /* 2002 */; import size from "module_2" /* 2 */; const _false = new LoggerDefault("AccessibilityFocusLockManager"); new LoggerDefault("AccessibilityFocusLockManager"); class AccessibilityFocusLockManager extends LifecycleManager { constructor() { const applyArgumentsResult = HermesBuiltin.applyArguments(this, new.target); const obj = useIsScreenReaderEnabled; applyArgumentsResult._screenReaderEnabled = obj.getIsScreenReaderEnabled(); applyArgumentsResult._focusLockedNativeIDGroups = new Map(); applyArgumentsResult._focusLockEnabled = false; applyArgumentsResult._focusLockEnabledDelayTimeoutId = -1; applyArgumentsResult._focusLockEnabledDelayTimeout = 250; new Map(); return applyArgumentsResult; } _updateAccessibilityFocusLock(arg0) { let flag = arg0; if (arg0 === undefined) { flag = false; } const self = this; let tmp; clearTimeout(this._focusLockEnabledDelayTimeoutId); let item10014; const _focusLockedNativeIDGroups = this._focusLockedNativeIDGroups; const values = _focusLockedNativeIDGroups.values(); for (const item10014 of values) { tmp = item10014; continue; } if (null != tmp) { if (self._screenReaderEnabled) { const _setTimeout = setTimeout; self._focusLockEnabledDelayTimeoutId = setTimeout(() => { const obj = react_nativeDefault; obj.enableFocusLock(item10014, flag); }, self._focusLockEnabledDelayTimeout); self._focusLockEnabled = true; } } if (self._focusLockEnabled) { let obj = item10014(5303); obj.disableFocusLock(); self._focusLockEnabled = false; } } _initialize() { const self = this; const obj = useIsScreenReaderEnabled; this._screenReaderEnabledListener = obj.addScreenReaderEnabledListener((_screenReaderEnabled) => { self._screenReaderEnabled = _screenReaderEnabled; const result = self._updateAccessibilityFocusLock(); }); } _terminate() { const self = this; const _screenReaderEnabledListener = this._screenReaderEnabledListener; if (_screenReaderEnabledListener != null) { const result = _screenReaderEnabledListener(); } const _focusLockedNativeIDGroups = self._focusLockedNativeIDGroups; _focusLockedNativeIDGroups.clear(); const result1 = self._updateAccessibilityFocusLock(); } enableAccessibilityFocusLock(items) { if (0 === items.length) { logger.error("No target view nativeIDs to add."); } const self = this; const _focusLockedNativeIDGroups = this._focusLockedNativeIDGroups; const values = _focusLockedNativeIDGroups.values(); const iter = values[Symbol.iterator](); const nextResult = iter.next(); while (iter !== undefined) { for (const item10024 of nextResult) { let tmp7 = item10024; if (items.includes(item10024)) { let _HermesInternal = HermesInternal; let errorResult1 = logger.error("Duplicate target view nativeID " + tmp7 + " already accessibility focus locked."); } continue; } continue; } const _focusLockedNativeIDGroups2 = self._focusLockedNativeIDGroups; const result = _focusLockedNativeIDGroups2.set(items[0], items); const result1 = self._updateAccessibilityFocusLock(true); } disableAccessibilityFocusLock(items1) { if (0 === items1.length) { logger.error("No target view nativeIDs to remove."); } const self = this; const _focusLockedNativeIDGroups = this._focusLockedNativeIDGroups; if (!_focusLockedNativeIDGroups.has(items1[0])) { const _HermesInternal = HermesInternal; logger.error("No target view nativeID " + items1[0] + " accessibility focus locked."); } const _focusLockedNativeIDGroups2 = self._focusLockedNativeIDGroups; _focusLockedNativeIDGroups2.delete(items1[0]); const result = self._updateAccessibilityFocusLock(); } } const prototype = AccessibilityFocusLockManager.prototype; const accessibilityFocusLockManager = new AccessibilityFocusLockManager(); let result = size.fileFinishedImporting("modules/a11y/native/AccessibilityFocusLockManager.tsx"); export default accessibilityFocusLockManager;