summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/widget/AbsListView.java12
-rw-r--r--core/java/android/widget/FastScroller.java8
2 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index 4c9a86624468..1937187defed 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -54,6 +54,7 @@ import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
+import android.view.PointerIcon;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewConfiguration;
@@ -4402,6 +4403,17 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
}
@Override
+ public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
+ if (mFastScroll != null) {
+ PointerIcon pointerIcon = mFastScroll.onResolvePointerIcon(event, pointerIndex);
+ if (pointerIcon != null) {
+ return pointerIcon;
+ }
+ }
+ return super.onResolvePointerIcon(event, pointerIndex);
+ }
+
+ @Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
final int actionMasked = ev.getActionMasked();
View v;
diff --git a/core/java/android/widget/FastScroller.java b/core/java/android/widget/FastScroller.java
index 559181bdb823..198bf2722d99 100644
--- a/core/java/android/widget/FastScroller.java
+++ b/core/java/android/widget/FastScroller.java
@@ -38,6 +38,7 @@ import android.util.Property;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.MotionEvent;
+import android.view.PointerIcon;
import android.view.View;
import android.view.View.MeasureSpec;
import android.view.ViewConfiguration;
@@ -1441,6 +1442,13 @@ class FastScroller {
return false;
}
+ public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
+ if (mState == STATE_DRAGGING || isPointInside(event.getX(), event.getY())) {
+ return PointerIcon.getSystemIcon(mList.getContext(), PointerIcon.TYPE_ARROW);
+ }
+ return null;
+ }
+
public boolean onTouchEvent(MotionEvent me) {
if (!isEnabled()) {
return false;