react-native 0.84.0-nightly-20251105-5ec5cc3a3 → 0.84.0-nightly-20251107-f8198f662
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.
- package/Libraries/Animated/createAnimatedComponent.js +1 -0
- package/Libraries/Components/Button.js +0 -3
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/React-CoreModules.podspec +1 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8 -8
- package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
- package/React/Runtime/React-RCTRuntime.podspec +1 -0
- package/ReactAndroid/api/ReactAndroid.api +0 -13
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -16
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +12 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -35
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +11 -1
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +36 -26
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +15 -15
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +4 -4
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +3 -13
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +1 -4
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
- package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +1 -35
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
- package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -0
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +0 -40
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -6
- package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
- package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
- package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
- package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +13 -2
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +6 -2
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +4 -0
- package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
- package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -0
- package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
- package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h +20 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +5 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +6 -6
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +83 -83
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +3 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +5 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +10 -10
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +2 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +6 -6
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +3 -3
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +9 -1
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +21 -16
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +9 -5
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +67 -32
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +14 -2
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
- package/ReactCommon/react/runtime/ReactInstance.cpp +8 -6
- package/ReactCommon/react/runtime/ReactInstance.h +0 -1
- package/ReactCommon/react/utils/React-utils.podspec +3 -1
- package/flow/bom.js.flow +7 -0
- package/package.json +9 -8
- package/scripts/ios-configure-glog.sh +6 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +6 -6
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -2
- package/types_generated/Libraries/Components/Button.d.ts +1 -4
- package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.84.0-nightly-
|
|
3
|
+
"version": "0.84.0-nightly-20251107-f8198f662",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -129,6 +129,7 @@
|
|
|
129
129
|
"scripts/xcode/ccache.conf",
|
|
130
130
|
"scripts/xcode/with-environment.sh",
|
|
131
131
|
"sdks/.hermesversion",
|
|
132
|
+
"sdks/.hermesv1version",
|
|
132
133
|
"sdks/hermes-engine",
|
|
133
134
|
"sdks/hermesc",
|
|
134
135
|
"settings.gradle.kts",
|
|
@@ -159,13 +160,13 @@
|
|
|
159
160
|
},
|
|
160
161
|
"dependencies": {
|
|
161
162
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
162
|
-
"@react-native/assets-registry": "0.84.0-nightly-
|
|
163
|
-
"@react-native/codegen": "0.84.0-nightly-
|
|
164
|
-
"@react-native/community-cli-plugin": "0.84.0-nightly-
|
|
165
|
-
"@react-native/gradle-plugin": "0.84.0-nightly-
|
|
166
|
-
"@react-native/js-polyfills": "0.84.0-nightly-
|
|
167
|
-
"@react-native/normalize-colors": "0.84.0-nightly-
|
|
168
|
-
"@react-native/virtualized-lists": "0.84.0-nightly-
|
|
163
|
+
"@react-native/assets-registry": "0.84.0-nightly-20251107-f8198f662",
|
|
164
|
+
"@react-native/codegen": "0.84.0-nightly-20251107-f8198f662",
|
|
165
|
+
"@react-native/community-cli-plugin": "0.84.0-nightly-20251107-f8198f662",
|
|
166
|
+
"@react-native/gradle-plugin": "0.84.0-nightly-20251107-f8198f662",
|
|
167
|
+
"@react-native/js-polyfills": "0.84.0-nightly-20251107-f8198f662",
|
|
168
|
+
"@react-native/normalize-colors": "0.84.0-nightly-20251107-f8198f662",
|
|
169
|
+
"@react-native/virtualized-lists": "0.84.0-nightly-20251107-f8198f662",
|
|
169
170
|
"abort-controller": "^3.0.0",
|
|
170
171
|
"anser": "^1.4.9",
|
|
171
172
|
"ansi-regex": "^5.0.0",
|
|
@@ -14,7 +14,12 @@ if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then
|
|
|
14
14
|
# it's better to rely on platform name as fallback because architecture differs between simulator and device
|
|
15
15
|
|
|
16
16
|
if [[ "$PLATFORM_NAME" == *"simulator"* ]]; then
|
|
17
|
-
|
|
17
|
+
if [[ "$(uname -m)" == "arm64" ]]; then
|
|
18
|
+
# Apple Silicon Mac -> arm64 simulator
|
|
19
|
+
CURRENT_ARCH="arm64"
|
|
20
|
+
else
|
|
21
|
+
CURRENT_ARCH="x86_64"
|
|
22
|
+
fi
|
|
18
23
|
else
|
|
19
24
|
CURRENT_ARCH="arm64"
|
|
20
25
|
fi
|
|
@@ -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<<
|
|
7
|
+
* @generated SignedSource<<a52734633ac33a6f8dfc521bdc6e2692>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -58,6 +58,7 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
58
58
|
disableFabricCommitInCXXAnimated: Getter<boolean>,
|
|
59
59
|
disableMountItemReorderingAndroid: Getter<boolean>,
|
|
60
60
|
disableOldAndroidAttachmentMetricsWorkarounds: Getter<boolean>,
|
|
61
|
+
disableSubviewClippingAndroid: Getter<boolean>,
|
|
61
62
|
disableTextLayoutManagerCacheAndroid: Getter<boolean>,
|
|
62
63
|
enableAccessibilityOrder: Getter<boolean>,
|
|
63
64
|
enableAccumulatedUpdatesInRawPropsAndroid: Getter<boolean>,
|
|
@@ -122,7 +123,6 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
122
123
|
useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean>,
|
|
123
124
|
useNativeTransformHelperAndroid: Getter<boolean>,
|
|
124
125
|
useNativeViewConfigsInBridgelessMode: Getter<boolean>,
|
|
125
|
-
useOptimizedEventBatchingOnAndroid: Getter<boolean>,
|
|
126
126
|
useRawPropsJsiValue: Getter<boolean>,
|
|
127
127
|
useShadowNodeStateOnClone: Getter<boolean>,
|
|
128
128
|
useSharedAnimatedBackend: Getter<boolean>,
|
|
@@ -245,6 +245,10 @@ export const disableMountItemReorderingAndroid: Getter<boolean> = createNativeFl
|
|
|
245
245
|
* Disable some workarounds for old Android versions in TextLayoutManager logic for retrieving attachment metrics
|
|
246
246
|
*/
|
|
247
247
|
export const disableOldAndroidAttachmentMetricsWorkarounds: Getter<boolean> = createNativeFlagGetter('disableOldAndroidAttachmentMetricsWorkarounds', true);
|
|
248
|
+
/**
|
|
249
|
+
* Force disable subview clipping for ReactViewGroup on Android
|
|
250
|
+
*/
|
|
251
|
+
export const disableSubviewClippingAndroid: Getter<boolean> = createNativeFlagGetter('disableSubviewClippingAndroid', false);
|
|
248
252
|
/**
|
|
249
253
|
* Turns off the global measurement cache used by TextLayoutManager on Android.
|
|
250
254
|
*/
|
|
@@ -501,10 +505,6 @@ export const useNativeTransformHelperAndroid: Getter<boolean> = createNativeFlag
|
|
|
501
505
|
* When enabled, the native view configs are used in bridgeless mode.
|
|
502
506
|
*/
|
|
503
507
|
export const useNativeViewConfigsInBridgelessMode: Getter<boolean> = createNativeFlagGetter('useNativeViewConfigsInBridgelessMode', false);
|
|
504
|
-
/**
|
|
505
|
-
* Uses an optimized mechanism for event batching on Android that does not need to wait for a Choreographer frame callback.
|
|
506
|
-
*/
|
|
507
|
-
export const useOptimizedEventBatchingOnAndroid: Getter<boolean> = createNativeFlagGetter('useOptimizedEventBatchingOnAndroid', false);
|
|
508
508
|
/**
|
|
509
509
|
* Instead of using folly::dynamic as internal representation in RawProps and RawValue, use jsi::Value
|
|
510
510
|
*/
|
|
@@ -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<<
|
|
7
|
+
* @generated SignedSource<<53fc9aca82f76eb0519b03187993359a>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -33,6 +33,7 @@ export interface Spec extends TurboModule {
|
|
|
33
33
|
+disableFabricCommitInCXXAnimated?: () => boolean;
|
|
34
34
|
+disableMountItemReorderingAndroid?: () => boolean;
|
|
35
35
|
+disableOldAndroidAttachmentMetricsWorkarounds?: () => boolean;
|
|
36
|
+
+disableSubviewClippingAndroid?: () => boolean;
|
|
36
37
|
+disableTextLayoutManagerCacheAndroid?: () => boolean;
|
|
37
38
|
+enableAccessibilityOrder?: () => boolean;
|
|
38
39
|
+enableAccumulatedUpdatesInRawPropsAndroid?: () => boolean;
|
|
@@ -97,7 +98,6 @@ export interface Spec extends TurboModule {
|
|
|
97
98
|
+useNativeEqualsInNativeReadableArrayAndroid?: () => boolean;
|
|
98
99
|
+useNativeTransformHelperAndroid?: () => boolean;
|
|
99
100
|
+useNativeViewConfigsInBridgelessMode?: () => boolean;
|
|
100
|
-
+useOptimizedEventBatchingOnAndroid?: () => boolean;
|
|
101
101
|
+useRawPropsJsiValue?: () => boolean;
|
|
102
102
|
+useShadowNodeStateOnClone?: () => boolean;
|
|
103
103
|
+useSharedAnimatedBackend?: () => boolean;
|
|
@@ -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<<
|
|
7
|
+
* @generated SignedSource<<c9de7b7b7e9d2c6170460f127e7a2659>>
|
|
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/Components/Button.js
|
|
@@ -142,9 +142,6 @@ export type ButtonProps = Readonly<{
|
|
|
142
142
|
[button:source]:
|
|
143
143
|
https://github.com/facebook/react-native/blob/HEAD/Libraries/Components/Button.js
|
|
144
144
|
|
|
145
|
-
[button:examples]:
|
|
146
|
-
https://js.coach/?menu%5Bcollections%5D=React%20Native&page=1&query=button
|
|
147
|
-
|
|
148
145
|
```jsx
|
|
149
146
|
<Button
|
|
150
147
|
onPress={onPressLearnMore}
|
|
@@ -4,14 +4,14 @@
|
|
|
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<<
|
|
7
|
+
* @generated SignedSource<<6313a2ed74066cde1bcc0fbaed89176a>>
|
|
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/StyleSheet/PlatformColorValueTypes.js.flow
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import type { ProcessedColorValue } from "./processColor";
|
|
14
|
-
import type {
|
|
15
|
-
export declare function PlatformColor(...names: Array<string>):
|
|
14
|
+
import type { NativeColorValue } from "./StyleSheet";
|
|
15
|
+
export declare function PlatformColor(...names: Array<string>): NativeColorValue;
|
|
16
16
|
export declare function normalizeColorObject(color: NativeColorValue): null | undefined | ProcessedColorValue;
|
|
17
17
|
export declare function processColorObject(color: NativeColorValue): null | undefined | NativeColorValue;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
package com.facebook.react.bridge
|
|
9
|
-
|
|
10
|
-
import com.facebook.jni.HybridData
|
|
11
|
-
import com.facebook.proguard.annotations.DoNotStrip
|
|
12
|
-
import com.facebook.react.common.annotations.internal.InteropLegacyArchitecture
|
|
13
|
-
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger
|
|
14
|
-
|
|
15
|
-
/** This does nothing interesting, except avoid breaking existing code. */
|
|
16
|
-
@DoNotStrip
|
|
17
|
-
@InteropLegacyArchitecture
|
|
18
|
-
public open class CxxModuleWrapper protected constructor(hybridData: HybridData) :
|
|
19
|
-
CxxModuleWrapperBase(hybridData) {
|
|
20
|
-
private companion object {
|
|
21
|
-
init {
|
|
22
|
-
LegacyArchitectureLogger.assertLegacyArchitecture("CxxModuleWrapper")
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
package com.facebook.react.bridge
|
|
9
|
-
|
|
10
|
-
import com.facebook.jni.HybridData
|
|
11
|
-
import com.facebook.proguard.annotations.DoNotStrip
|
|
12
|
-
import com.facebook.react.common.annotations.internal.InteropLegacyArchitecture
|
|
13
|
-
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
|
|
14
|
-
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* A Java Object which represents a cross-platform C++ module
|
|
18
|
-
*
|
|
19
|
-
* This module implements the [NativeModule] interface but will never be invoked from Java, instead
|
|
20
|
-
* the underlying Cxx module will be extracted by the bridge and called directly.
|
|
21
|
-
*/
|
|
22
|
-
@DoNotStrip
|
|
23
|
-
@InteropLegacyArchitecture
|
|
24
|
-
public open class CxxModuleWrapperBase
|
|
25
|
-
protected constructor(
|
|
26
|
-
// For creating a wrapper from C++, or from a derived class.
|
|
27
|
-
@Suppress("NoHungarianNotation") @DoNotStrip private var mHybridData: HybridData
|
|
28
|
-
) : NativeModule {
|
|
29
|
-
external override fun getName(): String
|
|
30
|
-
|
|
31
|
-
override fun initialize() {
|
|
32
|
-
// do nothing
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
@Deprecated(
|
|
36
|
-
"The method canOverrideExistingModule is not used in the New Architecture and will be removed in a future release."
|
|
37
|
-
)
|
|
38
|
-
override fun canOverrideExistingModule(): Boolean = false
|
|
39
|
-
|
|
40
|
-
override fun invalidate() {
|
|
41
|
-
mHybridData.resetNative()
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// Replace the current native module held by this wrapper by a new instance
|
|
45
|
-
protected fun resetModule(hd: HybridData) {
|
|
46
|
-
if (hd !== mHybridData) {
|
|
47
|
-
mHybridData.resetNative()
|
|
48
|
-
mHybridData = hd
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
private companion object {
|
|
53
|
-
init {
|
|
54
|
-
ReactNativeJNISoLoader.staticInit()
|
|
55
|
-
LegacyArchitectureLogger.assertLegacyArchitecture(
|
|
56
|
-
"CxxModuleWrapperBase",
|
|
57
|
-
LegacyArchitectureLogLevel.WARNING,
|
|
58
|
-
)
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
|
|
10
|
-
#include "CxxModuleWrapperBase.h"
|
|
11
|
-
|
|
12
|
-
namespace facebook::react {
|
|
13
|
-
|
|
14
|
-
class CxxModuleWrapper : public jni::HybridClass<CxxModuleWrapper, CxxModuleWrapperBase> {
|
|
15
|
-
public:
|
|
16
|
-
constexpr static const char *const kJavaDescriptor = "Lcom/facebook/react/bridge/CxxModuleWrapper;";
|
|
17
|
-
|
|
18
|
-
std::string getName() override
|
|
19
|
-
{
|
|
20
|
-
return module_->getName();
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// This steals ownership of the underlying module for use by the C++ bridge
|
|
24
|
-
std::unique_ptr<xplat::module::CxxModule> getModule() override
|
|
25
|
-
{
|
|
26
|
-
return std::move(module_);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
protected:
|
|
30
|
-
friend HybridBase;
|
|
31
|
-
|
|
32
|
-
explicit CxxModuleWrapper(std::unique_ptr<xplat::module::CxxModule> module) : module_(std::move(module)) {}
|
|
33
|
-
|
|
34
|
-
std::unique_ptr<xplat::module::CxxModule> module_;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
} // namespace facebook::react
|