Skip to content

Commit

Permalink
Revert D61298649
Browse files Browse the repository at this point in the history
Summary: Changelog: [Internal]

Reviewed By: cyan33

Differential Revision: D61550740
  • Loading branch information
Dark Knight authored and facebook-github-bot committed Aug 20, 2024
1 parent efa9711 commit a5e043f
Showing 1 changed file with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,14 @@ public void handleMotionEvent(

PointerEventState eventState = createEventState(activePointerId, motionEvent);

boolean isExitFromRoot = motionEvent.getActionMasked() == MotionEvent.ACTION_HOVER_EXIT;
// We've empirically determined that when we get a ACTION_HOVER_EXIT from the root view on the
// `onInterceptHoverEvent`, this means we've exited the root view.
// This logic may be wrong but reasoning about the dispatch sequence for HOVER_ENTER/HOVER_EXIT
// doesn't follow the capture/bubbling sequence like other MotionEvents. See:
// https://developer.android.com/reference/android/view/MotionEvent#ACTION_HOVER_ENTER
// https://suragch.medium.com/how-touch-events-are-delivered-in-android-eee3b607b038
boolean isExitFromRoot =
isCapture && motionEvent.getActionMasked() == MotionEvent.ACTION_HOVER_EXIT;

// Calculate the targetTag, with special handling for when we exit the root view. In that case,
// we use the root viewId of the last event
Expand Down

0 comments on commit a5e043f

Please sign in to comment.