# HG changeset patch # User Medo # Date 1333129249 -7200 # Node ID 2dd2c0f2c9d01ee2f84c5f4bef88bff3bcdc71c6 # Parent a137733c5776c2fac057f1e0a24fc52ae13f83a0 Remove API Level 8 dependency found by Android Lint diff -r a137733c5776 -r 2dd2c0f2c9d0 project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/SDLActivity.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/SDLActivity.java Fri Mar 30 17:00:34 2012 +0400 +++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/SDLActivity.java Fri Mar 30 19:40:49 2012 +0200 @@ -571,34 +571,29 @@ // Touch events public boolean onTouch(View v, MotionEvent event) { - { - final int touchDevId = event.getDeviceId(); - final int pointerCount = event.getPointerCount(); - // touchId, pointerId, action, x, y, pressure - int actionPointerIndex = event.getActionIndex(); - int pointerFingerId = event.getPointerId(actionPointerIndex); - int action = event.getActionMasked(); - - float x = event.getX(actionPointerIndex); - float y = event.getY(actionPointerIndex); - float p = event.getPressure(actionPointerIndex); + final int action = event.getAction() & MotionEvent.ACTION_MASK; + final int actionPointerIndex = event.getAction() & MotionEvent.ACTION_POINTER_ID_MASK; - if (action == MotionEvent.ACTION_MOVE && pointerCount > 1) { - // TODO send motion to every pointer if its position has - // changed since prev event. - for (int i = 0; i < pointerCount; i++) { - pointerFingerId = event.getPointerId(i); - x = event.getX(i); - y = event.getY(i); - p = event.getPressure(i); - SDLActivity.onNativeTouch(touchDevId, pointerFingerId, action, x, y, p); - } - } else { - SDLActivity.onNativeTouch(touchDevId, pointerFingerId, action, x, y, p); + if (action == MotionEvent.ACTION_MOVE) { + // TODO send motion to every pointer if its position has + // changed since prev event. + for (int i = 0; i < event.getPointerCount(); i++) { + sendNativeTouch(event, action, i); } + } else { + sendNativeTouch(event, action, actionPointerIndex); } return true; } + + private static void sendNativeTouch(MotionEvent event, int action, int pointerIndex) { + int touchDevId = event.getDeviceId(); + int pointerFingerId = event.getPointerId(pointerIndex); + float x = event.getX(pointerIndex); + float y = event.getY(pointerIndex); + float pressure = event.getPressure(pointerIndex); + SDLActivity.onNativeTouch(touchDevId, pointerFingerId, action, x, y, pressure); + } // Sensor events public void enableSensor(int sensortype, boolean enabled) { @@ -624,6 +619,5 @@ event.values[2] / SensorManager.GRAVITY_EARTH); } } - } diff -r a137733c5776 -r 2dd2c0f2c9d0 project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/Utils.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/Utils.java Fri Mar 30 17:00:34 2012 +0400 +++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/Utils.java Fri Mar 30 19:40:49 2012 +0200 @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.List; +import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.os.Build; @@ -54,6 +55,7 @@ return getCachePath(c) + ROOT_DIR; } + @TargetApi(8) static class FroyoSDCardDir{ public static String getDownloadPath(Context c){ File f = c.getExternalCacheDir();