diff --git a/shell/android-studio/app/build.gradle b/shell/android-studio/app/build.gradle
index 780a642d2..a10b38eb8 100644
--- a/shell/android-studio/app/build.gradle
+++ b/shell/android-studio/app/build.gradle
@@ -6,7 +6,7 @@ android {
defaultConfig {
applicationId "com.reicast.emulator"
- minSdkVersion 9
+ minSdkVersion 16
targetSdkVersion 21
versionCode="7"
versionName="r7"
diff --git a/shell/android-studio/app/src/main/AndroidManifest.xml b/shell/android-studio/app/src/main/AndroidManifest.xml
index be0f34883..cdee4b7e6 100644
--- a/shell/android-studio/app/src/main/AndroidManifest.xml
+++ b/shell/android-studio/app/src/main/AndroidManifest.xml
@@ -8,14 +8,9 @@
android:smallScreens="true"
android:xlargeScreens="true" />
-
-
-
@@ -48,10 +43,6 @@
android:logo="@drawable/ic_banner"
android:hardwareAccelerated="true"
android:isGame="true">
-
-
e : pad.deviceDescriptor_PlayerNum
- .entrySet()) {
+ for (HashMap.Entry e : pad.deviceDescriptor_PlayerNum.entrySet()) {
String descriptor = e.getKey();
Integer playerNum = e.getValue();
@@ -128,72 +124,64 @@ public class GL2JNIActivity extends Activity {
}
}
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
-
- JNIdc.initControllers(new boolean[] { controllerTwoConnected,
- controllerThreeConnected, controllerFourConnected });
- int joys[] = InputDevice.getDeviceIds();
- for (int joy: joys) {
- String descriptor = null;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
- descriptor = InputDevice.getDevice(joy).getDescriptor();
- } else {
- descriptor = InputDevice.getDevice(joy).getName();
- }
- Log.d("reicast", "InputDevice ID: " + joy);
- Log.d("reicast",
- "InputDevice Name: "
- + InputDevice.getDevice(joy).getName());
- Log.d("reicast", "InputDevice Descriptor: " + descriptor);
- pad.deviceId_deviceDescriptor.put(joy, descriptor);
+ JNIdc.initControllers(new boolean[] { controllerTwoConnected,
+ controllerThreeConnected, controllerFourConnected });
+ int joys[] = InputDevice.getDeviceIds();
+ for (int joy: joys) {
+ String descriptor = null;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ descriptor = InputDevice.getDevice(joy).getDescriptor();
+ } else {
+ descriptor = InputDevice.getDevice(joy).getName();
}
+ Log.d("reicast", "InputDevice ID: " + joy);
+ Log.d("reicast",
+ "InputDevice Name: "
+ + InputDevice.getDevice(joy).getName());
+ Log.d("reicast", "InputDevice Descriptor: " + descriptor);
+ pad.deviceId_deviceDescriptor.put(joy, descriptor);
+ }
- for (int joy :joys) {
- Integer playerNum = pad.deviceDescriptor_PlayerNum
- .get(pad.deviceId_deviceDescriptor.get(joy));
+ for (int joy :joys) {
+ Integer playerNum = pad.deviceDescriptor_PlayerNum
+ .get(pad.deviceId_deviceDescriptor.get(joy));
- if (playerNum != null) {
- String id = pad.portId[playerNum];
- pad.custom[playerNum] = prefs.getBoolean(Gamepad.pref_js_modified + id, false);
- pad.compat[playerNum] = prefs.getBoolean(Gamepad.pref_js_compat + id, false);
- pad.joystick[playerNum] = prefs.getBoolean(Gamepad.pref_js_merged + id, false);
- if (InputDevice.getDevice(joy).getName()
- .contains(Gamepad.controllers_gamekey)) {
- if (pad.custom[playerNum]) {
- pad.setCustomMapping(id, playerNum, prefs);
- } else {
- pad.map[playerNum] = pad.getConsoleController();
- }
- } else if (!pad.compat[playerNum]) {
- if (pad.custom[playerNum]) {
- pad.setCustomMapping(id, playerNum, prefs);
- } else if (InputDevice.getDevice(joy).getName()
- .equals(Gamepad.controllers_sony)) {
- pad.map[playerNum] = pad.getConsoleController();
- } else if (InputDevice.getDevice(joy).getName()
- .equals(Gamepad.controllers_xbox)) {
- pad.map[playerNum] = pad.getConsoleController();
- } else if (InputDevice.getDevice(joy).getName()
- .contains(Gamepad.controllers_shield)) {
- pad.map[playerNum] = pad.getConsoleController();
- } else if (InputDevice.getDevice(joy).getName()
- .contains(Gamepad.controllers_play)) {
- pad.map[playerNum] = pad.getXPlayController();
- } else if (!pad.isActiveMoga[playerNum]) { // Ouya controller
- pad.map[playerNum] = pad.getOUYAController();
- }
+ if (playerNum != null) {
+ String id = pad.portId[playerNum];
+ pad.custom[playerNum] = prefs.getBoolean(Gamepad.pref_js_modified + id, false);
+ pad.compat[playerNum] = prefs.getBoolean(Gamepad.pref_js_compat + id, false);
+ pad.joystick[playerNum] = prefs.getBoolean(Gamepad.pref_js_merged + id, false);
+ if (InputDevice.getDevice(joy).getName()
+ .contains(Gamepad.controllers_gamekey)) {
+ if (pad.custom[playerNum]) {
+ pad.setCustomMapping(id, playerNum, prefs);
} else {
- pad.getCompatibilityMap(playerNum, id, prefs);
+ pad.map[playerNum] = pad.getConsoleController();
+ }
+ } else if (!pad.compat[playerNum]) {
+ if (pad.custom[playerNum]) {
+ pad.setCustomMapping(id, playerNum, prefs);
+ } else if (InputDevice.getDevice(joy).getName()
+ .equals(Gamepad.controllers_sony)) {
+ pad.map[playerNum] = pad.getConsoleController();
+ } else if (InputDevice.getDevice(joy).getName()
+ .equals(Gamepad.controllers_xbox)) {
+ pad.map[playerNum] = pad.getConsoleController();
+ } else if (InputDevice.getDevice(joy).getName()
+ .contains(Gamepad.controllers_shield)) {
+ pad.map[playerNum] = pad.getConsoleController();
+ } else if (!pad.isActiveMoga[playerNum]) { // Ouya controller
+ pad.map[playerNum] = pad.getOUYAController();
}
- pad.initJoyStickLayout(playerNum);
} else {
- pad.runCompatibilityMode(joy, prefs);
+ pad.getCompatibilityMap(playerNum, id, prefs);
}
+ pad.initJoyStickLayout(playerNum);
+ } else {
+ pad.runCompatibilityMode(joy, prefs);
}
- if (joys.length == 0) {
- pad.fullCompatibilityMode(prefs);
- }
- } else {
+ }
+ if (joys.length == 0) {
pad.fullCompatibilityMode(prefs);
}
@@ -243,92 +231,21 @@ public class GL2JNIActivity extends Activity {
@Override
public boolean onGenericMotionEvent(MotionEvent event) {
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
-
- Integer playerNum = Arrays.asList(pad.name).indexOf(event.getDeviceId());
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD && playerNum == -1) {
- playerNum = pad.deviceDescriptor_PlayerNum
+ Integer playerNum = Arrays.asList(pad.name).indexOf(event.getDeviceId());
+ if (playerNum == -1) {
+ playerNum = pad.deviceDescriptor_PlayerNum
.get(pad.deviceId_deviceDescriptor.get(event.getDeviceId()));
- } else {
- playerNum = -1;
- }
-
- if (playerNum == null || playerNum == -1)
- return false;
-
- if (!pad.compat[playerNum]) {
-
- // Joystick
- if ((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
-
- // do other things with joystick
- float LS_X = event.getAxisValue(OuyaController.AXIS_LS_X);
- float LS_Y = event.getAxisValue(OuyaController.AXIS_LS_Y);
- float RS_X = event.getAxisValue(OuyaController.AXIS_RS_X);
- float RS_Y = event.getAxisValue(OuyaController.AXIS_RS_Y);
- float L2 = event.getAxisValue(OuyaController.AXIS_L2);
- float R2 = event.getAxisValue(OuyaController.AXIS_R2);
-
- if (!pad.joystick[playerNum]) {
- pad.previousLS_X[playerNum] = pad.globalLS_X[playerNum];
- pad.previousLS_Y[playerNum] = pad.globalLS_Y[playerNum];
- pad.globalLS_X[playerNum] = LS_X;
- pad.globalLS_Y[playerNum] = LS_Y;
- }
-
- GL2JNIView.jx[playerNum] = (int) (LS_X * 126);
- GL2JNIView.jy[playerNum] = (int) (LS_Y * 126);
-
- GL2JNIView.lt[playerNum] = (int) (L2 * 255);
- GL2JNIView.rt[playerNum] = (int) (R2 * 255);
-
- if (prefs.getBoolean(Gamepad.pref_js_rbuttons + pad.portId[playerNum], true)) {
- if (RS_Y > 0.25) {
- handle_key(playerNum, pad.map[playerNum][0]/* A */, true);
- pad.wasKeyStick[playerNum] = true;
- } else if (RS_Y < 0.25) {
- handle_key(playerNum, pad.map[playerNum][1]/* B */, true);
- pad.wasKeyStick[playerNum] = true;
- } else if (pad.wasKeyStick[playerNum]){
- handle_key(playerNum, pad.map[playerNum][0], false);
- handle_key(playerNum, pad.map[playerNum][1], false);
- pad.wasKeyStick[playerNum] = false;
- }
- } else {
- if (RS_Y > 0.25) {
- GL2JNIView.rt[playerNum] = (int) (RS_Y * 255);
- GL2JNIView.lt[playerNum] = (int) (L2 * 255);
- } else if (RS_Y < 0.25) {
- GL2JNIView.rt[playerNum] = (int) (R2 * 255);
- GL2JNIView.lt[playerNum] = (int) (-(RS_Y) * 255);
- }
- }
- }
-
- }
- mView.pushInput();
- if (!pad.joystick[playerNum] && (pad.globalLS_X[playerNum] == pad.previousLS_X[playerNum] && pad.globalLS_Y[playerNum] == pad.previousLS_Y[playerNum])
- || (pad.previousLS_X[playerNum] == 0.0f && pad.previousLS_Y[playerNum] == 0.0f))
- // Only handle Left Stick on an Xbox 360 controller if there was
- // some actual motion on the stick,
- // so otherwise the event can be handled as a DPAD event
- return false;
- else
- return true;
-
} else {
- return false;
+ playerNum = -1;
}
- }
-
- public boolean motionEventHandler(Integer playerNum, com.bda.controller.MotionEvent event) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
- if (playerNum == null || playerNum == -1)
- return false;
+ if (playerNum == null || playerNum == -1)
+ return false;
- if (!pad.compat[playerNum]) {
+ if (!pad.compat[playerNum]) {
+
+ // Joystick
+ if ((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
// do other things with joystick
float LS_X = event.getAxisValue(OuyaController.AXIS_LS_X);
@@ -372,21 +289,75 @@ public class GL2JNIActivity extends Activity {
GL2JNIView.lt[playerNum] = (int) (-(RS_Y) * 255);
}
}
-
}
- mView.pushInput();
- if (!pad.joystick[playerNum] && (pad.globalLS_X[playerNum] == pad.previousLS_X[playerNum] && pad.globalLS_Y[playerNum] == pad.previousLS_Y[playerNum])
- || (pad.previousLS_X[playerNum] == 0.0f && pad.previousLS_Y[playerNum] == 0.0f))
- // Only handle Left Stick on an Xbox 360 controller if there was
- // some actual motion on the stick,
- // so otherwise the event can be handled as a DPAD event
- return false;
- else
- return true;
- } else {
- return false;
}
+ mView.pushInput();
+ // Only handle Left Stick on an Xbox 360 controller if there was
+ // some actual motion on the stick,
+ // so otherwise the event can be handled as a DPAD event
+ return (pad.joystick[playerNum] || (!(pad.globalLS_X[playerNum] == pad.previousLS_X[playerNum])
+ || !(pad.globalLS_Y[playerNum] == pad.previousLS_Y[playerNum])))
+ && (!(pad.previousLS_X[playerNum] == 0.0f) || !(pad.previousLS_Y[playerNum] == 0.0f));
+ }
+
+ public boolean motionEventHandler(Integer playerNum, com.bda.controller.MotionEvent event) {
+ if (playerNum == null || playerNum == -1)
+ return false;
+
+ if (!pad.compat[playerNum]) {
+
+ // do other things with joystick
+ float LS_X = event.getAxisValue(OuyaController.AXIS_LS_X);
+ float LS_Y = event.getAxisValue(OuyaController.AXIS_LS_Y);
+ float RS_X = event.getAxisValue(OuyaController.AXIS_RS_X);
+ float RS_Y = event.getAxisValue(OuyaController.AXIS_RS_Y);
+ float L2 = event.getAxisValue(OuyaController.AXIS_L2);
+ float R2 = event.getAxisValue(OuyaController.AXIS_R2);
+
+ if (!pad.joystick[playerNum]) {
+ pad.previousLS_X[playerNum] = pad.globalLS_X[playerNum];
+ pad.previousLS_Y[playerNum] = pad.globalLS_Y[playerNum];
+ pad.globalLS_X[playerNum] = LS_X;
+ pad.globalLS_Y[playerNum] = LS_Y;
+ }
+
+ GL2JNIView.jx[playerNum] = (int) (LS_X * 126);
+ GL2JNIView.jy[playerNum] = (int) (LS_Y * 126);
+
+ GL2JNIView.lt[playerNum] = (int) (L2 * 255);
+ GL2JNIView.rt[playerNum] = (int) (R2 * 255);
+
+ if (prefs.getBoolean(Gamepad.pref_js_rbuttons + pad.portId[playerNum], true)) {
+ if (RS_Y > 0.25) {
+ handle_key(playerNum, pad.map[playerNum][0]/* A */, true);
+ pad.wasKeyStick[playerNum] = true;
+ } else if (RS_Y < 0.25) {
+ handle_key(playerNum, pad.map[playerNum][1]/* B */, true);
+ pad.wasKeyStick[playerNum] = true;
+ } else if (pad.wasKeyStick[playerNum]){
+ handle_key(playerNum, pad.map[playerNum][0], false);
+ handle_key(playerNum, pad.map[playerNum][1], false);
+ pad.wasKeyStick[playerNum] = false;
+ }
+ } else {
+ if (RS_Y > 0.25) {
+ GL2JNIView.rt[playerNum] = (int) (RS_Y * 255);
+ GL2JNIView.lt[playerNum] = (int) (L2 * 255);
+ } else if (RS_Y < 0.25) {
+ GL2JNIView.rt[playerNum] = (int) (R2 * 255);
+ GL2JNIView.lt[playerNum] = (int) (-(RS_Y) * 255);
+ }
+ }
+
+ }
+ mView.pushInput();
+ // Only handle Left Stick on an Xbox 360 controller if there was
+ // some actual motion on the stick,
+ // so otherwise the event can be handled as a DPAD event
+ return (pad.joystick[playerNum] || (!(pad.globalLS_X[playerNum] == pad.previousLS_X[playerNum])
+ || !(pad.globalLS_Y[playerNum] == pad.previousLS_Y[playerNum])))
+ && (!(pad.previousLS_X[playerNum] == 0.0f) || !(pad.previousLS_Y[playerNum] == 0.0f));
}
public boolean simulatedTouchEvent(int playerNum, float L2, float R2) {
@@ -478,7 +449,7 @@ public class GL2JNIActivity extends Activity {
public boolean onKeyUp(int keyCode, KeyEvent event) {
Integer playerNum = Arrays.asList(pad.name).indexOf(event.getDeviceId());
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD && playerNum == -1) {
+ if (playerNum == -1) {
playerNum = pad.deviceDescriptor_PlayerNum
.get(pad.deviceId_deviceDescriptor.get(event.getDeviceId()));
} else {
@@ -503,7 +474,7 @@ public class GL2JNIActivity extends Activity {
public boolean onKeyDown(int keyCode, KeyEvent event) {
Integer playerNum = Arrays.asList(pad.name).indexOf(event.getDeviceId());
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD && playerNum == -1) {
+ if (playerNum == -1) {
playerNum = pad.deviceDescriptor_PlayerNum
.get(pad.deviceId_deviceDescriptor.get(event.getDeviceId()));
} else {
@@ -531,19 +502,13 @@ public class GL2JNIActivity extends Activity {
if (keyCode == pad.getSelectButtonCode()) {
return showMenu();
}
- if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1
- || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH
- && ViewConfiguration.get(this).hasPermanentMenuKey())) {
+ if (ViewConfiguration.get(this).hasPermanentMenuKey()) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
return showMenu();
}
}
if (keyCode == KeyEvent.KEYCODE_BACK) {
- if (pad.isXperiaPlay) {
- return true;
- } else {
- return showMenu();
- }
+ return showMenu();
}
return super.onKeyDown(keyCode, event);
}
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/GL2JNINative.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/GL2JNINative.java
index 1ae9ca475..7067b4a53 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/GL2JNINative.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/GL2JNINative.java
@@ -1,6 +1,5 @@
package com.reicast.emulator;
-import android.annotation.TargetApi;
import android.app.NativeActivity;
import android.content.SharedPreferences;
import android.content.res.Configuration;
@@ -37,7 +36,6 @@ import java.util.HashMap;
import tv.ouya.console.api.OuyaController;
-@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
public class GL2JNINative extends NativeActivity {
public GL2JNIView mView;
OnScreenMenu menu;
@@ -57,7 +55,6 @@ public class GL2JNINative extends NativeActivity {
native int RegisterNative(boolean touchpad);
- @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
protected void onCreate(Bundle icicle) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -68,12 +65,11 @@ public class GL2JNINative extends NativeActivity {
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
}
getWindow().takeSurface(null);
-
- pad.isXperiaPlay = pad.IsXperiaPlay();
+
pad.isOuyaOrTV = pad.IsOuyaOrTV(GL2JNINative.this);
// isNvidiaShield = Gamepad.IsNvidiaShield();
- RegisterNative(pad.isXperiaPlay);
+ RegisterNative(false);
Emulator app = (Emulator)getApplicationContext();
app.getConfigurationPrefs(prefs);
@@ -124,92 +120,62 @@ public class GL2JNINative extends NativeActivity {
}
}
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
+ JNIdc.initControllers(new boolean[] { controllerTwoConnected,
+ controllerThreeConnected, controllerFourConnected });
+ int joys[] = InputDevice.getDeviceIds();
+ for (int joy : joys) {
+ String descriptor = descriptor = InputDevice.getDevice(joy).getDescriptor();
+ Log.d("reicast", "InputDevice ID: " + joy);
+ Log.d("reicast", "InputDevice Name: " + InputDevice.getDevice(joy).getName());
+ Log.d("reicast", "InputDevice Descriptor: " + descriptor);
+ pad.deviceId_deviceDescriptor.put(joy, descriptor);
+ }
- JNIdc.initControllers(new boolean[] { controllerTwoConnected,
- controllerThreeConnected, controllerFourConnected });
- int joys[] = InputDevice.getDeviceIds();
- for (int joy : joys) {
- String descriptor = null;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
- descriptor = InputDevice.getDevice(joy).getDescriptor();
- } else {
- descriptor = InputDevice.getDevice(joy).getName();
- }
- Log.d("reicast", "InputDevice ID: " + joy);
- Log.d("reicast",
- "InputDevice Name: "
- + InputDevice.getDevice(joy).getName());
- if (pad.isXperiaPlay) {
- if (InputDevice.getDevice(joy).getName()
- .contains(Gamepad.controllers_play_gp)) {
- pad.keypadZeus[0] = joy;
- }
- if (InputDevice.getDevice(joy).getName()
- .contains(Gamepad.controllers_play_tp)) {
- pad.keypadZeus[1] = joy;
- }
- }
- Log.d("reicast", "InputDevice Descriptor: " + descriptor);
- pad.deviceId_deviceDescriptor.put(joy, descriptor);
- }
+ for (int joy : joys) {
+ Integer playerNum = pad.deviceDescriptor_PlayerNum
+ .get(pad.deviceId_deviceDescriptor.get(joy));
- for (int joy : joys) {
- Integer playerNum = pad.deviceDescriptor_PlayerNum
- .get(pad.deviceId_deviceDescriptor.get(joy));
-
- if (playerNum != null) {
- String id = pad.portId[playerNum];
- pad.custom[playerNum] = prefs.getBoolean(Gamepad.pref_js_modified + id, false);
- pad.compat[playerNum] = prefs.getBoolean(Gamepad.pref_js_compat + id, false);
- pad.joystick[playerNum] = prefs.getBoolean(Gamepad.pref_js_merged + id, false);
- if (InputDevice.getDevice(joy).getName()
- .contains(Gamepad.controllers_gamekey)) {
+ if (playerNum != null) {
+ String id = pad.portId[playerNum];
+ pad.custom[playerNum] = prefs.getBoolean(Gamepad.pref_js_modified + id, false);
+ pad.compat[playerNum] = prefs.getBoolean(Gamepad.pref_js_compat + id, false);
+ pad.joystick[playerNum] = prefs.getBoolean(Gamepad.pref_js_merged + id, false);
+ if (InputDevice.getDevice(joy).getName()
+ .contains(Gamepad.controllers_gamekey)) {
// if (pad.custom[playerNum]) {
// setCustomMapping(id, playerNum);
// } else {
// pad.map[playerNum] = pad.getConsoleController();
// }
- new Handler().post(new Runnable() {
- public void run() {
- Toast.makeText(getApplicationContext(), R.string.controller_unavailable,
- Toast.LENGTH_SHORT).show();
- finish();
- }
- });
+ new Handler().post(new Runnable() {
+ public void run() {
+ Toast.makeText(getApplicationContext(), R.string.controller_unavailable,
+ Toast.LENGTH_SHORT).show();
+ finish();
+ }
+ });
+ } else if (!pad.compat[playerNum]) {
+ if (pad.custom[playerNum]) {
+ pad.setCustomMapping(id, playerNum, prefs);
} else if (InputDevice.getDevice(joy).getName()
- .contains(Gamepad.controllers_play) ) {
- for (int keys : pad.keypadZeus) {
- pad.playerNumX.put(keys, playerNum);
- }
- if (pad.custom[playerNum]) {
- pad.setCustomMapping(id, playerNum, prefs);
- } else {
- pad.map[playerNum] = pad.getXPlayController();
- }
- } else if (!pad.compat[playerNum]) {
- if (pad.custom[playerNum]) {
- pad.setCustomMapping(id, playerNum, prefs);
- } else if (InputDevice.getDevice(joy).getName()
- .equals(Gamepad.controllers_sony)) {
- pad.map[playerNum] = pad.getConsoleController();
- } else if (InputDevice.getDevice(joy).getName()
- .equals(Gamepad.controllers_xbox)) {
- pad.map[playerNum] = pad.getConsoleController();
- } else if (InputDevice.getDevice(joy).getName()
- .contains(Gamepad.controllers_shield)) {
- pad.map[playerNum] = pad.getConsoleController();
- } else if (!pad.isActiveMoga[playerNum]) { // Ouya controller
- pad.map[playerNum] = pad.getOUYAController();
- }
- } else{
- pad.getCompatibilityMap(playerNum, id, prefs);
+ .equals(Gamepad.controllers_sony)) {
+ pad.map[playerNum] = pad.getConsoleController();
+ } else if (InputDevice.getDevice(joy).getName()
+ .equals(Gamepad.controllers_xbox)) {
+ pad.map[playerNum] = pad.getConsoleController();
+ } else if (InputDevice.getDevice(joy).getName()
+ .contains(Gamepad.controllers_shield)) {
+ pad.map[playerNum] = pad.getConsoleController();
+ } else if (!pad.isActiveMoga[playerNum]) { // Ouya controller
+ pad.map[playerNum] = pad.getOUYAController();
}
- pad.initJoyStickLayout(playerNum);
- pad.playerNumX.put(joy, playerNum);
- } else {
- pad.runCompatibilityMode(joy, prefs);
+ } else{
+ pad.getCompatibilityMap(playerNum, id, prefs);
}
+ pad.initJoyStickLayout(playerNum);
+ pad.playerNumX.put(joy, playerNum);
+ } else {
+ pad.runCompatibilityMode(joy, prefs);
}
}
@@ -322,70 +288,62 @@ public class GL2JNINative extends NativeActivity {
}
public boolean motionEventHandler(Integer playerNum, com.bda.controller.MotionEvent event) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
-
- if (playerNum == null || playerNum == -1)
- return false;
-
- if (!pad.compat[playerNum]) {
-
- // do other things with joystick
- float LS_X = event.getAxisValue(OuyaController.AXIS_LS_X);
- float LS_Y = event.getAxisValue(OuyaController.AXIS_LS_Y);
- float RS_X = event.getAxisValue(OuyaController.AXIS_RS_X);
- float RS_Y = event.getAxisValue(OuyaController.AXIS_RS_Y);
- float L2 = event.getAxisValue(OuyaController.AXIS_L2);
- float R2 = event.getAxisValue(OuyaController.AXIS_R2);
-
- if (!pad.joystick[playerNum]) {
- pad.previousLS_X[playerNum] = pad.globalLS_X[playerNum];
- pad.previousLS_Y[playerNum] = pad.globalLS_Y[playerNum];
- pad.globalLS_X[playerNum] = LS_X;
- pad.globalLS_Y[playerNum] = LS_Y;
- }
-
- GL2JNIView.jx[playerNum] = (int) (LS_X * 126);
- GL2JNIView.jy[playerNum] = (int) (LS_Y * 126);
-
- GL2JNIView.lt[playerNum] = (int) (L2 * 255);
- GL2JNIView.rt[playerNum] = (int) (R2 * 255);
-
- if (prefs.getBoolean(Gamepad.pref_js_rbuttons + pad.portId[playerNum], true)) {
- if (RS_Y > 0.25) {
- handle_key(playerNum, pad.map[playerNum][0]/* A */, true);
- pad.wasKeyStick[playerNum] = true;
- } else if (RS_Y < 0.25) {
- handle_key(playerNum, pad.map[playerNum][1]/* B */, true);
- pad.wasKeyStick[playerNum] = true;
- } else if (pad.wasKeyStick[playerNum]){
- handle_key(playerNum, pad.map[playerNum][0], false);
- handle_key(playerNum, pad.map[playerNum][1], false);
- pad.wasKeyStick[playerNum] = false;
- }
- } else {
- if (RS_Y > 0.25) {
- GL2JNIView.rt[playerNum] = (int) (RS_Y * 255);
- GL2JNIView.lt[playerNum] = (int) (L2 * 255);
- } else if (RS_Y < 0.25) {
- GL2JNIView.rt[playerNum] = (int) (R2 * 255);
- GL2JNIView.lt[playerNum] = (int) (-(RS_Y) * 255);
- }
- }
-
- }
- mView.pushInput();
- if (!pad.joystick[playerNum] && (pad.globalLS_X[playerNum] == pad.previousLS_X[playerNum] && pad.globalLS_Y[playerNum] == pad.previousLS_Y[playerNum])
- || (pad.previousLS_X[playerNum] == 0.0f && pad.previousLS_Y[playerNum] == 0.0f))
- // Only handle Left Stick on an Xbox 360 controller if there was
- // some actual motion on the stick,
- // so otherwise the event can be handled as a DPAD event
- return false;
- else
- return true;
-
- } else {
+ if (playerNum == null || playerNum == -1)
return false;
+
+ if (!pad.compat[playerNum]) {
+
+ // do other things with joystick
+ float LS_X = event.getAxisValue(OuyaController.AXIS_LS_X);
+ float LS_Y = event.getAxisValue(OuyaController.AXIS_LS_Y);
+ float RS_X = event.getAxisValue(OuyaController.AXIS_RS_X);
+ float RS_Y = event.getAxisValue(OuyaController.AXIS_RS_Y);
+ float L2 = event.getAxisValue(OuyaController.AXIS_L2);
+ float R2 = event.getAxisValue(OuyaController.AXIS_R2);
+
+ if (!pad.joystick[playerNum]) {
+ pad.previousLS_X[playerNum] = pad.globalLS_X[playerNum];
+ pad.previousLS_Y[playerNum] = pad.globalLS_Y[playerNum];
+ pad.globalLS_X[playerNum] = LS_X;
+ pad.globalLS_Y[playerNum] = LS_Y;
+ }
+
+ GL2JNIView.jx[playerNum] = (int) (LS_X * 126);
+ GL2JNIView.jy[playerNum] = (int) (LS_Y * 126);
+
+ GL2JNIView.lt[playerNum] = (int) (L2 * 255);
+ GL2JNIView.rt[playerNum] = (int) (R2 * 255);
+
+ if (prefs.getBoolean(Gamepad.pref_js_rbuttons + pad.portId[playerNum], true)) {
+ if (RS_Y > 0.25) {
+ handle_key(playerNum, pad.map[playerNum][0]/* A */, true);
+ pad.wasKeyStick[playerNum] = true;
+ } else if (RS_Y < 0.25) {
+ handle_key(playerNum, pad.map[playerNum][1]/* B */, true);
+ pad.wasKeyStick[playerNum] = true;
+ } else if (pad.wasKeyStick[playerNum]){
+ handle_key(playerNum, pad.map[playerNum][0], false);
+ handle_key(playerNum, pad.map[playerNum][1], false);
+ pad.wasKeyStick[playerNum] = false;
+ }
+ } else {
+ if (RS_Y > 0.25) {
+ GL2JNIView.rt[playerNum] = (int) (RS_Y * 255);
+ GL2JNIView.lt[playerNum] = (int) (L2 * 255);
+ } else if (RS_Y < 0.25) {
+ GL2JNIView.rt[playerNum] = (int) (R2 * 255);
+ GL2JNIView.lt[playerNum] = (int) (-(RS_Y) * 255);
+ }
+ }
+
}
+ mView.pushInput();
+ // Only handle Left Stick on an Xbox 360 controller if there was
+ // some actual motion on the stick,
+ // so otherwise the event can be handled as a DPAD event
+ return (pad.joystick[playerNum] || (!(pad.globalLS_X[playerNum] == pad.previousLS_X[playerNum])
+ || !(pad.globalLS_Y[playerNum] == pad.previousLS_Y[playerNum])))
+ && (!(pad.previousLS_X[playerNum] == 0.0f) || !(pad.previousLS_Y[playerNum] == 0.0f));
}
@Override
@@ -393,11 +351,10 @@ public class GL2JNINative extends NativeActivity {
// Log.w("INPUT", event.toString() + " " + event.getSource());
// Get all the axis for the KeyEvent
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD
- && event.getSource() != Gamepad.Xperia_Touchpad) {
+ if (event.getSource() != Gamepad.Xperia_Touchpad) {
Integer playerNum = Arrays.asList(pad.name).indexOf(event.getDeviceId());
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD && playerNum == -1) {
+ if (playerNum == -1) {
playerNum = pad.deviceDescriptor_PlayerNum
.get(pad.deviceId_deviceDescriptor.get(event.getDeviceId()));
} else {
@@ -495,34 +452,26 @@ public class GL2JNINative extends NativeActivity {
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
- return super.onKeyUp(keyCode, event);
- }
- return true;
+ return keyCode != KeyEvent.KEYCODE_VOLUME_UP
+ && keyCode != KeyEvent.KEYCODE_VOLUME_DOWN
+ || super.onKeyUp(keyCode, event);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == pad.getSelectButtonCode()) {
return showMenu();
- }
- if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1
- || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH
- && ViewConfiguration.get(this).hasPermanentMenuKey())) {
+ }
+ if (ViewConfiguration.get(this).hasPermanentMenuKey()) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
return showMenu();
}
}
if (keyCode == KeyEvent.KEYCODE_BACK) {
- if (pad.isXperiaPlay) {
- return true;
- } else {
- return showMenu();
- }
+ return showMenu();
}
- if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
- return super.onKeyDown(keyCode, event);
- }
- return true;
+ return keyCode != KeyEvent.KEYCODE_VOLUME_UP
+ && keyCode != KeyEvent.KEYCODE_VOLUME_DOWN
+ || super.onKeyDown(keyCode, event);
}
public boolean OnNativeKeyPress(int device, int keyCode, int action, int metaState) {
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/MainActivity.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/MainActivity.java
index e1d1e8682..dc8c99eba 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/MainActivity.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/MainActivity.java
@@ -138,14 +138,6 @@ public class MainActivity extends AppCompatActivity implements
// Check that the activity is using the layout version with
// the fragment_container FrameLayout
if (findViewById(R.id.fragment_container) != null) {
- // However, if we're being restored from a previous state,
- // then we don't need to do anything and should return or else
- // we could end up with overlapping fragments.
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR1) {
- if (savedInstanceState != null) {
- return;
- }
- }
onMainBrowseSelected(true, null, false, null);
}
@@ -411,9 +403,7 @@ public class MainActivity extends AppCompatActivity implements
CloudFragment cloudfragment = (CloudFragment) getSupportFragmentManager()
.findFragmentByTag("CLOUD_FRAG");
if (cloudfragment != null && cloudfragment.isVisible()) {
- if (cloudfragment != null) {
- cloudfragment.onResume();
- }
+ cloudfragment.onResume();
}
}
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/XMLParser.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/XMLParser.java
index 825449f40..be5da8df0 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/XMLParser.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/XMLParser.java
@@ -207,7 +207,7 @@ public class XMLParser extends AsyncTask {
game_details = mContext.getString(R.string.info_unavailable);
final String nameLower = game.getName().toLowerCase(
Locale.getDefault());
- if (Build.VERSION.SDK_INT < 21) {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
game_icon = mContext.getResources().getDrawable(
game.isDirectory() ? R.drawable.open_folder : nameLower
.endsWith(".gdi") ? R.drawable.gdi : nameLower
@@ -336,12 +336,12 @@ public class XMLParser extends AsyncTask {
fOut.flush();
fOut.close();
} catch (Exception ex) {
-
+ ex.printStackTrace();
}
return bitmap;
}
} catch (IOException e) {
-
+ e.printStackTrace();
}
return null;
}
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/config/EditVJoyActivity.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/config/EditVJoyActivity.java
index a3fbc7acd..cbe3b2cb1 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/config/EditVJoyActivity.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/config/EditVJoyActivity.java
@@ -1,6 +1,5 @@
package com.reicast.emulator.config;
-import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -27,7 +26,6 @@ import com.reicast.emulator.emu.JNIdc;
import com.reicast.emulator.emu.OnScreenMenu;
import com.reicast.emulator.periph.VJoy;
-@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
public class EditVJoyActivity extends Activity {
GL2JNIView mView;
PopupWindow popUp;
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/config/InputFragment.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/config/InputFragment.java
index 88b14fe36..2232f1ad6 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/config/InputFragment.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/config/InputFragment.java
@@ -75,20 +75,18 @@ public class InputFragment extends Fragment {
Config.vibrationDuration = sharedPreferences.getInt(Config.pref_vibrationDuration, 20);
vib = (Vibrator) getActivity().getSystemService(Context.VIBRATOR_SERVICE);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
- ImageView icon_a = (ImageView) getView().findViewById(
- R.id.controller_icon_a);
- icon_a.setAlpha(0.8f);
- ImageView icon_b = (ImageView) getView().findViewById(
- R.id.controller_icon_b);
- icon_b.setAlpha(0.8f);
- ImageView icon_c = (ImageView) getView().findViewById(
- R.id.controller_icon_c);
- icon_c.setAlpha(0.8f);
- ImageView icon_d = (ImageView) getView().findViewById(
- R.id.controller_icon_d);
- icon_d.setAlpha(0.8f);
- }
+ ImageView icon_a = (ImageView) getView().findViewById(
+ R.id.controller_icon_a);
+ icon_a.setAlpha(0.8f);
+ ImageView icon_b = (ImageView) getView().findViewById(
+ R.id.controller_icon_b);
+ icon_b.setAlpha(0.8f);
+ ImageView icon_c = (ImageView) getView().findViewById(
+ R.id.controller_icon_c);
+ icon_c.setAlpha(0.8f);
+ ImageView icon_d = (ImageView) getView().findViewById(
+ R.id.controller_icon_d);
+ icon_d.setAlpha(0.8f);
Button buttonLaunchEditor = (Button) getView().findViewById(
R.id.buttonLaunchEditor);
@@ -186,86 +184,76 @@ public class InputFragment extends Fragment {
}
});
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
+ Button buttonSelectControllerPlayer1 = (Button) getView()
+ .findViewById(R.id.buttonSelectControllerPlayer1);
+ buttonSelectControllerPlayer1
+ .setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ selectController(1);
+ }
+ });
+ Button buttonSelectControllerPlayer2 = (Button) getView()
+ .findViewById(R.id.buttonSelectControllerPlayer2);
+ buttonSelectControllerPlayer2
+ .setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ selectController(2);
+ }
+ });
+ Button buttonSelectControllerPlayer3 = (Button) getView()
+ .findViewById(R.id.buttonSelectControllerPlayer3);
+ buttonSelectControllerPlayer3
+ .setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ selectController(3);
+ }
+ });
+ Button buttonSelectControllerPlayer4 = (Button) getView()
+ .findViewById(R.id.buttonSelectControllerPlayer4);
+ buttonSelectControllerPlayer4
+ .setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ selectController(4);
+ }
+ });
- Button buttonSelectControllerPlayer1 = (Button) getView()
- .findViewById(R.id.buttonSelectControllerPlayer1);
- buttonSelectControllerPlayer1
- .setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- selectController(1);
- }
- });
- Button buttonSelectControllerPlayer2 = (Button) getView()
- .findViewById(R.id.buttonSelectControllerPlayer2);
- buttonSelectControllerPlayer2
- .setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- selectController(2);
- }
- });
- Button buttonSelectControllerPlayer3 = (Button) getView()
- .findViewById(R.id.buttonSelectControllerPlayer3);
- buttonSelectControllerPlayer3
- .setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- selectController(3);
- }
- });
- Button buttonSelectControllerPlayer4 = (Button) getView()
- .findViewById(R.id.buttonSelectControllerPlayer4);
- buttonSelectControllerPlayer4
- .setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- selectController(4);
- }
- });
+ Button buttonRemoveControllerPlayer1 = (Button) getView()
+ .findViewById(R.id.buttonRemoveControllerPlayer1);
+ buttonRemoveControllerPlayer1
+ .setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ removeController(1);
+ }
+ });
- Button buttonRemoveControllerPlayer1 = (Button) getView()
- .findViewById(R.id.buttonRemoveControllerPlayer1);
- buttonRemoveControllerPlayer1
- .setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- removeController(1);
- }
- });
+ Button buttonRemoveControllerPlayer2 = (Button) getView()
+ .findViewById(R.id.buttonRemoveControllerPlayer2);
+ buttonRemoveControllerPlayer2
+ .setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ removeController(2);
+ }
+ });
- Button buttonRemoveControllerPlayer2 = (Button) getView()
- .findViewById(R.id.buttonRemoveControllerPlayer2);
- buttonRemoveControllerPlayer2
- .setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- removeController(2);
- }
- });
+ Button buttonRemoveControllerPlayer3 = (Button) getView()
+ .findViewById(R.id.buttonRemoveControllerPlayer3);
+ buttonRemoveControllerPlayer3
+ .setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ removeController(3);
+ }
+ });
- Button buttonRemoveControllerPlayer3 = (Button) getView()
- .findViewById(R.id.buttonRemoveControllerPlayer3);
- buttonRemoveControllerPlayer3
- .setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- removeController(3);
- }
- });
+ Button buttonRemoveControllerPlayer4 = (Button) getView()
+ .findViewById(R.id.buttonRemoveControllerPlayer4);
+ buttonRemoveControllerPlayer4
+ .setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ removeController(4);
+ }
+ });
- Button buttonRemoveControllerPlayer4 = (Button) getView()
- .findViewById(R.id.buttonRemoveControllerPlayer4);
- buttonRemoveControllerPlayer4
- .setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- removeController(4);
- }
- });
-
- updateControllers();
-
- } else {
-
- TableLayout input_devices = (TableLayout) getActivity()
- .findViewById(R.id.input_devices);
- input_devices.setVisibility(View.GONE);
-
- }
+ updateControllers();
updateVibration();
}
@@ -290,12 +278,7 @@ public class InputFragment extends Fragment {
for (int devideId : InputDevice.getDeviceIds()) {
InputDevice dev = InputDevice.getDevice(devideId);
- String descriptor = null;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
- descriptor = dev.getDescriptor();
- } else {
- descriptor = dev.getName();
- }
+ String descriptor = dev.getDescriptor();
if (descriptor != null) {
if (descriptor.equals(deviceDescriptorPlayer1))
@@ -436,21 +419,16 @@ public class InputFragment extends Fragment {
|| keyCode == KeyEvent.KEYCODE_VOLUME_UP
|| keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
return false;
- if (!pad.IsXperiaPlay() && keyCode == KeyEvent.KEYCODE_BACK)
+ if (keyCode == KeyEvent.KEYCODE_BACK)
return false;
String descriptor = null;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
- if (pad.isActiveMoga[listenForButton]) {
- MogaListener config = new MogaListener(listenForButton);
- moga.mController.setListener(config, new Handler());
- descriptor = config.getController();
- }
- descriptor = InputDevice.getDevice(event.getDeviceId())
- .getDescriptor();
- } else {
- descriptor = InputDevice.getDevice(event.getDeviceId()).getName();
+ if (pad.isActiveMoga[listenForButton]) {
+ MogaListener config = new MogaListener(listenForButton);
+ moga.mController.setListener(config, new Handler());
+ descriptor = config.getController();
}
+ descriptor = InputDevice.getDevice(event.getDeviceId()).getDescriptor();
if (descriptor == null)
return false;
@@ -490,7 +468,7 @@ public class InputFragment extends Fragment {
break;
}
- Log.d("New controller for port " + listenForButton + ":", descriptor);
+ Log.d("New port " + listenForButton + " controller:", descriptor);
listenForButton = 0;
alertDialogSelectController.cancel();
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/config/InputModFragment.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/config/InputModFragment.java
index f2787b61c..756074453 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/config/InputModFragment.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/config/InputModFragment.java
@@ -81,11 +81,6 @@ public class InputModFragment extends Fragment {
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
- Runtime.getRuntime().freeMemory();
- System.gc();
- }
-
mPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
final String[] controllers = getResources().getStringArray(R.array.controllers);
@@ -390,10 +385,6 @@ public class InputModFragment extends Fragment {
*/
private Drawable getButtonImage(int x, int y) {
Bitmap image = null;
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
- Runtime.getRuntime().freeMemory();
- System.gc();
- }
try {
File buttons = null;
InputStream bitmap = null;
@@ -411,10 +402,6 @@ public class InputModFragment extends Fragment {
image = BitmapFactory.decodeStream(bitmap, null, options);
bitmap.close();
bitmap = null;
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
- Runtime.getRuntime().freeMemory();
- System.gc();
- }
Matrix matrix = new Matrix();
matrix.postScale(32, 32);
Bitmap resizedBitmap = Bitmap.createBitmap(image, x, y, 64 / sS,
@@ -436,10 +423,6 @@ public class InputModFragment extends Fragment {
return getButtonImage(x, y);
} else {
E.printStackTrace();
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
- Runtime.getRuntime().freeMemory();
- System.gc();
- }
}
}
return getResources().getDrawable(R.drawable.input);
@@ -535,7 +518,6 @@ public class InputModFragment extends Fragment {
return keyCode;
}
- @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
public boolean dispatchTouchEvent(MotionEvent ev) {
if (isMapping) {
if ((ev.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/debug/GenerateLogs.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/debug/GenerateLogs.java
index db8d44670..c5ade13a9 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/debug/GenerateLogs.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/debug/GenerateLogs.java
@@ -246,15 +246,10 @@ public class GenerateLogs extends AsyncTask {
@Override
protected void onPostExecute(final String response) {
- if (response != null && !response.equals(null)) {
+ if (response != null) {
showToastMessage(mContext.getString(R.string.log_saved), Snackbar.LENGTH_LONG);
UploadLogs mUploadLogs = new UploadLogs(mContext, currentTime);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
- mUploadLogs.executeOnExecutor(
- AsyncTask.THREAD_POOL_EXECUTOR, response);
- } else {
- mUploadLogs.execute(response);
- }
+ mUploadLogs.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, response);
}
}
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/emu/GL2JNIView.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/emu/GL2JNIView.java
index 52b2ac57f..6e9381ef6 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/emu/GL2JNIView.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/emu/GL2JNIView.java
@@ -135,9 +135,7 @@ public class GL2JNIView extends GLSurfaceView
});
}
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
- setPreserveEGLContextOnPause(true);
- }
+ setPreserveEGLContextOnPause(true);
vib=(Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
@@ -159,21 +157,7 @@ public class GL2JNIView extends GLSurfaceView
touchVibrationEnabled = prefs.getBoolean(Config.pref_touchvibe, true);
vibrationDuration = prefs.getInt(Config.pref_vibrationDuration, 20);
- int renderType = prefs.getInt(Config.pref_rendertype, LAYER_TYPE_HARDWARE);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
- this.setLayerType(renderType, null);
- } else {
- try {
- Method setLayerType = this.getClass().getMethod(
- "setLayerType", new Class[] { int.class, Paint.class });
- if (setLayerType != null)
- setLayerType.invoke(this, new Object[] { renderType, null });
- } catch (NoSuchMethodException e) {
- } catch (IllegalArgumentException e) {
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- }
- }
+ this.setLayerType(prefs.getInt(Config.pref_rendertype, LAYER_TYPE_HARDWARE), null);
vjoy_d_custom = VJoy.readCustomVjoyValues(context);
diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/periph/Gamepad.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/periph/Gamepad.java
index e3f330d39..9ef569f56 100644
--- a/shell/android-studio/app/src/main/java/com/reicast/emulator/periph/Gamepad.java
+++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/periph/Gamepad.java
@@ -7,6 +7,7 @@ import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.os.Build;
import android.util.SparseArray;
+import android.util.SparseIntArray;
import android.view.KeyEvent;
import java.util.HashMap;
@@ -46,9 +47,6 @@ public class Gamepad {
public static final String controllers_sony = "Sony PLAYSTATION(R)3 Controller";
public static final String controllers_xbox = "Microsoft X-Box 360 pad";
public static final String controllers_shield = "NVIDIA Corporation NVIDIA Controller";
- public static final String controllers_play = "keypad-zeus";
- public static final String controllers_play_gp = "keypad-game-zeus";
- public static final String controllers_play_tp = "synaptics_touchpad";
public static final String controllers_gamekey = "gamekeyboard";
public String[] portId = { "_A", "_B", "_C", "_D" };
@@ -61,16 +59,14 @@ public class Gamepad {
public boolean[] wasKeyStick = { false, false, false, false };
public int map[][] = new int[4][];
- public SparseArray deviceId_deviceDescriptor = new SparseArray();
- public HashMap deviceDescriptor_PlayerNum = new HashMap();
+ public SparseArray deviceId_deviceDescriptor = new SparseArray<>();
+ public HashMap deviceDescriptor_PlayerNum = new HashMap<>();
public boolean isActiveMoga[] = { false, false, false, false };
public boolean isMogaPro[] = { false, false, false, false };
- public SparseArray playerNumX = new SparseArray();
- public int[] keypadZeus = new int[2];
+ public SparseIntArray playerNumX = new SparseIntArray();
- public boolean isXperiaPlay;
public boolean isOuyaOrTV;
// public boolean isNvidiaShield;
@@ -104,24 +100,6 @@ public class Gamepad {
};
}
- public int[] getXPlayController() {
- return new int[] {
- KeyEvent.KEYCODE_DPAD_CENTER, key_CONT_A,
- KeyEvent.KEYCODE_BACK, key_CONT_B,
- OuyaController.BUTTON_U, key_CONT_X,
- OuyaController.BUTTON_Y, key_CONT_Y,
-
- OuyaController.BUTTON_DPAD_UP, key_CONT_DPAD_UP,
- OuyaController.BUTTON_DPAD_DOWN, key_CONT_DPAD_DOWN,
- OuyaController.BUTTON_DPAD_LEFT, key_CONT_DPAD_LEFT,
- OuyaController.BUTTON_DPAD_RIGHT, key_CONT_DPAD_RIGHT,
-
- getStartButtonCode(), key_CONT_START,
- getSelectButtonCode(), getSelectButtonCode()
- // Redundant, but verifies it is mapped properly
- };
- }
-
public int[] getOUYAController() {
return new int[] {
OuyaController.BUTTON_O, key_CONT_A,
@@ -173,46 +151,23 @@ public class Gamepad {
};
}
- public boolean IsXperiaPlay() {
- return android.os.Build.MODEL.equals("R800a")
- || android.os.Build.MODEL.equals("R800i")
- || android.os.Build.MODEL.equals("R800x")
- || android.os.Build.MODEL.equals("R800at")
- || android.os.Build.MODEL.equals("SO-01D")
- || android.os.Build.MODEL.equals("zeus");
- }
-
public boolean IsOuyaOrTV(Context context) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
- UiModeManager uiModeManager = (UiModeManager)
- context.getSystemService(Context.UI_MODE_SERVICE);
- if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) {
- return true;
- }
+ UiModeManager uiModeManager = (UiModeManager)
+ context.getSystemService(Context.UI_MODE_SERVICE);
+ if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) {
+ return true;
}
PackageManager pMan = context.getPackageManager();
- if (pMan.hasSystemFeature(PackageManager.FEATURE_TELEVISION)) {
- return true;
- } else if (OuyaFacade.getInstance().isRunningOnOUYAHardware()) {
- return true;
- }
- return false;
+ return pMan.hasSystemFeature(PackageManager.FEATURE_TELEVISION)
+ || OuyaFacade.getInstance().isRunningOnOUYAHardware();
}
public int getStartButtonCode() {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) {
- return 108;
- } else {
- return KeyEvent.KEYCODE_BUTTON_START;
- }
+ return KeyEvent.KEYCODE_BUTTON_START;
}
-
+
public int getSelectButtonCode() {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) {
- return 109;
- } else {
- return KeyEvent.KEYCODE_BUTTON_SELECT;
- }
+ return KeyEvent.KEYCODE_BUTTON_SELECT;
}
public boolean IsNvidiaShield() {
diff --git a/shell/android-studio/app/src/main/res/drawable/ic_xperia_play.png b/shell/android-studio/app/src/main/res/drawable/ic_xperia_play.png
deleted file mode 100644
index a45c8cca7..000000000
Binary files a/shell/android-studio/app/src/main/res/drawable/ic_xperia_play.png and /dev/null differ