diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/widget/FastScroller.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/core/java/android/widget/FastScroller.java b/core/java/android/widget/FastScroller.java index 92160ee1a42e..323d7c0a227c 100644 --- a/core/java/android/widget/FastScroller.java +++ b/core/java/android/widget/FastScroller.java @@ -382,7 +382,7 @@ class FastScroller { if (mEnabled != enabled) { mEnabled = enabled; - onStateDependencyChanged(); + onStateDependencyChanged(true); } } @@ -400,7 +400,7 @@ class FastScroller { if (mAlwaysShow != alwaysShow) { mAlwaysShow = alwaysShow; - onStateDependencyChanged(); + onStateDependencyChanged(false); } } @@ -414,13 +414,18 @@ class FastScroller { /** * Called when one of the variables affecting enabled state changes. + * + * @param peekIfEnabled whether the thumb should peek, if enabled */ - private void onStateDependencyChanged() { + private void onStateDependencyChanged(boolean peekIfEnabled) { if (isEnabled()) { if (isAlwaysShowEnabled()) { setState(STATE_VISIBLE); } else if (mState == STATE_VISIBLE) { postAutoHide(); + } else if (peekIfEnabled) { + setState(STATE_VISIBLE); + postAutoHide(); } } else { stop(); @@ -496,7 +501,7 @@ class FastScroller { if (mLongList != longList) { mLongList = longList; - onStateDependencyChanged(); + onStateDependencyChanged(false); } } |
