Wrap some android code in api version checks

This commit is contained in:
Aaron Kling 2018-05-01 09:56:14 -05:00
parent dd1fc5f3da
commit c9218bbd23
3 changed files with 49 additions and 36 deletions

View File

@ -49,14 +49,16 @@ public class RetroActivityCommon extends RetroActivityLocation
long[] pattern = {16}; long[] pattern = {16};
int[] strengths = {strength}; int[] strengths = {strength};
if (id == -1) if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); if (id == -1)
else vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
{ else
InputDevice dev = InputDevice.getDevice(id); {
InputDevice dev = InputDevice.getDevice(id);
if (dev != null) if (dev != null)
vibrator = dev.getVibrator(); vibrator = dev.getVibrator();
}
} }
if (vibrator == null) if (vibrator == null)
@ -72,7 +74,7 @@ public class RetroActivityCommon extends RetroActivityLocation
else else
pattern[0] = 1000; pattern[0] = 1000;
if (Build.VERSION.SDK_INT >= 26) { if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
if (id >= 0) if (id >= 0)
Log.i("RetroActivity", "Vibrate id " + id + ": strength " + strength); Log.i("RetroActivity", "Vibrate id " + id + ": strength " + strength);

View File

@ -41,13 +41,16 @@ public final class MainMenuActivity extends PreferenceActivity
private boolean addPermission(List<String> permissionsList, String permission) private boolean addPermission(List<String> permissionsList, String permission)
{ {
if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M)
{ {
permissionsList.add(permission); if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED)
{
permissionsList.add(permission);
// Check for Rationale Option // Check for Rationale Option
if (!shouldShowRequestPermissionRationale(permission)) if (!shouldShowRequestPermissionRationale(permission))
return false; return false;
}
} }
return true; return true;
@ -55,7 +58,7 @@ public final class MainMenuActivity extends PreferenceActivity
public void checkRuntimePermissions() public void checkRuntimePermissions()
{ {
if (android.os.Build.VERSION.SDK_INT >= 23) if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M)
{ {
// Android 6.0+ needs runtime permission checks // Android 6.0+ needs runtime permission checks
List<String> permissionsNeeded = new ArrayList<String>(); List<String> permissionsNeeded = new ArrayList<String>();
@ -90,10 +93,13 @@ public final class MainMenuActivity extends PreferenceActivity
{ {
if (which == AlertDialog.BUTTON_POSITIVE) if (which == AlertDialog.BUTTON_POSITIVE)
{ {
requestPermissions(permissionsList.toArray(new String[permissionsList.size()]), if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M)
REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS); {
requestPermissions(permissionsList.toArray(new String[permissionsList.size()]),
REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS);
Log.i("MainMenuActivity", "User accepted request for external storage permissions."); Log.i("MainMenuActivity", "User accepted request for external storage permissions.");
}
} }
} }
}); });

View File

@ -40,13 +40,16 @@ public final class RetroActivityFuture extends RetroActivityCamera {
// Check for Android UI specific parameters // Check for Android UI specific parameters
Intent retro = getIntent(); Intent retro = getIntent();
String refresh = retro.getStringExtra("REFRESH");
// If REFRESH parameter is provided then try to set refreshrate accordingly if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
if(refresh != null) { String refresh = retro.getStringExtra("REFRESH");
WindowManager.LayoutParams params = getWindow().getAttributes();
params.preferredRefreshRate = Integer.parseInt(refresh); // If REFRESH parameter is provided then try to set refreshrate accordingly
getWindow().setAttributes(params); if(refresh != null) {
WindowManager.LayoutParams params = getWindow().getAttributes();
params.preferredRefreshRate = Integer.parseInt(refresh);
getWindow().setAttributes(params);
}
} }
// If QUITFOCUS parameter is provided then enable that Retroarch quits when focus is lost // If QUITFOCUS parameter is provided then enable that Retroarch quits when focus is lost
@ -61,20 +64,22 @@ public final class RetroActivityFuture extends RetroActivityCamera {
public void hideMouseCursor() { public void hideMouseCursor() {
// Check for NVIDIA extensions and minimum SDK version if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
Method mInputManager_setCursorVisibility; // Check for NVIDIA extensions and minimum SDK version
try { mInputManager_setCursorVisibility = Method mInputManager_setCursorVisibility;
InputManager.class.getMethod("setCursorVisibility", boolean.class); try { mInputManager_setCursorVisibility =
} InputManager.class.getMethod("setCursorVisibility", boolean.class);
catch (NoSuchMethodException ex) { }
return; // Extensions were not available so do nothing catch (NoSuchMethodException ex) {
} return; // Extensions were not available so do nothing
}
// Hide the mouse cursor // Hide the mouse cursor
InputManager inputManager = (InputManager) getSystemService(Context.INPUT_SERVICE); InputManager inputManager = (InputManager) getSystemService(Context.INPUT_SERVICE);
try { mInputManager_setCursorVisibility.invoke(inputManager, false); } try { mInputManager_setCursorVisibility.invoke(inputManager, false); }
catch (InvocationTargetException ite) { } catch (InvocationTargetException ite) { }
catch (IllegalAccessException iae) { } catch (IllegalAccessException iae) { }
}
} }
@Override @Override