summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Gilles Debunne <debunne@google.com> 2011-12-20 10:46:42 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2011-12-20 10:46:42 -0800
commitcd76a4da3e95ae213b6a25418f43ff57d905ce2e (patch)
tree1c829e9ef69d347bc1a047f46635a2945e7d57a7
parentd02c5dfd8dac526ec3c74e2c160835aa2c9d19c9 (diff)
parent545c4d44389f189f7dda68f8e0f54d3b90ad98a6 (diff)
Merge "Rationalize blinking cursor test."
-rw-r--r--core/java/android/widget/TextView.java19
1 files changed, 10 insertions, 9 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index a1780873de38..81fc069acaf3 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -1202,14 +1202,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
imm.hideSoftInputFromWindow(getWindowToken(), 0);
}
}
+
super.setEnabled(enabled);
- prepareCursorControllers();
+
if (enabled) {
// Make sure IME is updated with current editor info.
InputMethodManager imm = InputMethodManager.peekInstance();
if (imm != null) imm.restartInput(this);
}
+ prepareCursorControllers();
+
// start or stop the cursor blinking as appropriate
makeBlink();
}
@@ -8581,7 +8584,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
* @return True when the TextView isFocused and has a valid zero-length selection (cursor).
*/
private boolean shouldBlink() {
- if (!isFocused()) return false;
+ if (!isCursorVisible() || !isFocused()) return false;
final int start = getSelectionStart();
if (start < 0) return false;
@@ -8593,13 +8596,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
private void makeBlink() {
- if (isCursorVisible()) {
- if (shouldBlink()) {
- mShowCursor = SystemClock.uptimeMillis();
- if (mBlink == null) mBlink = new Blink(this);
- mBlink.removeCallbacks(mBlink);
- mBlink.postAtTime(mBlink, mShowCursor + BLINK);
- }
+ if (shouldBlink()) {
+ mShowCursor = SystemClock.uptimeMillis();
+ if (mBlink == null) mBlink = new Blink(this);
+ mBlink.removeCallbacks(mBlink);
+ mBlink.postAtTime(mBlink, mShowCursor + BLINK);
} else {
if (mBlink != null) mBlink.removeCallbacks(mBlink);
}