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
This commit is contained in:
Xin Chen 2021-12-21 11:54:28 -08:00 коммит произвёл Facebook GitHub Bot
Родитель 8583d39327
Коммит 86001da7bd
1 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@ -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;
}