diff options
author | Winson <winsonc@google.com> | 2015-08-21 11:16:27 -0700 |
---|---|---|
committer | Winson <winsonc@google.com> | 2015-09-28 17:32:19 -0700 |
commit | c088049113c261331b5685e64050d14a31cd72df (patch) | |
tree | 404a01d25361b6df9b754ec29ff3e4d053fe6bb8 /src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java | |
parent | 5189454083640c81bf3a171422b3ef114f150a77 (diff) | |
download | android_packages_apps_Trebuchet-c088049113c261331b5685e64050d14a31cd72df.tar.gz android_packages_apps_Trebuchet-c088049113c261331b5685e64050d14a31cd72df.tar.bz2 android_packages_apps_Trebuchet-c088049113c261331b5685e64050d14a31cd72df.zip |
Highlighting sectioned apps on fast-scroll.
- This CL fixes an old assumption we had about the height
of rows in AllApps, and ensures that we account for the
difference in height between the predictive icons and the
normal icons.
- In addition, we refactor FastBitmapDrawable to have multiple
states, which it manages in drawing itself, including the
press state and fast scroll focus states. And we also refactor
some of the fast scroll logic in the all apps recycler view
out to its own class.
Change-Id: I1988159b2767df733bbbfc7dc601859cde6c9943
Diffstat (limited to 'src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java')
-rw-r--r-- | src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java b/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java index 32ea57667..a6801696a 100644 --- a/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java +++ b/src/com/android/launcher3/BaseRecyclerViewFastScrollBar.java @@ -27,6 +27,7 @@ import android.graphics.Path; import android.graphics.Point; import android.graphics.Rect; import android.view.MotionEvent; +import android.view.VelocityTracker; import android.view.ViewConfiguration; import com.android.launcher3.util.Thunk; @@ -37,7 +38,7 @@ import com.android.launcher3.util.Thunk; public class BaseRecyclerViewFastScrollBar { public interface FastScrollFocusableView { - void setFastScrollFocused(boolean focused, boolean animated); + void setFastScrollFocusState(final FastBitmapDrawable.State focusState, boolean animated); } private final static int MAX_TRACK_ALPHA = 30; @@ -199,7 +200,7 @@ public class BaseRecyclerViewFastScrollBar { } mTouchOffset += (lastY - downY); mPopup.animateVisibility(true); - animateScrollbar(true); + showActiveScrollbar(true); } if (mIsDragging) { // Update the fastscroller section name at this touch position @@ -210,7 +211,7 @@ public class BaseRecyclerViewFastScrollBar { (bottom - top)); mPopup.setSectionName(sectionName); mPopup.animateVisibility(!sectionName.isEmpty()); - mRv.invalidate(mPopup.updateFastScrollerBounds(mRv, lastY)); + mRv.invalidate(mPopup.updateFastScrollerBounds(lastY)); mLastTouchY = boundedY; } break; @@ -222,7 +223,7 @@ public class BaseRecyclerViewFastScrollBar { if (mIsDragging) { mIsDragging = false; mPopup.animateVisibility(false); - animateScrollbar(false); + showActiveScrollbar(false); } break; } @@ -246,7 +247,7 @@ public class BaseRecyclerViewFastScrollBar { /** * Animates the width and color of the scrollbar. */ - private void animateScrollbar(boolean isScrolling) { + private void showActiveScrollbar(boolean isScrolling) { if (mScrollbarAnimator != null) { mScrollbarAnimator.cancel(); } |