From bce223c0a60de9941930350dc45768bb86fcab64 Mon Sep 17 00:00:00 2001 From: Jason Simmons Date: Thu, 13 Oct 2016 10:42:57 -0700 Subject: [PATCH] Set the initial selection range when creating an InputConnection (#3127) Fixes https://github.com/flutter/flutter/issues/6152 --- .../editing/src/org/domokit/editing/KeyboardViewState.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/editing/src/org/domokit/editing/KeyboardViewState.java b/services/editing/src/org/domokit/editing/KeyboardViewState.java index 52d44a92488..b84b5dc2d7f 100644 --- a/services/editing/src/org/domokit/editing/KeyboardViewState.java +++ b/services/editing/src/org/domokit/editing/KeyboardViewState.java @@ -70,11 +70,16 @@ public class KeyboardViewState { outAttrs.imeOptions = EditorInfo.IME_ACTION_DONE; InputConnectionAdaptor connection = new InputConnectionAdaptor(mView, mClient); if (mIncomingState != null) { + outAttrs.initialSelStart = mIncomingState.selectionBase; + outAttrs.initialSelEnd = mIncomingState.selectionExtent; connection.getEditable().append(mIncomingState.text); connection.setSelection(mIncomingState.selectionBase, mIncomingState.selectionExtent); connection.setComposingRegion(mIncomingState.composingBase, mIncomingState.composingExtent); + } else { + outAttrs.initialSelStart = 0; + outAttrs.initialSelEnd = 0; } return connection; }