Merge "Update samples to use new getMotionRanges() API." into honeycomb-mr1

This commit is contained in:
Jeff Brown
2011-03-09 18:33:55 -08:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 3 deletions

View File

@@ -33,6 +33,7 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.InputDevice.MotionRange;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ListView;
@@ -152,8 +153,24 @@ public class GameControllerInput extends Activity {
public InputDeviceState(InputDevice device) {
mDevice = device;
mAxes = device.getMotionAxes();
mAxisValues = new float[mAxes.length];
int numAxes = 0;
for (MotionRange range : device.getMotionRanges()) {
if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
numAxes += 1;
}
}
mAxes = new int[numAxes];
mAxisValues = new float[numAxes];
int i = 0;
for (MotionRange range : device.getMotionRanges()) {
if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
numAxes += 1;
}
mAxes[i++] = range.getAxis();
}
mKeys = new SparseIntArray();
}

View File

@@ -264,7 +264,7 @@ public class GameView extends View {
private static float getCenteredAxis(MotionEvent event, InputDevice device,
int axis, int historyPos) {
final InputDevice.MotionRange range = device.getMotionRange(axis);
final InputDevice.MotionRange range = device.getMotionRange(axis, event.getSource());
if (range != null) {
final float flat = range.getFlat();
final float value = historyPos < 0 ? event.getAxisValue(axis)