diff --git a/android/build.gradle b/android/build.gradle index cbd62e9ea4..8028950101 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -167,14 +167,6 @@ android { srcDirs += 'noreanimated/src/main/java' } - if (isNewArchitectureEnabled()) { - srcDirs += 'fabric/src/main/java' - } else { - // this folder also includes files from codegen so the library can compile with - // codegen turned off - srcDirs += 'paper/src/main/java' - } - if (REACT_NATIVE_MINOR_VERSION >= 77) { // With RN 0.77, ViewManager related functions in the package has different signatures as they // are no longer nullable diff --git a/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java b/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java deleted file mode 100644 index 755f026e14..0000000000 --- a/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerDelegate.java +++ /dev/null @@ -1,60 +0,0 @@ -/** -* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). -* -* Do not edit this file as changes may cause incorrect behavior and will be lost -* once the code is regenerated. -* -* @generated by codegen project: GeneratePropsJavaDelegate.js -*/ - -package com.facebook.react.viewmanagers; - -import android.view.View; -import androidx.annotation.Nullable; -import com.facebook.react.bridge.ColorPropConverter; -import com.facebook.react.uimanager.BaseViewManager; -import com.facebook.react.uimanager.BaseViewManagerDelegate; -import com.facebook.react.uimanager.LayoutShadowNode; - -public class RNGestureHandlerButtonManagerDelegate & RNGestureHandlerButtonManagerInterface> extends BaseViewManagerDelegate { - public RNGestureHandlerButtonManagerDelegate(U viewManager) { - super(viewManager); - } - @Override - public void setProperty(T view, String propName, @Nullable Object value) { - switch (propName) { - case "exclusive": - mViewManager.setExclusive(view, value == null ? true : (boolean) value); - break; - case "foreground": - mViewManager.setForeground(view, value == null ? false : (boolean) value); - break; - case "borderless": - mViewManager.setBorderless(view, value == null ? false : (boolean) value); - break; - case "enabled": - mViewManager.setEnabled(view, value == null ? true : (boolean) value); - break; - case "rippleColor": - mViewManager.setRippleColor(view, ColorPropConverter.getColor(value, view.getContext())); - break; - case "rippleRadius": - mViewManager.setRippleRadius(view, value == null ? 0 : ((Double) value).intValue()); - break; - case "touchSoundDisabled": - mViewManager.setTouchSoundDisabled(view, value == null ? false : (boolean) value); - break; - case "borderWidth": - mViewManager.setBorderWidth(view, value == null ? 0f : ((Double) value).floatValue()); - break; - case "borderColor": - mViewManager.setBorderColor(view, ColorPropConverter.getColor(value, view.getContext())); - break; - case "borderStyle": - mViewManager.setBorderStyle(view, value == null ? "solid" : (String) value); - break; - default: - super.setProperty(view, propName, value); - } - } -} diff --git a/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java b/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java deleted file mode 100644 index 8798d2c721..0000000000 --- a/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerButtonManagerInterface.java +++ /dev/null @@ -1,26 +0,0 @@ -/** -* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). -* -* Do not edit this file as changes may cause incorrect behavior and will be lost -* once the code is regenerated. -* -* @generated by codegen project: GeneratePropsJavaInterface.js -*/ - -package com.facebook.react.viewmanagers; - -import android.view.View; -import androidx.annotation.Nullable; - -public interface RNGestureHandlerButtonManagerInterface { - void setExclusive(T view, boolean value); - void setForeground(T view, boolean value); - void setBorderless(T view, boolean value); - void setEnabled(T view, boolean value); - void setRippleColor(T view, @Nullable Integer value); - void setRippleRadius(T view, int value); - void setTouchSoundDisabled(T view, boolean value); - void setBorderWidth(T view, float value); - void setBorderColor(T view, @Nullable Integer value); - void setBorderStyle(T view, @Nullable String value); -} diff --git a/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java b/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java deleted file mode 100644 index 99dfe019d0..0000000000 --- a/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerDelegate.java +++ /dev/null @@ -1,26 +0,0 @@ -/** -* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). -* -* Do not edit this file as changes may cause incorrect behavior and will be lost -* once the code is regenerated. -* -* @generated by codegen project: GeneratePropsJavaDelegate.js -*/ - -package com.facebook.react.viewmanagers; - -import android.view.View; -import androidx.annotation.Nullable; -import com.facebook.react.uimanager.BaseViewManager; -import com.facebook.react.uimanager.BaseViewManagerDelegate; -import com.facebook.react.uimanager.LayoutShadowNode; - -public class RNGestureHandlerRootViewManagerDelegate & RNGestureHandlerRootViewManagerInterface> extends BaseViewManagerDelegate { - public RNGestureHandlerRootViewManagerDelegate(U viewManager) { - super(viewManager); - } - @Override - public void setProperty(T view, String propName, @Nullable Object value) { - super.setProperty(view, propName, value); - } -} diff --git a/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java b/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java deleted file mode 100644 index d82d5a0450..0000000000 --- a/android/paper/src/main/java/com/facebook/react/viewmanagers/RNGestureHandlerRootViewManagerInterface.java +++ /dev/null @@ -1,16 +0,0 @@ -/** -* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). -* -* Do not edit this file as changes may cause incorrect behavior and will be lost -* once the code is regenerated. -* -* @generated by codegen project: GeneratePropsJavaInterface.js -*/ - -package com.facebook.react.viewmanagers; - -import android.view.View; - -public interface RNGestureHandlerRootViewManagerInterface { - // No props -} diff --git a/android/paper/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java b/android/paper/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java deleted file mode 100644 index 5c12b84ba2..0000000000 --- a/android/paper/src/main/java/com/swmansion/gesturehandler/NativeRNGestureHandlerModuleSpec.java +++ /dev/null @@ -1,67 +0,0 @@ - -/** - * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). - * - * Do not edit this file as changes may cause incorrect behavior and will be lost - * once the code is regenerated. - * - * @generated by codegen project: GenerateModuleJavaSpec.js - * - * @nolint - */ - -package com.swmansion.gesturehandler; - -import com.facebook.proguard.annotations.DoNotStrip; -import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.bridge.ReactContextBaseJavaModule; -import com.facebook.react.bridge.ReactMethod; -import com.facebook.react.bridge.ReactModuleWithSpec; -import com.facebook.react.bridge.ReadableMap; -import com.facebook.react.turbomodule.core.interfaces.TurboModule; -import javax.annotation.Nonnull; - -public abstract class NativeRNGestureHandlerModuleSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule { - public static final String NAME = "RNGestureHandlerModule"; - - public NativeRNGestureHandlerModuleSpec(ReactApplicationContext reactContext) { - super(reactContext); - } - - @Override - public @Nonnull String getName() { - return NAME; - } - - @ReactMethod - @DoNotStrip - public abstract void handleSetJSResponder(double tag, boolean blockNativeResponder); - - @ReactMethod - @DoNotStrip - public abstract void handleClearJSResponder(); - - @ReactMethod - @DoNotStrip - public abstract void createGestureHandler(String handlerName, double handlerTag, ReadableMap config); - - @ReactMethod - @DoNotStrip - public abstract void attachGestureHandler(double handlerTag, double newView, double actionType); - - @ReactMethod - @DoNotStrip - public abstract void updateGestureHandler(double handlerTag, ReadableMap newConfig); - - @ReactMethod - @DoNotStrip - public abstract void dropGestureHandler(double handlerTag); - - @ReactMethod(isBlockingSynchronousMethod = true) - @DoNotStrip - public abstract boolean install(); - - @ReactMethod - @DoNotStrip - public abstract void flushOperations(); -} diff --git a/android/paper/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt b/android/paper/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt deleted file mode 100644 index 7861838735..0000000000 --- a/android/paper/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.swmansion.gesturehandler - -import com.facebook.react.bridge.ReactContext -import com.facebook.react.uimanager.UIManagerModule -import com.facebook.react.uimanager.events.Event - -fun ReactContext.dispatchEvent(event: Event<*>) { - try { - this.getNativeModule(UIManagerModule::class.java)!!.eventDispatcher.dispatchEvent(event) - } catch (e: NullPointerException) { - throw Exception("Couldn't get an instance of UIManagerModule. Gesture Handler is unable to send an event.", e) - } -} diff --git a/android/fabric/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java b/android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java similarity index 100% rename from android/fabric/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java rename to android/src/main/java/com/swmansion/gesturehandler/RNGestureHandlerComponentsRegistry.java diff --git a/android/fabric/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt b/android/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt similarity index 100% rename from android/fabric/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt rename to android/src/main/java/com/swmansion/gesturehandler/ReactContextExtensions.kt diff --git a/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt b/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt index a9082c2f49..633d0f3254 100644 --- a/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +++ b/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt @@ -837,7 +837,7 @@ open class GestureHandler= 71 ) sendEventForNativeAnimatedEvent(event) - } else if (handler.actionType == GestureHandler.ACTION_TYPE_JS_FUNCTION_OLD_API) { - // JS function, Animated.event with useNativeDriver: false using old API - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - val data = RNGestureHandlerEvent.createEventData(handlerFactory.createEventBuilder(handler)) - sendEventForDeviceEvent(RNGestureHandlerEvent.EVENT_NAME, data) - } else { - val event = RNGestureHandlerEvent.obtain(handler, handlerFactory.createEventBuilder(handler)) - sendEventForDirectEvent(event) - } } else if (handler.actionType == GestureHandler.ACTION_TYPE_JS_FUNCTION_NEW_API) { // JS function, Animated.event with useNativeDriver: false using new API val data = RNGestureHandlerEvent.createEventData(handlerFactory.createEventBuilder(handler)) @@ -581,17 +572,10 @@ class RNGestureHandlerModule(reactContext: ReactApplicationContext?) : // Reanimated worklet val event = RNGestureHandlerStateChangeEvent.obtain(handler, newState, oldState, handlerFactory.createEventBuilder(handler)) sendEventForReanimated(event) - } else if (handler.actionType == GestureHandler.ACTION_TYPE_NATIVE_ANIMATED_EVENT || - handler.actionType == GestureHandler.ACTION_TYPE_JS_FUNCTION_OLD_API + } else if (handler.actionType == GestureHandler.ACTION_TYPE_NATIVE_ANIMATED_EVENT ) { - // JS function or Animated.event with useNativeDriver: false with old API - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - val data = RNGestureHandlerStateChangeEvent.createEventData(handlerFactory.createEventBuilder(handler), newState, oldState) - sendEventForDeviceEvent(RNGestureHandlerStateChangeEvent.EVENT_NAME, data) - } else { - val event = RNGestureHandlerStateChangeEvent.obtain(handler, newState, oldState, handlerFactory.createEventBuilder(handler)) - sendEventForDirectEvent(event) - } + val data = RNGestureHandlerStateChangeEvent.createEventData(handlerFactory.createEventBuilder(handler), newState, oldState) + sendEventForDeviceEvent(RNGestureHandlerStateChangeEvent.EVENT_NAME, data) } else if (handler.actionType == GestureHandler.ACTION_TYPE_JS_FUNCTION_NEW_API) { // JS function or Animated.event with useNativeDriver: false with new API val data = RNGestureHandlerStateChangeEvent.createEventData(handlerFactory.createEventBuilder(handler), newState, oldState) @@ -623,13 +607,7 @@ class RNGestureHandlerModule(reactContext: ReactApplicationContext?) : private fun >sendEventForReanimated(event: T) { // Delivers the event to Reanimated. - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - // Send event directly to Reanimated - reanimatedEventDispatcher.sendEvent(event, reactApplicationContext) - } else { - // In the old architecture, Reanimated subscribes for specific direct events. - sendEventForDirectEvent(event) - } + reanimatedEventDispatcher.sendEvent(event, reactApplicationContext) } private fun sendEventForNativeAnimatedEvent(event: RNGestureHandlerEvent) { @@ -640,11 +618,6 @@ class RNGestureHandlerModule(reactContext: ReactApplicationContext?) : reactApplicationContext.dispatchEvent(event) } - private fun >sendEventForDirectEvent(event: T) { - // Delivers the event to JS as a direct event. This method is called only on Paper. - reactApplicationContext.dispatchEvent(event) - } - private fun sendEventForDeviceEvent(eventName: String, data: WritableMap) { // Delivers the event to JS as a device event. reactApplicationContext.deviceEventEmitter.emit(eventName, data) diff --git a/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt b/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt index b62407baa6..b08c9dc8a7 100644 --- a/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt +++ b/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.kt @@ -40,6 +40,7 @@ class RNGestureHandlerRootHelper(private val context: ReactContext, wrappedView: jsGestureHandler = RootViewGestureHandler().apply { tag = -wrappedViewTag } with(registry) { registerHandler(jsGestureHandler) + // %% is this also called on NEW API? Can this be changed? attachHandlerToView(jsGestureHandler.tag, wrappedViewTag, GestureHandler.ACTION_TYPE_JS_FUNCTION_OLD_API) } module.registerRootHelper(this) diff --git a/apple/Handlers/RNNativeViewHandler.mm b/apple/Handlers/RNNativeViewHandler.mm index 667d600640..a3171cb9f0 100644 --- a/apple/Handlers/RNNativeViewHandler.mm +++ b/apple/Handlers/RNNativeViewHandler.mm @@ -15,11 +15,7 @@ #import #import -#ifdef RCT_NEW_ARCH_ENABLED #import -#else -#import -#endif // RCT_NEW_ARCH_ENABLED #pragma mark RNDummyGestureRecognizer diff --git a/apple/RNGestureHandler.mm b/apple/RNGestureHandler.mm index 5bf0d32792..282503d157 100644 --- a/apple/RNGestureHandler.mm +++ b/apple/RNGestureHandler.mm @@ -10,11 +10,7 @@ #import -#ifdef RCT_NEW_ARCH_ENABLED #import -#else -#import -#endif @interface UIGestureRecognizer (GestureHandler) @property (nonatomic, readonly) RNGestureHandler *gestureHandler; @@ -546,20 +542,10 @@ - (BOOL)isUIScrollViewPanGestureRecognizer:(NSGestureRecognizer *)gestureRecogni - (RNGHUIScrollView *)retrieveScrollView:(RNGHUIView *)view { -#ifdef RCT_NEW_ARCH_ENABLED if ([view isKindOfClass:[RCTScrollViewComponentView class]]) { RNGHUIScrollView *scrollView = ((RCTScrollViewComponentView *)view).scrollView; return scrollView; } -#else - if ([view isKindOfClass:[RCTScrollView class]]) { - // This part of the code is coupled with RN implementation of ScrollView native wrapper and - // we expect for RCTScrollView component to contain a subclass of UIScrollview as the only - // subview - RNGHUIScrollView *scrollView = [view.subviews objectAtIndex:0]; - return scrollView; - } -#endif return nil; } diff --git a/apple/RNGestureHandlerButton.h b/apple/RNGestureHandlerButton.h index 6e789aacb2..c054b82f82 100644 --- a/apple/RNGestureHandlerButton.h +++ b/apple/RNGestureHandlerButton.h @@ -10,18 +10,15 @@ #if TARGET_OS_OSX -#if RCT_NEW_ARCH_ENABLED - #include @protocol RCTComponentViewProtocol; -#endif // RCT_NEW_ARCH_ENABLED - @interface RNGestureHandlerButton : NSControl #else @interface RNGestureHandlerButton : UIControl #endif // TARGET_OS_OSX + /** * Insets used when hit testing inside this view. */ @@ -29,7 +26,7 @@ @property (nonatomic, assign) CGFloat borderRadius; @property (nonatomic) BOOL userEnabled; -#if TARGET_OS_OSX && RCT_NEW_ARCH_ENABLED +#if TARGET_OS_OSX - (void)mountChildComponentView:(RNGHUIView *)childComponentView index:(NSInteger)index; - (void)unmountChildComponentView:(RNGHUIView *)childComponentView index:(NSInteger)index; - (void)updateLayoutMetrics:(const facebook::react::LayoutMetrics &)layoutMetrics diff --git a/apple/RNGestureHandlerButton.mm b/apple/RNGestureHandlerButton.mm index 97cdc7556e..4a9dd12220 100644 --- a/apple/RNGestureHandlerButton.mm +++ b/apple/RNGestureHandlerButton.mm @@ -14,13 +14,9 @@ #import #endif -#if RCT_NEW_ARCH_ENABLED - #import #import -#endif - /** * Gesture Handler Button components overrides standard mechanism used by RN * to determine touch target, which normally would reurn the UIView that is placed @@ -142,7 +138,7 @@ - (NSString *)accessibilityLabel } #endif -#if TARGET_OS_OSX && RCT_NEW_ARCH_ENABLED +#if TARGET_OS_OSX - (void)mountChildComponentView:(RNGHUIView *)childComponentView index:(NSInteger)index { if (childComponentView.superview != nil) { diff --git a/apple/RNGestureHandlerButtonComponentView.h b/apple/RNGestureHandlerButtonComponentView.h index 642f3d9f1a..444236a7c6 100644 --- a/apple/RNGestureHandlerButtonComponentView.h +++ b/apple/RNGestureHandlerButtonComponentView.h @@ -1,5 +1,3 @@ -#ifdef RCT_NEW_ARCH_ENABLED - #if !TARGET_OS_OSX #import #else @@ -17,5 +15,3 @@ NS_ASSUME_NONNULL_BEGIN @end NS_ASSUME_NONNULL_END - -#endif // RCT_NEW_ARCH_ENABLED diff --git a/apple/RNGestureHandlerButtonComponentView.mm b/apple/RNGestureHandlerButtonComponentView.mm index 32a8641ac5..9dbea8ae26 100644 --- a/apple/RNGestureHandlerButtonComponentView.mm +++ b/apple/RNGestureHandlerButtonComponentView.mm @@ -1,5 +1,3 @@ -#ifdef RCT_NEW_ARCH_ENABLED - #import "RNGestureHandlerButtonComponentView.h" #import @@ -119,6 +117,4 @@ - (void)updateProps:(const Props::Shared &)props oldProps:(const Props::Shared & Class RNGestureHandlerButtonCls(void) { return RNGestureHandlerButtonComponentView.class; -} - -#endif // RCT_NEW_ARCH_ENABLED +} \ No newline at end of file diff --git a/apple/RNGestureHandlerManager.h b/apple/RNGestureHandlerManager.h index a191817419..b8b441a4ec 100644 --- a/apple/RNGestureHandlerManager.h +++ b/apple/RNGestureHandlerManager.h @@ -9,13 +9,8 @@ @interface RNGestureHandlerManager : NSObject -#ifdef RCT_NEW_ARCH_ENABLED - (nonnull instancetype)initWithModuleRegistry:(nonnull RCTModuleRegistry *)moduleRegistry viewRegistry:(nonnull RCTViewRegistry *)viewRegistry; -#else -- (nonnull instancetype)initWithUIManager:(nonnull RCTUIManager *)uiManager - eventDispatcher:(nonnull id)eventDispatcher; -#endif // RCT_NEW_ARCH_ENABLED - (void)createGestureHandler:(nonnull NSString *)handlerName tag:(nonnull NSNumber *)handlerTag diff --git a/apple/RNGestureHandlerManager.mm b/apple/RNGestureHandlerManager.mm index 7c4821410a..e78a2a415f 100644 --- a/apple/RNGestureHandlerManager.mm +++ b/apple/RNGestureHandlerManager.mm @@ -15,14 +15,10 @@ #import "RNGestureHandlerState.h" #import "RNRootViewGestureRecognizer.h" -#ifdef RCT_NEW_ARCH_ENABLED #import #import #import #import -#else -#import -#endif // RCT_NEW_ARCH_ENABLED #import "Handlers/RNFlingHandler.h" #import "Handlers/RNForceTouchHandler.h" @@ -52,17 +48,12 @@ @implementation RNGestureHandlerManager { NSHashTable *_rootViewGestureRecognizers; NSMutableDictionary *_attachRetryCounter; NSMutableSet *_droppedHandlers; -#ifdef RCT_NEW_ARCH_ENABLED RCTModuleRegistry *_moduleRegistry; RCTViewRegistry *_viewRegistry; -#else - RCTUIManager *_uiManager; -#endif // RCT_NEW_ARCH_ENABLED id _eventDispatcher; id _reanimatedModule; } -#ifdef RCT_NEW_ARCH_ENABLED - (instancetype)initWithModuleRegistry:(RCTModuleRegistry *)moduleRegistry viewRegistry:(RCTViewRegistry *)viewRegistry { if ((self = [super init])) { @@ -73,18 +64,6 @@ - (instancetype)initWithModuleRegistry:(RCTModuleRegistry *)moduleRegistry viewR } return self; } -#else -- (instancetype)initWithUIManager:(RCTUIManager *)uiManager - eventDispatcher:(id)eventDispatcher -{ - if ((self = [super init])) { - _uiManager = uiManager; - _eventDispatcher = eventDispatcher; - [self initCommonProps]; - } - return self; -} -#endif // RCT_NEW_ARCH_ENABLED - (void)initCommonProps { @@ -139,13 +118,8 @@ - (void)attachGestureHandler:(nonnull NSNumber *)handlerTag toViewWithTag:(nonnull NSNumber *)viewTag withActionType:(RNGestureHandlerActionType)actionType { -#ifdef RCT_NEW_ARCH_ENABLED RNGHUIView *view = [_viewRegistry viewForReactTag:viewTag]; -#else - RNGHUIView *view = [_uiManager viewForReactTag:viewTag]; -#endif // RCT_NEW_ARCH_ENABLED -#ifdef RCT_NEW_ARCH_ENABLED if (view == nil || view.superview == nil) { // There are a few reasons we could end up here: // - the native view corresponding to the viewtag hasn't yet been created @@ -192,7 +166,6 @@ - (void)attachGestureHandler:(nonnull NSNumber *)handlerTag view.reactTag = viewTag; // necessary for RNReanimated eventHash (e.g. "42onGestureHandlerEvent"), also will be // returned as event.target -#endif // RCT_NEW_ARCH_ENABLED [_registry attachHandlerWithTag:handlerTag toView:view withActionType:actionType]; @@ -240,7 +213,6 @@ - (id)handlerWithTag:(NSNumber *)handlerTag - (void)registerViewWithGestureRecognizerAttachedIfNeeded:(RNGHUIView *)childView { -#ifdef RCT_NEW_ARCH_ENABLED RNGHUIView *touchHandlerView = childView; #if !TARGET_OS_OSX @@ -257,31 +229,6 @@ - (void)registerViewWithGestureRecognizerAttachedIfNeeded:(RNGHUIView *)childVie } #endif // !TARGET_OS_OSX -#else - RNGHUIView *touchHandlerView = nil; - -#if !TARGET_OS_OSX - if ([[childView reactViewController] isKindOfClass:[RCTModalHostViewController class]]) { - touchHandlerView = [childView reactViewController].view.subviews[0]; - } else { - UIView *parent = childView; - while (parent != nil && ![parent respondsToSelector:@selector(touchHandler)]) { - parent = parent.superview; - } - - touchHandlerView = [[parent performSelector:@selector(touchHandler)] view]; - } -#else - NSView *parent = childView; - while (parent != nil && ![parent respondsToSelector:@selector(touchHandler)]) { - parent = parent.superview; - } - - touchHandlerView = [[parent performSelector:@selector(touchHandler)] view]; -#endif // !TARGET_OS_OSX - -#endif // RCT_NEW_ARCH_ENABLED - if (touchHandlerView == nil) { return; } @@ -332,11 +279,7 @@ - (void)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer // this way we can extract the touch handler on both architectures relatively easily for (UIGestureRecognizer *recognizer in [viewWithTouchHandler gestureRecognizers]) { -#ifdef RCT_NEW_ARCH_ENABLED if ([recognizer isKindOfClass:[RCTSurfaceTouchHandler class]]) { -#else - if ([recognizer isKindOfClass:[RCTTouchHandler class]]) { -#endif // RCT_NEW_ARCH_ENABLED touchHandler = recognizer; break; } @@ -378,18 +321,13 @@ - (void)sendEvent:(RNGestureHandlerStateChange *)event withActionType:(RNGesture - (void)sendEventForReanimated:(RNGestureHandlerStateChange *)event { // Delivers the event to Reanimated. -#ifdef RCT_NEW_ARCH_ENABLED + // Send event directly to Reanimated if (_reanimatedModule == nil) { _reanimatedModule = [_moduleRegistry moduleForName:"ReanimatedModule"]; } [_reanimatedModule eventDispatcherWillDispatchEvent:event]; -#else - // In the old architecture, Reanimated overwrites RCTEventDispatcher - // with REAEventDispatcher and intercepts all direct events. - [self sendEventForDirectEvent:event]; -#endif // RCT_NEW_ARCH_ENABLED } - (void)sendEventForNativeAnimatedEvent:(RNGestureHandlerStateChange *)event @@ -404,11 +342,7 @@ - (void)sendEventForNativeAnimatedEvent:(RNGestureHandlerStateChange *)event - (void)sendEventForJSFunctionOldAPI:(RNGestureHandlerStateChange *)event { // Delivers the event to JS (old RNGH API). -#ifdef RCT_NEW_ARCH_ENABLED [self sendEventForDeviceEvent:event]; -#else - [self sendEventForDirectEvent:event]; -#endif // RCT_NEW_ARCH_ENABLED } - (void)sendEventForJSFunctionNewAPI:(RNGestureHandlerStateChange *)event diff --git a/apple/RNGestureHandlerModule.h b/apple/RNGestureHandlerModule.h index fc943b78e0..6972f3c90a 100644 --- a/apple/RNGestureHandlerModule.h +++ b/apple/RNGestureHandlerModule.h @@ -1,19 +1,11 @@ #import #import -#ifdef RCT_NEW_ARCH_ENABLED #import #import #import -#else -#import -#endif -@interface RNGestureHandlerModule : RCTEventEmitter -#ifdef RCT_NEW_ARCH_ENABLED - -#else - -#endif +@interface RNGestureHandlerModule + : RCTEventEmitter @end diff --git a/apple/RNGestureHandlerModule.mm b/apple/RNGestureHandlerModule.mm index 594eba35a1..f28a573c43 100644 --- a/apple/RNGestureHandlerModule.mm +++ b/apple/RNGestureHandlerModule.mm @@ -7,7 +7,6 @@ #import #import -#ifdef RCT_NEW_ARCH_ENABLED #import #import #import @@ -17,7 +16,6 @@ #import #import #import -#endif // RCT_NEW_ARCH_ENABLED #import "RNGestureHandler.h" #import "RNGestureHandlerDirection.h" @@ -29,20 +27,12 @@ #import -#ifdef RCT_NEW_ARCH_ENABLED using namespace facebook; using namespace react; -#endif // RCT_NEW_ARCH_ENABLED -#ifdef RCT_NEW_ARCH_ENABLED @interface RNGestureHandlerModule () @end -#else -@interface RNGestureHandlerModule () - -@end -#endif // RCT_NEW_ARCH_ENABLED typedef void (^GestureHandlerOperation)(RNGestureHandlerManager *manager); @@ -53,10 +43,8 @@ @implementation RNGestureHandlerModule { NSMutableArray *_operations; } -#ifdef RCT_NEW_ARCH_ENABLED @synthesize viewRegistry_DEPRECATED = _viewRegistry_DEPRECATED; @synthesize dispatchToJSThread = _dispatchToJSThread; -#endif // RCT_NEW_ARCH_ENABLED RCT_EXPORT_MODULE() @@ -73,10 +61,6 @@ - (void)invalidate }); _manager = nil; - -#ifndef RCT_NEW_ARCH_ENABLED - [self.bridge.uiManager.observerCoordinator removeObserver:self]; -#endif // RCT_NEW_ARCH_ENABLED } - (dispatch_queue_t)methodQueue @@ -90,7 +74,6 @@ - (dispatch_queue_t)methodQueue return RCTGetUIManagerQueue(); } -#ifdef RCT_NEW_ARCH_ENABLED void decorateRuntime(jsi::Runtime &runtime) { auto isViewFlatteningDisabled = jsi::Function::createFromHostFunction( @@ -117,29 +100,14 @@ void decorateRuntime(jsi::Runtime &runtime) }); runtime.global().setProperty(runtime, "isViewFlatteningDisabled", std::move(isViewFlatteningDisabled)); } -#endif // RCT_NEW_ARCH_ENABLED -#ifdef RCT_NEW_ARCH_ENABLED - (void)initialize { _manager = [[RNGestureHandlerManager alloc] initWithModuleRegistry:self.moduleRegistry viewRegistry:_viewRegistry_DEPRECATED]; _operations = [NSMutableArray new]; } -#else -- (void)setBridge:(RCTBridge *)bridge -{ - [super setBridge:bridge]; - _manager = [[RNGestureHandlerManager alloc] initWithUIManager:bridge.uiManager - eventDispatcher:bridge.eventDispatcher]; - _operations = [NSMutableArray new]; - - [bridge.uiManager.observerCoordinator addObserver:self]; -} -#endif // RCT_NEW_ARCH_ENABLED - -#ifdef RCT_NEW_ARCH_ENABLED RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install) { dispatch_block_t block = ^{ @@ -155,7 +123,6 @@ - (void)setBridge:(RCTBridge *)bridge return @true; } -#endif // RCT_NEW_ARCH_ENABLED RCT_EXPORT_METHOD(createGestureHandler : (nonnull NSString *)handlerName handlerTag @@ -208,7 +175,6 @@ - (void)setBridge:(RCTBridge *)bridge { // On the new arch we rely on `flushOperations` for scheduling the operations on the UI thread. // On the old arch we rely on `uiManagerWillPerformMounting` -#ifdef RCT_NEW_ARCH_ENABLED if (_operations.count == 0) { return; } @@ -221,7 +187,6 @@ - (void)setBridge:(RCTBridge *)bridge operation(self->_manager); } }]; -#endif // RCT_NEW_ARCH_ENABLED } - (void)setGestureState:(int)state forHandler:(int)handlerTag @@ -262,34 +227,6 @@ - (void)addOperationBlock:(GestureHandlerOperation)operation [_operations addObject:operation]; } -#ifndef RCT_NEW_ARCH_ENABLED - -#pragma mark - RCTUIManagerObserver - -- (void)uiManagerWillFlushUIBlocks:(RCTUIManager *)uiManager -{ - [self uiManagerWillPerformMounting:uiManager]; -} - -- (void)uiManagerWillPerformMounting:(RCTUIManager *)uiManager -{ - if (_operations.count == 0) { - return; - } - - NSArray *operations = _operations; - _operations = [NSMutableArray new]; - - [uiManager - addUIBlock:^(__unused RCTUIManager *manager, __unused NSDictionary *viewRegistry) { - for (GestureHandlerOperation operation in operations) { - operation(self->_manager); - } - }]; -} - -#endif // RCT_NEW_ARCH_ENABLED - #pragma mark Events - (NSArray *)supportedEvents @@ -319,12 +256,10 @@ - (NSDictionary *)constantsToExport }; } -#if RCT_NEW_ARCH_ENABLED - (std::shared_ptr)getTurboModule: (const facebook::react::ObjCTurboModule::InitParams &)params { return std::make_shared(params); } -#endif @end diff --git a/apple/RNGestureHandlerRootViewComponentView.mm b/apple/RNGestureHandlerRootViewComponentView.mm index ef102a529f..7823e3643e 100644 --- a/apple/RNGestureHandlerRootViewComponentView.mm +++ b/apple/RNGestureHandlerRootViewComponentView.mm @@ -1,5 +1,3 @@ -#ifdef RCT_NEW_ARCH_ENABLED - #import Class RNGestureHandlerRootViewCls(void) @@ -17,5 +15,3 @@ // TODO: remove this file once `excludedPlatforms` option properly disables generating ShadowNode return nil; } - -#endif // RCT_NEW_ARCH_ENABLED diff --git a/apple/RNRootViewGestureRecognizer.m b/apple/RNRootViewGestureRecognizer.m index a2a2f182cf..474592d146 100644 --- a/apple/RNRootViewGestureRecognizer.m +++ b/apple/RNRootViewGestureRecognizer.m @@ -12,11 +12,7 @@ #import #endif -#ifdef RCT_NEW_ARCH_ENABLED #import -#else -#import -#endif // RCT_NEW_ARCH_ENABLED @implementation RNRootViewGestureRecognizer { BOOL _active; @@ -51,13 +47,7 @@ - (BOOL)shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGe - (BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)preventedGestureRecognizer { - return ![preventedGestureRecognizer isKindOfClass:[ -#ifdef RCT_NEW_ARCH_ENABLED - RCTSurfaceTouchHandler -#else - RCTTouchHandler -#endif - class]]; + return ![preventedGestureRecognizer isKindOfClass:[RCTSurfaceTouchHandler class]]; } - (BOOL)canBePreventedByGestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer diff --git a/example/app.config.js b/example/app.config.js index d32287de46..155258ee2a 100644 --- a/example/app.config.js +++ b/example/app.config.js @@ -44,5 +44,5 @@ export default ({ config }) => ({ }, ], ], - newArchEnabled: Boolean(Number(process.env.FABRIC_ENABLED)), + newArchEnabled: 1, }); diff --git a/package.json b/package.json index 64e34dae62..e74a868d9e 100644 --- a/package.json +++ b/package.json @@ -34,8 +34,6 @@ "android/src/main/AndroidManifest.xml", "android/src/main/java/", "android/src/main/jni/", - "android/fabric/src/main/java", - "android/paper/src/main/java", "android/common/src/main/java/", "android/reanimated/src/main/java/", "android/noreanimated/src/main/java/",