Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33cc886c authored by Gabor Keszthelyi's avatar Gabor Keszthelyi Committed by Marten Gajda
Browse files

Use View.peformHapticFeedback() instead of Vibrator.vibrate() for list item...

Use View.peformHapticFeedback() instead of Vibrator.vibrate() for list item long press and checklist long presses so it is enabled/disabled as per device settings. Remove an unused field in FlingDetector. #191 (#660)
parent 77b29b00
Loading
Loading
Loading
Loading
+2 −10
Original line number Original line Diff line number Diff line
@@ -36,12 +36,12 @@ import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.BitmapDrawable;
import android.os.Vibrator;
import android.support.annotation.NonNull;
import android.support.annotation.NonNull;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.MotionEventCompat;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.util.Log;
import android.util.Log;
import android.util.SparseArray;
import android.util.SparseArray;
import android.view.HapticFeedbackConstants;
import android.view.MotionEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewConfiguration;
@@ -495,15 +495,7 @@ public class DragLinearLayout extends LinearLayout
        draggedItem.onDragStart();
        draggedItem.onDragStart();
        requestDisallowInterceptTouchEvent(true);
        requestDisallowInterceptTouchEvent(true);


        try
        performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
        {
            Vibrator vibrator = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE);
            vibrator.vibrate(VIBRATION_DURATION);
        }
        catch (Exception e)
        {

        }
    }
    }




+1 −2
Original line number Original line Diff line number Diff line
@@ -294,8 +294,7 @@ public class TaskListFragment extends SupportFragment
            mExpandableListView.expandGroups(mSavedExpandedGroups);
            mExpandableListView.expandGroups(mSavedExpandedGroups);
        }
        }


        FlingDetector swiper = new FlingDetector(mExpandableListView, mGroupDescriptor.getElementViewDescriptor().getFlingContentViewId(),
        FlingDetector swiper = new FlingDetector(mExpandableListView, mGroupDescriptor.getElementViewDescriptor().getFlingContentViewId());
                getActivity().getApplicationContext());
        swiper.setOnFlingListener(this);
        swiper.setOnFlingListener(this);


        return rootView;
        return rootView;
+4 −8
Original line number Original line Diff line number Diff line
@@ -19,10 +19,9 @@ package org.dmfs.tasks.utils;
import android.animation.Animator;
import android.animation.Animator;
import android.animation.Animator.AnimatorListener;
import android.animation.Animator.AnimatorListener;
import android.annotation.SuppressLint;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Rect;
import android.graphics.Rect;
import android.os.Handler;
import android.os.Handler;
import android.os.Vibrator;
import android.view.HapticFeedbackConstants;
import android.view.MotionEvent;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.VelocityTracker;
import android.view.View;
import android.view.View;
@@ -57,7 +56,6 @@ public class FlingDetector implements OnTouchListener, OnScrollListener
    private View mItemChildView;
    private View mItemChildView;
    private VelocityTracker mVelocityTracker;
    private VelocityTracker mVelocityTracker;
    private int mContentViewId;
    private int mContentViewId;
    private static Context mContext;
    private static Handler mHandler;
    private static Handler mHandler;


    private int mFlingDirection;
    private int mFlingDirection;
@@ -68,8 +66,7 @@ public class FlingDetector implements OnTouchListener, OnScrollListener
        @Override
        @Override
        public void run()
        public void run()
        {
        {
            Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
            mListView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
            vibrator.vibrate(VIBRATION_DURATION);


            // if we don't disallow that, fling doesn't work on some devices
            // if we don't disallow that, fling doesn't work on some devices
            mListView.requestDisallowInterceptTouchEvent(true);
            mListView.requestDisallowInterceptTouchEvent(true);
@@ -165,7 +162,7 @@ public class FlingDetector implements OnTouchListener, OnScrollListener
     */
     */
    public FlingDetector(ListView listview)
    public FlingDetector(ListView listview)
    {
    {
        this(listview, -1, null);
        this(listview, -1);
    }
    }




@@ -177,13 +174,12 @@ public class FlingDetector implements OnTouchListener, OnScrollListener
     * @param flingContentViewId
     * @param flingContentViewId
     *         The layout id of the inner content view that is supposed to fling
     *         The layout id of the inner content view that is supposed to fling
     */
     */
    public FlingDetector(ListView listview, int flingContentViewId, Context context)
    public FlingDetector(ListView listview, int flingContentViewId)
    {
    {
        listview.setOnTouchListener(this);
        listview.setOnTouchListener(this);
        listview.setOnScrollListener(this);
        listview.setOnScrollListener(this);
        mListView = listview;
        mListView = listview;
        mContentViewId = flingContentViewId;
        mContentViewId = flingContentViewId;
        mContext = context;


        ViewConfiguration vc = ViewConfiguration.get(listview.getContext());
        ViewConfiguration vc = ViewConfiguration.get(listview.getContext());