diff options
| author | 2018-04-27 00:06:01 +0000 | |
|---|---|---|
| committer | 2018-04-27 00:06:01 +0000 | |
| commit | 87d71db19a861e2e044bfb2dffa5eb8d75dcf3a0 (patch) | |
| tree | fc1afe6a573b344d95da317d99be096f8ed52acc | |
| parent | 214a8a95109a0a9cb51b510c3d41716973ea3797 (diff) | |
| parent | f29ad756f6503816c876ee15fba6878bd562210a (diff) | |
Merge "Shared touch and drag slops for quick step changes with density (1/3)" into pi-dev
3 files changed, 35 insertions, 21 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java index 8d451c12410a..5a0dddc7656a 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java @@ -33,10 +33,21 @@ public class NavigationBarCompat { * touch slop is when the respected operation will occur when exceeded. Touch slop must be * larger than the drag slop. */ - public static final int QUICK_STEP_DRAG_SLOP_PX = convertDpToPixel(10); - public static final int QUICK_SCRUB_DRAG_SLOP_PX = convertDpToPixel(20); - public static final int QUICK_STEP_TOUCH_SLOP_PX = convertDpToPixel(24); - public static final int QUICK_SCRUB_TOUCH_SLOP_PX = convertDpToPixel(35); + public static int getQuickStepDragSlopPx() { + return convertDpToPixel(10); + } + + public static int getQuickScrubDragSlopPx() { + return convertDpToPixel(20); + } + + public static int getQuickStepTouchSlopPx() { + return convertDpToPixel(24); + } + + public static int getQuickScrubTouchSlopPx() { + return convertDpToPixel(35); + } @Retention(RetentionPolicy.SOURCE) @IntDef({HIT_TARGET_NONE, HIT_TARGET_BACK, HIT_TARGET_HOME, HIT_TARGET_OVERVIEW}) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java index ff5d0e3130f0..6b0ac948a036 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java @@ -34,7 +34,6 @@ import android.util.Log; import android.util.Slog; import android.view.MotionEvent; import android.view.View; -import android.view.ViewConfiguration; import android.view.WindowManagerGlobal; import android.view.animation.DecelerateInterpolator; import android.view.animation.Interpolator; @@ -45,16 +44,13 @@ import com.android.systemui.R; import com.android.systemui.plugins.statusbar.phone.NavGesture.GestureHelper; import com.android.systemui.shared.recents.IOverviewProxy; import com.android.systemui.shared.recents.utilities.Utilities; +import com.android.systemui.shared.system.NavigationBarCompat; import static android.view.WindowManagerPolicyConstants.NAV_BAR_LEFT; import static android.view.WindowManagerPolicyConstants.NAV_BAR_BOTTOM; import static com.android.systemui.OverviewProxyService.DEBUG_OVERVIEW_PROXY; import static com.android.systemui.OverviewProxyService.TAG_OPS; import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_HOME; -import static com.android.systemui.shared.system.NavigationBarCompat.QUICK_SCRUB_DRAG_SLOP_PX; -import static com.android.systemui.shared.system.NavigationBarCompat.QUICK_SCRUB_TOUCH_SLOP_PX; -import static com.android.systemui.shared.system.NavigationBarCompat.QUICK_STEP_DRAG_SLOP_PX; -import static com.android.systemui.shared.system.NavigationBarCompat.QUICK_STEP_TOUCH_SLOP_PX; /** * Class to detect gestures on the navigation bar and implement quick scrub. @@ -215,17 +211,23 @@ public class QuickStepController implements GestureHelper { int pos, touchDown, offset, trackSize; if (mIsVertical) { - exceededScrubTouchSlop = yDiff > QUICK_SCRUB_TOUCH_SLOP_PX && yDiff > xDiff; - exceededSwipeUpTouchSlop = xDiff > QUICK_STEP_TOUCH_SLOP_PX && xDiff > yDiff; - exceededScrubDragSlop = yDiff > QUICK_SCRUB_DRAG_SLOP_PX && yDiff > xDiff; + exceededScrubTouchSlop = + yDiff > NavigationBarCompat.getQuickScrubTouchSlopPx() && yDiff > xDiff; + exceededSwipeUpTouchSlop = + xDiff > NavigationBarCompat.getQuickStepTouchSlopPx() && xDiff > yDiff; + exceededScrubDragSlop = + yDiff > NavigationBarCompat.getQuickScrubDragSlopPx() && yDiff > xDiff; pos = y; touchDown = mTouchDownY; offset = pos - mTrackRect.top; trackSize = mTrackRect.height(); } else { - exceededScrubTouchSlop = xDiff > QUICK_SCRUB_TOUCH_SLOP_PX && xDiff > yDiff; - exceededSwipeUpTouchSlop = yDiff > QUICK_STEP_TOUCH_SLOP_PX && yDiff > xDiff; - exceededScrubDragSlop = xDiff > QUICK_SCRUB_DRAG_SLOP_PX && xDiff > yDiff; + exceededScrubTouchSlop = + xDiff > NavigationBarCompat.getQuickScrubTouchSlopPx() && xDiff > yDiff; + exceededSwipeUpTouchSlop = + yDiff > NavigationBarCompat.getQuickStepTouchSlopPx() && yDiff > xDiff; + exceededScrubDragSlop = + xDiff > NavigationBarCompat.getQuickScrubDragSlopPx() && xDiff > yDiff; pos = x; touchDown = mTouchDownX; offset = pos - mTrackRect.left; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java index 22a48f0b0309..85cfde86089e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java @@ -49,12 +49,11 @@ import com.android.systemui.OverviewProxyService; import com.android.systemui.R; import com.android.systemui.plugins.statusbar.phone.NavBarButtonProvider.ButtonInterface; import com.android.systemui.shared.system.ActivityManagerWrapper; +import com.android.systemui.shared.system.NavigationBarCompat; import static android.view.KeyEvent.KEYCODE_HOME; import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLICK; import static android.view.accessibility.AccessibilityNodeInfo.ACTION_LONG_CLICK; -import static com.android.systemui.shared.system.NavigationBarCompat.QUICK_SCRUB_TOUCH_SLOP_PX; -import static com.android.systemui.shared.system.NavigationBarCompat.QUICK_STEP_TOUCH_SLOP_PX; public class KeyButtonView extends ImageView implements ButtonInterface { private static final String TAG = KeyButtonView.class.getSimpleName(); @@ -234,10 +233,12 @@ public class KeyButtonView extends ImageView implements ButtonInterface { x = (int)ev.getRawX(); y = (int)ev.getRawY(); - boolean exceededTouchSlopX = Math.abs(x - mTouchDownX) > - (mIsVertical ? QUICK_SCRUB_TOUCH_SLOP_PX : QUICK_STEP_TOUCH_SLOP_PX); - boolean exceededTouchSlopY = Math.abs(y - mTouchDownY) > - (mIsVertical ? QUICK_STEP_TOUCH_SLOP_PX : QUICK_SCRUB_TOUCH_SLOP_PX); + boolean exceededTouchSlopX = Math.abs(x - mTouchDownX) > (mIsVertical + ? NavigationBarCompat.getQuickScrubTouchSlopPx() + : NavigationBarCompat.getQuickStepTouchSlopPx()); + boolean exceededTouchSlopY = Math.abs(y - mTouchDownY) > (mIsVertical + ? NavigationBarCompat.getQuickStepTouchSlopPx() + : NavigationBarCompat.getQuickScrubTouchSlopPx()); if (exceededTouchSlopX || exceededTouchSlopY) { // When quick step is enabled, prevent animating the ripple triggered by // setPressed and decide to run it on touch up |