// Metro module 13499 (f13500). import { AccessibilityInfo, Appearance } from "react-native"; import AccessibilityStore from "../AccessibilityStore"; import { AnalyticEvents } from "../../../Constants"; import { SystemTheme } from "../../user_settings/ThemeConstants"; import AccessibilitySystemFeatures from "./AccessibilitySystemFeatures"; import Dispatcher from "../../../Dispatcher"; import AnalyticsUtils from "../../../utils/AnalyticsUtils"; import { updateSaturation } from "../../themes/native/updateSaturation"; import updateSharedValueIfChanged_native from "../../reanimated/utils/updateSharedValueIfChanged.native"; import { accessibilityPreferencesSharedValue } from "./AccessibilityPreferencesSharedValue"; import { setSystemTheme } from "../../user_settings/ThemeActionCreators"; import { AccessibilityAnnouncer } from "../../../design/shared"; const r27 = { init: function init() { AccessibilitySystemFeatures.init(); this.updateNativeColors(); this.updateMotionSettings(); AccessibilityStore.addChangeListener(this.updateNativeColors); AccessibilityStore.addChangeListener(this.updateMotionSettings); Dispatcher.subscribe("CONNECTION_OPEN", this.updateMotionSettings); Appearance.addChangeListener(this.updateSystemAppearance); AccessibilityInfo.addEventListener("screenReaderChanged", (a0) => { this.updateScreenReaderEnabled(a0); }); Dispatcher.subscribe("ACCESSIBILITY_COLORBLIND_TOGGLE", () => { AnalyticsUtils.track(AnalyticEvents.LOCAL_SETTINGS_UPDATED, { colorblind_enabled: AccessibilityStore.colorblindMode }); }); this.startAnnouncementQueue(); }, updateNativeColors: () => { updateSaturation(AccessibilityStore.saturation); }, updateMotionSettings: () => { updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, { reduceMotion: AccessibilityStore.useReducedMotion, prefersCrossfades: AccessibilityStore.systemPrefersCrossfades }); }, checkScreenreaderEnabled: async function checkScreenreaderEnabled() { const _this = this; let c27478_1; c27478_1 = void 0; let c30632_0 = await AccessibilityInfo.isScreenReaderEnabled(); _this.updateScreenReaderEnabled(c30632_0); }, updateScreenReaderEnabled: (a0) => { updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, { screenReaderEnabled: a0 }); }, updateSystemAppearance: (a0) => { let NO_PREFERENCE = SystemTheme.NO_PREFERENCE; const colorScheme = a0.colorScheme; if (colorScheme === "light") { NO_PREFERENCE = SystemTheme.LIGHT; } else if (colorScheme === "dark") { NO_PREFERENCE = SystemTheme.DARK; } setSystemTheme(NO_PREFERENCE); }, startAnnouncementQueue: () => { let c20500_0 = new Set(); AccessibilityInfo.addEventListener("announcementFinished", (a0) => { if (!a0.success) { if (!c20500_0.has(a0.announcement)) { c20500_0.add(a0.announcement); setTimeout(() => { AccessibilityAnnouncer.announce(a0.announcement); }, 150); } else { c20500_0.delete(a0.announcement); } } else { c20500_0.delete(a0.announcement); } }); } }; export default r27;