react-native 0.82.0-rc.3 → 0.82.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/Libraries/Animated/nodes/AnimatedValue.js +0 -8
  2. package/Libraries/Components/Switch/Switch.js +1 -1
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/Libraries/Interaction/PanResponder.js +6 -51
  5. package/React/Base/RCTBridge.mm +16 -0
  6. package/React/Base/RCTVersion.m +1 -1
  7. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +0 -1
  8. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +0 -1
  9. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +0 -1
  10. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +0 -11
  11. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +0 -2
  12. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +6 -0
  13. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -0
  14. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  15. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +5 -0
  16. package/ReactAndroid/gradle.properties +1 -1
  17. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +10 -0
  18. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +18 -8
  19. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  20. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  21. package/index.js +6 -0
  22. package/package.json +8 -8
  23. package/sdks/hermes-engine/hermes-engine.podspec +1 -1
  24. package/sdks/hermes-engine/hermes-utils.rb +2 -2
  25. package/sdks/hermes-engine/version.properties +1 -1
  26. package/sdks/hermesc/osx-bin/hermes +0 -0
  27. package/sdks/hermesc/osx-bin/hermesc +0 -0
  28. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  29. package/settings.gradle.kts +23 -0
  30. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -0
  31. package/types_generated/Libraries/Interaction/PanResponder.d.ts +1 -4
@@ -18,7 +18,6 @@ import type {AnimatedNodeConfig} from './AnimatedNode';
18
18
  import type AnimatedTracking from './AnimatedTracking';
19
19
 
20
20
  import NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';
21
- import InteractionManager from '../../Interaction/InteractionManager';
22
21
  import AnimatedInterpolation from './AnimatedInterpolation';
23
22
  import AnimatedWithChildren from './AnimatedWithChildren';
24
23
 
@@ -312,10 +311,6 @@ export default class AnimatedValue extends AnimatedWithChildren {
312
311
  * See https://reactnative.dev/docs/animatedvalue#animate
313
312
  */
314
313
  animate(animation: Animation, callback: ?EndCallback): void {
315
- let handle = null;
316
- if (animation.__isInteraction) {
317
- handle = InteractionManager.createInteractionHandle();
318
- }
319
314
  const previousAnimation = this._animation;
320
315
  this._animation && this._animation.stop();
321
316
  this._animation = animation;
@@ -328,9 +323,6 @@ export default class AnimatedValue extends AnimatedWithChildren {
328
323
  },
329
324
  result => {
330
325
  this._animation = null;
331
- if (handle !== null) {
332
- InteractionManager.clearInteractionHandle(handle);
333
- }
334
326
  callback && callback(result);
335
327
  },
336
328
  previousAnimation,
@@ -264,7 +264,7 @@ const Switch: component(
264
264
  disabled,
265
265
  onTintColor: trackColorForTrue,
266
266
  style: StyleSheet.compose(
267
- {height: 31, width: 51},
267
+ {alignSelf: 'flex-start' as const},
268
268
  StyleSheet.compose(
269
269
  style,
270
270
  ios_backgroundColor == null
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
29
29
  static major: number = 0;
30
30
  static minor: number = 82;
31
31
  static patch: number = 0;
32
- static prerelease: string | null = 'rc.3';
32
+ static prerelease: string | null = 'rc.5';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -12,7 +12,6 @@
12
12
 
13
13
  import type {GestureResponderEvent} from '../Types/CoreEventTypes';
14
14
 
15
- const InteractionManager = require('./InteractionManager').default;
16
15
  const TouchHistoryMath = require('./TouchHistoryMath').default;
17
16
 
18
17
  const currentCentroidXOfTouchesChangedAfter =
@@ -31,9 +30,6 @@ const currentCentroidY = TouchHistoryMath.currentCentroidY;
31
30
  * single-touch gestures resilient to extra touches, and can be used to
32
31
  * recognize simple multi-touch gestures.
33
32
  *
34
- * By default, `PanResponder` holds an `InteractionManager` handle to block
35
- * long-running JS events from interrupting active gestures.
36
- *
37
33
  * It provides a predictable wrapper of the responder handlers provided by the
38
34
  * [gesture responder system](docs/gesture-responder-system.html).
39
35
  * For each handler, it provides a new `gestureState` object alongside the
@@ -405,9 +401,6 @@ const PanResponder = {
405
401
  getInteractionHandle: () => ?number,
406
402
  panHandlers: GestureResponderHandlerMethods,
407
403
  } {
408
- const interactionState = {
409
- handle: (null: ?number),
410
- };
411
404
  const gestureState: PanResponderGestureState = {
412
405
  // Useful for debugging
413
406
  stateID: Math.random(),
@@ -464,10 +457,6 @@ const PanResponder = {
464
457
  },
465
458
 
466
459
  onResponderGrant(event: GestureResponderEvent): boolean {
467
- if (!interactionState.handle) {
468
- interactionState.handle =
469
- InteractionManager.createInteractionHandle();
470
- }
471
460
  gestureState.x0 = currentCentroidX(event.touchHistory);
472
461
  gestureState.y0 = currentCentroidY(event.touchHistory);
473
462
  gestureState.dx = 0;
@@ -482,21 +471,11 @@ const PanResponder = {
482
471
  },
483
472
 
484
473
  onResponderReject(event: GestureResponderEvent): void {
485
- clearInteractionHandle(
486
- interactionState,
487
- config.onPanResponderReject,
488
- event,
489
- gestureState,
490
- );
474
+ config.onPanResponderReject?.call(undefined, event, gestureState);
491
475
  },
492
476
 
493
477
  onResponderRelease(event: GestureResponderEvent): void {
494
- clearInteractionHandle(
495
- interactionState,
496
- config.onPanResponderRelease,
497
- event,
498
- gestureState,
499
- );
478
+ config.onPanResponderRelease?.call(undefined, event, gestureState);
500
479
  PanResponder._initializeGestureState(gestureState);
501
480
  },
502
481
 
@@ -529,21 +508,11 @@ const PanResponder = {
529
508
  onResponderEnd(event: GestureResponderEvent): void {
530
509
  const touchHistory = event.touchHistory;
531
510
  gestureState.numberActiveTouches = touchHistory.numberActiveTouches;
532
- clearInteractionHandle(
533
- interactionState,
534
- config.onPanResponderEnd,
535
- event,
536
- gestureState,
537
- );
511
+ config.onPanResponderEnd?.call(undefined, event, gestureState);
538
512
  },
539
513
 
540
514
  onResponderTerminate(event: GestureResponderEvent): void {
541
- clearInteractionHandle(
542
- interactionState,
543
- config.onPanResponderTerminate,
544
- event,
545
- gestureState,
546
- );
515
+ config.onPanResponderTerminate?.call(undefined, event, gestureState);
547
516
  PanResponder._initializeGestureState(gestureState);
548
517
  },
549
518
 
@@ -556,27 +525,13 @@ const PanResponder = {
556
525
  return {
557
526
  panHandlers,
558
527
  getInteractionHandle(): ?number {
559
- return interactionState.handle;
528
+ // TODO: Deprecate and delete this method.
529
+ return null;
560
530
  },
561
531
  };
562
532
  },
563
533
  };
564
534
 
565
- function clearInteractionHandle(
566
- interactionState: {handle: ?number, ...},
567
- callback: ?(ActiveCallback | PassiveCallback),
568
- event: GestureResponderEvent,
569
- gestureState: PanResponderGestureState,
570
- ) {
571
- if (interactionState.handle) {
572
- InteractionManager.clearInteractionHandle(interactionState.handle);
573
- interactionState.handle = null;
574
- }
575
- if (callback) {
576
- callback(event, gestureState);
577
- }
578
- }
579
-
580
535
  export type PanResponderInstance = ReturnType<(typeof PanResponder)['create']>;
581
536
 
582
537
  export default PanResponder;
@@ -380,6 +380,11 @@ static RCTBridge *RCTCurrentBridgeInstance = nil;
380
380
  moduleProvider:(RCTBridgeModuleListProvider)block
381
381
  launchOptions:(NSDictionary *)launchOptions
382
382
  {
383
+ // Only enabld this assertion in OSS
384
+ #if COCOAPODS
385
+ [RCTBridge throwIfOnLegacyArch];
386
+ #endif
387
+
383
388
  if (self = [super init]) {
384
389
  RCTEnforceNewArchitectureValidation(RCTNotAllowedInBridgeless, self, nil);
385
390
  _delegate = delegate;
@@ -393,6 +398,17 @@ static RCTBridge *RCTCurrentBridgeInstance = nil;
393
398
  return self;
394
399
  }
395
400
 
401
+ // Wrap the exception throwing in a static method to avoid the warning: "The code following the exception will never be
402
+ // executed". This might create build failures internally where we treat warnings as errors.
403
+ + (void)throwIfOnLegacyArch
404
+ {
405
+ @throw [NSException
406
+ exceptionWithName:NSInternalInconsistencyException
407
+ reason:
408
+ @"You are trying to initialize the legacy architecture. This is not supported anymore and will be removed in the next version of React Native. Please use the New Architecture instead."
409
+ userInfo:nil];
410
+ }
411
+
396
412
  RCT_NOT_IMPLEMENTED(-(instancetype)init)
397
413
 
398
414
  - (void)dealloc
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(82),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"rc.3",
27
+ RCTVersionPrerelease: @"rc.5",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -21,7 +21,6 @@ registry->add(concreteComponentDescriptorProvider<AndroidDrawerLayoutComponentDe
21
21
  registry->add(concreteComponentDescriptorProvider<AndroidSwipeRefreshLayoutComponentDescriptor>());
22
22
  registry->add(concreteComponentDescriptorProvider<DebuggingOverlayComponentDescriptor>());
23
23
  registry->add(concreteComponentDescriptorProvider<PullToRefreshViewComponentDescriptor>());
24
- registry->add(concreteComponentDescriptorProvider<SwitchComponentDescriptor>());
25
24
  registry->add(concreteComponentDescriptorProvider<UnimplementedNativeViewComponentDescriptor>());
26
25
  }
27
26
 
@@ -21,7 +21,6 @@ using AndroidDrawerLayoutComponentDescriptor = ConcreteComponentDescriptor<Andro
21
21
  using AndroidSwipeRefreshLayoutComponentDescriptor = ConcreteComponentDescriptor<AndroidSwipeRefreshLayoutShadowNode>;
22
22
  using DebuggingOverlayComponentDescriptor = ConcreteComponentDescriptor<DebuggingOverlayShadowNode>;
23
23
  using PullToRefreshViewComponentDescriptor = ConcreteComponentDescriptor<PullToRefreshViewShadowNode>;
24
- using SwitchComponentDescriptor = ConcreteComponentDescriptor<SwitchShadowNode>;
25
24
  using UnimplementedNativeViewComponentDescriptor = ConcreteComponentDescriptor<UnimplementedNativeViewShadowNode>;
26
25
 
27
26
  void FBReactNativeSpec_registerComponentDescriptorsFromCodegen(
@@ -17,7 +17,6 @@ extern const char AndroidDrawerLayoutComponentName[] = "AndroidDrawerLayout";
17
17
  extern const char AndroidSwipeRefreshLayoutComponentName[] = "AndroidSwipeRefreshLayout";
18
18
  extern const char DebuggingOverlayComponentName[] = "DebuggingOverlay";
19
19
  extern const char PullToRefreshViewComponentName[] = "PullToRefreshView";
20
- extern const char SwitchComponentName[] = "Switch";
21
20
  extern const char UnimplementedNativeViewComponentName[] = "UnimplementedNativeView";
22
21
 
23
22
  } // namespace facebook::react
@@ -73,17 +73,6 @@ using PullToRefreshViewShadowNode = ConcreteViewShadowNode<
73
73
  PullToRefreshViewEventEmitter,
74
74
  PullToRefreshViewState>;
75
75
 
76
- JSI_EXPORT extern const char SwitchComponentName[];
77
-
78
- /*
79
- * `ShadowNode` for <Switch> component.
80
- */
81
- using SwitchShadowNode = ConcreteViewShadowNode<
82
- SwitchComponentName,
83
- SwitchProps,
84
- SwitchEventEmitter,
85
- SwitchState>;
86
-
87
76
  JSI_EXPORT extern const char UnimplementedNativeViewComponentName[];
88
77
 
89
78
  /*
@@ -25,8 +25,6 @@ using DebuggingOverlayState = StateData;
25
25
 
26
26
  using PullToRefreshViewState = StateData;
27
27
 
28
- using SwitchState = StateData;
29
-
30
28
  using UnimplementedNativeViewState = StateData;
31
29
 
32
30
  } // namespace facebook::react
@@ -111,6 +111,12 @@ typedef NS_OPTIONS(NSInteger, RNComponentViewUpdateMask) {
111
111
  */
112
112
  - (void)prepareForRecycle;
113
113
 
114
+ /*
115
+ * Called for unmounted components that won't be moved to a recycle pool.
116
+ * Useful for releasing any associated resources.
117
+ */
118
+ - (void)invalidate;
119
+
114
120
  /*
115
121
  * Read the last props used to update the view.
116
122
  */
@@ -108,6 +108,7 @@ const NSInteger RCTComponentViewRegistryRecyclePoolMaxSize = 1024;
108
108
  auto &recycledViews = _recyclePool[componentHandle];
109
109
 
110
110
  if (recycledViews.size() > RCTComponentViewRegistryRecyclePoolMaxSize || !componentViewDescriptor.shouldBeRecycled) {
111
+ [componentViewDescriptor.view invalidate];
111
112
  return;
112
113
  }
113
114
 
@@ -37,6 +37,8 @@ NS_ASSUME_NONNULL_BEGIN
37
37
 
38
38
  - (void)prepareForRecycle;
39
39
 
40
+ - (void)invalidate;
41
+
40
42
  - (facebook::react::Props::Shared)props;
41
43
 
42
44
  - (void)setIsJSResponder:(BOOL)isJSResponder;
@@ -129,6 +129,11 @@ using namespace facebook::react;
129
129
  // Default implementation does nothing.
130
130
  }
131
131
 
132
+ - (void)invalidate
133
+ {
134
+ // Default implementation does nothing.
135
+ }
136
+
132
137
  - (facebook::react::Props::Shared)props
133
138
  {
134
139
  RCTAssert(NO, @"props access should be implemented by RCTViewComponentView.");
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.82.0-rc.3
1
+ VERSION_NAME=0.82.0-rc.5
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -328,6 +328,15 @@ public class ReactInstanceManager {
328
328
  }
329
329
 
330
330
  registerCxxErrorHandlerFunc();
331
+
332
+ // Using `if (true)` just to prevent tests / lint errors.
333
+ if (true) {
334
+ // Legacy architecture of React Native is deprecated and can't be initialized anymore.
335
+ // More details on:
336
+ // https://github.com/react-native-community/discussions-and-proposals/blob/nc/legacy-arch-removal/proposals/0929-legacy-architecture-removal.md
337
+ throw new UnsupportedOperationException(
338
+ "ReactInstanceManager.createReactContext is unsupported.");
339
+ }
331
340
  }
332
341
 
333
342
  private ReactInstanceDevHelper createDevHelperInterface() {
@@ -1446,6 +1455,7 @@ public class ReactInstanceManager {
1446
1455
  */
1447
1456
  private ReactApplicationContext createReactContext(
1448
1457
  JavaScriptExecutor jsExecutor, JSBundleLoader jsBundleLoader) {
1458
+
1449
1459
  FLog.d(ReactConstants.TAG, "ReactInstanceManager.createReactContext()");
1450
1460
  ReactMarker.logMarker(CREATE_REACT_CONTEXT_START, jsExecutor.getName());
1451
1461
 
@@ -125,6 +125,16 @@ public object DefaultNewArchitectureEntryPoint {
125
125
  privateConcurrentReactEnabled = featureFlags.enableFabricRenderer()
126
126
  privateBridgelessEnabled = featureFlags.enableBridgelessArchitecture()
127
127
 
128
+ val (isValid, errorMessage) =
129
+ isConfigurationValid(
130
+ privateTurboModulesEnabled,
131
+ privateFabricEnabled,
132
+ privateBridgelessEnabled,
133
+ )
134
+ if (!isValid) {
135
+ error(errorMessage)
136
+ }
137
+
128
138
  DefaultSoLoader.maybeLoadSoLibrary()
129
139
  }
130
140
 
@@ -158,13 +168,13 @@ public object DefaultNewArchitectureEntryPoint {
158
168
  fabricEnabled: Boolean,
159
169
  bridgelessEnabled: Boolean,
160
170
  ): Pair<Boolean, String> =
161
- when {
162
- fabricEnabled && !turboModulesEnabled ->
163
- false to
164
- "fabricEnabled=true requires turboModulesEnabled=true (is now false) - Please update your DefaultNewArchitectureEntryPoint.load() parameters."
165
- bridgelessEnabled && (!turboModulesEnabled || !fabricEnabled) ->
166
- false to
167
- "bridgelessEnabled=true requires (turboModulesEnabled=true AND fabricEnabled=true) - Please update your DefaultNewArchitectureEntryPoint.load() parameters."
168
- else -> true to ""
171
+ if (!turboModulesEnabled || !fabricEnabled || !bridgelessEnabled) {
172
+ false to
173
+ "You cannot load React Native with the New Architecture disabled. " +
174
+ "Please use DefaultNewArchitectureEntryPoint.load() instead of " +
175
+ "DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=$turboModulesEnabled, " +
176
+ "fabricEnabled=$fabricEnabled, bridgelessEnabled=$bridgelessEnabled)"
177
+ } else {
178
+ true to ""
169
179
  }
170
180
  }
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 82,
17
17
  "patch" to 0,
18
- "prerelease" to "rc.3"
18
+ "prerelease" to "rc.5"
19
19
  )
20
20
  }
@@ -22,7 +22,7 @@ constexpr struct {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 82;
24
24
  int32_t Patch = 0;
25
- std::string_view Prerelease = "rc.3";
25
+ std::string_view Prerelease = "rc.5";
26
26
  } ReactNativeVersion;
27
27
 
28
28
  } // namespace facebook::react
package/index.js CHANGED
@@ -224,6 +224,12 @@ module.exports = {
224
224
  * @deprecated
225
225
  */
226
226
  get InteractionManager() {
227
+ warnOnce(
228
+ 'interaction-manager-deprecated',
229
+ 'InteractionManager has been deprecated and will be removed in a ' +
230
+ 'future release. Please refactor long tasks into smaller ones, and ' +
231
+ " use 'requestIdleCallback' instead.",
232
+ );
227
233
  return require('./Libraries/Interaction/InteractionManager').default;
228
234
  },
229
235
  get Keyboard() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.82.0-rc.3",
3
+ "version": "0.82.0-rc.5",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -162,13 +162,13 @@
162
162
  },
163
163
  "dependencies": {
164
164
  "@jest/create-cache-key-function": "^29.7.0",
165
- "@react-native/assets-registry": "0.82.0-rc.3",
166
- "@react-native/codegen": "0.82.0-rc.3",
167
- "@react-native/community-cli-plugin": "0.82.0-rc.3",
168
- "@react-native/gradle-plugin": "0.82.0-rc.3",
169
- "@react-native/js-polyfills": "0.82.0-rc.3",
170
- "@react-native/normalize-colors": "0.82.0-rc.3",
171
- "@react-native/virtualized-lists": "0.82.0-rc.3",
165
+ "@react-native/assets-registry": "0.82.0-rc.5",
166
+ "@react-native/codegen": "0.82.0-rc.5",
167
+ "@react-native/community-cli-plugin": "0.82.0-rc.5",
168
+ "@react-native/gradle-plugin": "0.82.0-rc.5",
169
+ "@react-native/js-polyfills": "0.82.0-rc.5",
170
+ "@react-native/normalize-colors": "0.82.0-rc.5",
171
+ "@react-native/virtualized-lists": "0.82.0-rc.5",
172
172
  "abort-controller": "^3.0.0",
173
173
  "anser": "^1.4.9",
174
174
  "ansi-regex": "^5.0.0",
@@ -80,7 +80,7 @@ Pod::Spec.new do |spec|
80
80
  )
81
81
 
82
82
  spec.user_target_xcconfig = {
83
- 'HERMES_CLI_PATH' => "#{hermes_compiler_path}/osx-bin/hermesc"
83
+ 'HERMES_CLI_PATH' => "#{hermes_compiler_path}/hermesc/osx-bin/hermesc"
84
84
  }
85
85
  end
86
86
 
@@ -228,8 +228,8 @@ def release_tarball_url(version, build_type)
228
228
  if hermes_v1_enabled()
229
229
  namespace = "com/facebook/hermes"
230
230
  # Sample url from Maven:
231
- # https://repo1.maven.org/maven2/com/facebook/hermes/hermes-ios/0.14.0/hermes-ios-0.14.0-debug.tar.gz
232
- return "#{maven_repo_url}/#{namespace}/hermes-ios/#{version}/hermes-ios-#{version}-#{build_type.to_s}.tar.gz"
231
+ # https://repo1.maven.org/maven2/com/facebook/hermes/hermes-ios/0.14.0/hermes-ios-0.14.0-hermes-ios-debug.tar.gz
232
+ return "#{maven_repo_url}/#{namespace}/hermes-ios/#{version}/hermes-ios-#{version}-hermes-ios-#{build_type.to_s}.tar.gz"
233
233
  else
234
234
  namespace = "com/facebook/react"
235
235
  # Sample url from Maven:
@@ -1 +1 @@
1
- HERMES_V1_VERSION_NAME=250829098.0.0
1
+ HERMES_V1_VERSION_NAME=250829098.0.1
Binary file
Binary file
Binary file
@@ -38,3 +38,26 @@ project(":packages:react-native:ReactAndroid:hermes-engine").projectDir =
38
38
  project(":packages").projectDir = file("/tmp")
39
39
 
40
40
  project(":packages:react-native").projectDir = file("/tmp")
41
+
42
+ // Gradle properties defined in `gradle.properties` are not inherited by
43
+ // included builds, see https://github.com/gradle/gradle/issues/2534.
44
+ // This is a workaround to read the configuration from the consuming project,
45
+ // and apply relevant properties to the :react-native project.
46
+ buildscript {
47
+ val properties = java.util.Properties()
48
+ val propertiesToInherit = listOf("hermesV1Enabled", "react.hermesV1Enabled")
49
+
50
+ try {
51
+ file("../../android/gradle.properties").inputStream().use { properties.load(it) }
52
+
53
+ gradle.rootProject {
54
+ propertiesToInherit.forEach { property ->
55
+ if (properties.containsKey(property)) {
56
+ gradle.rootProject.extra.set(property, properties.getProperty(property))
57
+ }
58
+ }
59
+ }
60
+ } catch (e: Exception) {
61
+ // fail silently
62
+ }
63
+ }
@@ -58,4 +58,5 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
58
58
  export default (codegenNativeComponent<SwitchNativeProps>('Switch', {
59
59
  paperComponentName: 'RCTSwitch',
60
60
  excludedPlatforms: ['android'],
61
+ interfaceOnly: true,
61
62
  }): ComponentType);
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<26f3003a9aed89e2ce5ec06747276fd7>>
7
+ * @generated SignedSource<<6c3f52d452fe844d027bee1f6d755fa1>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/Libraries/Interaction/PanResponder.js
@@ -16,9 +16,6 @@ import type { GestureResponderEvent } from "../Types/CoreEventTypes";
16
16
  * single-touch gestures resilient to extra touches, and can be used to
17
17
  * recognize simple multi-touch gestures.
18
18
  *
19
- * By default, `PanResponder` holds an `InteractionManager` handle to block
20
- * long-running JS events from interrupting active gestures.
21
- *
22
19
  * It provides a predictable wrapper of the responder handlers provided by the
23
20
  * [gesture responder system](docs/gesture-responder-system.html).
24
21
  * For each handler, it provides a new `gestureState` object alongside the