Loading core/java/com/android/internal/widget/SwipeDismissLayout.java +9 −11 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ import android.widget.FrameLayout; public class SwipeDismissLayout extends FrameLayout { private static final String TAG = "SwipeDismissLayout"; private static final float TRANSLATION_MIN_ALPHA = 0.5f; private static final float DISMISS_MIN_PROGRESS = 0.6f; public interface OnDismissedListener { void onDismissed(SwipeDismissLayout layout); Loading Loading @@ -77,6 +77,8 @@ public class SwipeDismissLayout extends FrameLayout { private OnDismissedListener mDismissedListener; private OnSwipeProgressChangedListener mProgressListener; private float mLastX; public SwipeDismissLayout(Context context) { super(context); init(context); Loading @@ -95,7 +97,7 @@ public class SwipeDismissLayout extends FrameLayout { private void init(Context context) { ViewConfiguration vc = ViewConfiguration.get(getContext()); mSlop = vc.getScaledTouchSlop(); mMinFlingVelocity = vc.getScaledMinimumFlingVelocity() * 16; mMinFlingVelocity = vc.getScaledMinimumFlingVelocity(); mMaxFlingVelocity = vc.getScaledMaximumFlingVelocity(); mAnimationTime = getContext().getResources().getInteger( android.R.integer.config_shortAnimTime); Loading Loading @@ -193,8 +195,8 @@ public class SwipeDismissLayout extends FrameLayout { case MotionEvent.ACTION_MOVE: mVelocityTracker.addMovement(ev); mLastX = ev.getRawX(); updateSwiping(ev); updateDismiss(ev); if (mSwiping) { setProgress(ev.getRawX() - mDownX); break; Loading Loading @@ -256,20 +258,16 @@ public class SwipeDismissLayout extends FrameLayout { float absVelocityX = Math.abs(velocityX); float absVelocityY = Math.abs(mVelocityTracker.getYVelocity()); if (deltaX > getWidth() / 2) { mDismissed = true; } else if (absVelocityX >= mMinFlingVelocity && absVelocityX <= mMaxFlingVelocity && absVelocityY < absVelocityX / 2 && velocityX > 0 && deltaX > 0) { if (deltaX > (getWidth() * DISMISS_MIN_PROGRESS) && absVelocityX < mMinFlingVelocity && ev.getRawX() >= mLastX) { mDismissed = true; } } // Check if the user tried to undo this. if (mDismissed && mSwiping) { // Check if the user's finger is actually back if (deltaX < getWidth() / 2) { if (deltaX < (getWidth() * DISMISS_MIN_PROGRESS)) { mDismissed = false; } } Loading core/res/res/values-watch/config.xml +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ <dimen name="config_viewConfigurationTouchSlop">4dp</dimen> <!-- Minimum velocity to initiate a fling, as measured in dips per second. --> <dimen name="config_viewMinFlingVelocity">50dp</dimen> <dimen name="config_viewMinFlingVelocity">500dp</dimen> <!-- Maximum velocity to initiate a fling, as measured in dips per second. --> <dimen name="config_viewMaxFlingVelocity">8000dp</dimen> Loading Loading
core/java/com/android/internal/widget/SwipeDismissLayout.java +9 −11 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ import android.widget.FrameLayout; public class SwipeDismissLayout extends FrameLayout { private static final String TAG = "SwipeDismissLayout"; private static final float TRANSLATION_MIN_ALPHA = 0.5f; private static final float DISMISS_MIN_PROGRESS = 0.6f; public interface OnDismissedListener { void onDismissed(SwipeDismissLayout layout); Loading Loading @@ -77,6 +77,8 @@ public class SwipeDismissLayout extends FrameLayout { private OnDismissedListener mDismissedListener; private OnSwipeProgressChangedListener mProgressListener; private float mLastX; public SwipeDismissLayout(Context context) { super(context); init(context); Loading @@ -95,7 +97,7 @@ public class SwipeDismissLayout extends FrameLayout { private void init(Context context) { ViewConfiguration vc = ViewConfiguration.get(getContext()); mSlop = vc.getScaledTouchSlop(); mMinFlingVelocity = vc.getScaledMinimumFlingVelocity() * 16; mMinFlingVelocity = vc.getScaledMinimumFlingVelocity(); mMaxFlingVelocity = vc.getScaledMaximumFlingVelocity(); mAnimationTime = getContext().getResources().getInteger( android.R.integer.config_shortAnimTime); Loading Loading @@ -193,8 +195,8 @@ public class SwipeDismissLayout extends FrameLayout { case MotionEvent.ACTION_MOVE: mVelocityTracker.addMovement(ev); mLastX = ev.getRawX(); updateSwiping(ev); updateDismiss(ev); if (mSwiping) { setProgress(ev.getRawX() - mDownX); break; Loading Loading @@ -256,20 +258,16 @@ public class SwipeDismissLayout extends FrameLayout { float absVelocityX = Math.abs(velocityX); float absVelocityY = Math.abs(mVelocityTracker.getYVelocity()); if (deltaX > getWidth() / 2) { mDismissed = true; } else if (absVelocityX >= mMinFlingVelocity && absVelocityX <= mMaxFlingVelocity && absVelocityY < absVelocityX / 2 && velocityX > 0 && deltaX > 0) { if (deltaX > (getWidth() * DISMISS_MIN_PROGRESS) && absVelocityX < mMinFlingVelocity && ev.getRawX() >= mLastX) { mDismissed = true; } } // Check if the user tried to undo this. if (mDismissed && mSwiping) { // Check if the user's finger is actually back if (deltaX < getWidth() / 2) { if (deltaX < (getWidth() * DISMISS_MIN_PROGRESS)) { mDismissed = false; } } Loading
core/res/res/values-watch/config.xml +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ <dimen name="config_viewConfigurationTouchSlop">4dp</dimen> <!-- Minimum velocity to initiate a fling, as measured in dips per second. --> <dimen name="config_viewMinFlingVelocity">50dp</dimen> <dimen name="config_viewMinFlingVelocity">500dp</dimen> <!-- Maximum velocity to initiate a fling, as measured in dips per second. --> <dimen name="config_viewMaxFlingVelocity">8000dp</dimen> Loading