From 86001da7bdd8a2006b4ecc72adfd87b7e2a511c7 Mon Sep 17 00:00:00 2001 From: Xin Chen Date: Tue, 21 Dec 2021 11:54:28 -0800 Subject: [PATCH] Use hit test algorithm updates for fabric only Summary: This diff gates the useage of overflowinset to hit test algorithm to fabric renderer only. Changelog: [Internal][Android] - Use overflowInset for fabric only Reviewed By: JoshuaGross, mdvacca Differential Revision: D33237281 fbshipit-source-id: e5cd78ee97f62f100d42d016241d1544fb0953ad --- .../com/facebook/react/uimanager/TouchTargetHelper.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java index 68338ffcf9..567f576c38 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java @@ -7,6 +7,8 @@ package com.facebook.react.uimanager; +import static com.facebook.react.uimanager.common.UIManagerType.FABRIC; + import android.annotation.SuppressLint; import android.graphics.Matrix; import android.graphics.PointF; @@ -19,6 +21,7 @@ import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.config.ReactFeatureFlags; import com.facebook.react.touch.ReactHitSlopView; +import com.facebook.react.uimanager.common.ViewUtil; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; @@ -186,7 +189,8 @@ public class TouchTargetHelper { if (view instanceof ReactOverflowViewWithInset) { // If the touch point is outside of the overflowinset for the view, we can safely ignore // it. - if (ReactFeatureFlags.doesUseOverflowInset() + if (ViewUtil.getUIManagerType(view.getId()) == FABRIC + && ReactFeatureFlags.doesUseOverflowInset() && !isTouchPointInViewWithOverflowInset(eventCoords[0], eventCoords[1], view)) { return null; }