summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/widget/FastScroller.java25
-rw-r--r--core/res/res/drawable-hdpi/fastscroll_thumb_mtrl_alpha.pngbin167 -> 0 bytes
-rw-r--r--core/res/res/drawable-hdpi/fastscroll_track_mtrl_alpha.9.pngbin84 -> 0 bytes
-rw-r--r--core/res/res/drawable-hdpi/scrollbar_handle_mtrl_alpha.9.pngbin114 -> 0 bytes
-rw-r--r--core/res/res/drawable-ldpi/fastscroll_thumb_mtrl_alpha.pngbin123 -> 0 bytes
-rw-r--r--core/res/res/drawable-ldpi/fastscroll_track_mtrl_alpha.9.pngbin82 -> 0 bytes
-rw-r--r--core/res/res/drawable-ldpi/scrollbar_handle_mtrl_alpha.9.pngbin108 -> 0 bytes
-rw-r--r--core/res/res/drawable-mdpi/fastscroll_thumb_mtrl_alpha.pngbin129 -> 0 bytes
-rw-r--r--core/res/res/drawable-mdpi/fastscroll_track_mtrl_alpha.9.pngbin87 -> 0 bytes
-rw-r--r--core/res/res/drawable-mdpi/scrollbar_handle_mtrl_alpha.9.pngbin120 -> 0 bytes
-rw-r--r--core/res/res/drawable-xhdpi/fastscroll_thumb_mtrl_alpha.pngbin220 -> 0 bytes
-rw-r--r--core/res/res/drawable-xhdpi/fastscroll_track_mtrl_alpha.9.pngbin89 -> 0 bytes
-rw-r--r--core/res/res/drawable-xhdpi/scrollbar_handle_mtrl_alpha.9.pngbin128 -> 0 bytes
-rw-r--r--core/res/res/drawable-xxhdpi/fastscroll_thumb_mtrl_alpha.pngbin279 -> 0 bytes
-rw-r--r--core/res/res/drawable-xxhdpi/fastscroll_track_mtrl_alpha.9.pngbin148 -> 0 bytes
-rw-r--r--core/res/res/drawable-xxhdpi/scrollbar_handle_mtrl_alpha.9.pngbin181 -> 0 bytes
-rw-r--r--core/res/res/drawable/fastscroll_thumb_material.xml14
-rw-r--r--core/res/res/drawable/fastscroll_track_material.xml9
-rw-r--r--core/res/res/drawable/scrollbar_handle_material.xml9
-rw-r--r--core/res/res/values/dimens.xml3
-rw-r--r--core/res/res/values/symbols.xml1
21 files changed, 48 insertions, 13 deletions
diff --git a/core/java/android/widget/FastScroller.java b/core/java/android/widget/FastScroller.java
index 06bb32c1a3ec..fe143dec8900 100644
--- a/core/java/android/widget/FastScroller.java
+++ b/core/java/android/widget/FastScroller.java
@@ -106,6 +106,9 @@ class FastScroller {
*/
private final int[] mPreviewResId = new int[2];
+ /** The minimum touch target size in pixels. */
+ private final int mMinimumTouchTarget;
+
/**
* Padding in pixels around the preview text. Applied as layout margins to
* the preview text and padding to the preview image.
@@ -254,6 +257,9 @@ class FastScroller {
mPrimaryText = createPreviewTextView(context);
mSecondaryText = createPreviewTextView(context);
+ mMinimumTouchTarget = listView.getResources().getDimensionPixelSize(
+ com.android.internal.R.dimen.fast_scroller_minimum_touch_target);
+
setStyle(styleResId);
final ViewGroupOverlay overlay = listView.getOverlay();
@@ -1474,10 +1480,18 @@ class FastScroller {
}
private boolean isPointInsideX(float x) {
+ final float offset = mThumbImage.getTranslationX();
+ final float left = mThumbImage.getLeft() + offset;
+ final float right = mThumbImage.getRight() + offset;
+
+ // Apply the minimum touch target size.
+ final float targetSizeDiff = mMinimumTouchTarget - (right - left);
+ final float adjust = targetSizeDiff > 0 ? targetSizeDiff : 0;
+
if (mLayoutFromRight) {
- return x >= mThumbImage.getLeft();
+ return x >= mThumbImage.getLeft() - adjust;
} else {
- return x <= mThumbImage.getRight();
+ return x <= mThumbImage.getRight() + adjust;
}
}
@@ -1485,7 +1499,12 @@ class FastScroller {
final float offset = mThumbImage.getTranslationY();
final float top = mThumbImage.getTop() + offset;
final float bottom = mThumbImage.getBottom() + offset;
- return y >= top && y <= bottom;
+
+ // Apply the minimum touch target size.
+ final float targetSizeDiff = mMinimumTouchTarget - (bottom - top);
+ final float adjust = targetSizeDiff > 0 ? targetSizeDiff / 2 : 0;
+
+ return y >= (top - adjust) && y <= (bottom + adjust);
}
/**
diff --git a/core/res/res/drawable-hdpi/fastscroll_thumb_mtrl_alpha.png b/core/res/res/drawable-hdpi/fastscroll_thumb_mtrl_alpha.png
deleted file mode 100644
index 2000422dd0f4..000000000000
--- a/core/res/res/drawable-hdpi/fastscroll_thumb_mtrl_alpha.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_mtrl_alpha.9.png b/core/res/res/drawable-hdpi/fastscroll_track_mtrl_alpha.9.png
deleted file mode 100644
index 61ef6f6bf071..000000000000
--- a/core/res/res/drawable-hdpi/fastscroll_track_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrollbar_handle_mtrl_alpha.9.png b/core/res/res/drawable-hdpi/scrollbar_handle_mtrl_alpha.9.png
deleted file mode 100644
index a5166f2a911c..000000000000
--- a/core/res/res/drawable-hdpi/scrollbar_handle_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-ldpi/fastscroll_thumb_mtrl_alpha.png b/core/res/res/drawable-ldpi/fastscroll_thumb_mtrl_alpha.png
deleted file mode 100644
index c901730b55ce..000000000000
--- a/core/res/res/drawable-ldpi/fastscroll_thumb_mtrl_alpha.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-ldpi/fastscroll_track_mtrl_alpha.9.png b/core/res/res/drawable-ldpi/fastscroll_track_mtrl_alpha.9.png
deleted file mode 100644
index 833dac9445d9..000000000000
--- a/core/res/res/drawable-ldpi/fastscroll_track_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-ldpi/scrollbar_handle_mtrl_alpha.9.png b/core/res/res/drawable-ldpi/scrollbar_handle_mtrl_alpha.9.png
deleted file mode 100644
index 3e301ef7363d..000000000000
--- a/core/res/res/drawable-ldpi/scrollbar_handle_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_thumb_mtrl_alpha.png b/core/res/res/drawable-mdpi/fastscroll_thumb_mtrl_alpha.png
deleted file mode 100644
index 4984f9c04563..000000000000
--- a/core/res/res/drawable-mdpi/fastscroll_thumb_mtrl_alpha.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_mtrl_alpha.9.png b/core/res/res/drawable-mdpi/fastscroll_track_mtrl_alpha.9.png
deleted file mode 100644
index 404180821c40..000000000000
--- a/core/res/res/drawable-mdpi/fastscroll_track_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrollbar_handle_mtrl_alpha.9.png b/core/res/res/drawable-mdpi/scrollbar_handle_mtrl_alpha.9.png
deleted file mode 100644
index 1834b2e9606a..000000000000
--- a/core/res/res/drawable-mdpi/scrollbar_handle_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_thumb_mtrl_alpha.png b/core/res/res/drawable-xhdpi/fastscroll_thumb_mtrl_alpha.png
deleted file mode 100644
index 9534f78363cf..000000000000
--- a/core/res/res/drawable-xhdpi/fastscroll_thumb_mtrl_alpha.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_mtrl_alpha.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_mtrl_alpha.9.png
deleted file mode 100644
index 02f017483acc..000000000000
--- a/core/res/res/drawable-xhdpi/fastscroll_track_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrollbar_handle_mtrl_alpha.9.png b/core/res/res/drawable-xhdpi/scrollbar_handle_mtrl_alpha.9.png
deleted file mode 100644
index 3c816c7d3ee9..000000000000
--- a/core/res/res/drawable-xhdpi/scrollbar_handle_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/fastscroll_thumb_mtrl_alpha.png b/core/res/res/drawable-xxhdpi/fastscroll_thumb_mtrl_alpha.png
deleted file mode 100644
index 55a73e744aae..000000000000
--- a/core/res/res/drawable-xxhdpi/fastscroll_thumb_mtrl_alpha.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/fastscroll_track_mtrl_alpha.9.png b/core/res/res/drawable-xxhdpi/fastscroll_track_mtrl_alpha.9.png
deleted file mode 100644
index be64a94a8b0c..000000000000
--- a/core/res/res/drawable-xxhdpi/fastscroll_track_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xxhdpi/scrollbar_handle_mtrl_alpha.9.png b/core/res/res/drawable-xxhdpi/scrollbar_handle_mtrl_alpha.9.png
deleted file mode 100644
index c1c0622112e9..000000000000
--- a/core/res/res/drawable-xxhdpi/scrollbar_handle_mtrl_alpha.9.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable/fastscroll_thumb_material.xml b/core/res/res/drawable/fastscroll_thumb_material.xml
index 1288f0d08e67..4e8ccc70ba61 100644
--- a/core/res/res/drawable/fastscroll_thumb_material.xml
+++ b/core/res/res/drawable/fastscroll_thumb_material.xml
@@ -16,11 +16,17 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
- <bitmap android:src="@drawable/fastscroll_thumb_mtrl_alpha"
- android:tint="?attr/colorControlActivated" />
+ <shape android:tint="?attr/colorControlActivated"
+ android:shape="rectangle">
+ <solid android:color="@color/white" />
+ <size android:width="8dp" android:height="48dp" />
+ </shape>
</item>
<item>
- <bitmap android:src="@drawable/fastscroll_thumb_mtrl_alpha"
- android:tint="?attr/colorControlNormal" />
+ <shape android:tint="?attr/colorControlNormal"
+ android:shape="rectangle">
+ <solid android:color="@color/white" />
+ <size android:width="8dp" android:height="48dp" />
+ </shape>
</item>
</selector>
diff --git a/core/res/res/drawable/fastscroll_track_material.xml b/core/res/res/drawable/fastscroll_track_material.xml
index 60f79b1a2655..7882b0542ee8 100644
--- a/core/res/res/drawable/fastscroll_track_material.xml
+++ b/core/res/res/drawable/fastscroll_track_material.xml
@@ -14,6 +14,9 @@
limitations under the License.
-->
-<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/fastscroll_track_mtrl_alpha"
- android:tint="?attr/colorControlNormal" />
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:tint="?attr/colorControlNormal"
+ android:shape="rectangle">
+ <solid android:color="#21ffffff" />
+ <size android:width="8dp" />
+</shape>
diff --git a/core/res/res/drawable/scrollbar_handle_material.xml b/core/res/res/drawable/scrollbar_handle_material.xml
index a241428c899d..1b3bb9b6fd75 100644
--- a/core/res/res/drawable/scrollbar_handle_material.xml
+++ b/core/res/res/drawable/scrollbar_handle_material.xml
@@ -14,6 +14,9 @@
limitations under the License.
-->
-<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/scrollbar_handle_mtrl_alpha"
- android:tint="?attr/colorControlNormal" />
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:tint="?attr/colorControlNormal"
+ android:shape="rectangle">
+ <solid android:color="#42ffffff" />
+ <size android:width="4dp" />
+</shape>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index b4e033c9bb48..3f840ab7a99d 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -397,6 +397,9 @@
<dimen name="datepicker_header_height">30dp</dimen>
<dimen name="datepicker_header_text_size">14dp</dimen>
+ <!-- Minimum size of the fast scroller thumb's touch target. -->
+ <dimen name="fast_scroller_minimum_touch_target">48dp</dimen>
+
<!-- width of ImmersiveModeConfirmation (-1 for match_parent) -->
<dimen name="immersive_mode_cling_width">-1px</dimen>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index cbc379b2a26d..a91119f3103f 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2126,5 +2126,6 @@
<java-symbol type="string" name="android_system_label" />
<java-symbol type="string" name="system_error_wipe_data" />
<java-symbol type="string" name="system_error_manufacturer" />
+ <java-symbol type="dimen" name="fast_scroller_minimum_touch_target" />
</resources>