From 755c0095a13365617b0752b8960e0be4044634ac Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Mon, 14 Mar 2016 19:09:20 +0900 Subject: Fix: onExtractedDeleteText deletes unintended region. InputMethodService#onExtractedDeleteText doesn't reset composing region and InputConnection#deleteSurroundingText deletes text around the composing region. As a result, #onExtractedDeleteText can delete unintended region of the text. This happens when a user perform Drag&Drop or tap "Delete" in SuggestionsPopup in full screen extracted mode. Bug: 22440907 Bug: 27536702 Change-Id: I875f2919896f8ff453a77fb4a1b642ad78079b78 --- core/java/android/inputmethodservice/InputMethodService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'core/java/android/inputmethodservice/InputMethodService.java') diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java index 282688295fee..6b79a8ac438a 100644 --- a/core/java/android/inputmethodservice/InputMethodService.java +++ b/core/java/android/inputmethodservice/InputMethodService.java @@ -2269,8 +2269,9 @@ public class InputMethodService extends AbstractInputMethodService { public void onExtractedDeleteText(int start, int end) { InputConnection conn = getCurrentInputConnection(); if (conn != null) { + conn.finishComposingText(); conn.setSelection(start, start); - conn.deleteSurroundingText(0, end-start); + conn.deleteSurroundingText(0, end - start); } } -- cgit v1.2.3