react-native 0.68.0-rc.0 → 0.68.0-rc.3
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/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Components/Switch/Switch.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +1 -29
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -0
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +4 -7
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +4 -2
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -2
- package/React/React-RCTFabric.podspec +1 -1
- package/ReactAndroid/build.gradle +7 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/proguard-rules.pro +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +7 -3
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +0 -12
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +5 -5
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +5 -3
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +7 -5
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +1 -1
- package/android/com/facebook/react/react-native/{0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar → 0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar +0 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.0-rc.0/react-native-0.68.0-rc.0.module → 0.68.0-rc.3/react-native-0.68.0-rc.3.module} +15 -15
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.0-rc.0/react-native-0.68.0-rc.0.pom → 0.68.0-rc.3/react-native-0.68.0-rc.3.pom} +1 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/package.json +5 -4
- package/react.gradle +52 -15
- package/scripts/react_native_pods.rb +12 -9
- package/template/Gemfile.lock +5 -5
- package/template/_flowconfig +2 -0
- package/template/android/app/build.gradle +28 -13
- package/template/android/gradle.properties +2 -2
- package/template/ios/Podfile +2 -2
- package/template/package.json +1 -5
- package/third-party-podspecs/RCT-Folly.podspec +5 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar +0 -0
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.pom.sha512 +0 -1
|
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
|
|
|
35
35
|
s.pod_target_xcconfig = {
|
|
36
36
|
"USE_HEADERMAP" => "YES",
|
|
37
37
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
38
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
38
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
s.dependency "RCT-Folly", folly_version
|
|
@@ -170,7 +170,8 @@ const SwitchWithForwardedRef: React.AbstractComponent<
|
|
|
170
170
|
// that the update should be ignored and we should stick with the value
|
|
171
171
|
// that we have in JS.
|
|
172
172
|
const jsValue = value === true;
|
|
173
|
-
const shouldUpdateNativeSwitch =
|
|
173
|
+
const shouldUpdateNativeSwitch =
|
|
174
|
+
native.value != null && native.value !== jsValue;
|
|
174
175
|
if (
|
|
175
176
|
shouldUpdateNativeSwitch &&
|
|
176
177
|
nativeSwitchRef.current?.setNativeProps != null
|
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.pod_target_xcconfig = {
|
|
37
37
|
"USE_HEADERMAP" => "YES",
|
|
38
38
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
39
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
39
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
s.dependency "RCT-Folly", folly_version
|
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.pod_target_xcconfig = {
|
|
37
37
|
"USE_HEADERMAP" => "YES",
|
|
38
38
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
39
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
39
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
s.dependency "React-Codegen", version
|
|
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
|
|
|
35
35
|
s.pod_target_xcconfig = {
|
|
36
36
|
"USE_HEADERMAP" => "YES",
|
|
37
37
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
38
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
38
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
s.dependency "RCT-Folly", folly_version
|
|
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
|
|
|
35
35
|
s.pod_target_xcconfig = {
|
|
36
36
|
"USE_HEADERMAP" => "YES",
|
|
37
37
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
38
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
38
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
39
39
|
}
|
|
40
40
|
s.frameworks = "MobileCoreServices"
|
|
41
41
|
|
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.pod_target_xcconfig = {
|
|
37
37
|
"USE_HEADERMAP" => "YES",
|
|
38
38
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
39
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
39
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
40
40
|
}
|
|
41
41
|
s.framework = "UserNotifications"
|
|
42
42
|
|
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.pod_target_xcconfig = {
|
|
37
37
|
"USE_HEADERMAP" => "YES",
|
|
38
38
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
39
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
39
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
s.dependency "RCT-Folly", folly_version
|
|
@@ -147,21 +147,7 @@ static UIColor *defaultPlaceholderColor()
|
|
|
147
147
|
|
|
148
148
|
- (void)setAttributedText:(NSAttributedString *)attributedText
|
|
149
149
|
{
|
|
150
|
-
|
|
151
|
-
// when entering complex input languages such as Chinese, Korean or Japanese.
|
|
152
|
-
// see: https://github.com/facebook/react-native/issues/19339
|
|
153
|
-
|
|
154
|
-
// We try to avoid calling this method as much as we can.
|
|
155
|
-
// If the text has changed, there is nothing we can do.
|
|
156
|
-
if (![super.attributedText.string isEqualToString:attributedText.string]) {
|
|
157
|
-
[super setAttributedText:attributedText];
|
|
158
|
-
} else {
|
|
159
|
-
// But if the text is preserved, we just copying the attributes from the source string.
|
|
160
|
-
if (![super.attributedText isEqualToAttributedString:attributedText]) {
|
|
161
|
-
[self copyTextAttributesFrom:attributedText];
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
150
|
+
[super setAttributedText:attributedText];
|
|
165
151
|
[self textDidChange];
|
|
166
152
|
}
|
|
167
153
|
|
|
@@ -311,18 +297,4 @@ static UIColor *defaultPlaceholderColor()
|
|
|
311
297
|
|
|
312
298
|
#pragma mark - Utility Methods
|
|
313
299
|
|
|
314
|
-
- (void)copyTextAttributesFrom:(NSAttributedString *)sourceString
|
|
315
|
-
{
|
|
316
|
-
[self.textStorage beginEditing];
|
|
317
|
-
|
|
318
|
-
NSTextStorage *textStorage = self.textStorage;
|
|
319
|
-
[sourceString enumerateAttributesInRange:NSMakeRange(0, sourceString.length)
|
|
320
|
-
options:NSAttributedStringEnumerationReverse
|
|
321
|
-
usingBlock:^(NSDictionary<NSAttributedStringKey,id> * _Nonnull attrs, NSRange range, BOOL * _Nonnull stop) {
|
|
322
|
-
[textStorage setAttributes:attrs range:range];
|
|
323
|
-
}];
|
|
324
|
-
|
|
325
|
-
[self.textStorage endEditing];
|
|
326
|
-
}
|
|
327
|
-
|
|
328
300
|
@end
|
|
@@ -104,6 +104,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
|
|
|
104
104
|
// Similarly, when the user is in the middle of inputting some text in Japanese/Chinese, there will be styling on the
|
|
105
105
|
// text that we should disregard. See https://developer.apple.com/documentation/uikit/uitextinput/1614489-markedtextrange?language=objc
|
|
106
106
|
// for more info.
|
|
107
|
+
// Also, updating the attributed text while inputting Korean language will break input mechanism.
|
|
107
108
|
// If the user added an emoji, the system adds a font attribute for the emoji and stores the original font in NSOriginalFont.
|
|
108
109
|
// Lastly, when entering a password, etc., there will be additional styling on the field as the native text view
|
|
109
110
|
// handles showing the last character for a split second.
|
|
@@ -116,6 +117,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
|
|
|
116
117
|
|
|
117
118
|
BOOL shouldFallbackToBareTextComparison =
|
|
118
119
|
[self.backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"dictation"] ||
|
|
120
|
+
[self.backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"ko-KR"] ||
|
|
119
121
|
self.backedTextInputView.markedTextRange ||
|
|
120
122
|
self.backedTextInputView.isSecureTextEntry ||
|
|
121
123
|
fontHasBeenUpdatedBySystem;
|
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.pod_target_xcconfig = {
|
|
37
37
|
"USE_HEADERMAP" => "YES",
|
|
38
38
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
39
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
39
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
40
40
|
}
|
|
41
41
|
s.frameworks = "AudioToolbox"
|
|
42
42
|
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -73,13 +73,10 @@ static RCTRootViewSizeFlexibility convertToRootViewSizeFlexibility(RCTSurfaceSiz
|
|
|
73
73
|
// `RCTRootViewSizeFlexibilityNone` is the RCTRootView's default.
|
|
74
74
|
RCTSurfaceSizeMeasureMode sizeMeasureMode = convertToSurfaceSizeMeasureMode(RCTRootViewSizeFlexibilityNone);
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (self = [super initWithSurface:surface sizeMeasureMode:sizeMeasureMode]) {
|
|
81
|
-
// Nothing specific to do.
|
|
82
|
-
}
|
|
76
|
+
self = [super initWithBridge:bridge
|
|
77
|
+
moduleName:moduleName
|
|
78
|
+
initialProperties:initialProperties
|
|
79
|
+
sizeMeasureMode:sizeMeasureMode];
|
|
83
80
|
|
|
84
81
|
RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
|
|
85
82
|
|
|
@@ -46,8 +46,10 @@ RCT_NOT_IMPLEMENTED(-(nullable instancetype)initWithCoder : (NSCoder *)coder)
|
|
|
46
46
|
id<RCTSurfaceProtocol> surface = [[self class] createSurfaceWithBridge:bridge
|
|
47
47
|
moduleName:moduleName
|
|
48
48
|
initialProperties:initialProperties];
|
|
49
|
-
[surface
|
|
50
|
-
|
|
49
|
+
if (self = [self initWithSurface:surface sizeMeasureMode:sizeMeasureMode]) {
|
|
50
|
+
[surface start];
|
|
51
|
+
}
|
|
52
|
+
return self;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
- (instancetype)initWithSurface:(id<RCTSurfaceProtocol>)surface
|
|
@@ -34,7 +34,7 @@ Pod::Spec.new do |s|
|
|
|
34
34
|
s.pod_target_xcconfig = {
|
|
35
35
|
"USE_HEADERMAP" => "YES",
|
|
36
36
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
|
|
37
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/React/CoreModules\" \"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
|
|
37
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/React/CoreModules\" \"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
s.dependency "React-Codegen", version
|
|
@@ -617,8 +617,9 @@ using namespace facebook::react;
|
|
|
617
617
|
// the settings on a dictation.
|
|
618
618
|
// Similarly, when the user is in the middle of inputting some text in Japanese/Chinese, there will be styling on the
|
|
619
619
|
// text that we should disregard. See
|
|
620
|
-
// https://developer.apple.com/documentation/uikit/uitextinput/1614489-markedtextrange?language=objc for more info.
|
|
621
|
-
//
|
|
620
|
+
// https://developer.apple.com/documentation/uikit/uitextinput/1614489-markedtextrange?language=objc for more info.
|
|
621
|
+
// Also, updating the attributed text while inputting Korean language will break input mechanism.
|
|
622
|
+
// If the user added an emoji, the system adds a font attribute for the emoji and stores the original font in
|
|
622
623
|
// NSOriginalFont. Lastly, when entering a password, etc., there will be additional styling on the field as the native
|
|
623
624
|
// text view handles showing the last character for a split second.
|
|
624
625
|
__block BOOL fontHasBeenUpdatedBySystem = false;
|
|
@@ -633,6 +634,7 @@ using namespace facebook::react;
|
|
|
633
634
|
|
|
634
635
|
BOOL shouldFallbackToBareTextComparison =
|
|
635
636
|
[_backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"dictation"] ||
|
|
637
|
+
[_backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"ko-KR"] ||
|
|
636
638
|
_backedTextInputView.markedTextRange || _backedTextInputView.isSecureTextEntry || fontHasBeenUpdatedBySystem;
|
|
637
639
|
|
|
638
640
|
if (shouldFallbackToBareTextComparison) {
|
|
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
|
|
|
36
36
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
|
37
37
|
s.header_dir = "React"
|
|
38
38
|
s.framework = "JavaScriptCore"
|
|
39
|
-
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/Headers/Private/React-Core\" \"$(PODS_ROOT)/Headers/Public/React-Codegen\"" }
|
|
39
|
+
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/Headers/Private/React-Core\" \"$(PODS_ROOT)/Headers/Public/React-Codegen\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\"" }
|
|
40
40
|
s.xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/RCT-Folly\"",
|
|
41
41
|
"OTHER_CFLAGS" => "$(inherited) -DRN_FABRIC_ENABLED" + " " + folly_flags }
|
|
42
42
|
|
|
@@ -351,6 +351,12 @@ android {
|
|
|
351
351
|
packagingOptions {
|
|
352
352
|
exclude("META-INF/NOTICE")
|
|
353
353
|
exclude("META-INF/LICENSE")
|
|
354
|
+
// We intentionally don't want to bundle any JS Runtime inside the Android AAR
|
|
355
|
+
// we produce. The reason behind this is that we want to allow users to pick the
|
|
356
|
+
// JS engine by specifying a dependency on either `hermes-engine` or `android-jsc`
|
|
357
|
+
// that will include the necessary .so files to load.
|
|
358
|
+
exclude("**/libhermes.so")
|
|
359
|
+
exclude("**/libjsc.so")
|
|
354
360
|
}
|
|
355
361
|
|
|
356
362
|
configurations {
|
|
@@ -400,7 +406,7 @@ react {
|
|
|
400
406
|
// This should be changed to a more generic name, e.g. `ReactCoreSpec`.
|
|
401
407
|
libraryName = "rncore"
|
|
402
408
|
jsRootDir = file("../Libraries")
|
|
403
|
-
|
|
409
|
+
reactNativeDir = file("$projectDir/..")
|
|
404
410
|
useJavaGenerator = System.getenv("USE_CODEGEN_JAVAPOET")?.toBoolean() ?: false
|
|
405
411
|
// We search for the codegen in either one of the `node_modules` folder or in the
|
|
406
412
|
// root packages folder (that's for when we build from source without calling `yarn install`).
|
|
@@ -24,17 +24,15 @@
|
|
|
24
24
|
# See http://sourceforge.net/p/proguard/bugs/466/
|
|
25
25
|
-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
|
|
26
26
|
-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
|
|
27
|
-
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
|
|
28
|
-
-keep,allowobfuscation @interface com.facebook.jni.annotations.DoNotStrip
|
|
29
27
|
|
|
30
28
|
# Do not strip any method/class that is annotated with @DoNotStrip
|
|
31
29
|
-keep @com.facebook.proguard.annotations.DoNotStrip class *
|
|
32
|
-
-keep @com.facebook.common.internal.DoNotStrip class *
|
|
33
|
-
-keep @com.facebook.jni.annotations.DoNotStrip class *
|
|
34
30
|
-keepclassmembers class * {
|
|
35
31
|
@com.facebook.proguard.annotations.DoNotStrip *;
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
-keep @com.facebook.proguard.annotations.DoNotStripAny class * {
|
|
35
|
+
*;
|
|
38
36
|
}
|
|
39
37
|
|
|
40
38
|
-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
|
|
@@ -27,6 +27,7 @@ import android.view.Surface;
|
|
|
27
27
|
import android.view.View;
|
|
28
28
|
import android.view.ViewGroup;
|
|
29
29
|
import android.view.ViewTreeObserver;
|
|
30
|
+
import android.view.WindowInsets;
|
|
30
31
|
import android.view.WindowManager;
|
|
31
32
|
import android.widget.FrameLayout;
|
|
32
33
|
import androidx.annotation.Nullable;
|
|
@@ -826,9 +827,12 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
826
827
|
getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea);
|
|
827
828
|
int notchHeight = 0;
|
|
828
829
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
829
|
-
|
|
830
|
-
if (
|
|
831
|
-
|
|
830
|
+
WindowInsets insets = getRootView().getRootWindowInsets();
|
|
831
|
+
if (insets != null) {
|
|
832
|
+
DisplayCutout displayCutout = insets.getDisplayCutout();
|
|
833
|
+
if (displayCutout != null) {
|
|
834
|
+
notchHeight = displayCutout.getSafeInsetTop();
|
|
835
|
+
}
|
|
832
836
|
}
|
|
833
837
|
}
|
|
834
838
|
final int heightDiff =
|
|
@@ -102,9 +102,6 @@ public class ReactFeatureFlags {
|
|
|
102
102
|
|
|
103
103
|
public static boolean insertZReorderBarriersOnViewGroupChildren = true;
|
|
104
104
|
|
|
105
|
-
/** TODO: T103427072 Delete ReactFeatureFlags.enableNestedTextOnPressEventFix */
|
|
106
|
-
public static boolean enableNestedTextOnPressEventFix = true;
|
|
107
|
-
|
|
108
105
|
/** TODO: T107492383 Delete this flag. Enables postprocessor for rounded corners for Image */
|
|
109
106
|
public static boolean enableRoundedCornerPostprocessing = false;
|
|
110
107
|
}
|
|
@@ -343,11 +343,6 @@ public class ReactTextShadowNode extends ReactBaseTextShadowNode {
|
|
|
343
343
|
mJustificationMode);
|
|
344
344
|
uiViewOperationQueue.enqueueUpdateExtraData(getReactTag(), reactTextUpdate);
|
|
345
345
|
}
|
|
346
|
-
|
|
347
|
-
if (mAdjustsFontSizeToFit) {
|
|
348
|
-
// Nodes with `adjustsFontSizeToFit` enabled need to be remeasured on every relayout.
|
|
349
|
-
markUpdated();
|
|
350
|
-
}
|
|
351
346
|
}
|
|
352
347
|
|
|
353
348
|
@ReactProp(name = "onTextLayout")
|
|
@@ -19,7 +19,6 @@ import android.text.TextUtils;
|
|
|
19
19
|
import android.text.method.LinkMovementMethod;
|
|
20
20
|
import android.text.util.Linkify;
|
|
21
21
|
import android.view.Gravity;
|
|
22
|
-
import android.view.MotionEvent;
|
|
23
22
|
import android.view.View;
|
|
24
23
|
import android.view.ViewGroup;
|
|
25
24
|
import androidx.annotation.Nullable;
|
|
@@ -32,7 +31,6 @@ import com.facebook.react.bridge.ReactContext;
|
|
|
32
31
|
import com.facebook.react.bridge.WritableArray;
|
|
33
32
|
import com.facebook.react.bridge.WritableMap;
|
|
34
33
|
import com.facebook.react.common.ReactConstants;
|
|
35
|
-
import com.facebook.react.config.ReactFeatureFlags;
|
|
36
34
|
import com.facebook.react.uimanager.PixelUtil;
|
|
37
35
|
import com.facebook.react.uimanager.ReactCompoundView;
|
|
38
36
|
import com.facebook.react.uimanager.UIManagerModule;
|
|
@@ -384,16 +382,6 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
|
|
|
384
382
|
return target;
|
|
385
383
|
}
|
|
386
384
|
|
|
387
|
-
@Override
|
|
388
|
-
public boolean onTouchEvent(MotionEvent ev) {
|
|
389
|
-
// The root view always assumes any view that was tapped wants the touch
|
|
390
|
-
// and sends the event to JS as such.
|
|
391
|
-
// We don't need to do bubbling in native (it's already happening in JS).
|
|
392
|
-
// For an explanation of bubbling and capturing, see
|
|
393
|
-
// http://javascript.info/tutorial/bubbling-and-capturing#capturing
|
|
394
|
-
return ReactFeatureFlags.enableNestedTextOnPressEventFix;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
385
|
@Override
|
|
398
386
|
protected boolean verifyDrawable(Drawable drawable) {
|
|
399
387
|
if (mContainsImages && getText() instanceof Spanned) {
|
|
@@ -33,11 +33,11 @@ MapBuffer::MapBuffer(std::vector<uint8_t> data) : bytes_(std::move(data)) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
int32_t MapBuffer::getKeyBucket(Key key) const {
|
|
37
|
+
int32_t lo = 0;
|
|
38
|
+
int32_t hi = count_ - 1;
|
|
39
39
|
while (lo <= hi) {
|
|
40
|
-
|
|
40
|
+
int32_t mid = (lo + hi) >> 1;
|
|
41
41
|
|
|
42
42
|
Key midVal =
|
|
43
43
|
*reinterpret_cast<Key const *>(bytes_.data() + bucketOffset(mid));
|
|
@@ -112,7 +112,7 @@ MapBuffer MapBuffer::getMapBuffer(Key key) const {
|
|
|
112
112
|
return MapBuffer(std::move(value));
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
size_t MapBuffer::size() const {
|
|
116
116
|
return bytes_.size();
|
|
117
117
|
}
|
|
118
118
|
|
|
@@ -80,7 +80,8 @@ class MapBuffer {
|
|
|
80
80
|
uint32_t bufferSize; // Amount of bytes used to store the map in memory
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
#pragma pack(push, 1)
|
|
84
|
+
struct Bucket {
|
|
84
85
|
Key key;
|
|
85
86
|
uint16_t type;
|
|
86
87
|
uint64_t data;
|
|
@@ -88,6 +89,7 @@ class MapBuffer {
|
|
|
88
89
|
Bucket(Key key, uint16_t type, uint64_t data)
|
|
89
90
|
: key(key), type(type), data(data) {}
|
|
90
91
|
};
|
|
92
|
+
#pragma pack(pop)
|
|
91
93
|
|
|
92
94
|
static_assert(sizeof(Header) == 8, "MapBuffer header size is incorrect.");
|
|
93
95
|
static_assert(sizeof(Bucket) == 12, "MapBuffer bucket size is incorrect.");
|
|
@@ -124,7 +126,7 @@ class MapBuffer {
|
|
|
124
126
|
// TODO T83483191: review this declaration
|
|
125
127
|
MapBuffer getMapBuffer(MapBuffer::Key key) const;
|
|
126
128
|
|
|
127
|
-
|
|
129
|
+
size_t size() const;
|
|
128
130
|
|
|
129
131
|
uint8_t const *data() const;
|
|
130
132
|
|
|
@@ -140,7 +142,7 @@ class MapBuffer {
|
|
|
140
142
|
// returns the relative offset of the first byte of dynamic data
|
|
141
143
|
int32_t getDynamicDataOffset() const;
|
|
142
144
|
|
|
143
|
-
|
|
145
|
+
int32_t getKeyBucket(MapBuffer::Key key) const;
|
|
144
146
|
|
|
145
147
|
friend ReadableMapBuffer;
|
|
146
148
|
};
|
|
@@ -14,7 +14,7 @@ namespace facebook {
|
|
|
14
14
|
namespace react {
|
|
15
15
|
|
|
16
16
|
constexpr uint32_t INT_SIZE = sizeof(uint32_t);
|
|
17
|
-
constexpr
|
|
17
|
+
constexpr uint32_t DOUBLE_SIZE = sizeof(double);
|
|
18
18
|
constexpr uint32_t MAX_BUCKET_VALUE_SIZE = sizeof(uint64_t);
|
|
19
19
|
|
|
20
20
|
MapBuffer MapBufferBuilder::EMPTY() {
|
|
@@ -23,6 +23,8 @@ MapBuffer MapBufferBuilder::EMPTY() {
|
|
|
23
23
|
|
|
24
24
|
MapBufferBuilder::MapBufferBuilder(uint32_t initialSize) {
|
|
25
25
|
buckets_.reserve(initialSize);
|
|
26
|
+
header_.count = 0;
|
|
27
|
+
header_.bufferSize = 0;
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
void MapBufferBuilder::storeKeyValue(
|
|
@@ -76,7 +78,7 @@ void MapBufferBuilder::putInt(MapBuffer::Key key, int32_t value) {
|
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
void MapBufferBuilder::putString(MapBuffer::Key key, std::string const &value) {
|
|
79
|
-
|
|
81
|
+
auto strSize = value.size();
|
|
80
82
|
const char *strData = value.data();
|
|
81
83
|
|
|
82
84
|
// format [length of string (int)] + [Array of Characters in the string]
|
|
@@ -94,7 +96,7 @@ void MapBufferBuilder::putString(MapBuffer::Key key, std::string const &value) {
|
|
|
94
96
|
}
|
|
95
97
|
|
|
96
98
|
void MapBufferBuilder::putMapBuffer(MapBuffer::Key key, MapBuffer const &map) {
|
|
97
|
-
|
|
99
|
+
auto mapBufferSize = map.size();
|
|
98
100
|
|
|
99
101
|
auto offset = dynamicData_.size();
|
|
100
102
|
|
|
@@ -122,9 +124,9 @@ MapBuffer MapBufferBuilder::build() {
|
|
|
122
124
|
// Create buffer: [header] + [key, values] + [dynamic data]
|
|
123
125
|
auto bucketSize = buckets_.size() * sizeof(MapBuffer::Bucket);
|
|
124
126
|
auto headerSize = sizeof(MapBuffer::Header);
|
|
125
|
-
|
|
127
|
+
auto bufferSize = headerSize + bucketSize + dynamicData_.size();
|
|
126
128
|
|
|
127
|
-
header_.bufferSize = bufferSize;
|
|
129
|
+
header_.bufferSize = static_cast<uint32_t>(bufferSize);
|
|
128
130
|
|
|
129
131
|
if (needsSort_) {
|
|
130
132
|
std::sort(buckets_.begin(), buckets_.end(), compareBuckets);
|
|
Binary file
|
package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b60bc57d5a042db885d94ea73f524c23
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
07b9ba4945a5a7dd467f9d78b2be18f25d67a190
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
acf25ea26953d6fadb8525b69ca8be28cac57f833352e5f29ef0aed8943bef2f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
beb442c0839185a8f62eecffbb4d238461eee21c0a319852bef75dab8e43c8c9f7d1be45be02500f8f5772f04b0c320941ba655903c916aff0b050f081593bff
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
6810dc7e35257254971f8af32e833f99
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
75e5c2d023e40986abb8b2f7e0ef71f204562232
|
package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.sha256
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a524a994211ca6920b457fa9ac5c5585774dfcccdcbe49263e79c937d1bafcf4
|
package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.sha512
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
45a37681cc48a50eb1cfc41864f454f79a636afbbcc43e610a8ebfa603caff79538f1aca4fc7734345a250dd4f8f79dd353baf25e511ae495b7db88a1e2714c0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "com.facebook.react",
|
|
5
5
|
"module": "react-native",
|
|
6
|
-
"version": "0.68.0-rc.
|
|
6
|
+
"version": "0.68.0-rc.3",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -131,13 +131,13 @@
|
|
|
131
131
|
],
|
|
132
132
|
"files": [
|
|
133
133
|
{
|
|
134
|
-
"name": "react-native-0.68.0-rc.
|
|
135
|
-
"url": "react-native-0.68.0-rc.
|
|
136
|
-
"size":
|
|
137
|
-
"sha512": "
|
|
138
|
-
"sha256": "
|
|
139
|
-
"sha1": "
|
|
140
|
-
"md5": "
|
|
134
|
+
"name": "react-native-0.68.0-rc.3.aar",
|
|
135
|
+
"url": "react-native-0.68.0-rc.3.aar",
|
|
136
|
+
"size": 16395231,
|
|
137
|
+
"sha512": "45a37681cc48a50eb1cfc41864f454f79a636afbbcc43e610a8ebfa603caff79538f1aca4fc7734345a250dd4f8f79dd353baf25e511ae495b7db88a1e2714c0",
|
|
138
|
+
"sha256": "a524a994211ca6920b457fa9ac5c5585774dfcccdcbe49263e79c937d1bafcf4",
|
|
139
|
+
"sha1": "75e5c2d023e40986abb8b2f7e0ef71f204562232",
|
|
140
|
+
"md5": "6810dc7e35257254971f8af32e833f99"
|
|
141
141
|
}
|
|
142
142
|
]
|
|
143
143
|
},
|
|
@@ -258,13 +258,13 @@
|
|
|
258
258
|
],
|
|
259
259
|
"files": [
|
|
260
260
|
{
|
|
261
|
-
"name": "react-native-0.68.0-rc.
|
|
262
|
-
"url": "react-native-0.68.0-rc.
|
|
263
|
-
"size":
|
|
264
|
-
"sha512": "
|
|
265
|
-
"sha256": "
|
|
266
|
-
"sha1": "
|
|
267
|
-
"md5": "
|
|
261
|
+
"name": "react-native-0.68.0-rc.3.aar",
|
|
262
|
+
"url": "react-native-0.68.0-rc.3.aar",
|
|
263
|
+
"size": 16395231,
|
|
264
|
+
"sha512": "45a37681cc48a50eb1cfc41864f454f79a636afbbcc43e610a8ebfa603caff79538f1aca4fc7734345a250dd4f8f79dd353baf25e511ae495b7db88a1e2714c0",
|
|
265
|
+
"sha256": "a524a994211ca6920b457fa9ac5c5585774dfcccdcbe49263e79c937d1bafcf4",
|
|
266
|
+
"sha1": "75e5c2d023e40986abb8b2f7e0ef71f204562232",
|
|
267
|
+
"md5": "6810dc7e35257254971f8af32e833f99"
|
|
268
268
|
}
|
|
269
269
|
]
|
|
270
270
|
}
|
package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
414e0357dcffdb50795fda3158f50b91
|
package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
54b10a92e2b6b8a555e5a888925bda2bfdc41e2b
|
package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha256
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
513862a0a7b01e8194ca980484c4567a70bc0c2402a9aca23508e31e7fe3dac5
|
package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha512
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
598112f3e751ee5441d7a44bc2c7cf06dc6dba545dfd521f28b1feab2885114c4a9baa882c4f7c8a26d2b7718ea028b9b3db1c0e912a79968962112275008687
|