ApiDemos: Fix array indexing bug in game controller demo.
Change-Id: Ic7f1ce8bed39b2c10dd0e583c3ad118095f14752
diff --git a/samples/ApiDemos/src/com/example/android/apis/view/GameControllerInput.java b/samples/ApiDemos/src/com/example/android/apis/view/GameControllerInput.java
index 8aea949..fdc30e2 100644
--- a/samples/ApiDemos/src/com/example/android/apis/view/GameControllerInput.java
+++ b/samples/ApiDemos/src/com/example/android/apis/view/GameControllerInput.java
@@ -41,6 +41,7 @@
import android.widget.Toast;
import java.util.ArrayList;
+import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
@@ -155,7 +156,8 @@
mDevice = device;
int numAxes = 0;
- for (MotionRange range : device.getMotionRanges()) {
+ final List<MotionRange> ranges = device.getMotionRanges();
+ for (MotionRange range : ranges) {
if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
numAxes += 1;
}
@@ -164,11 +166,10 @@
mAxes = new int[numAxes];
mAxisValues = new float[numAxes];
int i = 0;
- for (MotionRange range : device.getMotionRanges()) {
+ for (MotionRange range : ranges) {
if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
- numAxes += 1;
+ mAxes[i++] = range.getAxis();
}
- mAxes[i++] = range.getAxis();
}
mKeys = new SparseIntArray();