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();