UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

43 lines 2.04 kB
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useAccessibilityServiceEnabled = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _reactNative = require("react-native"); var _AccessibilityContext = require("../../contexts/accessibilityContext/AccessibilityContext"); var useAccessibilityServiceEnabled = () => { var _useAccessibilityCont = (0, _AccessibilityContext.useAccessibilityContext)(), enabled = _useAccessibilityCont.enabled; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2.default)(_useState, 2), isEnabled = _useState2[0], setIsEnabled = _useState2[1]; (0, _react.useEffect)(() => { if (_reactNative.Platform.OS !== 'android' || !enabled) { setIsEnabled(false); return; } var cancelled = false; var refresh = () => { _reactNative.AccessibilityInfo.isAccessibilityServiceEnabled == null || _reactNative.AccessibilityInfo.isAccessibilityServiceEnabled().then(value => { if (!cancelled) setIsEnabled(value); }).catch(() => {}); }; refresh(); var screenReaderSubscription = _reactNative.AccessibilityInfo.addEventListener('screenReaderChanged', refresh); var appStateSubscription = _reactNative.AppState.addEventListener('change', state => { if (state === 'active') refresh(); }); return () => { cancelled = true; screenReaderSubscription == null || screenReaderSubscription.remove == null || screenReaderSubscription.remove(); appStateSubscription == null || appStateSubscription.remove == null || appStateSubscription.remove(); }; }, [enabled]); if (_reactNative.Platform.OS !== 'android' || !enabled) return false; return isEnabled; }; exports.useAccessibilityServiceEnabled = useAccessibilityServiceEnabled; //# sourceMappingURL=useAccessibilityServiceEnabled.js.map