package com.robert.maps.applib.reflection;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.view.GestureDetector;
public abstract class VerGestureDetector {
public static VerGestureDetector newInstance() {
final int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
VerGestureDetector detector = null;
if (sdkVersion < Build.VERSION_CODES.FROYO) {
detector = new CupcakeDetector();
} else {
detector = new FroyoDetector();
}
return detector;
}
public abstract GestureDetector getGestureDetector(Context context, OnExGestureListener listener);
private static class CupcakeDetector extends VerGestureDetector {
@Override
public RGestureDetectorCupcake getGestureDetector(Context context, OnExGestureListener listener) {
return new RGestureDetectorCupcake(context, listener);
}
}
private static class FroyoDetector extends VerGestureDetector {
@SuppressLint("NewApi")
@Override
public RGestureDetectorFroyo getGestureDetector(Context context, OnExGestureListener listener) {
return new RGestureDetectorFroyo(context, listener, null, false);
}
}
}