From 46b7d441c6efa456ad95471d1d06946ea5637232 Mon Sep 17 00:00:00 2001 From: Gilles Debunne Date: Thu, 17 Feb 2011 16:03:10 -0800 Subject: [PATCH] Composing span is removed when insertion point is moved Bug 3457633 Change-Id: I8896823b7e700dd52acec180c2a1d8e2f6ac5ae1 --- core/java/android/widget/TextView.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 993af31c31cd6..d90d5bed8dc6a 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -4403,12 +4403,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener (mCurrentAlpha * Color.alpha(cursorcolor)) / 255); } mHighlightPaint.setStyle(Paint.Style.STROKE); - - if (mCursorCount > 0) { - drawCursor = true; - } else { - highlight = mHighlightPath; - } + highlight = mHighlightPath; + drawCursor = true; } } else { if (mHighlightPathBogus) { @@ -4491,7 +4487,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mCorrectionHighlighter.draw(canvas, cursorOffsetVertical); } - if (drawCursor) drawCursor(canvas, cursorOffsetVertical); + if (drawCursor) { + drawCursor(canvas, cursorOffsetVertical); + // Rely on the drawable entirely, do not draw the cursor line. + // Has to be done after the IMM related code above which relies on the highlight. + highlight = null; + } layout.draw(canvas, highlight, mHighlightPaint, cursorOffsetVertical);