aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/android/org
diff options
context:
space:
mode:
authorD G Turner2014-02-21 16:29:23 +0000
committerD G Turner2014-02-21 16:29:23 +0000
commit0def54a60d8a5c6e63bb5db238bbadf388dede97 (patch)
treedeb2a8900edd0466942ba4a538e5a872754e7f40 /backends/platform/android/org
parentcda0598047724433e511182ffd3b17b08233f084 (diff)
downloadscummvm-rg350-0def54a60d8a5c6e63bb5db238bbadf388dede97.tar.gz
scummvm-rg350-0def54a60d8a5c6e63bb5db238bbadf388dede97.tar.bz2
scummvm-rg350-0def54a60d8a5c6e63bb5db238bbadf388dede97.zip
ANDROID: Fix runtime failure on earlier versions of Android.
getAxisValue() is only present from Android 3.1 onwards and usage causes a runtime failure on earlier versions of Android. This bug was introduced by a50ede20 with addition of OUYA support. This solution is as recommended on the Android developer portal.
Diffstat (limited to 'backends/platform/android/org')
-rw-r--r--backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java
index 702215341b..eef5d1911b 100644
--- a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java
@@ -1,5 +1,6 @@
package org.scummvm.scummvm;
+import android.os.Build;
import android.os.Handler;
import android.os.Message;
import android.content.Context;
@@ -69,13 +70,16 @@ public class ScummVMEvents implements
}
public boolean onGenericMotionEvent(final MotionEvent e) {
- if((e.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
- _scummvm.pushEvent(JE_JOYSTICK, e.getAction(),
- (int)(e.getAxisValue(MotionEvent.AXIS_X)*100),
- (int)(e.getAxisValue(MotionEvent.AXIS_Y)*100),
- 0, 0);
- return true;
- }
+ // Make sure we're running on Android 3.1 or higher to use getAxisValue()
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) {
+ if((e.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
+ _scummvm.pushEvent(JE_JOYSTICK, e.getAction(),
+ (int)(e.getAxisValue(MotionEvent.AXIS_X)*100),
+ (int)(e.getAxisValue(MotionEvent.AXIS_Y)*100),
+ 0, 0);
+ return true;
+ }
+ }
return false;
}