Merge "Fix cursor not blinking when view re-added to layout" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
1aaa44d37a
@@ -724,7 +724,10 @@ public class Editor {
|
||||
}
|
||||
|
||||
getPositionListener().addSubscriber(mCursorAnchorInfoNotifier, true);
|
||||
makeBlink();
|
||||
// Call resumeBlink here instead of makeBlink to ensure that if mBlink is not null the
|
||||
// Blink object is uncancelled. This ensures when a view is removed and added back the
|
||||
// cursor will resume blinking.
|
||||
resumeBlink();
|
||||
}
|
||||
|
||||
void onDetachedFromWindow() {
|
||||
@@ -1094,8 +1097,10 @@ public class Editor {
|
||||
private void resumeBlink() {
|
||||
if (mBlink != null) {
|
||||
mBlink.uncancel();
|
||||
makeBlink();
|
||||
}
|
||||
// Moving makeBlink outside of the null check block ensures that mBlink object gets
|
||||
// instantiated when the view is added to the window if mBlink is still null.
|
||||
makeBlink();
|
||||
}
|
||||
|
||||
void adjustInputType(boolean password, boolean passwordInputType,
|
||||
@@ -2921,6 +2926,9 @@ public class Editor {
|
||||
if (shouldBlink()) {
|
||||
mShowCursor = SystemClock.uptimeMillis();
|
||||
if (mBlink == null) mBlink = new Blink();
|
||||
// Call uncancel as mBlink could have previously been cancelled and cursor will not
|
||||
// resume blinking unless uncancelled.
|
||||
mBlink.uncancel();
|
||||
mTextView.removeCallbacks(mBlink);
|
||||
mTextView.postDelayed(mBlink, BLINK);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user