react-native 0.68.6 → 0.68.7
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/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +184 -18
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +5 -0
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
- package/android/com/facebook/react/react-native/{0.68.6/react-native-0.68.6-sources.jar → 0.68.7/react-native-0.68.7-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.6/react-native-0.68.6.aar → 0.68.7/react-native-0.68.7.aar} +0 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.6/react-native-0.68.6.module → 0.68.7/react-native-0.68.7.module} +15 -15
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.6/react-native-0.68.6.pom → 0.68.7/react-native-0.68.7.pom} +1 -1
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.68.7/react-native-0.68.7.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 +1 -1
- package/template/Gemfile.lock +12 -14
- package/template/package.json +1 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6.pom.sha512 +0 -1
package/React/Base/RCTVersion.m
CHANGED
package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java
CHANGED
|
@@ -37,6 +37,10 @@ public class CustomLetterSpacingSpan extends MetricAffectingSpan implements Reac
|
|
|
37
37
|
apply(paint);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
public float getSpacing() {
|
|
41
|
+
return mLetterSpacing;
|
|
42
|
+
}
|
|
43
|
+
|
|
40
44
|
private void apply(TextPaint paint) {
|
|
41
45
|
if (!Float.isNaN(mLetterSpacing)) {
|
|
42
46
|
paint.setLetterSpacing(mLetterSpacing);
|
|
@@ -71,6 +71,10 @@ public class CustomStyleSpan extends MetricAffectingSpan implements ReactSpan {
|
|
|
71
71
|
return mFontFamily;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
public @Nullable String getFontFeatureSettings() {
|
|
75
|
+
return mFeatureSettings;
|
|
76
|
+
}
|
|
77
|
+
|
|
74
78
|
private static void apply(
|
|
75
79
|
Paint paint,
|
|
76
80
|
int style,
|
|
@@ -11,6 +11,8 @@ import static com.facebook.react.uimanager.UIManagerHelper.getReactContext;
|
|
|
11
11
|
import static com.facebook.react.views.text.TextAttributeProps.UNSET;
|
|
12
12
|
|
|
13
13
|
import android.content.Context;
|
|
14
|
+
import android.graphics.Color;
|
|
15
|
+
import android.graphics.Paint;
|
|
14
16
|
import android.graphics.Rect;
|
|
15
17
|
import android.graphics.Typeface;
|
|
16
18
|
import android.graphics.drawable.Drawable;
|
|
@@ -50,15 +52,20 @@ import com.facebook.react.views.text.CustomLetterSpacingSpan;
|
|
|
50
52
|
import com.facebook.react.views.text.CustomLineHeightSpan;
|
|
51
53
|
import com.facebook.react.views.text.CustomStyleSpan;
|
|
52
54
|
import com.facebook.react.views.text.ReactAbsoluteSizeSpan;
|
|
55
|
+
import com.facebook.react.views.text.ReactBackgroundColorSpan;
|
|
56
|
+
import com.facebook.react.views.text.ReactForegroundColorSpan;
|
|
53
57
|
import com.facebook.react.views.text.ReactSpan;
|
|
58
|
+
import com.facebook.react.views.text.ReactStrikethroughSpan;
|
|
54
59
|
import com.facebook.react.views.text.ReactTextUpdate;
|
|
55
60
|
import com.facebook.react.views.text.ReactTypefaceUtils;
|
|
61
|
+
import com.facebook.react.views.text.ReactUnderlineSpan;
|
|
56
62
|
import com.facebook.react.views.text.TextAttributes;
|
|
57
63
|
import com.facebook.react.views.text.TextInlineImageSpan;
|
|
58
64
|
import com.facebook.react.views.text.TextLayoutManager;
|
|
59
65
|
import com.facebook.react.views.view.ReactViewBackgroundManager;
|
|
60
66
|
import java.util.ArrayList;
|
|
61
67
|
import java.util.List;
|
|
68
|
+
import java.util.Objects;
|
|
62
69
|
|
|
63
70
|
/**
|
|
64
71
|
* A wrapper around the EditText that lets us better control what happens when an EditText gets
|
|
@@ -476,6 +483,14 @@ public class ReactEditText extends AppCompatEditText
|
|
|
476
483
|
}
|
|
477
484
|
}
|
|
478
485
|
|
|
486
|
+
@Override
|
|
487
|
+
public void setFontFeatureSettings(String fontFeatureSettings) {
|
|
488
|
+
if (!Objects.equals(fontFeatureSettings, getFontFeatureSettings())) {
|
|
489
|
+
super.setFontFeatureSettings(fontFeatureSettings);
|
|
490
|
+
mTypefaceDirty = true;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
479
494
|
public void maybeUpdateTypeface() {
|
|
480
495
|
if (!mTypefaceDirty) {
|
|
481
496
|
return;
|
|
@@ -487,6 +502,17 @@ public class ReactEditText extends AppCompatEditText
|
|
|
487
502
|
ReactTypefaceUtils.applyStyles(
|
|
488
503
|
getTypeface(), mFontStyle, mFontWeight, mFontFamily, getContext().getAssets());
|
|
489
504
|
setTypeface(newTypeface);
|
|
505
|
+
|
|
506
|
+
// Match behavior of CustomStyleSpan and enable SUBPIXEL_TEXT_FLAG when setting anything
|
|
507
|
+
// nonstandard
|
|
508
|
+
if (mFontStyle != UNSET
|
|
509
|
+
|| mFontWeight != UNSET
|
|
510
|
+
|| mFontFamily != null
|
|
511
|
+
|| getFontFeatureSettings() != null) {
|
|
512
|
+
setPaintFlags(getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG);
|
|
513
|
+
} else {
|
|
514
|
+
setPaintFlags(getPaintFlags() & (~Paint.SUBPIXEL_TEXT_FLAG));
|
|
515
|
+
}
|
|
490
516
|
}
|
|
491
517
|
|
|
492
518
|
// VisibleForTesting from {@link TextInputEventsTestCase}.
|
|
@@ -549,9 +575,7 @@ public class ReactEditText extends AppCompatEditText
|
|
|
549
575
|
new SpannableStringBuilder(reactTextUpdate.getText());
|
|
550
576
|
|
|
551
577
|
manageSpans(spannableStringBuilder, reactTextUpdate.mContainsMultipleFragments);
|
|
552
|
-
|
|
553
|
-
// Mitigation for https://github.com/facebook/react-native/issues/35936 (S318090)
|
|
554
|
-
stripAbsoluteSizeSpans(spannableStringBuilder);
|
|
578
|
+
stripStyleEquivalentSpans(spannableStringBuilder);
|
|
555
579
|
|
|
556
580
|
mContainsImages = reactTextUpdate.containsImages();
|
|
557
581
|
|
|
@@ -626,24 +650,163 @@ public class ReactEditText extends AppCompatEditText
|
|
|
626
650
|
}
|
|
627
651
|
}
|
|
628
652
|
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
653
|
+
// TODO: Replace with Predicate<T> and lambdas once Java 8 builds in OSS
|
|
654
|
+
interface SpanPredicate<T> {
|
|
655
|
+
boolean test(T span);
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* Remove spans from the SpannableStringBuilder which can be represented by TextAppearance
|
|
660
|
+
* attributes on the underlying EditText. This works around instability on Samsung devices with
|
|
661
|
+
* the presence of spans https://github.com/facebook/react-native/issues/35936 (S318090)
|
|
662
|
+
*/
|
|
663
|
+
private void stripStyleEquivalentSpans(SpannableStringBuilder sb) {
|
|
664
|
+
stripSpansOfKind(
|
|
665
|
+
sb,
|
|
666
|
+
ReactAbsoluteSizeSpan.class,
|
|
667
|
+
new SpanPredicate<ReactAbsoluteSizeSpan>() {
|
|
668
|
+
@Override
|
|
669
|
+
public boolean test(ReactAbsoluteSizeSpan span) {
|
|
670
|
+
return span.getSize() == mTextAttributes.getEffectiveFontSize();
|
|
671
|
+
}
|
|
672
|
+
});
|
|
673
|
+
|
|
674
|
+
stripSpansOfKind(
|
|
675
|
+
sb,
|
|
676
|
+
ReactBackgroundColorSpan.class,
|
|
677
|
+
new SpanPredicate<ReactBackgroundColorSpan>() {
|
|
678
|
+
@Override
|
|
679
|
+
public boolean test(ReactBackgroundColorSpan span) {
|
|
680
|
+
return span.getBackgroundColor() == mReactBackgroundManager.getBackgroundColor();
|
|
681
|
+
}
|
|
682
|
+
});
|
|
634
683
|
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
684
|
+
stripSpansOfKind(
|
|
685
|
+
sb,
|
|
686
|
+
ReactForegroundColorSpan.class,
|
|
687
|
+
new SpanPredicate<ReactForegroundColorSpan>() {
|
|
688
|
+
@Override
|
|
689
|
+
public boolean test(ReactForegroundColorSpan span) {
|
|
690
|
+
return span.getForegroundColor() == getCurrentTextColor();
|
|
691
|
+
}
|
|
692
|
+
});
|
|
639
693
|
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
694
|
+
stripSpansOfKind(
|
|
695
|
+
sb,
|
|
696
|
+
ReactStrikethroughSpan.class,
|
|
697
|
+
new SpanPredicate<ReactStrikethroughSpan>() {
|
|
698
|
+
@Override
|
|
699
|
+
public boolean test(ReactStrikethroughSpan span) {
|
|
700
|
+
return (getPaintFlags() & Paint.STRIKE_THRU_TEXT_FLAG) != 0;
|
|
701
|
+
}
|
|
702
|
+
});
|
|
703
|
+
|
|
704
|
+
stripSpansOfKind(
|
|
705
|
+
sb,
|
|
706
|
+
ReactUnderlineSpan.class,
|
|
707
|
+
new SpanPredicate<ReactUnderlineSpan>() {
|
|
708
|
+
@Override
|
|
709
|
+
public boolean test(ReactUnderlineSpan span) {
|
|
710
|
+
return (getPaintFlags() & Paint.UNDERLINE_TEXT_FLAG) != 0;
|
|
711
|
+
}
|
|
712
|
+
});
|
|
713
|
+
|
|
714
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
715
|
+
stripSpansOfKind(
|
|
716
|
+
sb,
|
|
717
|
+
CustomLetterSpacingSpan.class,
|
|
718
|
+
new SpanPredicate<CustomLetterSpacingSpan>() {
|
|
719
|
+
@Override
|
|
720
|
+
public boolean test(CustomLetterSpacingSpan span) {
|
|
721
|
+
return span.getSpacing() == mTextAttributes.getEffectiveLetterSpacing();
|
|
722
|
+
}
|
|
723
|
+
});
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
stripSpansOfKind(
|
|
727
|
+
sb,
|
|
728
|
+
CustomStyleSpan.class,
|
|
729
|
+
new SpanPredicate<CustomStyleSpan>() {
|
|
730
|
+
@Override
|
|
731
|
+
public boolean test(CustomStyleSpan span) {
|
|
732
|
+
return span.getStyle() == mFontStyle
|
|
733
|
+
&& Objects.equals(span.getFontFamily(), mFontFamily)
|
|
734
|
+
&& span.getWeight() == mFontWeight
|
|
735
|
+
&& Objects.equals(span.getFontFeatureSettings(), getFontFeatureSettings());
|
|
736
|
+
}
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
private <T> void stripSpansOfKind(
|
|
741
|
+
SpannableStringBuilder sb, Class<T> clazz, SpanPredicate<T> shouldStrip) {
|
|
742
|
+
T[] spans = sb.getSpans(0, sb.length(), clazz);
|
|
743
|
+
|
|
744
|
+
for (T span : spans) {
|
|
745
|
+
if (shouldStrip.test(span)) {
|
|
746
|
+
sb.removeSpan(span);
|
|
644
747
|
}
|
|
748
|
+
}
|
|
749
|
+
}
|
|
645
750
|
|
|
646
|
-
|
|
751
|
+
/**
|
|
752
|
+
* Copy back styles represented as attributes to the underlying span, for later measurement
|
|
753
|
+
* outside the ReactEditText.
|
|
754
|
+
*/
|
|
755
|
+
private void restoreStyleEquivalentSpans(SpannableStringBuilder workingText) {
|
|
756
|
+
int spanFlags = Spannable.SPAN_INCLUSIVE_INCLUSIVE;
|
|
757
|
+
|
|
758
|
+
// Set all bits for SPAN_PRIORITY so that this span has the highest possible priority
|
|
759
|
+
// (least precedence). This ensures the span is behind any overlapping spans.
|
|
760
|
+
spanFlags |= Spannable.SPAN_PRIORITY;
|
|
761
|
+
|
|
762
|
+
workingText.setSpan(
|
|
763
|
+
new ReactAbsoluteSizeSpan(mTextAttributes.getEffectiveFontSize()),
|
|
764
|
+
0,
|
|
765
|
+
workingText.length(),
|
|
766
|
+
spanFlags);
|
|
767
|
+
|
|
768
|
+
workingText.setSpan(
|
|
769
|
+
new ReactForegroundColorSpan(getCurrentTextColor()), 0, workingText.length(), spanFlags);
|
|
770
|
+
|
|
771
|
+
int backgroundColor = mReactBackgroundManager.getBackgroundColor();
|
|
772
|
+
if (backgroundColor != Color.TRANSPARENT) {
|
|
773
|
+
workingText.setSpan(
|
|
774
|
+
new ReactBackgroundColorSpan(backgroundColor), 0, workingText.length(), spanFlags);
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
if ((getPaintFlags() & Paint.STRIKE_THRU_TEXT_FLAG) != 0) {
|
|
778
|
+
workingText.setSpan(new ReactStrikethroughSpan(), 0, workingText.length(), spanFlags);
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
if ((getPaintFlags() & Paint.UNDERLINE_TEXT_FLAG) != 0) {
|
|
782
|
+
workingText.setSpan(new ReactUnderlineSpan(), 0, workingText.length(), spanFlags);
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
786
|
+
float effectiveLetterSpacing = mTextAttributes.getEffectiveLetterSpacing();
|
|
787
|
+
if (!Float.isNaN(effectiveLetterSpacing)) {
|
|
788
|
+
workingText.setSpan(
|
|
789
|
+
new CustomLetterSpacingSpan(effectiveLetterSpacing),
|
|
790
|
+
0,
|
|
791
|
+
workingText.length(),
|
|
792
|
+
spanFlags);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
if (mFontStyle != UNSET
|
|
797
|
+
|| mFontWeight != UNSET
|
|
798
|
+
|| mFontFamily != null
|
|
799
|
+
|| getFontFeatureSettings() != null) {
|
|
800
|
+
workingText.setSpan(
|
|
801
|
+
new CustomStyleSpan(
|
|
802
|
+
mFontStyle,
|
|
803
|
+
mFontWeight,
|
|
804
|
+
getFontFeatureSettings(),
|
|
805
|
+
mFontFamily,
|
|
806
|
+
getContext().getAssets()),
|
|
807
|
+
0,
|
|
808
|
+
workingText.length(),
|
|
809
|
+
spanFlags);
|
|
647
810
|
}
|
|
648
811
|
}
|
|
649
812
|
|
|
@@ -989,7 +1152,9 @@ public class ReactEditText extends AppCompatEditText
|
|
|
989
1152
|
|
|
990
1153
|
float effectiveLetterSpacing = mTextAttributes.getEffectiveLetterSpacing();
|
|
991
1154
|
if (!Float.isNaN(effectiveLetterSpacing)) {
|
|
992
|
-
|
|
1155
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
1156
|
+
setLetterSpacing(effectiveLetterSpacing);
|
|
1157
|
+
}
|
|
993
1158
|
}
|
|
994
1159
|
}
|
|
995
1160
|
|
|
@@ -1062,6 +1227,7 @@ public class ReactEditText extends AppCompatEditText
|
|
|
1062
1227
|
// - android.app.Activity.dispatchKeyEvent (Activity.java:3447)
|
|
1063
1228
|
try {
|
|
1064
1229
|
sb.append(currentText.subSequence(0, currentText.length()));
|
|
1230
|
+
restoreStyleEquivalentSpans(sb);
|
|
1065
1231
|
} catch (IndexOutOfBoundsException e) {
|
|
1066
1232
|
ReactSoftExceptionLogger.logSoftException(TAG, e);
|
|
1067
1233
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java
CHANGED
|
@@ -13,6 +13,7 @@ import android.content.Context;
|
|
|
13
13
|
import android.content.res.ColorStateList;
|
|
14
14
|
import android.graphics.BlendMode;
|
|
15
15
|
import android.graphics.BlendModeColorFilter;
|
|
16
|
+
import android.graphics.Paint;
|
|
16
17
|
import android.graphics.PorterDuff;
|
|
17
18
|
import android.graphics.drawable.Drawable;
|
|
18
19
|
import android.os.Build;
|
|
@@ -67,6 +68,7 @@ import com.facebook.react.views.text.DefaultStyleValuesUtil;
|
|
|
67
68
|
import com.facebook.react.views.text.ReactBaseTextShadowNode;
|
|
68
69
|
import com.facebook.react.views.text.ReactTextUpdate;
|
|
69
70
|
import com.facebook.react.views.text.ReactTextViewManagerCallback;
|
|
71
|
+
import com.facebook.react.views.text.ReactTypefaceUtils;
|
|
70
72
|
import com.facebook.react.views.text.TextAttributeProps;
|
|
71
73
|
import com.facebook.react.views.text.TextInlineImageSpan;
|
|
72
74
|
import com.facebook.react.views.text.TextLayoutManager;
|
|
@@ -396,6 +398,11 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
|
|
396
398
|
view.setFontStyle(fontStyle);
|
|
397
399
|
}
|
|
398
400
|
|
|
401
|
+
@ReactProp(name = ViewProps.FONT_VARIANT)
|
|
402
|
+
public void setFontVariant(ReactEditText view, @Nullable ReadableArray fontVariant) {
|
|
403
|
+
view.setFontFeatureSettings(ReactTypefaceUtils.parseFontVariant(fontVariant));
|
|
404
|
+
}
|
|
405
|
+
|
|
399
406
|
@ReactProp(name = ViewProps.INCLUDE_FONT_PADDING, defaultBoolean = true)
|
|
400
407
|
public void setIncludeFontPadding(ReactEditText view, boolean includepad) {
|
|
401
408
|
view.setIncludeFontPadding(includepad);
|
|
@@ -903,6 +910,20 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
|
|
|
903
910
|
view.setAutoFocus(autoFocus);
|
|
904
911
|
}
|
|
905
912
|
|
|
913
|
+
@ReactProp(name = ViewProps.TEXT_DECORATION_LINE)
|
|
914
|
+
public void setTextDecorationLine(ReactEditText view, @Nullable String textDecorationLineString) {
|
|
915
|
+
view.setPaintFlags(
|
|
916
|
+
view.getPaintFlags() & ~(Paint.STRIKE_THRU_TEXT_FLAG | Paint.UNDERLINE_TEXT_FLAG));
|
|
917
|
+
|
|
918
|
+
for (String token : textDecorationLineString.split(" ")) {
|
|
919
|
+
if (token.equals("underline")) {
|
|
920
|
+
view.setPaintFlags(view.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
|
|
921
|
+
} else if (token.equals("line-through")) {
|
|
922
|
+
view.setPaintFlags(view.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
|
|
906
927
|
@ReactPropGroup(
|
|
907
928
|
names = {
|
|
908
929
|
ViewProps.BORDER_WIDTH,
|
package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java
CHANGED
|
@@ -19,6 +19,7 @@ public class ReactViewBackgroundManager {
|
|
|
19
19
|
|
|
20
20
|
private @Nullable ReactViewBackgroundDrawable mReactBackgroundDrawable;
|
|
21
21
|
private View mView;
|
|
22
|
+
private int mColor = Color.TRANSPARENT;
|
|
22
23
|
|
|
23
24
|
public ReactViewBackgroundManager(View view) {
|
|
24
25
|
this.mView = view;
|
|
@@ -50,6 +51,10 @@ public class ReactViewBackgroundManager {
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
|
|
54
|
+
public int getBackgroundColor() {
|
|
55
|
+
return mColor;
|
|
56
|
+
}
|
|
57
|
+
|
|
53
58
|
public void setBorderWidth(int position, float width) {
|
|
54
59
|
getOrCreateReactViewBackground().setBorderWidth(position, width);
|
|
55
60
|
}
|
|
@@ -2229,7 +2229,7 @@ static float YGDistributeFreeSpaceSecondPass(
|
|
|
2229
2229
|
depth,
|
|
2230
2230
|
generationCount);
|
|
2231
2231
|
node->setLayoutHadOverflow(
|
|
2232
|
-
node->getLayout().hadOverflow()
|
|
2232
|
+
node->getLayout().hadOverflow() ||
|
|
2233
2233
|
currentRelativeChild->getLayout().hadOverflow());
|
|
2234
2234
|
}
|
|
2235
2235
|
return deltaFreeSpace;
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5f9577ac49beb88be97888c2a022f53b
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
241cb16439b42d661b9be4a32ffe95510264e1c7
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
16582d63acd2b5f020414b4dfd941995fae481913d2782e3ecf6bf2822135020
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
135c756e66b43db26f9d621adc66aa003f36e1d1472fde6b3518ab0ba618efa28024e0b584dafebc231fd1a5557a7a6354f2b05d3eca2a6b70fdf57725fff9bb
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
90e8d3efe39ab9a44a0e51cff5d37aac
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
20f20b0ce571341825c0552767300da0c414886d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
073ffe9a2a8aec7a174471e39d47edbc57c47758d0fb52d33cc96533079f1162
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
7241d09fbb3196d5989ea17b37db4f76c3be1f6f24c7259bd868a0bfc50bfdf0d585c863b562f8df0229af81b2271b4203865aed1ecd1818d6aafd6df2080331
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "com.facebook.react",
|
|
5
5
|
"module": "react-native",
|
|
6
|
-
"version": "0.68.
|
|
6
|
+
"version": "0.68.7",
|
|
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.
|
|
135
|
-
"url": "react-native-0.68.
|
|
136
|
-
"size":
|
|
137
|
-
"sha512": "
|
|
138
|
-
"sha256": "
|
|
139
|
-
"sha1": "
|
|
140
|
-
"md5": "
|
|
134
|
+
"name": "react-native-0.68.7.aar",
|
|
135
|
+
"url": "react-native-0.68.7.aar",
|
|
136
|
+
"size": 15455835,
|
|
137
|
+
"sha512": "7241d09fbb3196d5989ea17b37db4f76c3be1f6f24c7259bd868a0bfc50bfdf0d585c863b562f8df0229af81b2271b4203865aed1ecd1818d6aafd6df2080331",
|
|
138
|
+
"sha256": "073ffe9a2a8aec7a174471e39d47edbc57c47758d0fb52d33cc96533079f1162",
|
|
139
|
+
"sha1": "20f20b0ce571341825c0552767300da0c414886d",
|
|
140
|
+
"md5": "90e8d3efe39ab9a44a0e51cff5d37aac"
|
|
141
141
|
}
|
|
142
142
|
]
|
|
143
143
|
},
|
|
@@ -258,13 +258,13 @@
|
|
|
258
258
|
],
|
|
259
259
|
"files": [
|
|
260
260
|
{
|
|
261
|
-
"name": "react-native-0.68.
|
|
262
|
-
"url": "react-native-0.68.
|
|
263
|
-
"size":
|
|
264
|
-
"sha512": "
|
|
265
|
-
"sha256": "
|
|
266
|
-
"sha1": "
|
|
267
|
-
"md5": "
|
|
261
|
+
"name": "react-native-0.68.7.aar",
|
|
262
|
+
"url": "react-native-0.68.7.aar",
|
|
263
|
+
"size": 15455835,
|
|
264
|
+
"sha512": "7241d09fbb3196d5989ea17b37db4f76c3be1f6f24c7259bd868a0bfc50bfdf0d585c863b562f8df0229af81b2271b4203865aed1ecd1818d6aafd6df2080331",
|
|
265
|
+
"sha256": "073ffe9a2a8aec7a174471e39d47edbc57c47758d0fb52d33cc96533079f1162",
|
|
266
|
+
"sha1": "20f20b0ce571341825c0552767300da0c414886d",
|
|
267
|
+
"md5": "90e8d3efe39ab9a44a0e51cff5d37aac"
|
|
268
268
|
}
|
|
269
269
|
]
|
|
270
270
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0458116aa72da8504102ce1be8de492e
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f84897f56ffc21d23e01f69d7ea9fb8dc3d64af8
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2145e8f507ae17383345026bff32d37d42aba87207a7e2eee981230de9ad3a13
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e33bc32219b779e8d1e08575bc84303c64f523e0deae7b6ebff7d0acd99ccd66428cdda107aa73eaa2d4f3f8ca1bb46933d8cb279e68073e6b4c715e18efbf3f
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>com.facebook.react</groupId>
|
|
11
11
|
<artifactId>react-native</artifactId>
|
|
12
|
-
<version>0.68.
|
|
12
|
+
<version>0.68.7</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>ReactNative</name>
|
|
15
15
|
<description>A framework for building native apps with React</description>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
063bdb6666e11e1108a493dd306f3d98
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4e72e6192f08eb04b5df47012532e526ce1a7413
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ece3de17f2dda65d782512ed141ed949371aa9d6593064be1b51e9e77ed2e6c0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
fbc548300d64755c3bfe93c92258b725a7b8fca36beb0eb0a11f1a143eab22a7e9f03d9f616767a3420a6813415ff51d5cbd8d003bbd48bcb2c99f6653518651
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>com.facebook.react</groupId>
|
|
4
4
|
<artifactId>react-native</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>0.68.
|
|
7
|
-
<release>0.68.
|
|
6
|
+
<latest>0.68.7</latest>
|
|
7
|
+
<release>0.68.7</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>0.68.
|
|
9
|
+
<version>0.68.7</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20230426132927</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
04039bd7c98947861b30c8d4bfa3a331
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
d2dffb8681501c80a035c00d5a23bc5ec2a60162
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
481dff554cd411680b3e1a9a6ec3a9b15c2adb3722c91d6c66f9dd4bd1dcf2d1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
d838025cb7c2ed86fbb5b03da539a78dff6b89a6ce7b65e925e2e6ea0779e461c5ee709f4228e5bc23daaf1b57ff0c90ccd419013f1fa062ad416b04ddb5ed4d
|
package/package.json
CHANGED
package/template/Gemfile.lock
CHANGED
|
@@ -3,28 +3,27 @@ GEM
|
|
|
3
3
|
specs:
|
|
4
4
|
CFPropertyList (3.0.6)
|
|
5
5
|
rexml
|
|
6
|
-
activesupport (
|
|
6
|
+
activesupport (7.0.4.3)
|
|
7
7
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
8
8
|
i18n (>= 1.6, < 2)
|
|
9
9
|
minitest (>= 5.1)
|
|
10
10
|
tzinfo (~> 2.0)
|
|
11
|
-
|
|
12
|
-
addressable (2.8.1)
|
|
11
|
+
addressable (2.8.4)
|
|
13
12
|
public_suffix (>= 2.0.2, < 6.0)
|
|
14
13
|
algoliasearch (1.27.5)
|
|
15
14
|
httpclient (~> 2.8, >= 2.8.3)
|
|
16
15
|
json (>= 1.5.1)
|
|
17
16
|
atomos (0.1.3)
|
|
18
17
|
claide (1.1.0)
|
|
19
|
-
cocoapods (1.
|
|
18
|
+
cocoapods (1.12.1)
|
|
20
19
|
addressable (~> 2.8)
|
|
21
20
|
claide (>= 1.0.2, < 2.0)
|
|
22
|
-
cocoapods-core (= 1.
|
|
21
|
+
cocoapods-core (= 1.12.1)
|
|
23
22
|
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
|
24
|
-
cocoapods-downloader (>= 1.
|
|
23
|
+
cocoapods-downloader (>= 1.6.0, < 2.0)
|
|
25
24
|
cocoapods-plugins (>= 1.0.0, < 2.0)
|
|
26
25
|
cocoapods-search (>= 1.0.0, < 2.0)
|
|
27
|
-
cocoapods-trunk (>= 1.
|
|
26
|
+
cocoapods-trunk (>= 1.6.0, < 2.0)
|
|
28
27
|
cocoapods-try (>= 1.1.0, < 2.0)
|
|
29
28
|
colored2 (~> 3.1)
|
|
30
29
|
escape (~> 0.0.4)
|
|
@@ -32,10 +31,10 @@ GEM
|
|
|
32
31
|
gh_inspector (~> 1.0)
|
|
33
32
|
molinillo (~> 0.8.0)
|
|
34
33
|
nap (~> 1.0)
|
|
35
|
-
ruby-macho (>=
|
|
34
|
+
ruby-macho (>= 2.3.0, < 3.0)
|
|
36
35
|
xcodeproj (>= 1.21.0, < 2.0)
|
|
37
|
-
cocoapods-core (1.
|
|
38
|
-
activesupport (>= 5.0, <
|
|
36
|
+
cocoapods-core (1.12.1)
|
|
37
|
+
activesupport (>= 5.0, < 8)
|
|
39
38
|
addressable (~> 2.8)
|
|
40
39
|
algoliasearch (~> 1.0)
|
|
41
40
|
concurrent-ruby (~> 1.1)
|
|
@@ -54,7 +53,7 @@ GEM
|
|
|
54
53
|
netrc (~> 0.11)
|
|
55
54
|
cocoapods-try (1.2.0)
|
|
56
55
|
colored2 (3.1.2)
|
|
57
|
-
concurrent-ruby (1.2.
|
|
56
|
+
concurrent-ruby (1.2.2)
|
|
58
57
|
escape (0.0.4)
|
|
59
58
|
ethon (0.16.0)
|
|
60
59
|
ffi (>= 1.15.0)
|
|
@@ -63,10 +62,10 @@ GEM
|
|
|
63
62
|
fuzzy_match (2.0.4)
|
|
64
63
|
gh_inspector (1.1.3)
|
|
65
64
|
httpclient (2.8.3)
|
|
66
|
-
i18n (1.
|
|
65
|
+
i18n (1.13.0)
|
|
67
66
|
concurrent-ruby (~> 1.0)
|
|
68
67
|
json (2.6.3)
|
|
69
|
-
minitest (5.
|
|
68
|
+
minitest (5.18.0)
|
|
70
69
|
molinillo (0.8.0)
|
|
71
70
|
nanaimo (0.3.0)
|
|
72
71
|
nap (1.1.0)
|
|
@@ -85,7 +84,6 @@ GEM
|
|
|
85
84
|
colored2 (~> 3.1)
|
|
86
85
|
nanaimo (~> 0.3.0)
|
|
87
86
|
rexml (~> 3.2.4)
|
|
88
|
-
zeitwerk (2.6.6)
|
|
89
87
|
|
|
90
88
|
PLATFORMS
|
|
91
89
|
ruby
|
package/template/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
46a571e4ba755771fe792729d22658d4
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
63f7b3460e1ee648b7d6b4f747418ee6a0ceeeca
|
package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6-sources.jar.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
edc0bef674b33007d13baf9bc1edc17868f5c231f4746ae29ba7cebd76586bc9
|
package/android/com/facebook/react/react-native/0.68.6/react-native-0.68.6-sources.jar.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
effd92f00c6c0a0e7889a946aa40a8a5a9aa6f0ffd049c11958188d8d57a9e144ba5592e7e9745ab14cb111a7fc740ddddf17d31e94b200d17eef01acf19d609
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
c1014c0af902fb23a5a0fa6b7caedfac
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ff9d26e9c1fda23defa191df46335c769c9fd008
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3a1d69237cec2a92b02881c7f76dc9eeb5fec697d5d35aa104ee21eba794fb76
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
19874019d99da2f197c79dc9dc4aee65eb1ae805132df5a153d6284feac2cf59373e22c9f9b827b8e93cf2a5d499c19ada2888f01aba4bbd6187e248ce92a8b3
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f8ec6179bc7c24d77fb87fa181b4d7ab
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
05fed929fbf591a005f3fce1b991fcc48baf8158
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3eb0e758425030abfcd446d07d1d31c5ebbc422d05eded253956205998dba3a2
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
cabd6b9bb3a03733394e15d26b0908fc27d62767ee2002c8ba6a9c7f55968b0991191dc08c0392bf5bbb04defa783d3e5aaa148e8081bb97a6085a9decd897ed
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
99a638fa8d25b8a7d32cf94547a71e37
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
84f5b7a288d11945660b3df8906fd88f1149bc91
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
8320ef82fdcbe7ba3806a06837eda845034dd9eff8c83797b49a1058322f53e3
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
576971754e816f4755a0a9d88ba66c841fd5ff7335c3d87b7e9d0ea24a7748705c93bdb42a23752c73b79b1554564ad976988e645f30e2e906a3ff5dca1c2248
|