From 09b43e479e97dfe31910503190b5d081c78e4ea2 Mon Sep 17 00:00:00 2001 From: Vishwesh Jainkuniya Date: Wed, 7 Feb 2018 10:39:44 -0800 Subject: [PATCH] textinput: Maintain cursor position when secureTextEntry toggles. Summary: On current [master](https://github.com/facebook/react-native/tree/8235a49a33cc8e84cd4ba1cc15bc09eed6712b4c), text input cursor resets to start when `secureTextEntry` prop toggles on Android. This motivate me to maintain position when `secureTextEntry ` prop toggles for better user experience. On current [master](https://github.com/facebook/react-native/tree/8235a49a33cc8e84cd4ba1cc15bc09eed6712b4c) ![ezgif com-video-to-gif-3](https://user-images.githubusercontent.com/18511177/35776882-bdc3b182-09ca-11e8-8f4e-218fae0a24a1.gif) On this PR ![ezgif com-video-to-gif-4](https://user-images.githubusercontent.com/18511177/35776883-be082d94-09ca-11e8-9424-6164110bdf03.gif) [ANDROID] [BUGFIX] [TextInput] - Fix: cursor positions resets to start on toggling `secureTextEntry` prop. Closes https://github.com/facebook/react-native/pull/17851 Differential Revision: D6925711 Pulled By: hramos fbshipit-source-id: 6d53ad2dbed2dca20cd21e5b1b0578be13a91aad --- .../java/com/facebook/react/views/textinput/ReactEditText.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index 9f6c48ff43f..e1796270a09 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -309,7 +309,10 @@ public class ReactEditText extends EditText { /*package*/ void commitStagedInputType() { if (getInputType() != mStagedInputType) { + int selectionStart = getSelectionStart(); + int selectionEnd = getSelectionEnd(); setInputType(mStagedInputType); + setSelection(selectionStart, selectionEnd); } }