From 6638f518c697f70b68ab094df65ce30090bf2ea5 Mon Sep 17 00:00:00 2001 From: jslavitz Date: Thu, 30 Aug 2018 10:29:04 -0700 Subject: [PATCH] entering a character with a selection deletes the selection (flutter/engine#6113) --- .../io/flutter/plugin/editing/InputConnectionAdaptor.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/InputConnectionAdaptor.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/InputConnectionAdaptor.java index 54ad63482c..7136457ffc 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/InputConnectionAdaptor.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/editing/InputConnectionAdaptor.java @@ -158,6 +158,9 @@ class InputConnectionAdaptor extends BaseInputConnection { int character = event.getUnicodeChar(); if (character != 0) { int selStart = Math.max(0, Selection.getSelectionStart(mEditable)); + int selEnd = Selection.getSelectionEnd(mEditable); + if (selEnd != selStart) + mEditable.delete(selStart, selEnd); mEditable.insert(selStart, String.valueOf((char) character)); setSelection(selStart + 1, selStart + 1); updateEditingState();