Increasing the min swipe thresholds for the nav bar gestures. (Bug 17109581) Change-Id: I1bcf6f91f616890f0e815db33267c5230ae9c76f (cherry picked from commit 559e6d34b4e76ee21dc6e300681c399ed735a964)
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 4f41cd5..fabdf29 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml
@@ -63,6 +63,8 @@ <!-- thickness (height) of the navigation bar on phones that require it --> <dimen name="navigation_bar_size">@*android:dimen/navigation_bar_height</dimen> + <!-- Minimum swipe distance to catch the swipe gestures to invoke assist or switch tasks. --> + <dimen name="navigation_bar_min_swipe_distance">48dp</dimen> <!-- thickness (height) of the dead zone at the top of the navigation bar, reducing false presses on navbar buttons; approx 2mm -->
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/DelegateViewHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/DelegateViewHelper.java index 628aab8..7ae6764 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/DelegateViewHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/DelegateViewHelper.java
@@ -17,10 +17,11 @@ package com.android.systemui.statusbar; import android.app.StatusBarManager; +import android.content.res.Resources; import android.graphics.RectF; import android.view.MotionEvent; import android.view.View; -import android.view.ViewConfiguration; +import com.android.systemui.R; public class DelegateViewHelper { private View mDelegateView; @@ -106,8 +107,8 @@ public void setSourceView(View view) { mSourceView = view; if (mSourceView != null) { - mTriggerThreshhold = - ViewConfiguration.get(mSourceView.getContext()).getScaledPagingTouchSlop(); + Resources r = mSourceView.getContext().getResources(); + mTriggerThreshhold = r.getDimensionPixelSize(R.dimen.navigation_bar_min_swipe_distance); } }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarViewTaskSwitchHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarViewTaskSwitchHelper.java index c253e19..fdfcdfb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarViewTaskSwitchHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarViewTaskSwitchHelper.java
@@ -17,9 +17,11 @@ package com.android.systemui.statusbar.phone; import android.content.Context; +import android.content.res.Resources; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.ViewConfiguration; +import com.android.systemui.R; import com.android.systemui.statusbar.BaseStatusBar; public class NavigationBarViewTaskSwitchHelper extends GestureDetector.SimpleOnGestureListener { @@ -36,7 +38,8 @@ public NavigationBarViewTaskSwitchHelper(Context context) { ViewConfiguration configuration = ViewConfiguration.get(context); - mScrollTouchSlop = 4 * configuration.getScaledTouchSlop(); + Resources r = context.getResources(); + mScrollTouchSlop = r.getDimensionPixelSize(R.dimen.navigation_bar_min_swipe_distance); mMinFlingVelocity = configuration.getScaledMinimumFlingVelocity(); mTaskSwitcherDetector = new GestureDetector(context, this); }