summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2011-01-24 12:54:10 -0800
committerGilles Debunne <debunne@google.com>2011-01-24 12:54:10 -0800
commit98dbfd4940fb7f1e3ae11ec73aeb7a9dd26a24ee (patch)
tree488f0c6f3dd178f99c4b0f4b090f7429525f5f22
parentb35672e4ef5dfe9719c2ba4b088eceabab0fade8 (diff)
downloadframeworks_base-98dbfd4940fb7f1e3ae11ec73aeb7a9dd26a24ee.zip
frameworks_base-98dbfd4940fb7f1e3ae11ec73aeb7a9dd26a24ee.tar.gz
frameworks_base-98dbfd4940fb7f1e3ae11ec73aeb7a9dd26a24ee.tar.bz2
Non-editable TextViews should not display a cursor.
Bug 3381320 The tests were inconsistent between makeBlink and onDraw. If the text is non-editable, do not draw the cursor. Change-Id: I0405e59444261a553e868b3ae5bdddd278f60bb2
-rw-r--r--core/java/android/widget/TextView.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index aac57ed..dc64643 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -4334,7 +4334,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
selStart = getSelectionStart();
selEnd = getSelectionEnd();
- if ((mCursorVisible || mTextIsSelectable) && selStart >= 0 && isEnabled()) {
+ if ((isCursorVisible() || mTextIsSelectable) && selStart >= 0 && isEnabled()) {
if (mHighlightPath == null)
mHighlightPath = new Path();
@@ -6490,6 +6490,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
prepareCursorControllers();
}
+ private boolean isCursorVisible() {
+ return mCursorVisible && isTextEditable();
+ }
+
private boolean canMarquee() {
int width = (mRight - mLeft - getCompoundPaddingLeft() - getCompoundPaddingRight());
return width > 0 && mLayout.getLineWidth(0) > width;
@@ -6978,7 +6982,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
private void makeBlink() {
- if (!mCursorVisible || !isTextEditable()) {
+ if (!isCursorVisible()) {
if (mBlink != null) {
mBlink.removeCallbacks(mBlink);
}
@@ -7372,8 +7376,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
|| windowParams.type > WindowManager.LayoutParams.LAST_SUB_WINDOW;
}
- mInsertionControllerEnabled = windowSupportsHandles && isTextEditable() && mCursorVisible &&
- mLayout != null;
+ mInsertionControllerEnabled = windowSupportsHandles && isCursorVisible() && mLayout != null;
mSelectionControllerEnabled = windowSupportsHandles && textCanBeSelected() &&
mLayout != null;