DO NOT MERGE Cherry-Pick: Add ViewConfiguration.getScaledScrollFactor()

This value is used to convert ACTION_SCROLL axis values into raw
pixel distances.

CP of ag/1333603 from master to feldspar-dev. New method is @hide and
@SystemApi in this version. In master, it's part of the new public
API, but feldspar will launch before O.

Change-Id: I5ee73ebcd183c43939ae8aa157e88489e05d4760
This commit is contained in:
Ned Burns
2016-08-18 17:32:50 -04:00
parent e35215cec7
commit a5b41c88ec
3 changed files with 26 additions and 0 deletions

View File

@@ -16,6 +16,7 @@
package android.view;
import android.annotation.SystemApi;
import android.app.AppGlobals;
import android.content.Context;
import android.content.res.Configuration;
@@ -218,6 +219,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 +253,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 +282,7 @@ public class ViewConfiguration {
mOverflingDistance = OVERFLING_DISTANCE;
mFadingMarqueeEnabled = true;
mGlobalActionsKeyTimeout = GLOBAL_ACTIONS_KEY_TIMEOUT;
mScrollFactor = SCROLL_FACTOR;
}
/**
@@ -357,6 +366,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 +679,16 @@ 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.
* @hide
* @SystemApi
*/
public int getScaledScrollFactor() {
return mScrollFactor;
}
/**
* The maximum drawing cache size expressed in bytes.
*

View File

@@ -1753,6 +1753,10 @@
<!-- Amount of time in ms the user needs to press the relevant key to bring up the global actions dialog -->
<integer name="config_globalActionsKeyTimeout">500</integer>
<!-- Distance that should be scrolled in response to a {@link MotionEvent#ACTION_SCROLL event}
with an axis value of 1. -->
<dimen name="config_scrollFactor">64dp</dimen>
<!-- Maximum number of grid columns permitted in the ResolverActivity
used for picking activities to handle an intent. -->
<integer name="config_maxResolverActivityColumns">3</integer>

View File

@@ -416,6 +416,7 @@
<java-symbol type="dimen" name="config_viewConfigurationTouchSlop" />
<java-symbol type="dimen" name="config_viewMinFlingVelocity" />
<java-symbol type="dimen" name="config_viewMaxFlingVelocity" />
<java-symbol type="dimen" name="config_scrollFactor" />
<java-symbol type="dimen" name="default_app_widget_padding_bottom" />
<java-symbol type="dimen" name="default_app_widget_padding_left" />
<java-symbol type="dimen" name="default_app_widget_padding_right" />