From 2e58b1672efa32fde6bdfe13ef1c0650ba670166 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Tue, 25 Jul 2017 10:35:05 -0700 Subject: [PATCH] Move cursor to end of text when autofilling. Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.LoginActivityTest#testAutofillMovesCursorToTheEnd Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases Fixes: 62669787 Change-Id: I70a583c71057804334e86ed3f7dd2aca8da20922 --- core/java/android/widget/TextView.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 69edbbba13867..243e215002064 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -10320,7 +10320,16 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener return; } - setText(value.getTextValue(), mBufferType, true, 0); + final CharSequence autofilledValue = value.getTextValue(); + + // First autofill it... + setText(autofilledValue, mBufferType, true, 0); + + // ...then move cursor to the end. + final CharSequence text = getText(); + if ((text instanceof Spannable)) { + Selection.setSelection((Spannable) text, text.length()); + } } @Override