Skip to content

Commit 21890e9

Browse files
dbarr33facebook-github-bot
authored andcommitted
Fix onPress prop for Touchable Components being called twice on Android Tv (#26474)
Summary: Due to an update to react-native on the android tv platform tapping the select button on a remote calls the onPress prop twice for `TouchableHighlight`, `TouchableOpacity`, and `TouchableWithoutFeedback`. This is happening because touchableHandlePress gets called from two places. First from the onClick prop in the touchable component and second from the TVEventHandler in the TouchableMixin. ## Changelog [Android] [Fixed] - Adds a not android check to the select case of the TVEventHandler callback in the TouchableMixin. Pull Request resolved: #26474 Test Plan: Confirmed on Android Tv and Apple Tv 1) Add a TouchableOpacity to a screen with an onPress callback 2) Run app 3) Focus the TouchableOpacity 4) Press the Select Button on the Remote **Expected Results** onPress is called once Differential Revision: D17530170 Pulled By: TheSavior fbshipit-source-id: b776faba477c6231ad296abd21f072335dca5556
1 parent 211ea48 commit 21890e9

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Libraries/Components/Touchable/Touchable.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ const TouchableMixin = {
380380
cmp.touchableHandleFocus(evt);
381381
} else if (evt.eventType === 'blur') {
382382
cmp.touchableHandleBlur(evt);
383-
} else if (evt.eventType === 'select') {
383+
} else if (evt.eventType === 'select' && Platform.OS !== 'android') {
384384
cmp.touchableHandlePress &&
385385
!cmp.props.disabled &&
386386
cmp.touchableHandlePress(evt);

0 commit comments

Comments
 (0)