diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt index 1423b5138c8e99..6bff15b1c8b73e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<01a8372ee4b908995e2c70eb7a972a39>> */ /** @@ -414,12 +414,6 @@ public object ReactNativeFeatureFlags { @JvmStatic public fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean = accessor.shouldPressibilityUseW3CPointerEventsForHover() - /** - * Reset isClickable to false when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling. - */ - @JvmStatic - public fun shouldResetClickableWhenRecyclingView(): Boolean = accessor.shouldResetClickableWhenRecyclingView() - /** * Reset OnClickListener to null when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling. */ @@ -432,12 +426,6 @@ public object ReactNativeFeatureFlags { @JvmStatic public fun shouldSetEnabledBasedOnAccessibilityState(): Boolean = accessor.shouldSetEnabledBasedOnAccessibilityState() - /** - * Sets isClickable=true by default on all React Native views on Android to improve UI harvesting detection while maintaining focusable=false to preserve expected behavior. - */ - @JvmStatic - public fun shouldSetIsClickableByDefault(): Boolean = accessor.shouldSetIsClickableByDefault() - /** * Do not emit touchcancel from Android ScrollView, instead native topScroll event will trigger responder transfer and terminate in RN renderer. */ diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt index c9d8e1f41c3839..977ea128cc0676 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<907fd6d60faaeb4c28ffd3b40928347e>> + * @generated SignedSource<<397c978a91e1815389ce7162d7ce0181>> */ /** @@ -84,10 +84,8 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces private var preparedTextCacheSizeCache: Double? = null private var preventShadowTreeCommitExhaustionCache: Boolean? = null private var shouldPressibilityUseW3CPointerEventsForHoverCache: Boolean? = null - private var shouldResetClickableWhenRecyclingViewCache: Boolean? = null private var shouldResetOnClickListenerWhenRecyclingViewCache: Boolean? = null private var shouldSetEnabledBasedOnAccessibilityStateCache: Boolean? = null - private var shouldSetIsClickableByDefaultCache: Boolean? = null private var shouldTriggerResponderTransferOnScrollAndroidCache: Boolean? = null private var skipActivityIdentityAssertionOnHostPauseCache: Boolean? = null private var traceTurboModulePromiseRejectionsOnAndroidCache: Boolean? = null @@ -679,15 +677,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces return cached } - override fun shouldResetClickableWhenRecyclingView(): Boolean { - var cached = shouldResetClickableWhenRecyclingViewCache - if (cached == null) { - cached = ReactNativeFeatureFlagsCxxInterop.shouldResetClickableWhenRecyclingView() - shouldResetClickableWhenRecyclingViewCache = cached - } - return cached - } - override fun shouldResetOnClickListenerWhenRecyclingView(): Boolean { var cached = shouldResetOnClickListenerWhenRecyclingViewCache if (cached == null) { @@ -706,15 +695,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces return cached } - override fun shouldSetIsClickableByDefault(): Boolean { - var cached = shouldSetIsClickableByDefaultCache - if (cached == null) { - cached = ReactNativeFeatureFlagsCxxInterop.shouldSetIsClickableByDefault() - shouldSetIsClickableByDefaultCache = cached - } - return cached - } - override fun shouldTriggerResponderTransferOnScrollAndroid(): Boolean { var cached = shouldTriggerResponderTransferOnScrollAndroidCache if (cached == null) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt index 7916655f7630e5..66730abed0974b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<497416e09c55455dccb439c15955ee00>> + * @generated SignedSource<<4f4cfab3f3d91fba4ea661a17dca0cb9>> */ /** @@ -156,14 +156,10 @@ public object ReactNativeFeatureFlagsCxxInterop { @DoNotStrip @JvmStatic public external fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean - @DoNotStrip @JvmStatic public external fun shouldResetClickableWhenRecyclingView(): Boolean - @DoNotStrip @JvmStatic public external fun shouldResetOnClickListenerWhenRecyclingView(): Boolean @DoNotStrip @JvmStatic public external fun shouldSetEnabledBasedOnAccessibilityState(): Boolean - @DoNotStrip @JvmStatic public external fun shouldSetIsClickableByDefault(): Boolean - @DoNotStrip @JvmStatic public external fun shouldTriggerResponderTransferOnScrollAndroid(): Boolean @DoNotStrip @JvmStatic public external fun skipActivityIdentityAssertionOnHostPause(): Boolean diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt index 3d7d63185eb579..110d72a9c43d32 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<26eb9af61fedaacaadc23a8698ff6117>> + * @generated SignedSource<> */ /** @@ -151,14 +151,10 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi override fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean = false - override fun shouldResetClickableWhenRecyclingView(): Boolean = true - override fun shouldResetOnClickListenerWhenRecyclingView(): Boolean = true override fun shouldSetEnabledBasedOnAccessibilityState(): Boolean = true - override fun shouldSetIsClickableByDefault(): Boolean = false - override fun shouldTriggerResponderTransferOnScrollAndroid(): Boolean = false override fun skipActivityIdentityAssertionOnHostPause(): Boolean = false diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt index fdf4a97a0960e7..c813d8a4400e88 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<77669091f5fbd91a7be1693375163c0c>> */ /** @@ -88,10 +88,8 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc private var preparedTextCacheSizeCache: Double? = null private var preventShadowTreeCommitExhaustionCache: Boolean? = null private var shouldPressibilityUseW3CPointerEventsForHoverCache: Boolean? = null - private var shouldResetClickableWhenRecyclingViewCache: Boolean? = null private var shouldResetOnClickListenerWhenRecyclingViewCache: Boolean? = null private var shouldSetEnabledBasedOnAccessibilityStateCache: Boolean? = null - private var shouldSetIsClickableByDefaultCache: Boolean? = null private var shouldTriggerResponderTransferOnScrollAndroidCache: Boolean? = null private var skipActivityIdentityAssertionOnHostPauseCache: Boolean? = null private var traceTurboModulePromiseRejectionsOnAndroidCache: Boolean? = null @@ -747,16 +745,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc return cached } - override fun shouldResetClickableWhenRecyclingView(): Boolean { - var cached = shouldResetClickableWhenRecyclingViewCache - if (cached == null) { - cached = currentProvider.shouldResetClickableWhenRecyclingView() - accessedFeatureFlags.add("shouldResetClickableWhenRecyclingView") - shouldResetClickableWhenRecyclingViewCache = cached - } - return cached - } - override fun shouldResetOnClickListenerWhenRecyclingView(): Boolean { var cached = shouldResetOnClickListenerWhenRecyclingViewCache if (cached == null) { @@ -777,16 +765,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc return cached } - override fun shouldSetIsClickableByDefault(): Boolean { - var cached = shouldSetIsClickableByDefaultCache - if (cached == null) { - cached = currentProvider.shouldSetIsClickableByDefault() - accessedFeatureFlags.add("shouldSetIsClickableByDefault") - shouldSetIsClickableByDefaultCache = cached - } - return cached - } - override fun shouldTriggerResponderTransferOnScrollAndroid(): Boolean { var cached = shouldTriggerResponderTransferOnScrollAndroidCache if (cached == null) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt index c8f8a345f2db90..12c3ac999f0edf 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<> */ /** @@ -151,14 +151,10 @@ public interface ReactNativeFeatureFlagsProvider { @DoNotStrip public fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean - @DoNotStrip public fun shouldResetClickableWhenRecyclingView(): Boolean - @DoNotStrip public fun shouldResetOnClickListenerWhenRecyclingView(): Boolean @DoNotStrip public fun shouldSetEnabledBasedOnAccessibilityState(): Boolean - @DoNotStrip public fun shouldSetIsClickableByDefault(): Boolean - @DoNotStrip public fun shouldTriggerResponderTransferOnScrollAndroid(): Boolean @DoNotStrip public fun skipActivityIdentityAssertionOnHostPause(): Boolean diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java index 9455615e0d5ff9..9960314a4c6605 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java @@ -16,7 +16,6 @@ import android.view.ViewGroup; import android.view.ViewParent; import android.view.accessibility.AccessibilityEvent; -import android.widget.TextView; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -155,10 +154,7 @@ public BaseViewManager(@Nullable ReactApplicationContext reactContext) { if (ReactNativeFeatureFlags.shouldResetOnClickListenerWhenRecyclingView()) { view.setOnClickListener(null); } - if (ReactNativeFeatureFlags.shouldResetClickableWhenRecyclingView()) { - view.setClickable( - ReactNativeFeatureFlags.shouldSetIsClickableByDefault() && !(view instanceof TextView)); - } + view.setClickable(false); view.setFocusable(false); view.setFocusableInTouchMode(false); @@ -688,7 +684,6 @@ protected void updateViewAccessibility(@NonNull T view) { @Override protected void onAfterUpdateTransaction(@NonNull T view) { super.onAfterUpdateTransaction(view); - configureClickableState(view); updateViewAccessibility(view); Boolean invalidateTransform = (Boolean) view.getTag(R.id.invalidate_transform); @@ -1022,31 +1017,6 @@ public void setTouchCancel(@NonNull T view, boolean value) { // Please add new props to BaseViewManagerDelegate as well! - private static void configureClickableState(@NonNull T view) { - if (!ReactNativeFeatureFlags.shouldSetIsClickableByDefault()) { - return; - } - - boolean shouldBeClickable; - if (view instanceof ReactPointerEventsView) { - shouldBeClickable = - PointerEvents.canBeTouchTarget(((ReactPointerEventsView) view).getPointerEvents()); - } else if (view instanceof TextView) { - shouldBeClickable = view.hasOnClickListeners(); - } else { - shouldBeClickable = true; - } - - // NOTE: In Android O+, setClickable(true) has the side effect of setting focusable=true. - // We need to preserve the original focusable state to respect the focusable prop. - boolean wasFocusable = view.isFocusable(); - boolean wasFocusableInTouchMode = view.isFocusableInTouchMode(); - - view.setClickable(shouldBeClickable); - view.setFocusable(wasFocusable); - view.setFocusableInTouchMode(wasFocusableInTouchMode); - } - /** * A helper class to keep track of the original focus change listener if one is set. This is * especially helpful for views that are recycled so we can retain and restore the original diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp index 5061d1c758c089..3cc2ead539cec7 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<4e42a02fba11d92d390e1e60de492214>> + * @generated SignedSource<<212a64efdf912e89b8330b292a8bccb5>> */ /** @@ -423,12 +423,6 @@ class ReactNativeFeatureFlagsJavaProvider return method(javaProvider_); } - bool shouldResetClickableWhenRecyclingView() override { - static const auto method = - getReactNativeFeatureFlagsProviderJavaClass()->getMethod("shouldResetClickableWhenRecyclingView"); - return method(javaProvider_); - } - bool shouldResetOnClickListenerWhenRecyclingView() override { static const auto method = getReactNativeFeatureFlagsProviderJavaClass()->getMethod("shouldResetOnClickListenerWhenRecyclingView"); @@ -441,12 +435,6 @@ class ReactNativeFeatureFlagsJavaProvider return method(javaProvider_); } - bool shouldSetIsClickableByDefault() override { - static const auto method = - getReactNativeFeatureFlagsProviderJavaClass()->getMethod("shouldSetIsClickableByDefault"); - return method(javaProvider_); - } - bool shouldTriggerResponderTransferOnScrollAndroid() override { static const auto method = getReactNativeFeatureFlagsProviderJavaClass()->getMethod("shouldTriggerResponderTransferOnScrollAndroid"); @@ -855,11 +843,6 @@ bool JReactNativeFeatureFlagsCxxInterop::shouldPressibilityUseW3CPointerEventsFo return ReactNativeFeatureFlags::shouldPressibilityUseW3CPointerEventsForHover(); } -bool JReactNativeFeatureFlagsCxxInterop::shouldResetClickableWhenRecyclingView( - facebook::jni::alias_ref /*unused*/) { - return ReactNativeFeatureFlags::shouldResetClickableWhenRecyclingView(); -} - bool JReactNativeFeatureFlagsCxxInterop::shouldResetOnClickListenerWhenRecyclingView( facebook::jni::alias_ref /*unused*/) { return ReactNativeFeatureFlags::shouldResetOnClickListenerWhenRecyclingView(); @@ -870,11 +853,6 @@ bool JReactNativeFeatureFlagsCxxInterop::shouldSetEnabledBasedOnAccessibilitySta return ReactNativeFeatureFlags::shouldSetEnabledBasedOnAccessibilityState(); } -bool JReactNativeFeatureFlagsCxxInterop::shouldSetIsClickableByDefault( - facebook::jni::alias_ref /*unused*/) { - return ReactNativeFeatureFlags::shouldSetIsClickableByDefault(); -} - bool JReactNativeFeatureFlagsCxxInterop::shouldTriggerResponderTransferOnScrollAndroid( facebook::jni::alias_ref /*unused*/) { return ReactNativeFeatureFlags::shouldTriggerResponderTransferOnScrollAndroid(); @@ -1168,18 +1146,12 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() { makeNativeMethod( "shouldPressibilityUseW3CPointerEventsForHover", JReactNativeFeatureFlagsCxxInterop::shouldPressibilityUseW3CPointerEventsForHover), - makeNativeMethod( - "shouldResetClickableWhenRecyclingView", - JReactNativeFeatureFlagsCxxInterop::shouldResetClickableWhenRecyclingView), makeNativeMethod( "shouldResetOnClickListenerWhenRecyclingView", JReactNativeFeatureFlagsCxxInterop::shouldResetOnClickListenerWhenRecyclingView), makeNativeMethod( "shouldSetEnabledBasedOnAccessibilityState", JReactNativeFeatureFlagsCxxInterop::shouldSetEnabledBasedOnAccessibilityState), - makeNativeMethod( - "shouldSetIsClickableByDefault", - JReactNativeFeatureFlagsCxxInterop::shouldSetIsClickableByDefault), makeNativeMethod( "shouldTriggerResponderTransferOnScrollAndroid", JReactNativeFeatureFlagsCxxInterop::shouldTriggerResponderTransferOnScrollAndroid), diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h index df10eaf2702788..caaabcac6d4378 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<51f172946b8ecb5c5d637112237a5b83>> + * @generated SignedSource<<010228a95e878a109f1aa3d13a0c7606>> */ /** @@ -222,18 +222,12 @@ class JReactNativeFeatureFlagsCxxInterop static bool shouldPressibilityUseW3CPointerEventsForHover( facebook::jni::alias_ref); - static bool shouldResetClickableWhenRecyclingView( - facebook::jni::alias_ref); - static bool shouldResetOnClickListenerWhenRecyclingView( facebook::jni::alias_ref); static bool shouldSetEnabledBasedOnAccessibilityState( facebook::jni::alias_ref); - static bool shouldSetIsClickableByDefault( - facebook::jni::alias_ref); - static bool shouldTriggerResponderTransferOnScrollAndroid( facebook::jni::alias_ref); diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp index d86c1afb4ba6ca..5ba43404b5da8c 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<8fa338ec73fcb7af019d877fd949543a>> */ /** @@ -282,10 +282,6 @@ bool ReactNativeFeatureFlags::shouldPressibilityUseW3CPointerEventsForHover() { return getAccessor().shouldPressibilityUseW3CPointerEventsForHover(); } -bool ReactNativeFeatureFlags::shouldResetClickableWhenRecyclingView() { - return getAccessor().shouldResetClickableWhenRecyclingView(); -} - bool ReactNativeFeatureFlags::shouldResetOnClickListenerWhenRecyclingView() { return getAccessor().shouldResetOnClickListenerWhenRecyclingView(); } @@ -294,10 +290,6 @@ bool ReactNativeFeatureFlags::shouldSetEnabledBasedOnAccessibilityState() { return getAccessor().shouldSetEnabledBasedOnAccessibilityState(); } -bool ReactNativeFeatureFlags::shouldSetIsClickableByDefault() { - return getAccessor().shouldSetIsClickableByDefault(); -} - bool ReactNativeFeatureFlags::shouldTriggerResponderTransferOnScrollAndroid() { return getAccessor().shouldTriggerResponderTransferOnScrollAndroid(); } diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h index 4be5081d0c293d..a9a1827d7b402a 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<6c608c49510a61153dd2c5c3e659930d>> + * @generated SignedSource<> */ /** @@ -359,11 +359,6 @@ class ReactNativeFeatureFlags { */ RN_EXPORT static bool shouldPressibilityUseW3CPointerEventsForHover(); - /** - * Reset isClickable to false when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling. - */ - RN_EXPORT static bool shouldResetClickableWhenRecyclingView(); - /** * Reset OnClickListener to null when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling. */ @@ -374,11 +369,6 @@ class ReactNativeFeatureFlags { */ RN_EXPORT static bool shouldSetEnabledBasedOnAccessibilityState(); - /** - * Sets isClickable=true by default on all React Native views on Android to improve UI harvesting detection while maintaining focusable=false to preserve expected behavior. - */ - RN_EXPORT static bool shouldSetIsClickableByDefault(); - /** * Do not emit touchcancel from Android ScrollView, instead native topScroll event will trigger responder transfer and terminate in RN renderer. */ diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp index 0782d33ee439dd..3c0ccb17c8813f 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<07ae9ccc85bb268bb3d06a71f63deca7>> */ /** @@ -1181,24 +1181,6 @@ bool ReactNativeFeatureFlagsAccessor::shouldPressibilityUseW3CPointerEventsForHo return flagValue.value(); } -bool ReactNativeFeatureFlagsAccessor::shouldResetClickableWhenRecyclingView() { - auto flagValue = shouldResetClickableWhenRecyclingView_.load(); - - if (!flagValue.has_value()) { - // This block is not exclusive but it is not necessary. - // If multiple threads try to initialize the feature flag, we would only - // be accessing the provider multiple times but the end state of this - // instance and the returned flag value would be the same. - - markFlagAsAccessed(64, "shouldResetClickableWhenRecyclingView"); - - flagValue = currentProvider_->shouldResetClickableWhenRecyclingView(); - shouldResetClickableWhenRecyclingView_ = flagValue; - } - - return flagValue.value(); -} - bool ReactNativeFeatureFlagsAccessor::shouldResetOnClickListenerWhenRecyclingView() { auto flagValue = shouldResetOnClickListenerWhenRecyclingView_.load(); @@ -1208,7 +1190,7 @@ bool ReactNativeFeatureFlagsAccessor::shouldResetOnClickListenerWhenRecyclingVie // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(65, "shouldResetOnClickListenerWhenRecyclingView"); + markFlagAsAccessed(64, "shouldResetOnClickListenerWhenRecyclingView"); flagValue = currentProvider_->shouldResetOnClickListenerWhenRecyclingView(); shouldResetOnClickListenerWhenRecyclingView_ = flagValue; @@ -1226,7 +1208,7 @@ bool ReactNativeFeatureFlagsAccessor::shouldSetEnabledBasedOnAccessibilityState( // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(66, "shouldSetEnabledBasedOnAccessibilityState"); + markFlagAsAccessed(65, "shouldSetEnabledBasedOnAccessibilityState"); flagValue = currentProvider_->shouldSetEnabledBasedOnAccessibilityState(); shouldSetEnabledBasedOnAccessibilityState_ = flagValue; @@ -1235,24 +1217,6 @@ bool ReactNativeFeatureFlagsAccessor::shouldSetEnabledBasedOnAccessibilityState( return flagValue.value(); } -bool ReactNativeFeatureFlagsAccessor::shouldSetIsClickableByDefault() { - auto flagValue = shouldSetIsClickableByDefault_.load(); - - if (!flagValue.has_value()) { - // This block is not exclusive but it is not necessary. - // If multiple threads try to initialize the feature flag, we would only - // be accessing the provider multiple times but the end state of this - // instance and the returned flag value would be the same. - - markFlagAsAccessed(67, "shouldSetIsClickableByDefault"); - - flagValue = currentProvider_->shouldSetIsClickableByDefault(); - shouldSetIsClickableByDefault_ = flagValue; - } - - return flagValue.value(); -} - bool ReactNativeFeatureFlagsAccessor::shouldTriggerResponderTransferOnScrollAndroid() { auto flagValue = shouldTriggerResponderTransferOnScrollAndroid_.load(); @@ -1262,7 +1226,7 @@ bool ReactNativeFeatureFlagsAccessor::shouldTriggerResponderTransferOnScrollAndr // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(68, "shouldTriggerResponderTransferOnScrollAndroid"); + markFlagAsAccessed(66, "shouldTriggerResponderTransferOnScrollAndroid"); flagValue = currentProvider_->shouldTriggerResponderTransferOnScrollAndroid(); shouldTriggerResponderTransferOnScrollAndroid_ = flagValue; @@ -1280,7 +1244,7 @@ bool ReactNativeFeatureFlagsAccessor::skipActivityIdentityAssertionOnHostPause() // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(69, "skipActivityIdentityAssertionOnHostPause"); + markFlagAsAccessed(67, "skipActivityIdentityAssertionOnHostPause"); flagValue = currentProvider_->skipActivityIdentityAssertionOnHostPause(); skipActivityIdentityAssertionOnHostPause_ = flagValue; @@ -1298,7 +1262,7 @@ bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(70, "traceTurboModulePromiseRejectionsOnAndroid"); + markFlagAsAccessed(68, "traceTurboModulePromiseRejectionsOnAndroid"); flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid(); traceTurboModulePromiseRejectionsOnAndroid_ = flagValue; @@ -1316,7 +1280,7 @@ bool ReactNativeFeatureFlagsAccessor::updateRuntimeShadowNodeReferencesOnCommit( // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(71, "updateRuntimeShadowNodeReferencesOnCommit"); + markFlagAsAccessed(69, "updateRuntimeShadowNodeReferencesOnCommit"); flagValue = currentProvider_->updateRuntimeShadowNodeReferencesOnCommit(); updateRuntimeShadowNodeReferencesOnCommit_ = flagValue; @@ -1334,7 +1298,7 @@ bool ReactNativeFeatureFlagsAccessor::useAlwaysAvailableJSErrorHandling() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(72, "useAlwaysAvailableJSErrorHandling"); + markFlagAsAccessed(70, "useAlwaysAvailableJSErrorHandling"); flagValue = currentProvider_->useAlwaysAvailableJSErrorHandling(); useAlwaysAvailableJSErrorHandling_ = flagValue; @@ -1352,7 +1316,7 @@ bool ReactNativeFeatureFlagsAccessor::useFabricInterop() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(73, "useFabricInterop"); + markFlagAsAccessed(71, "useFabricInterop"); flagValue = currentProvider_->useFabricInterop(); useFabricInterop_ = flagValue; @@ -1370,7 +1334,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(74, "useNativeViewConfigsInBridgelessMode"); + markFlagAsAccessed(72, "useNativeViewConfigsInBridgelessMode"); flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode(); useNativeViewConfigsInBridgelessMode_ = flagValue; @@ -1388,7 +1352,7 @@ bool ReactNativeFeatureFlagsAccessor::useShadowNodeStateOnClone() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(75, "useShadowNodeStateOnClone"); + markFlagAsAccessed(73, "useShadowNodeStateOnClone"); flagValue = currentProvider_->useShadowNodeStateOnClone(); useShadowNodeStateOnClone_ = flagValue; @@ -1406,7 +1370,7 @@ bool ReactNativeFeatureFlagsAccessor::useSharedAnimatedBackend() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(76, "useSharedAnimatedBackend"); + markFlagAsAccessed(74, "useSharedAnimatedBackend"); flagValue = currentProvider_->useSharedAnimatedBackend(); useSharedAnimatedBackend_ = flagValue; @@ -1424,7 +1388,7 @@ bool ReactNativeFeatureFlagsAccessor::useTraitHiddenOnAndroid() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(77, "useTraitHiddenOnAndroid"); + markFlagAsAccessed(75, "useTraitHiddenOnAndroid"); flagValue = currentProvider_->useTraitHiddenOnAndroid(); useTraitHiddenOnAndroid_ = flagValue; @@ -1442,7 +1406,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModuleInterop() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(78, "useTurboModuleInterop"); + markFlagAsAccessed(76, "useTurboModuleInterop"); flagValue = currentProvider_->useTurboModuleInterop(); useTurboModuleInterop_ = flagValue; @@ -1460,7 +1424,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModules() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(79, "useTurboModules"); + markFlagAsAccessed(77, "useTurboModules"); flagValue = currentProvider_->useTurboModules(); useTurboModules_ = flagValue; @@ -1478,7 +1442,7 @@ double ReactNativeFeatureFlagsAccessor::viewCullingOutsetRatio() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(80, "viewCullingOutsetRatio"); + markFlagAsAccessed(78, "viewCullingOutsetRatio"); flagValue = currentProvider_->viewCullingOutsetRatio(); viewCullingOutsetRatio_ = flagValue; @@ -1496,7 +1460,7 @@ double ReactNativeFeatureFlagsAccessor::virtualViewPrerenderRatio() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(81, "virtualViewPrerenderRatio"); + markFlagAsAccessed(79, "virtualViewPrerenderRatio"); flagValue = currentProvider_->virtualViewPrerenderRatio(); virtualViewPrerenderRatio_ = flagValue; diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h index 79276f8fd8a15c..99778b8b301cb5 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<3fed1e352144c1a440eaec5c66056964>> + * @generated SignedSource<<7415ff393e743bd3360bd51d169d490c>> */ /** @@ -96,10 +96,8 @@ class ReactNativeFeatureFlagsAccessor { double preparedTextCacheSize(); bool preventShadowTreeCommitExhaustion(); bool shouldPressibilityUseW3CPointerEventsForHover(); - bool shouldResetClickableWhenRecyclingView(); bool shouldResetOnClickListenerWhenRecyclingView(); bool shouldSetEnabledBasedOnAccessibilityState(); - bool shouldSetIsClickableByDefault(); bool shouldTriggerResponderTransferOnScrollAndroid(); bool skipActivityIdentityAssertionOnHostPause(); bool traceTurboModulePromiseRejectionsOnAndroid(); @@ -125,7 +123,7 @@ class ReactNativeFeatureFlagsAccessor { std::unique_ptr currentProvider_; bool wasOverridden_; - std::array, 82> accessedFeatureFlags_; + std::array, 80> accessedFeatureFlags_; std::atomic> commonTestFlag_; std::atomic> cdpInteractionMetricsEnabled_; @@ -191,10 +189,8 @@ class ReactNativeFeatureFlagsAccessor { std::atomic> preparedTextCacheSize_; std::atomic> preventShadowTreeCommitExhaustion_; std::atomic> shouldPressibilityUseW3CPointerEventsForHover_; - std::atomic> shouldResetClickableWhenRecyclingView_; std::atomic> shouldResetOnClickListenerWhenRecyclingView_; std::atomic> shouldSetEnabledBasedOnAccessibilityState_; - std::atomic> shouldSetIsClickableByDefault_; std::atomic> shouldTriggerResponderTransferOnScrollAndroid_; std::atomic> skipActivityIdentityAssertionOnHostPause_; std::atomic> traceTurboModulePromiseRejectionsOnAndroid_; diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h index 3e114330190c31..771a6c32400dad 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<850823d53427909b153b30321da66e34>> + * @generated SignedSource<<8bbb8ef8febaca4e72f6c15af0144616>> */ /** @@ -283,10 +283,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider { return false; } - bool shouldResetClickableWhenRecyclingView() override { - return true; - } - bool shouldResetOnClickListenerWhenRecyclingView() override { return true; } @@ -295,10 +291,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider { return true; } - bool shouldSetIsClickableByDefault() override { - return false; - } - bool shouldTriggerResponderTransferOnScrollAndroid() override { return false; } diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h index 534baf808b2d0e..e8d8ff37b9a620 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<870178cd77459f3cb8ebb75683584f3e>> */ /** @@ -621,15 +621,6 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef return ReactNativeFeatureFlagsDefaults::shouldPressibilityUseW3CPointerEventsForHover(); } - bool shouldResetClickableWhenRecyclingView() override { - auto value = values_["shouldResetClickableWhenRecyclingView"]; - if (!value.isNull()) { - return value.getBool(); - } - - return ReactNativeFeatureFlagsDefaults::shouldResetClickableWhenRecyclingView(); - } - bool shouldResetOnClickListenerWhenRecyclingView() override { auto value = values_["shouldResetOnClickListenerWhenRecyclingView"]; if (!value.isNull()) { @@ -648,15 +639,6 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef return ReactNativeFeatureFlagsDefaults::shouldSetEnabledBasedOnAccessibilityState(); } - bool shouldSetIsClickableByDefault() override { - auto value = values_["shouldSetIsClickableByDefault"]; - if (!value.isNull()) { - return value.getBool(); - } - - return ReactNativeFeatureFlagsDefaults::shouldSetIsClickableByDefault(); - } - bool shouldTriggerResponderTransferOnScrollAndroid() override { auto value = values_["shouldTriggerResponderTransferOnScrollAndroid"]; if (!value.isNull()) { diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h index 550c6bfb2dc5bf..0ef6c6c65fb028 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<7068f47bca01d79ddd86856ab9953cdf>> + * @generated SignedSource<<52a45aa96ee016dbc229325711e018dd>> */ /** @@ -89,10 +89,8 @@ class ReactNativeFeatureFlagsProvider { virtual double preparedTextCacheSize() = 0; virtual bool preventShadowTreeCommitExhaustion() = 0; virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0; - virtual bool shouldResetClickableWhenRecyclingView() = 0; virtual bool shouldResetOnClickListenerWhenRecyclingView() = 0; virtual bool shouldSetEnabledBasedOnAccessibilityState() = 0; - virtual bool shouldSetIsClickableByDefault() = 0; virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0; virtual bool skipActivityIdentityAssertionOnHostPause() = 0; virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0; diff --git a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp index f89093abe9e71f..817545f841ed25 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +++ b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<4a89696ef1000ff112e00ccd1e29f0d9>> + * @generated SignedSource<> */ /** @@ -364,11 +364,6 @@ bool NativeReactNativeFeatureFlags::shouldPressibilityUseW3CPointerEventsForHove return ReactNativeFeatureFlags::shouldPressibilityUseW3CPointerEventsForHover(); } -bool NativeReactNativeFeatureFlags::shouldResetClickableWhenRecyclingView( - jsi::Runtime& /*runtime*/) { - return ReactNativeFeatureFlags::shouldResetClickableWhenRecyclingView(); -} - bool NativeReactNativeFeatureFlags::shouldResetOnClickListenerWhenRecyclingView( jsi::Runtime& /*runtime*/) { return ReactNativeFeatureFlags::shouldResetOnClickListenerWhenRecyclingView(); @@ -379,11 +374,6 @@ bool NativeReactNativeFeatureFlags::shouldSetEnabledBasedOnAccessibilityState( return ReactNativeFeatureFlags::shouldSetEnabledBasedOnAccessibilityState(); } -bool NativeReactNativeFeatureFlags::shouldSetIsClickableByDefault( - jsi::Runtime& /*runtime*/) { - return ReactNativeFeatureFlags::shouldSetIsClickableByDefault(); -} - bool NativeReactNativeFeatureFlags::shouldTriggerResponderTransferOnScrollAndroid( jsi::Runtime& /*runtime*/) { return ReactNativeFeatureFlags::shouldTriggerResponderTransferOnScrollAndroid(); diff --git a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h index 6ff5b59ac95604..7f903200b16ba8 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +++ b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<90f350fbc5382eb023571098a3ab92a2>> + * @generated SignedSource<<14a066fb4e2b8eaa47642dd5b28eee52>> */ /** @@ -164,14 +164,10 @@ class NativeReactNativeFeatureFlags bool shouldPressibilityUseW3CPointerEventsForHover(jsi::Runtime& runtime); - bool shouldResetClickableWhenRecyclingView(jsi::Runtime& runtime); - bool shouldResetOnClickListenerWhenRecyclingView(jsi::Runtime& runtime); bool shouldSetEnabledBasedOnAccessibilityState(jsi::Runtime& runtime); - bool shouldSetIsClickableByDefault(jsi::Runtime& runtime); - bool shouldTriggerResponderTransferOnScrollAndroid(jsi::Runtime& runtime); bool skipActivityIdentityAssertionOnHostPause(jsi::Runtime& runtime); diff --git a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js index a85dad7e61aa09..7d38b9ca99614d 100644 --- a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js +++ b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js @@ -732,16 +732,6 @@ const definitions: FeatureFlagDefinitions = { }, ossReleaseStage: 'none', }, - shouldResetClickableWhenRecyclingView: { - defaultValue: true, - metadata: { - description: - 'Reset isClickable to false when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling.', - expectedReleaseValue: true, - purpose: 'release', - }, - ossReleaseStage: 'none', - }, shouldResetOnClickListenerWhenRecyclingView: { defaultValue: true, metadata: { @@ -762,16 +752,6 @@ const definitions: FeatureFlagDefinitions = { }, ossReleaseStage: 'none', }, - shouldSetIsClickableByDefault: { - defaultValue: false, - metadata: { - description: - 'Sets isClickable=true by default on all React Native views on Android to improve UI harvesting detection while maintaining focusable=false to preserve expected behavior.', - expectedReleaseValue: true, - purpose: 'release', - }, - ossReleaseStage: 'none', - }, shouldTriggerResponderTransferOnScrollAndroid: { defaultValue: false, metadata: { diff --git a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js index e2efedc10750e8..1875290eb45dc3 100644 --- a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js +++ b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<2b443dd011edd5602a9ea5004f5f9a36>> * @flow strict * @noformat */ @@ -112,10 +112,8 @@ export type ReactNativeFeatureFlags = $ReadOnly<{ preparedTextCacheSize: Getter, preventShadowTreeCommitExhaustion: Getter, shouldPressibilityUseW3CPointerEventsForHover: Getter, - shouldResetClickableWhenRecyclingView: Getter, shouldResetOnClickListenerWhenRecyclingView: Getter, shouldSetEnabledBasedOnAccessibilityState: Getter, - shouldSetIsClickableByDefault: Getter, shouldTriggerResponderTransferOnScrollAndroid: Getter, skipActivityIdentityAssertionOnHostPause: Getter, traceTurboModulePromiseRejectionsOnAndroid: Getter, @@ -457,10 +455,6 @@ export const preventShadowTreeCommitExhaustion: Getter = createNativeFl * Function used to enable / disable Pressibility from using W3C Pointer Events for its hover callbacks */ export const shouldPressibilityUseW3CPointerEventsForHover: Getter = createNativeFlagGetter('shouldPressibilityUseW3CPointerEventsForHover', false); -/** - * Reset isClickable to false when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling. - */ -export const shouldResetClickableWhenRecyclingView: Getter = createNativeFlagGetter('shouldResetClickableWhenRecyclingView', true); /** * Reset OnClickListener to null when recycling views on Android to avoid accessibility tools finding views with incorrect state after recycling. */ @@ -469,10 +463,6 @@ export const shouldResetOnClickListenerWhenRecyclingView: Getter = crea * Fix BaseViewManager to properly set view.setEnabled() based on accessibilityState.disabled. */ export const shouldSetEnabledBasedOnAccessibilityState: Getter = createNativeFlagGetter('shouldSetEnabledBasedOnAccessibilityState', true); -/** - * Sets isClickable=true by default on all React Native views on Android to improve UI harvesting detection while maintaining focusable=false to preserve expected behavior. - */ -export const shouldSetIsClickableByDefault: Getter = createNativeFlagGetter('shouldSetIsClickableByDefault', false); /** * Do not emit touchcancel from Android ScrollView, instead native topScroll event will trigger responder transfer and terminate in RN renderer. */ diff --git a/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js b/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js index d6b3b7f33f8859..c88b62aea19c41 100644 --- a/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +++ b/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<> * @flow strict * @noformat */ @@ -89,10 +89,8 @@ export interface Spec extends TurboModule { +preparedTextCacheSize?: () => number; +preventShadowTreeCommitExhaustion?: () => boolean; +shouldPressibilityUseW3CPointerEventsForHover?: () => boolean; - +shouldResetClickableWhenRecyclingView?: () => boolean; +shouldResetOnClickListenerWhenRecyclingView?: () => boolean; +shouldSetEnabledBasedOnAccessibilityState?: () => boolean; - +shouldSetIsClickableByDefault?: () => boolean; +shouldTriggerResponderTransferOnScrollAndroid?: () => boolean; +skipActivityIdentityAssertionOnHostPause?: () => boolean; +traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;