Skip to content

Commit

Permalink
Add specs for AccessibilityInfo (#24891)
Browse files Browse the repository at this point in the history
Summary:
Part of #24875

## Changelog

[General] [Added] - Add TurboModule spec for AccessibilityInfo
Pull Request resolved: #24891

Reviewed By: fkgozali

Differential Revision: D15394913

Pulled By: RSNara

fbshipit-source-id: e66e7b7fc4451575b5022695f125c15f9f4b707e
  • Loading branch information
michalchudziak authored and facebook-github-bot committed May 22, 2019
1 parent 342c81d commit 67c3ed3
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@

'use strict';

const NativeModules = require('../../BatchedBridge/NativeModules');
import NativeAccessibilityInfo from './NativeAccessibilityInfo';

const RCTDeviceEventEmitter = require('../../EventEmitter/RCTDeviceEventEmitter');
const UIManager = require('../../ReactNative/UIManager');

const RCTAccessibilityInfo = NativeModules.AccessibilityInfo;

const REDUCE_MOTION_EVENT = 'reduceMotionDidChange';
const TOUCH_EXPLORATION_EVENT = 'touchExplorationDidChange';

Expand Down Expand Up @@ -61,7 +60,11 @@ const AccessibilityInfo = {

isReduceMotionEnabled: function(): Promise<boolean> {
return new Promise((resolve, reject) => {
RCTAccessibilityInfo.isReduceMotionEnabled(resolve);
if (NativeAccessibilityInfo) {
NativeAccessibilityInfo.isReduceMotionEnabled(resolve);
} else {
reject(false);
}
});
},

Expand All @@ -74,7 +77,11 @@ const AccessibilityInfo = {

isScreenReaderEnabled: function(): Promise<boolean> {
return new Promise((resolve, reject) => {
RCTAccessibilityInfo.isTouchExplorationEnabled(resolve);
if (NativeAccessibilityInfo) {
NativeAccessibilityInfo.isTouchExplorationEnabled(resolve);
} else {
reject(false);
}
});
},

Expand Down Expand Up @@ -142,7 +149,9 @@ const AccessibilityInfo = {
* See http://facebook.github.io/react-native/docs/accessibilityinfo.html#announceforaccessibility
*/
announceForAccessibility: function(announcement: string): void {
RCTAccessibilityInfo.announceForAccessibility(announcement);
if (NativeAccessibilityInfo) {
NativeAccessibilityInfo.announceForAccessibility(announcement);
}
},
};

Expand Down
27 changes: 27 additions & 0 deletions Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/**
* 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 {
+isReduceMotionEnabled: (
onSuccess: (isReduceMotionEnabled: boolean) => void,
) => void;
+isTouchExplorationEnabled: (
onSuccess: (isScreenReaderEnabled: boolean) => void,
) => void;
+setAccessibilityFocus: (reactTag: number) => void;
+announceForAccessibility: (announcement: string) => void;
}

export default TurboModuleRegistry.get<Spec>('AccessibilityInfo');

0 comments on commit 67c3ed3

Please sign in to comment.