diff --git a/api/current.txt b/api/current.txt index c44e2a1c7d8c2..5b230eea24358 100644 --- a/api/current.txt +++ b/api/current.txt @@ -43176,6 +43176,7 @@ package android.view { method public int getScaledOverscrollDistance(); method public int getScaledPagingTouchSlop(); method public int getScaledScrollBarSize(); + method public int getScaledScrollFactor(); method public int getScaledTouchSlop(); method public int getScaledWindowTouchSlop(); method public static int getScrollBarFadeDuration(); diff --git a/api/system-current.txt b/api/system-current.txt index f58d47fa76640..2996be73e3323 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -46346,6 +46346,7 @@ package android.view { method public int getScaledOverscrollDistance(); method public int getScaledPagingTouchSlop(); method public int getScaledScrollBarSize(); + method public int getScaledScrollFactor(); method public int getScaledTouchSlop(); method public int getScaledWindowTouchSlop(); method public static int getScrollBarFadeDuration(); diff --git a/api/test-current.txt b/api/test-current.txt index 7619faf41a502..52554691972cc 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -43257,6 +43257,7 @@ package android.view { method public int getScaledOverscrollDistance(); method public int getScaledPagingTouchSlop(); method public int getScaledScrollBarSize(); + method public int getScaledScrollFactor(); method public int getScaledTouchSlop(); method public int getScaledWindowTouchSlop(); method public static int getScrollBarFadeDuration(); diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java index 9a73d0b1bfaa6..33b488fbc6b44 100644 --- a/core/java/android/view/ViewConfiguration.java +++ b/core/java/android/view/ViewConfiguration.java @@ -218,6 +218,12 @@ public class ViewConfiguration { */ private static final int OVERFLING_DISTANCE = 6; + /** + * Amount to scroll in response to a {@link MotionEvent#ACTION_SCROLL} event, in dips per + * axis value. + */ + private static final int SCROLL_FACTOR = 64; + /** * Default duration to hide an action mode for. */ @@ -246,6 +252,7 @@ public class ViewConfiguration { private final int mOverflingDistance; private final boolean mFadingMarqueeEnabled; private final long mGlobalActionsKeyTimeout; + private final int mScrollFactor; private boolean sHasPermanentMenuKey; private boolean sHasPermanentMenuKeySet; @@ -274,6 +281,7 @@ public class ViewConfiguration { mOverflingDistance = OVERFLING_DISTANCE; mFadingMarqueeEnabled = true; mGlobalActionsKeyTimeout = GLOBAL_ACTIONS_KEY_TIMEOUT; + mScrollFactor = SCROLL_FACTOR; } /** @@ -357,6 +365,8 @@ public class ViewConfiguration { com.android.internal.R.dimen.config_viewMaxFlingVelocity); mGlobalActionsKeyTimeout = res.getInteger( com.android.internal.R.integer.config_globalActionsKeyTimeout); + mScrollFactor = res.getDimensionPixelSize( + com.android.internal.R.dimen.config_scrollFactor); } /** @@ -668,6 +678,14 @@ public class ViewConfiguration { return mMaximumFlingVelocity; } + /** + * @return Amount to scroll in response to a {@link MotionEvent#ACTION_SCROLL} event. Multiply + * this by the event's axis value to obtain the number of pixels to be scrolled. + */ + public int getScaledScrollFactor() { + return mScrollFactor; + } + /** * The maximum drawing cache size expressed in bytes. * diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 6161494353f21..6e2e9f6e528d8 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1764,6 +1764,10 @@ 500 + + 64dp + 3 diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 3c2b55b033b9f..9d806b9cf798c 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -418,6 +418,7 @@ +