Skip to content

Commit c3e699d

Browse files
committed
Add fallback
1 parent 316b7cb commit c3e699d

5 files changed

Lines changed: 9 additions & 8 deletions

File tree

packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ class RNGestureHandlerModule(reactContext: ReactApplicationContext?) :
125125
override fun flushOperations() = Unit
126126

127127
@ReactMethod
128-
override fun setReanimatedAvailability() {
129-
isReanimatedAvailable = true
128+
override fun setReanimatedAvailable(isAvailable: Boolean) {
129+
isReanimatedAvailable = isAvailable
130130
}
131131

132132
@DoNotStrip

packages/react-native-gesture-handler/apple/RNGestureHandlerModule.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,9 @@ - (void)flushOperations
186186
}];
187187
}
188188

189-
- (void)setReanimatedAvailability
189+
- (void)setReanimatedAvailable:(BOOL)isAvailable
190190
{
191-
_isReanimatedAvailable = YES;
191+
_isReanimatedAvailable = isAvailable;
192192
}
193193

194194
- (void)setGestureState:(int)state forHandler:(int)handlerTag

packages/react-native-gesture-handler/src/handlers/gestures/reanimatedWrapper.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ let Reanimated:
8181

8282
try {
8383
Reanimated = require('react-native-reanimated');
84-
NativeProxy.setReanimatedAvailability();
84+
NativeProxy.setReanimatedAvailable(true);
8585
} catch (e) {
8686
// When 'react-native-reanimated' is not available we want to quietly continue
8787
// @ts-ignore TS demands the variable to be initialized
@@ -92,6 +92,7 @@ if (!Reanimated?.useSharedValue) {
9292
// @ts-ignore Make sure the loaded module is actually Reanimated, if it's not
9393
// reset the module to undefined so we can fallback to the default implementation
9494
Reanimated = undefined;
95+
NativeProxy.setReanimatedAvailable(false);
9596
}
9697

9798
if (Reanimated !== undefined && !Reanimated.setGestureState) {

packages/react-native-gesture-handler/src/specs/NativeRNGestureHandlerModule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export interface Spec extends TurboModule {
2424
configureRelations: (handlerTag: Double, relations: Object) => void;
2525
dropGestureHandler: (handlerTag: Double) => void;
2626
flushOperations: () => void;
27-
setReanimatedAvailability: () => void;
27+
setReanimatedAvailable: (isAvailable: boolean) => void;
2828
}
2929

3030
export default TurboModuleRegistry.getEnforcing<Spec>('RNGestureHandlerModule');

packages/react-native-gesture-handler/src/v3/NativeProxy.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export const NativeProxy = {
5151
RNGestureHandlerModule.configureRelations(handlerTag, relations);
5252
});
5353
},
54-
setReanimatedAvailability: () => {
55-
RNGestureHandlerModule.setReanimatedAvailability();
54+
setReanimatedAvailable: (isAvailable: boolean) => {
55+
RNGestureHandlerModule.setReanimatedAvailable(isAvailable);
5656
},
5757
} as const;

0 commit comments

Comments
 (0)