if(firstTap){
            thisTime = SystemClock.u`enter code here`ptimeMillis();
            firstTap = false;
        }else{
            prevTime = thisTime;
            thisTime = SystemClock.uptimeMillis();

            //Check that thisTime is greater than prevTime
            //just incase system clock reset to zero
            if(thisTime > prevTime){

                //Check if times are within our max delay
                if((thisTime - prevTime) <= DOUBLE_CLICK_MAX_DELAY){

                    //We have detected a double tap!
                    Toast.makeText(AddLocation.this, "DOUBLE TAP DETECTED!!!", Toast.LENGTH_LONG).show();
                    //PUT YOUR LOGIC HERE!!!!

                }else{
                    //Otherwise Reset firstTap
                    firstTap = true;
                }
            }else{
                firstTap = true;
            }
        }
        return false;
	
abstract boolean onLongClick(View v)
	
//Check that thisTime is greater than prevTime
//just incase system clock reset to zero
static prevtime = 0;
thistime = Calendar.getInstance().getTimeInMillis();
if(prevTime<thistime){
//Check if times are within our max delay
if((thisTime - prevTime) <= 1000){//1 SEC
 //We have detected a double tap!
Toast.makeText(AddLocation.this, "DOUBLE TAP DETECTED!!!", Toast.LENGTH_LONG).show();
prevtime=thistime;
//PUT YOUR LOGIC HERE!!!!
}else{
//Otherwise Reset firstTap
    firstTap = true;
}
}else{
    firstTap = true;
}
}
	
public class MyView extends View {

GestureDetector gestureDetector;

public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
        // creating new gesture detector
gestureDetector = new GestureDetector(context, new GestureListener());
}

// skipping measure calculation and drawing

// delegate the event to the gesture detector
@Override
public boolean onTouchEvent(MotionEvent e) {
//Single Tap
return gestureDetector.onTouchEvent(e);
}


private class GestureListener extends GestureDetector.SimpleOnGestureListener {

@Override
public boolean onDown(MotionEvent e) {
    return true;
}
// event when double tap occurs
@Override
public boolean onDoubleTap(MotionEvent e) {
    float x = e.getX();
    float y = e.getY();

    Log.d("Double Tap", "Tapped at: (" + x + "," + y + ")");

    return true;
}