Make AccessibilityInfo.setAccessibilityFocus cross platform (#20229)

Summary:
Currently, `AccessibilityInfo.setAccessibilityFocus` is only available on iOS. The same behaviour can be achieved on Android by dispatching the proper accessibility event. I implemented the same function for Android, to make life slightly more convenient for the developer.

Today, developers must write something like this:
```
if (Platform.OS === 'ios') {
     AccessibilityInfo.setAccessibilityFocus(reactTag)
} else {
     UIManager.sendAccessibilityEvent(reactTag, 8)
}
```

With this change, the following is enough for both Android and iOS:
```
AccessibilityInfo.setAccessibilityFocus(reactTag)
```
Pull Request resolved: https://github.com/facebook/react-native/pull/20229

Differential Revision: D8874107

Pulled By: mdvacca

fbshipit-source-id: a6ffd7bb89ce56d6d65b06419633a71dcf3d0733
This commit is contained in:
Mats Byrkeland
2018-07-18 17:13:56 -07:00
committed by Facebook Github Bot
parent 7ff7572e5c
commit be715ec705
3 changed files with 15 additions and 2 deletions

View File

@@ -134,6 +134,8 @@ import java.util.Map;
MapBuilder.of(
"typeWindowStateChanged",
AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED,
"typeViewFocused",
AccessibilityEvent.TYPE_VIEW_FOCUSED,
"typeViewClicked",
AccessibilityEvent.TYPE_VIEW_CLICKED));