react-native 0.82.0-nightly-20250809-e0ea78190 → 0.82.0-nightly-20250810-d3bbbd893
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/Core/ReactNativeVersion.js +1 -1
- package/React/Base/RCTVersion.m +1 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +16 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +10 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +3 -0
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +53 -18
- package/package.json +8 -8
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
|
@@ -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 = 'nightly-
|
|
32
|
+
static prerelease: string | null = 'nightly-20250810-d3bbbd893';
|
|
33
33
|
|
|
34
34
|
static getVersionString(): string {
|
|
35
35
|
return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
|
|
|
24
24
|
RCTVersionMajor: @(0),
|
|
25
25
|
RCTVersionMinor: @(82),
|
|
26
26
|
RCTVersionPatch: @(0),
|
|
27
|
-
RCTVersionPrerelease: @"nightly-
|
|
27
|
+
RCTVersionPrerelease: @"nightly-20250810-d3bbbd893",
|
|
28
28
|
};
|
|
29
29
|
});
|
|
30
30
|
return __rnVersion;
|
|
@@ -37,6 +37,7 @@ import com.facebook.systrace.Systrace
|
|
|
37
37
|
/**
|
|
38
38
|
* This is the basic module to support React Native. The debug modules are now in DebugCorePackage.
|
|
39
39
|
*/
|
|
40
|
+
@Suppress("DEPRECATION")
|
|
40
41
|
@ReactModuleList(
|
|
41
42
|
// WARNING: If you modify this list, ensure that the list below in method
|
|
42
43
|
// getReactModuleInfoByInitialization is also updated
|
|
@@ -54,7 +55,9 @@ import com.facebook.systrace.Systrace
|
|
|
54
55
|
TimingModule::class,
|
|
55
56
|
com.facebook.react.uimanager.UIManagerModule::class])
|
|
56
57
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
57
|
-
@
|
|
58
|
+
@Deprecated(
|
|
59
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
60
|
+
level = DeprecationLevel.WARNING)
|
|
58
61
|
internal class CoreModulesPackage(
|
|
59
62
|
private val reactInstanceManager: ReactInstanceManager,
|
|
60
63
|
private val hardwareBackBtnHandler: DefaultHardwareBackBtnHandler,
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react
|
|
9
11
|
|
|
10
12
|
import com.facebook.react.bridge.ModuleHolder
|
|
@@ -16,6 +18,9 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger
|
|
|
16
18
|
|
|
17
19
|
/** Helper class to build NativeModuleRegistry. */
|
|
18
20
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
21
|
+
@Deprecated(
|
|
22
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
23
|
+
level = DeprecationLevel.WARNING)
|
|
19
24
|
public class NativeModuleRegistryBuilder(
|
|
20
25
|
private val reactApplicationContext: ReactApplicationContext,
|
|
21
26
|
) {
|
|
@@ -40,7 +40,8 @@ import java.util.Objects;
|
|
|
40
40
|
*/
|
|
41
41
|
@VisibleForTesting
|
|
42
42
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
43
|
-
@Deprecated
|
|
43
|
+
@Deprecated(
|
|
44
|
+
since = "This class is part of Legacy Architecture and will be removed in a future release")
|
|
44
45
|
@Nullsafe(Nullsafe.Mode.LOCAL)
|
|
45
46
|
public class BridgeReactContext extends ReactApplicationContext {
|
|
46
47
|
static {
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react.bridge
|
|
9
11
|
|
|
10
12
|
import com.facebook.react.common.annotations.internal.LegacyArchitecture
|
|
@@ -13,6 +15,9 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger
|
|
|
13
15
|
|
|
14
16
|
/** Implementation of javascript callback function that uses Bridge to schedule method execution. */
|
|
15
17
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
18
|
+
@Deprecated(
|
|
19
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
20
|
+
level = DeprecationLevel.WARNING)
|
|
16
21
|
internal class CallbackImpl(private val jsInstance: JSInstance, private val callbackId: Int) :
|
|
17
22
|
Callback {
|
|
18
23
|
private var invoked = false
|
|
@@ -48,6 +48,8 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|
|
48
48
|
*/
|
|
49
49
|
@DoNotStrip
|
|
50
50
|
@LegacyArchitecture
|
|
51
|
+
@Deprecated(
|
|
52
|
+
since = "This class is part of Legacy Architecture and will be removed in a future release")
|
|
51
53
|
public class CatalystInstanceImpl implements CatalystInstance {
|
|
52
54
|
static {
|
|
53
55
|
ReactNativeJNISoLoader.staticInit();
|
|
@@ -17,6 +17,9 @@ import com.facebook.systrace.SystraceMessage
|
|
|
17
17
|
import java.lang.reflect.InvocationTargetException
|
|
18
18
|
import java.lang.reflect.Method
|
|
19
19
|
|
|
20
|
+
@Deprecated(
|
|
21
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
22
|
+
level = DeprecationLevel.WARNING)
|
|
20
23
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
21
24
|
internal class JavaMethodWrapper(
|
|
22
25
|
private val moduleWrapper: JavaModuleWrapper,
|
|
@@ -26,6 +29,7 @@ internal class JavaMethodWrapper(
|
|
|
26
29
|
private abstract class ArgumentExtractor<T> {
|
|
27
30
|
open fun getJSArgumentsNeeded(): Int = 1
|
|
28
31
|
|
|
32
|
+
@Suppress("DEPRECATION")
|
|
29
33
|
abstract fun extractArgument(
|
|
30
34
|
jsInstance: JSInstance,
|
|
31
35
|
jsArguments: ReadableArray,
|
|
@@ -157,6 +161,7 @@ internal class JavaMethodWrapper(
|
|
|
157
161
|
"$startIndex"
|
|
158
162
|
}
|
|
159
163
|
|
|
164
|
+
@Suppress("DEPRECATION")
|
|
160
165
|
override fun invoke(jsInstance: JSInstance, parameters: ReadableArray) {
|
|
161
166
|
val traceName = moduleWrapper.name + "." + method.name
|
|
162
167
|
SystraceMessage.beginSection(TRACE_TAG_REACT, "callJavaModuleMethod")
|
|
@@ -240,6 +245,7 @@ internal class JavaMethodWrapper(
|
|
|
240
245
|
|
|
241
246
|
private val ARGUMENT_EXTRACTOR_BOOLEAN: ArgumentExtractor<Boolean> =
|
|
242
247
|
object : ArgumentExtractor<Boolean>() {
|
|
248
|
+
@Suppress("DEPRECATION")
|
|
243
249
|
override fun extractArgument(
|
|
244
250
|
jsInstance: JSInstance,
|
|
245
251
|
jsArguments: ReadableArray,
|
|
@@ -249,6 +255,7 @@ internal class JavaMethodWrapper(
|
|
|
249
255
|
|
|
250
256
|
private val ARGUMENT_EXTRACTOR_DOUBLE: ArgumentExtractor<Double> =
|
|
251
257
|
object : ArgumentExtractor<Double>() {
|
|
258
|
+
@Suppress("DEPRECATION")
|
|
252
259
|
override fun extractArgument(
|
|
253
260
|
jsInstance: JSInstance,
|
|
254
261
|
jsArguments: ReadableArray,
|
|
@@ -258,6 +265,7 @@ internal class JavaMethodWrapper(
|
|
|
258
265
|
|
|
259
266
|
private val ARGUMENT_EXTRACTOR_FLOAT: ArgumentExtractor<Float> =
|
|
260
267
|
object : ArgumentExtractor<Float>() {
|
|
268
|
+
@Suppress("DEPRECATION")
|
|
261
269
|
override fun extractArgument(
|
|
262
270
|
jsInstance: JSInstance,
|
|
263
271
|
jsArguments: ReadableArray,
|
|
@@ -267,6 +275,7 @@ internal class JavaMethodWrapper(
|
|
|
267
275
|
|
|
268
276
|
private val ARGUMENT_EXTRACTOR_INTEGER: ArgumentExtractor<Int> =
|
|
269
277
|
object : ArgumentExtractor<Int>() {
|
|
278
|
+
@Suppress("DEPRECATION")
|
|
270
279
|
override fun extractArgument(
|
|
271
280
|
jsInstance: JSInstance,
|
|
272
281
|
jsArguments: ReadableArray,
|
|
@@ -276,6 +285,7 @@ internal class JavaMethodWrapper(
|
|
|
276
285
|
|
|
277
286
|
private val ARGUMENT_EXTRACTOR_STRING: ArgumentExtractor<String> =
|
|
278
287
|
object : ArgumentExtractor<String>() {
|
|
288
|
+
@Suppress("DEPRECATION")
|
|
279
289
|
override fun extractArgument(
|
|
280
290
|
jsInstance: JSInstance,
|
|
281
291
|
jsArguments: ReadableArray,
|
|
@@ -285,6 +295,7 @@ internal class JavaMethodWrapper(
|
|
|
285
295
|
|
|
286
296
|
private val ARGUMENT_EXTRACTOR_ARRAY: ArgumentExtractor<ReadableArray> =
|
|
287
297
|
object : ArgumentExtractor<ReadableArray>() {
|
|
298
|
+
@Suppress("DEPRECATION")
|
|
288
299
|
override fun extractArgument(
|
|
289
300
|
jsInstance: JSInstance,
|
|
290
301
|
jsArguments: ReadableArray,
|
|
@@ -294,6 +305,7 @@ internal class JavaMethodWrapper(
|
|
|
294
305
|
|
|
295
306
|
private val ARGUMENT_EXTRACTOR_DYNAMIC: ArgumentExtractor<Dynamic> =
|
|
296
307
|
object : ArgumentExtractor<Dynamic>() {
|
|
308
|
+
@Suppress("DEPRECATION")
|
|
297
309
|
override fun extractArgument(
|
|
298
310
|
jsInstance: JSInstance,
|
|
299
311
|
jsArguments: ReadableArray,
|
|
@@ -303,6 +315,7 @@ internal class JavaMethodWrapper(
|
|
|
303
315
|
|
|
304
316
|
private val ARGUMENT_EXTRACTOR_MAP: ArgumentExtractor<ReadableMap> =
|
|
305
317
|
object : ArgumentExtractor<ReadableMap>() {
|
|
318
|
+
@Suppress("DEPRECATION")
|
|
306
319
|
override fun extractArgument(
|
|
307
320
|
jsInstance: JSInstance,
|
|
308
321
|
jsArguments: ReadableArray,
|
|
@@ -312,6 +325,7 @@ internal class JavaMethodWrapper(
|
|
|
312
325
|
|
|
313
326
|
private val ARGUMENT_EXTRACTOR_CALLBACK: ArgumentExtractor<Callback> =
|
|
314
327
|
object : ArgumentExtractor<Callback>() {
|
|
328
|
+
@Suppress("DEPRECATION")
|
|
315
329
|
override fun extractArgument(
|
|
316
330
|
jsInstance: JSInstance,
|
|
317
331
|
jsArguments: ReadableArray,
|
|
@@ -321,7 +335,7 @@ internal class JavaMethodWrapper(
|
|
|
321
335
|
null
|
|
322
336
|
} else {
|
|
323
337
|
val id = jsArguments.getDouble(atIndex).toInt()
|
|
324
|
-
CallbackImpl(jsInstance, id)
|
|
338
|
+
@Suppress("DEPRECATION") CallbackImpl(jsInstance, id)
|
|
325
339
|
}
|
|
326
340
|
}
|
|
327
341
|
|
|
@@ -329,6 +343,7 @@ internal class JavaMethodWrapper(
|
|
|
329
343
|
object : ArgumentExtractor<Promise>() {
|
|
330
344
|
override fun getJSArgumentsNeeded(): Int = 2
|
|
331
345
|
|
|
346
|
+
@Suppress("DEPRECATION")
|
|
332
347
|
override fun extractArgument(
|
|
333
348
|
jsInstance: JSInstance,
|
|
334
349
|
jsArguments: ReadableArray,
|
|
@@ -25,11 +25,11 @@ import java.lang.reflect.Method
|
|
|
25
25
|
@DoNotStrip
|
|
26
26
|
@InteropLegacyArchitecture
|
|
27
27
|
internal class JavaModuleWrapper(
|
|
28
|
-
private val jsInstance: JSInstance,
|
|
28
|
+
@Suppress("DEPRECATION") private val jsInstance: JSInstance,
|
|
29
29
|
private val moduleHolder: ModuleHolder
|
|
30
30
|
) {
|
|
31
31
|
interface NativeMethod {
|
|
32
|
-
fun invoke(jsInstance: JSInstance, parameters: ReadableArray)
|
|
32
|
+
@Suppress("DEPRECATION") fun invoke(jsInstance: JSInstance, parameters: ReadableArray)
|
|
33
33
|
|
|
34
34
|
val type: String
|
|
35
35
|
}
|
|
@@ -74,6 +74,7 @@ internal class JavaModuleWrapper(
|
|
|
74
74
|
targetMethod.getAnnotation(ReactMethod::class.java)?.let { annotation ->
|
|
75
75
|
val methodName = targetMethod.name
|
|
76
76
|
val md = MethodDescriptor()
|
|
77
|
+
@Suppress("DEPRECATION")
|
|
77
78
|
val method = JavaMethodWrapper(this, targetMethod, annotation.isBlockingSynchronousMethod)
|
|
78
79
|
md.name = methodName
|
|
79
80
|
md.type = method.type
|
package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt
CHANGED
|
@@ -13,6 +13,9 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger
|
|
|
13
13
|
|
|
14
14
|
/** Exception thrown when a native module method call receives unexpected arguments from JS. */
|
|
15
15
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
16
|
+
@Deprecated(
|
|
17
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
18
|
+
level = DeprecationLevel.WARNING)
|
|
16
19
|
internal class NativeArgumentsParseException : JSApplicationCausedNativeException {
|
|
17
20
|
|
|
18
21
|
constructor(detailMessage: String) : super(detailMessage)
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react.bridge
|
|
9
11
|
|
|
10
12
|
import com.facebook.react.bridge.ReactMarker.logMarker
|
|
@@ -19,6 +21,9 @@ import com.facebook.systrace.Systrace.endSection
|
|
|
19
21
|
|
|
20
22
|
/** A set of Java APIs to expose to a particular JavaScript instance. */
|
|
21
23
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
24
|
+
@Deprecated(
|
|
25
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
26
|
+
level = DeprecationLevel.WARNING)
|
|
22
27
|
public class NativeModuleRegistry(
|
|
23
28
|
private val reactApplicationContext: ReactApplicationContext,
|
|
24
29
|
private val modules: MutableMap<String, ModuleHolder>
|
|
@@ -12,6 +12,9 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
|
|
|
12
12
|
|
|
13
13
|
/** Interface for a module that will be notified when a batch of JS->Java calls has finished. */
|
|
14
14
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
15
|
+
@Deprecated(
|
|
16
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
17
|
+
level = DeprecationLevel.WARNING)
|
|
15
18
|
public fun interface OnBatchCompleteListener {
|
|
16
19
|
public fun onBatchComplete()
|
|
17
20
|
}
|
|
@@ -16,6 +16,9 @@ import java.lang.reflect.Method
|
|
|
16
16
|
|
|
17
17
|
@DoNotStrip
|
|
18
18
|
@LegacyArchitecture
|
|
19
|
+
@Deprecated(
|
|
20
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
21
|
+
level = DeprecationLevel.WARNING)
|
|
19
22
|
internal object ReactCxxErrorHandler {
|
|
20
23
|
init {
|
|
21
24
|
LegacyArchitectureLogger.assertLegacyArchitecture(
|
package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react.bridge
|
|
9
11
|
|
|
10
12
|
import com.facebook.jni.HybridData
|
|
@@ -17,6 +19,9 @@ import java.util.concurrent.Executor
|
|
|
17
19
|
|
|
18
20
|
@DoNotStripAny
|
|
19
21
|
@LegacyArchitecture
|
|
22
|
+
@Deprecated(
|
|
23
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
24
|
+
level = DeprecationLevel.WARNING)
|
|
20
25
|
internal class ReactInstanceManagerInspectorTarget(delegate: TargetDelegate) : AutoCloseable {
|
|
21
26
|
|
|
22
27
|
@DoNotStripAny
|
|
@@ -15,6 +15,9 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
|
|
|
15
15
|
* Native.
|
|
16
16
|
*/
|
|
17
17
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
18
|
+
@Deprecated(
|
|
19
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
20
|
+
level = DeprecationLevel.WARNING)
|
|
18
21
|
public fun interface UIManagerProvider {
|
|
19
22
|
|
|
20
23
|
/* Provides a [com.facebook.react.bridge.UIManager] for the context received as a parameter. */
|
|
@@ -46,6 +46,9 @@ import com.facebook.react.packagerconnection.RequestHandler
|
|
|
46
46
|
* when all the views has been detached from the instance (through `setDevSupportEnabled` method).
|
|
47
47
|
*/
|
|
48
48
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
49
|
+
@Deprecated(
|
|
50
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
51
|
+
level = DeprecationLevel.WARNING)
|
|
49
52
|
public class BridgeDevSupportManager(
|
|
50
53
|
applicationContext: Context,
|
|
51
54
|
reactInstanceManagerHelper: ReactInstanceDevHelper,
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react.fabric
|
|
9
11
|
|
|
10
12
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
@@ -20,6 +22,9 @@ import com.facebook.systrace.Systrace
|
|
|
20
22
|
* @param [componentFactory] The factory for creating components.
|
|
21
23
|
* @param [viewManagerRegistry] The registry of view managers.
|
|
22
24
|
*/
|
|
25
|
+
@Deprecated(
|
|
26
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
27
|
+
level = DeprecationLevel.WARNING)
|
|
23
28
|
public class FabricUIManagerProviderImpl(
|
|
24
29
|
private val componentFactory: ComponentFactory,
|
|
25
30
|
private val viewManagerRegistry: ViewManagerRegistry
|
|
@@ -56,9 +56,7 @@ import com.facebook.react.views.scroll.ReactScrollViewManager
|
|
|
56
56
|
import com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager
|
|
57
57
|
import com.facebook.react.views.switchview.ReactSwitchManager
|
|
58
58
|
import com.facebook.react.views.text.PreparedLayoutTextViewManager
|
|
59
|
-
import com.facebook.react.views.text.ReactRawTextManager
|
|
60
59
|
import com.facebook.react.views.text.ReactTextViewManager
|
|
61
|
-
import com.facebook.react.views.text.ReactVirtualTextViewManager
|
|
62
60
|
import com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageViewManager
|
|
63
61
|
import com.facebook.react.views.textinput.ReactTextInputManager
|
|
64
62
|
import com.facebook.react.views.unimplementedview.ReactUnimplementedViewManager
|
|
@@ -133,6 +131,7 @@ constructor(private val config: MainPackageConfig? = null) :
|
|
|
133
131
|
else -> null
|
|
134
132
|
}
|
|
135
133
|
|
|
134
|
+
@Suppress("DEPRECATION")
|
|
136
135
|
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> =
|
|
137
136
|
listOf(
|
|
138
137
|
ReactDrawerLayoutManager(),
|
|
@@ -147,18 +146,19 @@ constructor(private val config: MainPackageConfig? = null) :
|
|
|
147
146
|
FrescoBasedReactTextInlineImageViewManager(),
|
|
148
147
|
ReactImageManager(),
|
|
149
148
|
ReactModalHostManager(),
|
|
150
|
-
ReactRawTextManager(),
|
|
149
|
+
com.facebook.react.views.text.ReactRawTextManager(),
|
|
151
150
|
ReactTextInputManager(),
|
|
152
151
|
if (ReactNativeFeatureFlags.enablePreparedTextLayout()) PreparedLayoutTextViewManager()
|
|
153
152
|
else ReactTextViewManager(),
|
|
154
153
|
ReactViewManager(),
|
|
155
|
-
ReactVirtualTextViewManager(),
|
|
154
|
+
com.facebook.react.views.text.ReactVirtualTextViewManager(),
|
|
156
155
|
ReactUnimplementedViewManager())
|
|
157
156
|
|
|
158
157
|
/**
|
|
159
158
|
* A map of view managers that should be registered with
|
|
160
159
|
* [com.facebook.react.uimanager.UIManagerModule]
|
|
161
160
|
*/
|
|
161
|
+
@Suppress("DEPRECATION")
|
|
162
162
|
@SuppressLint("VisibleForTests")
|
|
163
163
|
public val viewManagersMap: Map<String, ModuleSpec> =
|
|
164
164
|
mapOf(
|
|
@@ -182,7 +182,8 @@ constructor(private val config: MainPackageConfig? = null) :
|
|
|
182
182
|
ReactImageManager.REACT_CLASS to ModuleSpec.viewManagerSpec { ReactImageManager() },
|
|
183
183
|
ReactModalHostManager.REACT_CLASS to
|
|
184
184
|
ModuleSpec.viewManagerSpec { ReactModalHostManager() },
|
|
185
|
-
ReactRawTextManager.REACT_CLASS to
|
|
185
|
+
com.facebook.react.views.text.ReactRawTextManager.REACT_CLASS to
|
|
186
|
+
ModuleSpec.viewManagerSpec { com.facebook.react.views.text.ReactRawTextManager() },
|
|
186
187
|
ReactTextInputManager.REACT_CLASS to
|
|
187
188
|
ModuleSpec.viewManagerSpec { ReactTextInputManager() },
|
|
188
189
|
ReactTextViewManager.REACT_CLASS to
|
|
@@ -192,8 +193,10 @@ constructor(private val config: MainPackageConfig? = null) :
|
|
|
192
193
|
else ReactTextViewManager()
|
|
193
194
|
},
|
|
194
195
|
ReactViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec { ReactViewManager() },
|
|
195
|
-
ReactVirtualTextViewManager.REACT_CLASS to
|
|
196
|
-
ModuleSpec.viewManagerSpec {
|
|
196
|
+
com.facebook.react.views.text.ReactVirtualTextViewManager.REACT_CLASS to
|
|
197
|
+
ModuleSpec.viewManagerSpec {
|
|
198
|
+
com.facebook.react.views.text.ReactVirtualTextViewManager()
|
|
199
|
+
},
|
|
197
200
|
ReactUnimplementedViewManager.REACT_CLASS to
|
|
198
201
|
ModuleSpec.viewManagerSpec { ReactUnimplementedViewManager() })
|
|
199
202
|
|
|
@@ -20,7 +20,7 @@ import com.facebook.yoga.YogaConstants
|
|
|
20
20
|
* every view should support, such as rotation, background color, etc.
|
|
21
21
|
*/
|
|
22
22
|
public abstract class BaseViewManagerDelegate<
|
|
23
|
-
T : View, U : BaseViewManager<T, out LayoutShadowNode>>(
|
|
23
|
+
T : View, @Suppress("DEPRECATION") U : BaseViewManager<T, out LayoutShadowNode>>(
|
|
24
24
|
@Suppress("NoHungarianNotation") @JvmField protected val mViewManager: U
|
|
25
25
|
) : ViewManagerDelegate<T> {
|
|
26
26
|
@Suppress("ACCIDENTAL_OVERRIDE", "DEPRECATION")
|
|
@@ -38,6 +38,8 @@ import com.facebook.yoga.YogaWrap;
|
|
|
38
38
|
* explored, namely using the VirtualText class in JS and setting the correct set of validAttributes
|
|
39
39
|
*/
|
|
40
40
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
41
|
+
@Deprecated(
|
|
42
|
+
since = "This class is part of Legacy Architecture and will be removed in a future release")
|
|
41
43
|
public class LayoutShadowNode extends ReactShadowNodeImpl {
|
|
42
44
|
static {
|
|
43
45
|
LegacyArchitectureLogger.assertLegacyArchitecture(
|
|
@@ -46,6 +46,8 @@ import com.facebook.yoga.YogaWrap;
|
|
|
46
46
|
* NativeViewHierarchyOptimizer} for more information.
|
|
47
47
|
*/
|
|
48
48
|
@LegacyArchitecture
|
|
49
|
+
@Deprecated(
|
|
50
|
+
since = "This class is part of Legacy Architecture and will be removed in a future release")
|
|
49
51
|
public interface ReactShadowNode<T extends ReactShadowNode> {
|
|
50
52
|
|
|
51
53
|
/**
|
|
@@ -60,6 +60,8 @@ import java.util.Arrays;
|
|
|
60
60
|
*/
|
|
61
61
|
@ReactPropertyHolder
|
|
62
62
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
63
|
+
@Deprecated(
|
|
64
|
+
since = "This class is part of Legacy Architecture and will be removed in a future release")
|
|
63
65
|
public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl> {
|
|
64
66
|
|
|
65
67
|
private static final YogaConfig sYogaConfig;
|
|
@@ -17,6 +17,7 @@ import android.view.View
|
|
|
17
17
|
*
|
|
18
18
|
* @param <T> the view handled by this manager
|
|
19
19
|
*/
|
|
20
|
+
@Suppress("DEPRECATION")
|
|
20
21
|
public abstract class SimpleViewManager<T : View> : BaseViewManager<T, LayoutShadowNode>() {
|
|
21
22
|
|
|
22
23
|
public override fun createShadowNodeInstance(): LayoutShadowNode {
|
|
@@ -13,6 +13,7 @@ import com.facebook.react.bridge.ReactApplicationContext
|
|
|
13
13
|
import com.facebook.react.bridge.UiThreadUtil
|
|
14
14
|
import java.util.WeakHashMap
|
|
15
15
|
|
|
16
|
+
@Suppress("DEPRECATION")
|
|
16
17
|
public abstract class ViewGroupManager<T : ViewGroup>
|
|
17
18
|
@JvmOverloads
|
|
18
19
|
constructor(reactContext: ReactApplicationContext? = null) :
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt
CHANGED
|
@@ -13,6 +13,7 @@ import com.facebook.react.bridge.ReadableArray
|
|
|
13
13
|
import com.facebook.react.uimanager.ViewManagersPropertyCache.PropSetter
|
|
14
14
|
import java.util.HashMap
|
|
15
15
|
|
|
16
|
+
@Suppress("DEPRECATION")
|
|
16
17
|
public object ViewManagerPropertyUpdater {
|
|
17
18
|
public fun interface Settable {
|
|
18
19
|
public fun getProperties(props: MutableMap<String, String>)
|
|
@@ -24,7 +25,7 @@ public object ViewManagerPropertyUpdater {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
@Suppress("FINITE_BOUNDS_VIOLATION_IN_JAVA")
|
|
27
|
-
public interface ShadowNodeSetter
|
|
28
|
+
public interface ShadowNodeSetter<@Suppress("DEPRECATION") in T : ReactShadowNode<*>> : Settable {
|
|
28
29
|
public fun setProperty(node: T, name: String, value: Any?)
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -71,7 +72,10 @@ public object ViewManagerPropertyUpdater {
|
|
|
71
72
|
|
|
72
73
|
@JvmStatic
|
|
73
74
|
@Deprecated("Use ViewManager#updateProperties to update a view's properties")
|
|
74
|
-
public fun
|
|
75
|
+
public fun <@Suppress("DEPRECATION") T : ReactShadowNode<T>> updateProps(
|
|
76
|
+
node: T,
|
|
77
|
+
props: ReactStylesDiffMap
|
|
78
|
+
) {
|
|
75
79
|
val setter = findNodeSetter(node.javaClass)
|
|
76
80
|
val iterator = props.backingMap.entryIterator
|
|
77
81
|
while (iterator.hasNext()) {
|
|
@@ -108,7 +112,7 @@ public object ViewManagerPropertyUpdater {
|
|
|
108
112
|
return setter as ViewManagerSetter<ViewManager<V, *>, V>
|
|
109
113
|
}
|
|
110
114
|
|
|
111
|
-
private fun
|
|
115
|
+
private fun <@Suppress("DEPRECATION") T : ReactShadowNode<T>> findNodeSetter(
|
|
112
116
|
nodeClass: Class<out T>
|
|
113
117
|
): ShadowNodeSetter<T> {
|
|
114
118
|
var setter = SHADOW_NODE_SETTER_MAP[nodeClass]
|
|
@@ -143,16 +147,16 @@ public object ViewManagerPropertyUpdater {
|
|
|
143
147
|
private class FallbackViewManagerSetter<V : View>(
|
|
144
148
|
viewManagerClass: Class<out ViewManager<V, *>>
|
|
145
149
|
) : ViewManagerSetter<ViewManager<V, *>, V> {
|
|
146
|
-
private val
|
|
150
|
+
private val propSetters: Map<String, PropSetter> =
|
|
147
151
|
ViewManagersPropertyCache.getNativePropSettersForViewManagerClass(viewManagerClass)
|
|
148
152
|
|
|
149
153
|
override fun setProperty(manager: ViewManager<V, *>, view: V, name: String, value: Any?) {
|
|
150
|
-
val setter =
|
|
154
|
+
val setter = propSetters[name]
|
|
151
155
|
setter?.updateViewProp(manager, view, value)
|
|
152
156
|
}
|
|
153
157
|
|
|
154
158
|
override fun getProperties(props: MutableMap<String, String>) {
|
|
155
|
-
for (setter in
|
|
159
|
+
for (setter in propSetters.values) {
|
|
156
160
|
props[setter.propName] = setter.propType
|
|
157
161
|
}
|
|
158
162
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt
CHANGED
|
@@ -14,7 +14,6 @@ import com.facebook.react.common.annotations.LegacyArchitectureShadowNodeWithCxx
|
|
|
14
14
|
import com.facebook.react.common.annotations.internal.LegacyArchitecture
|
|
15
15
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
|
|
16
16
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger
|
|
17
|
-
import com.facebook.react.uimanager.LayoutShadowNode
|
|
18
17
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
19
18
|
import com.facebook.yoga.YogaMeasureFunction
|
|
20
19
|
import com.facebook.yoga.YogaMeasureMode
|
|
@@ -25,9 +24,14 @@ import com.facebook.yoga.YogaNode
|
|
|
25
24
|
* Node responsible for holding the style of the ProgressBar, see under [ ] for possible styles.
|
|
26
25
|
* ReactProgressBarViewManager manages how this style is applied to the ProgressBar.
|
|
27
26
|
*/
|
|
27
|
+
@Suppress("DEPRECATION")
|
|
28
28
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
29
29
|
@LegacyArchitectureShadowNodeWithCxxImpl
|
|
30
|
-
|
|
30
|
+
@Deprecated(
|
|
31
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
32
|
+
level = DeprecationLevel.WARNING)
|
|
33
|
+
internal class ProgressBarShadowNode :
|
|
34
|
+
com.facebook.react.uimanager.LayoutShadowNode(), YogaMeasureFunction {
|
|
31
35
|
private val height: SparseIntArray = SparseIntArray()
|
|
32
36
|
private val width: SparseIntArray = SparseIntArray()
|
|
33
37
|
private val measured: MutableSet<Int> = HashSet()
|
|
@@ -33,6 +33,7 @@ import java.util.WeakHashMap
|
|
|
33
33
|
* a [ProgressBar] changes, we have to drop the existing [ProgressBar] (if there is one) and create
|
|
34
34
|
* a new one with the style given.
|
|
35
35
|
*/
|
|
36
|
+
@Suppress("DEPRECATION")
|
|
36
37
|
@ReactModule(name = ReactProgressBarViewManager.REACT_CLASS)
|
|
37
38
|
internal class ReactProgressBarViewManager :
|
|
38
39
|
BaseViewManager<ProgressBarContainerView, ProgressBarShadowNode>(),
|
package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
package com.facebook.react.views.safeareaview
|
|
9
9
|
|
|
10
10
|
import com.facebook.react.module.annotations.ReactModule
|
|
11
|
-
import com.facebook.react.uimanager.LayoutShadowNode
|
|
12
11
|
import com.facebook.react.uimanager.ReactStylesDiffMap
|
|
13
12
|
import com.facebook.react.uimanager.StateWrapper
|
|
14
13
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
@@ -31,9 +30,13 @@ internal class ReactSafeAreaViewManager :
|
|
|
31
30
|
|
|
32
31
|
override fun getName(): String = REACT_CLASS
|
|
33
32
|
|
|
34
|
-
|
|
33
|
+
@Suppress("DEPRECATION")
|
|
34
|
+
override fun createShadowNodeInstance(): com.facebook.react.uimanager.LayoutShadowNode =
|
|
35
|
+
com.facebook.react.uimanager.LayoutShadowNode()
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
@Suppress("DEPRECATION")
|
|
38
|
+
override fun getShadowNodeClass(): Class<out com.facebook.react.uimanager.LayoutShadowNode> =
|
|
39
|
+
com.facebook.react.uimanager.LayoutShadowNode::class.java
|
|
37
40
|
|
|
38
41
|
override fun updateState(
|
|
39
42
|
view: ReactSafeAreaView,
|
package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt
CHANGED
|
@@ -25,6 +25,7 @@ import com.facebook.react.viewmanagers.AndroidSwitchManagerInterface
|
|
|
25
25
|
import com.facebook.yoga.YogaMeasureMode
|
|
26
26
|
import com.facebook.yoga.YogaMeasureOutput
|
|
27
27
|
|
|
28
|
+
@Suppress("DEPRECATION")
|
|
28
29
|
internal class ReactSwitchManager :
|
|
29
30
|
BaseViewManager<ReactSwitch, ReactSwitchShadowNode>(),
|
|
30
31
|
AndroidSwitchManagerInterface<ReactSwitch> {
|
package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt
CHANGED
|
@@ -12,15 +12,19 @@ import com.facebook.react.common.annotations.LegacyArchitectureShadowNodeWithCxx
|
|
|
12
12
|
import com.facebook.react.common.annotations.internal.LegacyArchitecture
|
|
13
13
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
|
|
14
14
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger
|
|
15
|
-
import com.facebook.react.uimanager.LayoutShadowNode
|
|
16
15
|
import com.facebook.yoga.YogaMeasureFunction
|
|
17
16
|
import com.facebook.yoga.YogaMeasureMode
|
|
18
17
|
import com.facebook.yoga.YogaMeasureOutput
|
|
19
18
|
import com.facebook.yoga.YogaNode
|
|
20
19
|
|
|
20
|
+
@Suppress("DEPRECATION")
|
|
21
21
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
22
|
+
@Deprecated(
|
|
23
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
24
|
+
level = DeprecationLevel.WARNING)
|
|
22
25
|
@LegacyArchitectureShadowNodeWithCxxImpl
|
|
23
|
-
internal class ReactSwitchShadowNode :
|
|
26
|
+
internal class ReactSwitchShadowNode :
|
|
27
|
+
com.facebook.react.uimanager.LayoutShadowNode(), YogaMeasureFunction {
|
|
24
28
|
private var width = 0
|
|
25
29
|
private var height = 0
|
|
26
30
|
private var measured = false
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react.views.text
|
|
9
11
|
|
|
10
12
|
import android.graphics.Color
|
|
@@ -61,6 +63,8 @@ import com.facebook.yoga.YogaUnit
|
|
|
61
63
|
* used in concrete classes to feed native views and compute layout.
|
|
62
64
|
*/
|
|
63
65
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
66
|
+
@Deprecated(
|
|
67
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release")
|
|
64
68
|
public abstract class ReactBaseTextShadowNode
|
|
65
69
|
@JvmOverloads
|
|
66
70
|
public constructor(
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react.views.text
|
|
9
11
|
|
|
10
12
|
import android.view.View
|
|
@@ -20,6 +22,9 @@ import com.facebook.react.uimanager.ViewManager
|
|
|
20
22
|
*/
|
|
21
23
|
@ReactModule(name = ReactRawTextManager.REACT_CLASS)
|
|
22
24
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
25
|
+
@Deprecated(
|
|
26
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
27
|
+
level = DeprecationLevel.WARNING)
|
|
23
28
|
internal class ReactRawTextManager : ViewManager<View, ReactRawTextShadowNode>() {
|
|
24
29
|
|
|
25
30
|
override fun getName(): String {
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react.views.text
|
|
9
11
|
|
|
10
12
|
import com.facebook.react.common.annotations.internal.LegacyArchitecture
|
|
@@ -17,6 +19,9 @@ import com.facebook.react.uimanager.annotations.ReactProp
|
|
|
17
19
|
* terms of DOM). Raw text node can only have simple string value without any attributes, properties
|
|
18
20
|
* or state.
|
|
19
21
|
*/
|
|
22
|
+
@Deprecated(
|
|
23
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
24
|
+
level = DeprecationLevel.WARNING)
|
|
20
25
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
21
26
|
internal class ReactRawTextShadowNode : ReactShadowNodeImpl() {
|
|
22
27
|
@set:ReactProp(name = "text")
|
package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt
CHANGED
|
@@ -37,8 +37,8 @@ import com.facebook.react.views.text.DefaultStyleValuesUtil.getDefaultTextColorH
|
|
|
37
37
|
* whole text subtree.
|
|
38
38
|
*/
|
|
39
39
|
@UnstableReactNativeAPI
|
|
40
|
-
public abstract class ReactTextAnchorViewManager<
|
|
41
|
-
BaseViewManager<ReactTextView, C>() {
|
|
40
|
+
public abstract class ReactTextAnchorViewManager<
|
|
41
|
+
@Suppress("DEPRECATION") C : ReactBaseTextShadowNode?> : BaseViewManager<ReactTextView, C>() {
|
|
42
42
|
|
|
43
43
|
@ReactProp(name = "accessible")
|
|
44
44
|
internal fun setAccessible(view: ReactTextView, accessible: Boolean) {
|
|
@@ -51,6 +51,9 @@ import kotlin.math.min
|
|
|
51
51
|
* constructed in superclass.
|
|
52
52
|
*/
|
|
53
53
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
54
|
+
@Deprecated(
|
|
55
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
56
|
+
level = DeprecationLevel.WARNING)
|
|
54
57
|
public class ReactTextShadowNode
|
|
55
58
|
@JvmOverloads
|
|
56
59
|
public constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? = null) :
|
|
@@ -27,6 +27,7 @@ import java.util.HashMap
|
|
|
27
27
|
* Concrete class for [ReactTextAnchorViewManager] which represents view managers of anchor `<Text>`
|
|
28
28
|
* nodes.
|
|
29
29
|
*/
|
|
30
|
+
@Suppress("DEPRECATION")
|
|
30
31
|
@ReactModule(name = ReactTextViewManager.REACT_CLASS)
|
|
31
32
|
@OptIn(UnstableReactNativeAPI::class)
|
|
32
33
|
public class ReactTextViewManager
|
package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
@file:Suppress("DEPRECATION")
|
|
9
|
+
|
|
8
10
|
package com.facebook.react.views.text
|
|
9
11
|
|
|
10
12
|
import com.facebook.react.common.annotations.internal.LegacyArchitecture
|
|
@@ -13,6 +15,9 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger
|
|
|
13
15
|
|
|
14
16
|
/** A virtual text node. */
|
|
15
17
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
18
|
+
@Deprecated(
|
|
19
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
20
|
+
level = DeprecationLevel.WARNING)
|
|
16
21
|
internal class ReactVirtualTextShadowNode : ReactBaseTextShadowNode() {
|
|
17
22
|
|
|
18
23
|
override fun isVirtual(): Boolean = true
|
package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt
CHANGED
|
@@ -19,8 +19,12 @@ import com.facebook.react.uimanager.ThemedReactContext
|
|
|
19
19
|
* Manages raw text nodes. Since they are used only as a virtual nodes any type of native view
|
|
20
20
|
* operation will throw an [IllegalStateException]
|
|
21
21
|
*/
|
|
22
|
+
@Suppress("DEPRECATION")
|
|
22
23
|
@ReactModule(name = ReactVirtualTextViewManager.REACT_CLASS)
|
|
23
24
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
25
|
+
@Deprecated(
|
|
26
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
27
|
+
level = DeprecationLevel.WARNING)
|
|
24
28
|
internal class ReactVirtualTextViewManager : BaseViewManager<View, ReactVirtualTextShadowNode>() {
|
|
25
29
|
|
|
26
30
|
override fun getName(): String = REACT_CLASS
|
|
@@ -30,6 +30,9 @@ import java.util.Locale
|
|
|
30
30
|
|
|
31
31
|
/** Shadow node that represents an inline image. Loading is done using Fresco. */
|
|
32
32
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
33
|
+
@Deprecated(
|
|
34
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
35
|
+
level = DeprecationLevel.WARNING)
|
|
33
36
|
internal class FrescoBasedReactTextInlineImageShadowNode(
|
|
34
37
|
private val draweeControllerBuilder: AbstractDraweeControllerBuilder<*, ImageRequest, *, *>,
|
|
35
38
|
private val callerContext: Any?
|
|
@@ -19,6 +19,7 @@ import com.facebook.react.uimanager.ThemedReactContext
|
|
|
19
19
|
* Manages Images embedded in Text nodes using Fresco. Since they are used only as a virtual nodes
|
|
20
20
|
* any type of native view operation will throw an [IllegalStateException].
|
|
21
21
|
*/
|
|
22
|
+
@Suppress("DEPRECATION")
|
|
22
23
|
@ReactModule(name = FrescoBasedReactTextInlineImageViewManager.REACT_CLASS)
|
|
23
24
|
internal class FrescoBasedReactTextInlineImageViewManager
|
|
24
25
|
@JvmOverloads
|
package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt
CHANGED
|
@@ -39,6 +39,9 @@ import com.facebook.yoga.YogaNode
|
|
|
39
39
|
|
|
40
40
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
41
41
|
@LegacyArchitectureShadowNodeWithCxxImpl
|
|
42
|
+
@Deprecated(
|
|
43
|
+
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
44
|
+
level = DeprecationLevel.WARNING)
|
|
42
45
|
internal class ReactTextInputShadowNode
|
|
43
46
|
@JvmOverloads
|
|
44
47
|
constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? = null) :
|
|
@@ -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 = "nightly-
|
|
25
|
+
std::string_view Prerelease = "nightly-20250810-d3bbbd893";
|
|
26
26
|
} ReactNativeVersion;
|
|
27
27
|
|
|
28
28
|
} // namespace facebook::react
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
#import <objc/runtime.h>
|
|
27
27
|
#import <atomic>
|
|
28
28
|
#import <iostream>
|
|
29
|
+
#import <mutex>
|
|
30
|
+
|
|
29
31
|
#import <sstream>
|
|
30
32
|
#import <vector>
|
|
31
33
|
|
|
@@ -284,44 +286,77 @@ ObjCTurboModule::createPromise(jsi::Runtime &runtime, const std::string &methodN
|
|
|
284
286
|
{rt, args[0].getObject(rt).getFunction(rt), std::move(jsInvoker)});
|
|
285
287
|
__block std::optional<AsyncCallback<>> reject(
|
|
286
288
|
{rt, args[1].getObject(rt).getFunction(rt), std::move(jsInvoker)});
|
|
289
|
+
__block std::shared_ptr<std::mutex> mutex = std::make_shared<std::mutex>();
|
|
287
290
|
|
|
288
291
|
RCTPromiseResolveBlock resolveBlock = ^(id result) {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
+
std::optional<AsyncCallback<>> localResolve;
|
|
293
|
+
bool alreadyResolved = false;
|
|
294
|
+
bool alreadyRejected = false;
|
|
295
|
+
{
|
|
296
|
+
std::lock_guard<std::mutex> lock(*mutex);
|
|
297
|
+
if (!resolve || !reject) {
|
|
298
|
+
alreadyResolved = resolveWasCalled;
|
|
299
|
+
alreadyRejected = !resolveWasCalled;
|
|
292
300
|
} else {
|
|
293
|
-
|
|
294
|
-
|
|
301
|
+
resolveWasCalled = YES;
|
|
302
|
+
localResolve = std::move(resolve);
|
|
303
|
+
resolve = std::nullopt;
|
|
304
|
+
reject = std::nullopt;
|
|
295
305
|
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
if (alreadyResolved) {
|
|
309
|
+
RCTLogError(@"%s: Tried to resolve a promise more than once.", moduleMethod.c_str());
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
if (alreadyRejected) {
|
|
314
|
+
RCTLogError(@"%s: Tried to resolve a promise after it's already been rejected.", moduleMethod.c_str());
|
|
296
315
|
return;
|
|
297
316
|
}
|
|
298
317
|
|
|
299
|
-
|
|
318
|
+
localResolve->call([result](jsi::Runtime &rt, jsi::Function &jsFunction) {
|
|
300
319
|
jsFunction.call(rt, convertObjCObjectToJSIValue(rt, result));
|
|
301
320
|
});
|
|
302
|
-
|
|
303
|
-
resolveWasCalled = YES;
|
|
304
|
-
resolve = std::nullopt;
|
|
305
|
-
reject = std::nullopt;
|
|
306
321
|
};
|
|
307
322
|
|
|
308
323
|
RCTPromiseRejectBlock rejectBlock = ^(NSString *code, NSString *message, NSError *error) {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
324
|
+
std::optional<AsyncCallback<>> localReject;
|
|
325
|
+
bool alreadyResolved = false;
|
|
326
|
+
bool alreadyRejected = false;
|
|
327
|
+
{
|
|
328
|
+
std::lock_guard<std::mutex> lock(*mutex);
|
|
329
|
+
if (!resolve || !reject) {
|
|
330
|
+
alreadyResolved = resolveWasCalled;
|
|
331
|
+
alreadyRejected = !resolveWasCalled;
|
|
312
332
|
} else {
|
|
313
|
-
|
|
333
|
+
resolveWasCalled = NO;
|
|
334
|
+
localReject = std::move(reject);
|
|
335
|
+
reject = std::nullopt;
|
|
336
|
+
resolve = std::nullopt;
|
|
314
337
|
}
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
if (alreadyResolved) {
|
|
341
|
+
RCTLogError(
|
|
342
|
+
@"%s: Tried to reject a promise after it's already been resolved. Message: %s",
|
|
343
|
+
moduleMethod.c_str(),
|
|
344
|
+
message.UTF8String);
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
if (alreadyRejected) {
|
|
349
|
+
RCTLogError(
|
|
350
|
+
@"%s: Tried to reject a promise more than once. Message: %s",
|
|
351
|
+
moduleMethod.c_str(),
|
|
352
|
+
message.UTF8String);
|
|
315
353
|
return;
|
|
316
354
|
}
|
|
317
355
|
|
|
318
356
|
NSDictionary *jsErrorDetails = RCTJSErrorFromCodeMessageAndNSError(code, message, error);
|
|
319
|
-
|
|
357
|
+
localReject->call([jsErrorDetails](jsi::Runtime &rt, jsi::Function &jsFunction) {
|
|
320
358
|
jsFunction.call(rt, convertJSErrorDetailsToJSRuntimeError(rt, jsErrorDetails));
|
|
321
359
|
});
|
|
322
|
-
resolveWasCalled = NO;
|
|
323
|
-
resolve = std::nullopt;
|
|
324
|
-
reject = std::nullopt;
|
|
325
360
|
};
|
|
326
361
|
|
|
327
362
|
invokeCopy(resolveBlock, rejectBlock);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.82.0-nightly-
|
|
3
|
+
"version": "0.82.0-nightly-20250810-d3bbbd893",
|
|
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-nightly-
|
|
166
|
-
"@react-native/codegen": "0.82.0-nightly-
|
|
167
|
-
"@react-native/community-cli-plugin": "0.82.0-nightly-
|
|
168
|
-
"@react-native/gradle-plugin": "0.82.0-nightly-
|
|
169
|
-
"@react-native/js-polyfills": "0.82.0-nightly-
|
|
170
|
-
"@react-native/normalize-colors": "0.82.0-nightly-
|
|
171
|
-
"@react-native/virtualized-lists": "0.82.0-nightly-
|
|
165
|
+
"@react-native/assets-registry": "0.82.0-nightly-20250810-d3bbbd893",
|
|
166
|
+
"@react-native/codegen": "0.82.0-nightly-20250810-d3bbbd893",
|
|
167
|
+
"@react-native/community-cli-plugin": "0.82.0-nightly-20250810-d3bbbd893",
|
|
168
|
+
"@react-native/gradle-plugin": "0.82.0-nightly-20250810-d3bbbd893",
|
|
169
|
+
"@react-native/js-polyfills": "0.82.0-nightly-20250810-d3bbbd893",
|
|
170
|
+
"@react-native/normalize-colors": "0.82.0-nightly-20250810-d3bbbd893",
|
|
171
|
+
"@react-native/virtualized-lists": "0.82.0-nightly-20250810-d3bbbd893",
|
|
172
172
|
"abort-controller": "^3.0.0",
|
|
173
173
|
"anser": "^1.4.9",
|
|
174
174
|
"ansi-regex": "^5.0.0",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|