Add spec for AccessibilityManager (#24894)
Summary: Part of https://github.com/facebook/react-native/issues/24875 ## Changelog [General] [Added] - Add TurboModule spec for AccessibilityManager Pull Request resolved: https://github.com/facebook/react-native/pull/24894 Reviewed By: rickhanlonii Differential Revision: D15471243 Pulled By: fkgozali fbshipit-source-id: 33f39d41d70da9380f29f2eb47e8c7682b323030
This commit is contained in:
Родитель
a3479c212a
Коммит
71461cb3dd
|
@ -10,12 +10,11 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
const NativeModules = require('../../BatchedBridge/NativeModules');
|
||||
import NativeAccessibilityManager from './NativeAccessibilityManager';
|
||||
|
||||
const Promise = require('../../Promise');
|
||||
const RCTDeviceEventEmitter = require('../../EventEmitter/RCTDeviceEventEmitter');
|
||||
|
||||
const AccessibilityManager = NativeModules.AccessibilityManager;
|
||||
|
||||
const CHANGE_EVENT_NAME = {
|
||||
announcementFinished: 'announcementFinished',
|
||||
boldTextChanged: 'boldTextChanged',
|
||||
|
@ -59,7 +58,11 @@ const AccessibilityInfo = {
|
|||
*/
|
||||
isBoldTextEnabled: function(): Promise<boolean> {
|
||||
return new Promise((resolve, reject) => {
|
||||
AccessibilityManager.getCurrentBoldTextState(resolve, reject);
|
||||
if (NativeAccessibilityManager) {
|
||||
NativeAccessibilityManager.getCurrentBoldTextState(resolve, reject);
|
||||
} else {
|
||||
reject(reject);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -73,7 +76,11 @@ const AccessibilityInfo = {
|
|||
*/
|
||||
isGrayscaleEnabled: function(): Promise<boolean> {
|
||||
return new Promise((resolve, reject) => {
|
||||
AccessibilityManager.getCurrentGrayscaleState(resolve, reject);
|
||||
if (NativeAccessibilityManager) {
|
||||
NativeAccessibilityManager.getCurrentGrayscaleState(resolve, reject);
|
||||
} else {
|
||||
reject(reject);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -87,7 +94,11 @@ const AccessibilityInfo = {
|
|||
*/
|
||||
isInvertColorsEnabled: function(): Promise<boolean> {
|
||||
return new Promise((resolve, reject) => {
|
||||
AccessibilityManager.getCurrentInvertColorsState(resolve, reject);
|
||||
if (NativeAccessibilityManager) {
|
||||
NativeAccessibilityManager.getCurrentInvertColorsState(resolve, reject);
|
||||
} else {
|
||||
reject(reject);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -101,7 +112,11 @@ const AccessibilityInfo = {
|
|||
*/
|
||||
isReduceMotionEnabled: function(): Promise<boolean> {
|
||||
return new Promise((resolve, reject) => {
|
||||
AccessibilityManager.getCurrentReduceMotionState(resolve, reject);
|
||||
if (NativeAccessibilityManager) {
|
||||
NativeAccessibilityManager.getCurrentReduceMotionState(resolve, reject);
|
||||
} else {
|
||||
reject(reject);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -115,7 +130,14 @@ const AccessibilityInfo = {
|
|||
*/
|
||||
isReduceTransparencyEnabled: function(): Promise<boolean> {
|
||||
return new Promise((resolve, reject) => {
|
||||
AccessibilityManager.getCurrentReduceTransparencyState(resolve, reject);
|
||||
if (NativeAccessibilityManager) {
|
||||
NativeAccessibilityManager.getCurrentReduceTransparencyState(
|
||||
resolve,
|
||||
reject,
|
||||
);
|
||||
} else {
|
||||
reject(reject);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -129,7 +151,11 @@ const AccessibilityInfo = {
|
|||
*/
|
||||
isScreenReaderEnabled: function(): Promise<boolean> {
|
||||
return new Promise((resolve, reject) => {
|
||||
AccessibilityManager.getCurrentVoiceOverState(resolve, reject);
|
||||
if (NativeAccessibilityManager) {
|
||||
NativeAccessibilityManager.getCurrentVoiceOverState(resolve, reject);
|
||||
} else {
|
||||
reject(reject);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -204,7 +230,9 @@ const AccessibilityInfo = {
|
|||
* See http://facebook.github.io/react-native/docs/accessibilityinfo.html#setaccessibilityfocus
|
||||
*/
|
||||
setAccessibilityFocus: function(reactTag: number): void {
|
||||
AccessibilityManager.setAccessibilityFocus(reactTag);
|
||||
if (NativeAccessibilityManager) {
|
||||
NativeAccessibilityManager.setAccessibilityFocus(reactTag);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -213,7 +241,9 @@ const AccessibilityInfo = {
|
|||
* See http://facebook.github.io/react-native/docs/accessibilityinfo.html#announceforaccessibility
|
||||
*/
|
||||
announceForAccessibility: function(announcement: string): void {
|
||||
AccessibilityManager.announceForAccessibility(announcement);
|
||||
if (NativeAccessibilityManager) {
|
||||
NativeAccessibilityManager.announceForAccessibility(announcement);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @flow
|
||||
* @format
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import type {TurboModule} from 'RCTExport';
|
||||
import * as TurboModuleRegistry from 'TurboModuleRegistry';
|
||||
|
||||
export interface Spec extends TurboModule {
|
||||
+getCurrentBoldTextState: (
|
||||
onSuccess: (isBoldTextEnabled: boolean) => void,
|
||||
onError: (error: Object) => void,
|
||||
) => void;
|
||||
+getCurrentGrayscaleState: (
|
||||
onSuccess: (isGrayscaleEnabled: boolean) => void,
|
||||
onError: (error: Object) => void,
|
||||
) => void;
|
||||
+getCurrentInvertColorsState: (
|
||||
onSuccess: (isInvertColorsEnabled: boolean) => void,
|
||||
onError: (error: Object) => void,
|
||||
) => void;
|
||||
+getCurrentReduceMotionState: (
|
||||
onSuccess: (isReduceMotionEnabled: boolean) => void,
|
||||
onError: (error: Object) => void,
|
||||
) => void;
|
||||
+getCurrentReduceTransparencyState: (
|
||||
onSuccess: (isReduceTransparencyEnabled: boolean) => void,
|
||||
onError: (error: Object) => void,
|
||||
) => void;
|
||||
+getCurrentVoiceOverState: (
|
||||
onSuccess: (isScreenReaderEnabled: boolean) => void,
|
||||
onError: (error: Object) => void,
|
||||
) => void;
|
||||
+setAccessibilityFocus: (reactTag: number) => void;
|
||||
+announceForAccessibility: (announcement: string) => void;
|
||||
}
|
||||
|
||||
export default TurboModuleRegistry.get<Spec>('AccessibilityManager');
|
Загрузка…
Ссылка в новой задаче