Skip to content

Commit 9718c17

Browse files
genkikondofacebook-github-bot
authored andcommitted
Fix EventAnimationDriverMatchSpec to match non-bubbling pointer events
Summary: Changelog: [Android][Internal] - Fix EventAnimationDriverMatchSpec to match against the view that generated the event for non-bubbling pointer events. This should have no effect if you are not using PointerEvents Reviewed By: mdvacca Differential Revision: D43413771 fbshipit-source-id: 31ac751b3d3d55eb44d3a9ab54e5fb387dcaa9b3
1 parent 74cb607 commit 9718c17

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -124,18 +124,21 @@ public Event.EventAnimationDriverMatchSpec getEventAnimationDriverMatchSpec() {
124124
new EventAnimationDriverMatchSpec() {
125125
@Override
126126
public boolean match(int viewTag, String eventName) {
127-
if (!eventName.equals(mEventName) || !PointerEventHelper.isBubblingEvent(eventName)) {
127+
if (!eventName.equals(mEventName)) {
128128
return false;
129129
}
130130

131-
List<TouchTargetHelper.ViewTarget> viewTargets =
132-
mEventState.getHitPathForActivePointer();
133-
for (TouchTargetHelper.ViewTarget viewTarget : viewTargets) {
134-
if (viewTarget.getViewId() == viewTag) {
135-
return true;
131+
if (PointerEventHelper.isBubblingEvent(eventName)) {
132+
for (TouchTargetHelper.ViewTarget viewTarget :
133+
mEventState.getHitPathForActivePointer()) {
134+
if (viewTarget.getViewId() == viewTag) {
135+
return true;
136+
}
136137
}
138+
return false;
139+
} else {
140+
return getViewTag() == viewTag;
137141
}
138-
return false;
139142
}
140143
};
141144
}

0 commit comments

Comments
 (0)