react-native 0.68.5 → 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 +192 -1
- 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.5/react-native-0.68.5-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.5/react-native-0.68.5.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.5/react-native-0.68.5.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.5/react-native-0.68.5.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 +15 -17
- package/template/package.json +1 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5.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,6 +575,8 @@ public class ReactEditText extends AppCompatEditText
|
|
|
549
575
|
new SpannableStringBuilder(reactTextUpdate.getText());
|
|
550
576
|
|
|
551
577
|
manageSpans(spannableStringBuilder, reactTextUpdate.mContainsMultipleFragments);
|
|
578
|
+
stripStyleEquivalentSpans(spannableStringBuilder);
|
|
579
|
+
|
|
552
580
|
mContainsImages = reactTextUpdate.containsImages();
|
|
553
581
|
|
|
554
582
|
// When we update text, we trigger onChangeText code that will
|
|
@@ -622,6 +650,166 @@ public class ReactEditText extends AppCompatEditText
|
|
|
622
650
|
}
|
|
623
651
|
}
|
|
624
652
|
|
|
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
|
+
});
|
|
683
|
+
|
|
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
|
+
});
|
|
693
|
+
|
|
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);
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
|
|
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);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
|
|
625
813
|
private static boolean sameTextForSpan(
|
|
626
814
|
final Editable oldText,
|
|
627
815
|
final SpannableStringBuilder newText,
|
|
@@ -964,7 +1152,9 @@ public class ReactEditText extends AppCompatEditText
|
|
|
964
1152
|
|
|
965
1153
|
float effectiveLetterSpacing = mTextAttributes.getEffectiveLetterSpacing();
|
|
966
1154
|
if (!Float.isNaN(effectiveLetterSpacing)) {
|
|
967
|
-
|
|
1155
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
1156
|
+
setLetterSpacing(effectiveLetterSpacing);
|
|
1157
|
+
}
|
|
968
1158
|
}
|
|
969
1159
|
}
|
|
970
1160
|
|
|
@@ -1037,6 +1227,7 @@ public class ReactEditText extends AppCompatEditText
|
|
|
1037
1227
|
// - android.app.Activity.dispatchKeyEvent (Activity.java:3447)
|
|
1038
1228
|
try {
|
|
1039
1229
|
sb.append(currentText.subSequence(0, currentText.length()));
|
|
1230
|
+
restoreStyleEquivalentSpans(sb);
|
|
1040
1231
|
} catch (IndexOutOfBoundsException e) {
|
|
1041
1232
|
ReactSoftExceptionLogger.logSoftException(TAG, e);
|
|
1042
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
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
CFPropertyList (3.0.
|
|
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.
|
|
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
|
-
json (2.6.
|
|
69
|
-
minitest (5.
|
|
67
|
+
json (2.6.3)
|
|
68
|
+
minitest (5.18.0)
|
|
70
69
|
molinillo (0.8.0)
|
|
71
70
|
nanaimo (0.3.0)
|
|
72
71
|
nap (1.1.0)
|
|
@@ -76,7 +75,7 @@ GEM
|
|
|
76
75
|
ruby-macho (2.5.1)
|
|
77
76
|
typhoeus (1.4.0)
|
|
78
77
|
ethon (>= 0.9.0)
|
|
79
|
-
tzinfo (2.0.
|
|
78
|
+
tzinfo (2.0.6)
|
|
80
79
|
concurrent-ruby (~> 1.0)
|
|
81
80
|
xcodeproj (1.22.0)
|
|
82
81
|
CFPropertyList (>= 2.3.3, < 4.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.5)
|
|
89
87
|
|
|
90
88
|
PLATFORMS
|
|
91
89
|
ruby
|
package/template/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ee748e776a2f7dd71cb186a56ca1c068
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ce8290e98b24c419a43de8d7c806317619095b6f
|
package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5-sources.jar.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2f0436c9ec4e120124cbc805ec94c640ee4341a55730a1f6ace9fe010fab31b5
|
package/android/com/facebook/react/react-native/0.68.5/react-native-0.68.5-sources.jar.sha512
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
5c479c766063ad5c7f5e40d9d22c21e5557a9127ba60ea0fee2f71e3ddf13017cef9df684dcfe628744834d0c65a568984bd3d348656995a55433e66b6905f0b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
96790010a952851cc38d7b76caba55ab
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d14301dbf4c97c6007ab2ec5d8c3f5dcde20f8fe
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
968ba118be2faa70941e69b519521d3bfffc6b7ce096768965124a55ff8e900a
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f325ed6e61723c110914e122deda6dabcfa8954f8971c3133396ae6c05313f566a53a551f4ee302b8f39a160aabc8526e411eba43b777b1d1b8e7ba2e76d3dc7
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2b859df57b223020d49b5937520fa381
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
b6316906e75f892f2fff0c74def2fd643001f4cb
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
58b274a708d666788752bfa109066b9e3d014b25ceb94e4a7cfcbe02f2578791
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
fd42e99c1e526f871da89a6868c0d943bda576eeb637ac36ec8f5cb427923c692bfbd1c433d9f64f2b6eeb32a9e1c5bcd520eca531bd22812e18bd1014709b1b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2a4b3ba3f5425a4f24f6c848696629c0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
16427833bb2860c43639e275e8ba605b20db4e87
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f161d4899ddc9b9bedf827a0dcc4b8158adfeb5fccf8e2d611243ca18f4ef72e
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
fc75fc88c20e1501f02e6d92584a51ea6485d0d6a917e8c491973972e5758c78ab41f22457322b7290a41862c2a86a0ddbb5dc4f253149f61087e233cc1dfb08
|