diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java index 21540b59c..a841e2c9a 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java @@ -73,7 +73,13 @@ public class ReactTextShadowNode extends ReactShadowNode { this.what = what; } public void execute(SpannableStringBuilder sb) { - sb.setSpan(what, start, end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); + // All spans will automatically extend to the right of the text, but not the left - except + // for spans that start at the beginning of the text. + int spanFlags = Spannable.SPAN_EXCLUSIVE_INCLUSIVE; + if (start == 0) { + spanFlags = Spannable.SPAN_INCLUSIVE_INCLUSIVE; + } + sb.setSpan(what, start, end, spanFlags); } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java index 8a4833225..713209423 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -56,6 +56,8 @@ public class ReactTextInputManager extends public static final String PROP_TEXT_INPUT_TEXT = "text"; @UIProp(UIProp.Type.NUMBER) public static final String PROP_TEXT_INPUT_MOST_RECENT_EVENT_COUNT = "mostRecentEventCount"; + @UIProp(UIProp.Type.COLOR) + public static final String PROP_TEXT_INPUT_COLOR = ViewProps.COLOR; private static final String KEYBOARD_TYPE_EMAIL_ADDRESS = "email-address"; private static final String KEYBOARD_TYPE_NUMERIC = "numeric"; @@ -157,16 +159,6 @@ public class ReactTextInputManager extends (int) Math.ceil(PixelUtil.toPixelFromSP(fontSize))); } - // Prevents flickering color while waiting for JS update. - @ReactProp(name = ViewProps.COLOR, customType = "Color") - public void setColor(ReactEditText view, @Nullable Integer color) { - if (color == null) { - view.setTextColor(DefaultStyleValuesUtil.getDefaultTextColor(view.getContext())); - } else { - view.setTextColor(color); - } - } - @ReactProp(name = "placeholder") public void setPlaceholder(ReactEditText view, @Nullable String placeholder) { view.setHint(placeholder);