OnTouchListener でフリック

OnTouchListener で、フリック(スワイプ)の処理を記述を外のクラスで書く為
 (作成している Activity クラスで書いてもいいが、決まった処理の記述を毎回コーディングしたくない)
以下のように。。

import android.view.MotionEvent;
import android.view.View;
/**
 * FlickTouchListner
 *
 * interface  FlickTouchListner.FlickAction を指定して
 *  左 → 右 / 右  → 左 の動作を指定する。
 */

public class FlickTouchListner implements View.OnTouchListener{
   public interface FlickAction{
      /** 右 → 左 の処理
       * @param len 移動した長さ
       */
      public void left(int len);

      /** 左 → 右 の処理 
       * @param len 移動した長さ
       */
      public void right(int len);
   }


   private float lastTouchX;
   private float currentX;
   private FlickAction action;
   private int play;
   /**
    * コンストラクタ
    * 
@param touchPlay 遊び 100以上が妥当
    * @param action FlickAction
    */

   public FlickTouchListner(int touchPlay,FlickAction action){
      this.play = touchPlay;
      this.action = action;
   }
   @Override
   public boolean onTouch(View v,MotionEvent event){
      if (event.getAction()==MotionEvent.ACTION_DOWN){
         lastTouchX = event.getX();
      }else if(event.getAction()==MotionEvent.ACTION_UP){
         currentX = event.getX();
         if (lastTouchX < (currentX + play)){
            // 左 → 右
            action.right*1;
         }else if(lastTouchX > (currentX + play)){
            // 右 → 左
            action.left*2;
         }
      }
      return true;
   }
}

これを、
android.view.View.setOnTouchListener で指定するだけ

*1:int)(currentX - lastTouchX

*2:int)(currentX - lastTouchX