react-native-tvos 0.83.9-0 → 0.83.10-1
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/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/TV/TVViewPropTypes.js +9 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/View/View.js +7 -3
- package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/setUpNavigator.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/Image/ImageSource.d.ts +1 -1
- package/Libraries/Image/RCTImageLoader.mm +1 -1
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/NativeComponent/TVViewConfig.js +1 -0
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/Renderer/README.md +2 -2
- package/Libraries/Required/RCTRequired.podspec +1 -1
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/README-core.md +6 -6
- package/README.md +13 -1
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +49 -17
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +12 -1
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +34 -5
- package/React/React-RCTFBReactNativeSpec.podspec +1 -1
- package/React/React-RCTFabric.podspec +1 -1
- package/React/Runtime/React-RCTRuntime.podspec +1 -1
- package/React/Tests/Mounting/RCTViewComponentViewTests.mm +145 -0
- package/React/Views/ScrollView/RCTScrollView.m +1 -1
- package/React-Core.podspec +1 -1
- package/React.podspec +1 -1
- package/ReactAndroid/build.gradle.kts +1 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +6 -0
- package/ReactAndroid/publish.gradle +5 -5
- package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.kt +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +17 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/Drawable.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/LayerDrawable.kt +32 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +46 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +38 -28
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +23 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.kt +13 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +13 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +13 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
- package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
- package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
- package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/React-FabricImage.podspec +1 -1
- package/ReactCommon/React-Mapbuffer.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +1 -1
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +7 -3
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +1 -5
- package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
- package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
- package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
- package/ReactCommon/react/debug/React-debug.podspec +1 -1
- package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
- package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
- package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
- package/ReactCommon/react/networking/React-networking.podspec +1 -1
- package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
- package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +7 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +18 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
- package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
- package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
- package/ReactCommon/react/timing/React-timing.podspec +1 -1
- package/ReactCommon/react/utils/React-utils.podspec +1 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/yoga/Yoga.podspec +2 -2
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -0
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +11 -7
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +2 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
- package/gradle/libs.versions.toml +1 -1
- package/package.json +9 -9
- package/scripts/cocoapods/rncore.rb +26 -8
- package/scripts/cocoapods/rndependencies.rb +26 -5
- package/scripts/cocoapods/spm.rb +1 -1
- package/scripts/cocoapods/utils.rb +2 -2
- package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
- package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
- package/scripts/ios-configure-glog.sh +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +6 -1
- package/sdks/hermes-engine/hermes-utils.rb +27 -5
- package/src/private/types/HostInstance.js +1 -1
- package/src/types/globals.d.ts +2 -2
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
- package/third-party-podspecs/glog.podspec +1 -1
- package/types/public/ReactNativeTVTypes.d.ts +9 -0
- package/types/public/ReactNativeTypes.d.ts +2 -2
|
@@ -212,21 +212,26 @@ public constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? =
|
|
|
212
212
|
// Is used when the width is not known and the text is not boring, ie. if it contains
|
|
213
213
|
// unicode characters.
|
|
214
214
|
val hintWidth = ceil(desiredWidth.toDouble()).toInt()
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
215
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
216
|
+
val builder =
|
|
217
|
+
StaticLayout.Builder.obtain(text, 0, text.length, textPaint, hintWidth)
|
|
218
|
+
.setAlignment(alignment)
|
|
219
|
+
.setLineSpacing(0f, 1f)
|
|
220
|
+
.setIncludePad(includeFontPadding)
|
|
221
|
+
.setBreakStrategy(textBreakStrategy)
|
|
222
|
+
.setHyphenationFrequency(hyphenationFrequency)
|
|
223
|
+
|
|
224
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
225
|
+
builder.setJustificationMode(justificationMode)
|
|
226
|
+
}
|
|
227
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
228
|
+
builder.setUseLineSpacingFromFallbacks(true)
|
|
229
|
+
}
|
|
230
|
+
layout = builder.build()
|
|
231
|
+
} else {
|
|
232
|
+
// StaticLayout.Builder was introduced in API 23 (M); use the legacy constructor below.
|
|
233
|
+
layout = StaticLayout(text, textPaint, hintWidth, alignment, 1f, 0f, includeFontPadding)
|
|
228
234
|
}
|
|
229
|
-
layout = builder.build()
|
|
230
235
|
} else if (boring != null && (unconstrainedWidth || boring.width <= width)) {
|
|
231
236
|
// Is used for single-line, boring text when the width is either unknown or bigger
|
|
232
237
|
// than the width of the text.
|
|
@@ -250,22 +255,27 @@ public constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? =
|
|
|
250
255
|
width = ceil(width.toDouble()).toFloat()
|
|
251
256
|
}
|
|
252
257
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
258
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
259
|
+
val builder =
|
|
260
|
+
StaticLayout.Builder.obtain(text, 0, text.length, textPaint, width.toInt())
|
|
261
|
+
.setAlignment(alignment)
|
|
262
|
+
.setLineSpacing(0f, 1f)
|
|
263
|
+
.setIncludePad(includeFontPadding)
|
|
264
|
+
.setBreakStrategy(textBreakStrategy)
|
|
265
|
+
.setHyphenationFrequency(hyphenationFrequency)
|
|
266
|
+
|
|
267
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
268
|
+
builder.setJustificationMode(justificationMode)
|
|
269
|
+
}
|
|
264
270
|
|
|
265
|
-
|
|
266
|
-
|
|
271
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
272
|
+
builder.setUseLineSpacingFromFallbacks(true)
|
|
273
|
+
}
|
|
274
|
+
layout = builder.build()
|
|
275
|
+
} else {
|
|
276
|
+
// StaticLayout.Builder was introduced in API 23 (M); use the legacy constructor below.
|
|
277
|
+
layout = StaticLayout(text, textPaint, width.toInt(), alignment, 1f, 0f, includeFontPadding)
|
|
267
278
|
}
|
|
268
|
-
layout = builder.build()
|
|
269
279
|
}
|
|
270
280
|
return layout
|
|
271
281
|
}
|
|
@@ -119,7 +119,10 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
|
|
|
119
119
|
|
|
120
120
|
// Defaults for these fields:
|
|
121
121
|
// https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/widget/TextView.java#L1061
|
|
122
|
-
|
|
122
|
+
// Break strategies were introduced in API 23 (M).
|
|
123
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
124
|
+
setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE);
|
|
125
|
+
}
|
|
123
126
|
setMovementMethod(getDefaultMovementMethod());
|
|
124
127
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
125
128
|
setJustificationMode(Layout.JUSTIFICATION_MODE_NONE);
|
|
@@ -156,7 +159,10 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
|
|
|
156
159
|
// focus engine from landing on text views when no other views are available
|
|
157
160
|
setFocusable(View.NOT_FOCUSABLE);
|
|
158
161
|
|
|
159
|
-
|
|
162
|
+
// Hyphenation frequency was introduced in API 23 (M).
|
|
163
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
164
|
+
setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_NONE);
|
|
165
|
+
}
|
|
160
166
|
updateView(); // call after changing ellipsizeLocation in particular
|
|
161
167
|
}
|
|
162
168
|
|
|
@@ -375,8 +381,10 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
|
|
|
375
381
|
mMinimumFontSize,
|
|
376
382
|
mNumberOfLines,
|
|
377
383
|
getIncludeFontPadding(),
|
|
378
|
-
|
|
379
|
-
|
|
384
|
+
// Break strategy / hyphenation getters were introduced in API 23 (M); pass a -1
|
|
385
|
+
// sentinel before then (the value is unused by the legacy StaticLayout path).
|
|
386
|
+
(Build.VERSION.SDK_INT < Build.VERSION_CODES.M) ? -1 : getBreakStrategy(),
|
|
387
|
+
(Build.VERSION.SDK_INT < Build.VERSION_CODES.M) ? -1 : getHyphenationFrequency(),
|
|
380
388
|
// always passing ALIGN_NORMAL here should be fine, since this method doesn't depend on
|
|
381
389
|
// how exactly lines are aligned, just their width
|
|
382
390
|
Layout.Alignment.ALIGN_NORMAL,
|
|
@@ -405,7 +413,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
|
|
|
405
413
|
mContainsImages = update.containsImages();
|
|
406
414
|
// Android's TextView crashes when it tries to relayout if LayoutParams are
|
|
407
415
|
// null; explicitly set the LayoutParams to prevent this crash. See:
|
|
408
|
-
// https://github.com/
|
|
416
|
+
// https://github.com/react/react-native/pull/7011
|
|
409
417
|
if (getLayoutParams() == null) {
|
|
410
418
|
setLayoutParams(EMPTY_LAYOUT_PARAMS);
|
|
411
419
|
}
|
|
@@ -439,7 +447,8 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
|
|
|
439
447
|
if (nextTextAlign != getGravityHorizontal()) {
|
|
440
448
|
setGravityHorizontal(nextTextAlign);
|
|
441
449
|
}
|
|
442
|
-
if (
|
|
450
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
|
|
451
|
+
&& getBreakStrategy() != update.getTextBreakStrategy()) {
|
|
443
452
|
setBreakStrategy(update.getTextBreakStrategy());
|
|
444
453
|
}
|
|
445
454
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
@@ -660,13 +669,19 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
|
|
|
660
669
|
|
|
661
670
|
@Override
|
|
662
671
|
public void setBreakStrategy(int breakStrategy) {
|
|
663
|
-
|
|
672
|
+
// TextView.setBreakStrategy was introduced in API 23 (M).
|
|
673
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
674
|
+
super.setBreakStrategy(breakStrategy);
|
|
675
|
+
}
|
|
664
676
|
mShouldAdjustSpannableFontSize = true;
|
|
665
677
|
}
|
|
666
678
|
|
|
667
679
|
@Override
|
|
668
680
|
public void setHyphenationFrequency(int hyphenationFrequency) {
|
|
669
|
-
|
|
681
|
+
// TextView.setHyphenationFrequency was introduced in API 23 (M).
|
|
682
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
683
|
+
super.setHyphenationFrequency(hyphenationFrequency);
|
|
684
|
+
}
|
|
670
685
|
mShouldAdjustSpannableFontSize = true;
|
|
671
686
|
}
|
|
672
687
|
|
|
@@ -629,6 +629,13 @@ internal object TextLayoutManager {
|
|
|
629
629
|
else -> desiredWidth
|
|
630
630
|
}
|
|
631
631
|
|
|
632
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
|
|
633
|
+
// StaticLayout.Builder (with break-strategy / hyphenation / ellipsize / maxLines support) was
|
|
634
|
+
// introduced in API 23 (M); fall back to the legacy constructor on older platforms.
|
|
635
|
+
@Suppress("DEPRECATION")
|
|
636
|
+
return StaticLayout(text, paint, layoutWidth, alignment, 1f, 0f, includeFontPadding)
|
|
637
|
+
}
|
|
638
|
+
|
|
632
639
|
val builder =
|
|
633
640
|
StaticLayout.Builder.obtain(text, 0, text.length, paint, layoutWidth)
|
|
634
641
|
.setAlignment(alignment)
|
|
@@ -270,7 +270,10 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
|
|
|
270
270
|
override fun onDestroyActionMode(mode: ActionMode) = Unit
|
|
271
271
|
}
|
|
272
272
|
customSelectionActionModeCallback = customActionModeCallback
|
|
273
|
-
|
|
273
|
+
// setCustomInsertionActionModeCallback was introduced in API 23 (M).
|
|
274
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
275
|
+
customInsertionActionModeCallback = customActionModeCallback
|
|
276
|
+
}
|
|
274
277
|
}
|
|
275
278
|
|
|
276
279
|
@SuppressLint("ClassImplementsFinalize")
|
|
@@ -734,7 +737,9 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
|
|
|
734
737
|
}
|
|
735
738
|
disableTextDiffing = false
|
|
736
739
|
|
|
737
|
-
|
|
740
|
+
// TextView break strategies were introduced in API 23 (M).
|
|
741
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
|
|
742
|
+
breakStrategy != reactTextUpdate.textBreakStrategy) {
|
|
738
743
|
breakStrategy = reactTextUpdate.textBreakStrategy
|
|
739
744
|
}
|
|
740
745
|
|
|
@@ -781,7 +786,7 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
|
|
|
781
786
|
/**
|
|
782
787
|
* Remove spans from the SpannableStringBuilder which can be represented by TextAppearance
|
|
783
788
|
* attributes on the underlying EditText. This works around instability on Samsung devices with
|
|
784
|
-
* the presence of spans https://github.com/
|
|
789
|
+
* the presence of spans https://github.com/react/react-native/issues/35936 (S318090)
|
|
785
790
|
*/
|
|
786
791
|
private fun stripStyleEquivalentSpans(sb: SpannableStringBuilder) {
|
|
787
792
|
stripSpansOfKind(sb, ReactAbsoluteSizeSpan::class.java) { span: ReactAbsoluteSizeSpan ->
|
|
@@ -1047,7 +1052,7 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
|
|
|
1047
1052
|
val selectionEnd = selectionEnd
|
|
1048
1053
|
|
|
1049
1054
|
// Used to ensure that text is selectable inside of removeClippedSubviews
|
|
1050
|
-
// See https://github.com/
|
|
1055
|
+
// See https://github.com/react/react-native/issues/6805 for original
|
|
1051
1056
|
// fix that was ported to here.
|
|
1052
1057
|
super.setTextIsSelectable(true)
|
|
1053
1058
|
|
package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.kt
CHANGED
|
@@ -7,18 +7,26 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.views.textinput
|
|
9
9
|
|
|
10
|
+
import android.annotation.TargetApi
|
|
11
|
+
import android.os.Build
|
|
12
|
+
import android.text.Layout
|
|
10
13
|
import android.text.SpannableStringBuilder
|
|
11
14
|
import android.util.TypedValue
|
|
12
15
|
import android.widget.EditText
|
|
13
16
|
|
|
14
17
|
/** Local state bearer for EditText instance. */
|
|
18
|
+
// EditText break-strategy accessors / Layout constants below were added in API 23 (M).
|
|
19
|
+
@TargetApi(Build.VERSION_CODES.M)
|
|
15
20
|
public class ReactTextInputLocalData(editText: EditText) {
|
|
16
21
|
private val text = SpannableStringBuilder(editText.text)
|
|
17
22
|
private val textSize = editText.textSize
|
|
18
23
|
private val minLines = editText.minLines
|
|
19
24
|
private val maxLines = editText.maxLines
|
|
20
25
|
private val inputType = editText.inputType
|
|
21
|
-
|
|
26
|
+
// EditText.getBreakStrategy was introduced in API 23 (M).
|
|
27
|
+
private val breakStrategy =
|
|
28
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) editText.breakStrategy
|
|
29
|
+
else Layout.BREAK_STRATEGY_SIMPLE
|
|
22
30
|
private val placeholder: CharSequence? = editText.hint
|
|
23
31
|
|
|
24
32
|
public fun apply(editText: EditText) {
|
|
@@ -28,6 +36,9 @@ public class ReactTextInputLocalData(editText: EditText) {
|
|
|
28
36
|
editText.maxLines = maxLines
|
|
29
37
|
editText.inputType = inputType
|
|
30
38
|
editText.hint = placeholder
|
|
31
|
-
|
|
39
|
+
// EditText.setBreakStrategy was introduced in API 23 (M).
|
|
40
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
41
|
+
editText.breakStrategy = breakStrategy
|
|
42
|
+
}
|
|
32
43
|
}
|
|
33
44
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt
CHANGED
|
@@ -414,7 +414,7 @@ public open class ReactTextInputManager public constructor() :
|
|
|
414
414
|
return
|
|
415
415
|
}
|
|
416
416
|
|
|
417
|
-
// Based on https://github.com/
|
|
417
|
+
// Based on https://github.com/react/react-native/pull/31007
|
|
418
418
|
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.P) {
|
|
419
419
|
return
|
|
420
420
|
}
|
|
@@ -770,7 +770,7 @@ public open class ReactTextInputManager public constructor() :
|
|
|
770
770
|
// crash happens when focusing on a email EditText, during which a prompt will be triggered
|
|
771
771
|
// but
|
|
772
772
|
// the system fail to locate it properly. Here is an example post discussing about this
|
|
773
|
-
// issue: https://github.com/
|
|
773
|
+
// issue: https://github.com/react/react-native/issues/27204
|
|
774
774
|
if (shouldHideCursorForEmailTextInput()) {
|
|
775
775
|
view.isCursorVisible = false
|
|
776
776
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
package com.facebook.react.views.textinput
|
|
11
11
|
|
|
12
12
|
import android.annotation.SuppressLint
|
|
13
|
+
import android.annotation.TargetApi
|
|
14
|
+
import android.os.Build
|
|
13
15
|
import android.text.Layout
|
|
14
16
|
import android.util.TypedValue
|
|
15
17
|
import android.view.ViewGroup
|
|
@@ -43,6 +45,8 @@ import com.facebook.yoga.YogaNode
|
|
|
43
45
|
message = "This class is part of Legacy Architecture and will be removed in a future release",
|
|
44
46
|
level = DeprecationLevel.WARNING,
|
|
45
47
|
)
|
|
48
|
+
// Break-strategy Layout constants / EditText break-strategy accessors were added in API 23 (M).
|
|
49
|
+
@TargetApi(Build.VERSION_CODES.M)
|
|
46
50
|
internal class ReactTextInputShadowNode
|
|
47
51
|
@JvmOverloads
|
|
48
52
|
constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? = null) :
|
|
@@ -67,7 +71,8 @@ constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? = null)
|
|
|
67
71
|
}
|
|
68
72
|
|
|
69
73
|
init {
|
|
70
|
-
textBreakStrategy =
|
|
74
|
+
textBreakStrategy =
|
|
75
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) Layout.BREAK_STRATEGY_HIGH_QUALITY else 0
|
|
71
76
|
setMeasureFunction(this)
|
|
72
77
|
}
|
|
73
78
|
|
|
@@ -122,8 +127,10 @@ constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? = null)
|
|
|
122
127
|
editText.setLines(numberOfLines)
|
|
123
128
|
}
|
|
124
129
|
|
|
130
|
+
// EditText break-strategy accessors were introduced in API 23 (M).
|
|
125
131
|
@SuppressLint("WrongConstant")
|
|
126
|
-
if (
|
|
132
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
|
|
133
|
+
editText.breakStrategy != textBreakStrategy) {
|
|
127
134
|
editText.breakStrategy = textBreakStrategy
|
|
128
135
|
}
|
|
129
136
|
}
|
|
@@ -156,6 +163,10 @@ constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? = null)
|
|
|
156
163
|
}
|
|
157
164
|
|
|
158
165
|
override fun setTextBreakStrategy(textBreakStrategy: String?) {
|
|
166
|
+
// Layout break strategies were introduced in API 23 (M); they are unused before then.
|
|
167
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
|
|
168
|
+
return
|
|
169
|
+
}
|
|
159
170
|
when (textBreakStrategy) {
|
|
160
171
|
null,
|
|
161
172
|
"simple" -> this.textBreakStrategy = Layout.BREAK_STRATEGY_SIMPLE
|
package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt
CHANGED
|
@@ -30,7 +30,7 @@ internal class ReactTextSelectionWatcher(private val editText: ReactEditText) :
|
|
|
30
30
|
// forward it on if we have new values
|
|
31
31
|
|
|
32
32
|
// Apparently Android might call this with an end value that is less than the start value
|
|
33
|
-
// Lets normalize them. See https://github.com/
|
|
33
|
+
// Lets normalize them. See https://github.com/react/react-native/issues/18579
|
|
34
34
|
val realStart = min(start.toDouble(), end.toDouble()).toInt()
|
|
35
35
|
val realEnd = max(start.toDouble(), end.toDouble()).toInt()
|
|
36
36
|
|
|
@@ -14,6 +14,7 @@ import android.graphics.Color
|
|
|
14
14
|
import android.graphics.drawable.ColorDrawable
|
|
15
15
|
import android.graphics.drawable.Drawable
|
|
16
16
|
import android.graphics.drawable.RippleDrawable
|
|
17
|
+
import android.os.Build
|
|
17
18
|
import android.util.TypedValue
|
|
18
19
|
import com.facebook.react.bridge.JSApplicationIllegalArgumentException
|
|
19
20
|
import com.facebook.react.bridge.ReadableMap
|
|
@@ -83,7 +84,10 @@ public object ReactDrawableHelper {
|
|
|
83
84
|
private fun setRadius(drawableDescriptionDict: ReadableMap, drawable: Drawable?): Drawable? {
|
|
84
85
|
if (drawableDescriptionDict.hasKey("rippleRadius") && drawable is RippleDrawable) {
|
|
85
86
|
val rippleRadius = drawableDescriptionDict.getDouble("rippleRadius")
|
|
86
|
-
|
|
87
|
+
// RippleDrawable.setRadius was introduced in API 23 (M).
|
|
88
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
89
|
+
drawable.radius = PixelUtil.toPixelFromDIP(rippleRadius).toInt()
|
|
90
|
+
}
|
|
87
91
|
}
|
|
88
92
|
return drawable
|
|
89
93
|
}
|
|
@@ -102,7 +106,12 @@ public object ReactDrawableHelper {
|
|
|
102
106
|
true,
|
|
103
107
|
)
|
|
104
108
|
) {
|
|
105
|
-
|
|
109
|
+
// Resources.getColor(int, Theme) was introduced in API 23 (M).
|
|
110
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
|
111
|
+
context.resources.getColor(resolveOutValue.resourceId, context.theme)
|
|
112
|
+
} else {
|
|
113
|
+
@Suppress("DEPRECATION") context.resources.getColor(resolveOutValue.resourceId)
|
|
114
|
+
}
|
|
106
115
|
} else {
|
|
107
116
|
throw JSApplicationIllegalArgumentException(
|
|
108
117
|
"Attribute colorControlHighlight couldn't be resolved into a drawable"
|
|
@@ -174,6 +174,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
174
174
|
private var onInterceptTouchEventListener: OnInterceptTouchEventListener? = null
|
|
175
175
|
private var needsOffscreenAlphaCompositing = false
|
|
176
176
|
public var scrollSnapAlign: String? = null
|
|
177
|
+
public var scrollSnapOffset: Int? = null
|
|
177
178
|
private var backfaceOpacity = 0f
|
|
178
179
|
private var backfaceVisible = false
|
|
179
180
|
private var childrenRemovedWhileTransitioning: MutableSet<Int>? = null
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
package com.facebook.react.views.view
|
|
9
9
|
|
|
10
10
|
import android.accessibilityservice.AccessibilityServiceInfo
|
|
11
|
+
import android.annotation.TargetApi
|
|
11
12
|
import android.content.Context
|
|
12
13
|
import android.content.pm.PackageManager
|
|
13
14
|
import android.graphics.Rect
|
|
15
|
+
import android.os.Build
|
|
14
16
|
import android.view.View
|
|
15
17
|
import android.view.View.OnFocusChangeListener
|
|
16
18
|
import android.view.ViewGroup
|
|
@@ -195,6 +197,11 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
195
197
|
view.scrollSnapAlign = value
|
|
196
198
|
}
|
|
197
199
|
|
|
200
|
+
@ReactProp(name = "scrollSnapOffset", defaultFloat = Float.NaN)
|
|
201
|
+
public open fun setScrollSnapOffset(view: ReactViewGroup, value: Float) {
|
|
202
|
+
view.scrollSnapOffset = if (value.isNaN()) null else value.dpToPx().toInt()
|
|
203
|
+
}
|
|
204
|
+
|
|
198
205
|
@ReactProp(name = ViewProps.BACKGROUND_IMAGE, customType = "BackgroundImage")
|
|
199
206
|
public open fun setBackgroundImage(view: ReactViewGroup, backgroundImage: ReadableArray?) {
|
|
200
207
|
if (ViewUtil.getUIManagerType(view) == UIManagerType.FABRIC) {
|
|
@@ -390,7 +397,13 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
390
397
|
}
|
|
391
398
|
|
|
392
399
|
@ReactProp(name = "nativeForegroundAndroid")
|
|
400
|
+
@TargetApi(Build.VERSION_CODES.M)
|
|
393
401
|
public open fun setNativeForeground(view: ReactViewGroup, foreground: ReadableMap?) {
|
|
402
|
+
// ReactViewGroup extends ViewGroup (not FrameLayout), so View.setForeground crashes before
|
|
403
|
+
// API 23 (M). Treat it as a no-op on older platforms.
|
|
404
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
|
|
405
|
+
return
|
|
406
|
+
}
|
|
394
407
|
view.foreground =
|
|
395
408
|
foreground?.let { ReactDrawableHelper.createDrawableFromJSDescription(view.context, it) }
|
|
396
409
|
}
|
package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
#include <fbjni/ByteBuffer.h>
|
|
9
|
+
|
|
8
10
|
#include "JCxxInspectorPackagerConnectionWebSocket.h"
|
|
9
11
|
|
|
10
12
|
using namespace facebook::jni;
|
|
@@ -12,10 +14,35 @@ using namespace facebook::react::jsinspector_modern;
|
|
|
12
14
|
|
|
13
15
|
namespace facebook::react::jsinspector_modern {
|
|
14
16
|
|
|
17
|
+
namespace {
|
|
18
|
+
|
|
19
|
+
local_ref<JByteBuffer::javaobject> getReadOnlyByteBufferFromStringView(
|
|
20
|
+
std::string_view sv) {
|
|
21
|
+
auto buffer = JByteBuffer::wrapBytes(
|
|
22
|
+
const_cast<uint8_t*>(reinterpret_cast<const uint8_t*>(sv.data())),
|
|
23
|
+
sv.size());
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Return a read-only buffer that shares the underlying contents.
|
|
27
|
+
* This guards from accidential mutations on the Java side, since we did
|
|
28
|
+
* casting above.
|
|
29
|
+
*
|
|
30
|
+
* https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html#asReadOnlyBuffer--
|
|
31
|
+
*/
|
|
32
|
+
static auto method =
|
|
33
|
+
buffer->javaClassStatic()->getMethod<JByteBuffer::javaobject()>(
|
|
34
|
+
"asReadOnlyBuffer");
|
|
35
|
+
return method(buffer);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
} // namespace
|
|
39
|
+
|
|
15
40
|
void JCxxInspectorPackagerConnectionWebSocket::send(std::string_view message) {
|
|
16
41
|
static auto method =
|
|
17
|
-
javaClassStatic()->getMethod<void(
|
|
18
|
-
|
|
42
|
+
javaClassStatic()->getMethod<void(local_ref<JByteBuffer::javaobject>)>(
|
|
43
|
+
"send");
|
|
44
|
+
auto byteBuffer = getReadOnlyByteBufferFromStringView(message);
|
|
45
|
+
method(self(), byteBuffer);
|
|
19
46
|
}
|
|
20
47
|
|
|
21
48
|
void JCxxInspectorPackagerConnectionWebSocket::close() {
|
|
@@ -14,7 +14,7 @@ Pod::Spec.new do |s|
|
|
|
14
14
|
s.author = "Meta Platforms, Inc. and its affiliates"
|
|
15
15
|
s.license = package["license"]
|
|
16
16
|
s.homepage = "https://reactnative.dev/"
|
|
17
|
-
s.source = { :git => 'https://github.com/
|
|
17
|
+
s.source = { :git => 'https://github.com/react/react-native.git', :tag => 'v#{version}' }
|
|
18
18
|
s.summary = "Macros for marking APIs as deprecated"
|
|
19
19
|
s.source_files = podspec_sources(["Exported/*.h", "RCTDeprecation.m"], "Exported/*.h")
|
|
20
20
|
s.pod_target_xcconfig = {
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -9,7 +9,7 @@ require "json"
|
|
|
9
9
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
10
10
|
version = package['version']
|
|
11
11
|
|
|
12
|
-
source = { :git => 'https://github.com/
|
|
12
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
13
13
|
if version == '1000.0.0'
|
|
14
14
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
15
15
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
|
|
15
15
|
#define REACT_NATIVE_VERSION_MAJOR 0
|
|
16
16
|
#define REACT_NATIVE_VERSION_MINOR 83
|
|
17
|
-
#define REACT_NATIVE_VERSION_PATCH
|
|
17
|
+
#define REACT_NATIVE_VERSION_PATCH 10
|
|
18
18
|
|
|
19
19
|
namespace facebook::react {
|
|
20
20
|
|
|
21
21
|
constexpr struct {
|
|
22
22
|
int32_t Major = 0;
|
|
23
23
|
int32_t Minor = 83;
|
|
24
|
-
int32_t Patch =
|
|
25
|
-
std::string_view Prerelease = "
|
|
24
|
+
int32_t Patch = 10;
|
|
25
|
+
std::string_view Prerelease = "1";
|
|
26
26
|
} ReactNativeVersion;
|
|
27
27
|
|
|
28
28
|
} // namespace facebook::react
|
|
@@ -9,7 +9,7 @@ require "json"
|
|
|
9
9
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
10
10
|
version = package['version']
|
|
11
11
|
|
|
12
|
-
source = { :git => 'https://github.com/
|
|
12
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
13
13
|
if version == '1000.0.0'
|
|
14
14
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
15
15
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -8,7 +8,7 @@ require "json"
|
|
|
8
8
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
|
|
9
9
|
version = package['version']
|
|
10
10
|
|
|
11
|
-
source = { :git => 'https://github.com/
|
|
11
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
12
12
|
if version == '1000.0.0'
|
|
13
13
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
14
14
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|