Explorar o código

android: Convert ControllerMappingHelper to Kotlin

Charles Lombardo %!s(int64=3) %!d(string=hai) anos
pai
achega
b9f1f70688

+ 24 - 25
src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.java → src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ControllerMappingHelper.kt

@@ -1,66 +1,65 @@
-package org.yuzu.yuzu_emu.utils;
+package org.yuzu.yuzu_emu.utils
 
-import android.view.InputDevice;
-import android.view.KeyEvent;
-import android.view.MotionEvent;
+import android.view.InputDevice
+import android.view.KeyEvent
+import android.view.MotionEvent
 
 /**
  * Some controllers have incorrect mappings. This class has special-case fixes for them.
  */
-public class ControllerMappingHelper {
+class ControllerMappingHelper {
     /**
      * Some controllers report extra button presses that can be ignored.
      */
-    public boolean shouldKeyBeIgnored(InputDevice inputDevice, int keyCode) {
-        if (isDualShock4(inputDevice)) {
+    fun shouldKeyBeIgnored(inputDevice: InputDevice, keyCode: Int): Boolean {
+        return if (isDualShock4(inputDevice)) {
             // The two analog triggers generate analog motion events as well as a keycode.
             // We always prefer to use the analog values, so throw away the button press
-            return keyCode == KeyEvent.KEYCODE_BUTTON_L2 || keyCode == KeyEvent.KEYCODE_BUTTON_R2;
-        }
-        return false;
+            keyCode == KeyEvent.KEYCODE_BUTTON_L2 || keyCode == KeyEvent.KEYCODE_BUTTON_R2
+        } else false
     }
 
     /**
      * Scale an axis to be zero-centered with a proper range.
      */
-    public float scaleAxis(InputDevice inputDevice, int axis, float value) {
+    fun scaleAxis(inputDevice: InputDevice, axis: Int, value: Float): Float {
         if (isDualShock4(inputDevice)) {
             // Android doesn't have correct mappings for this controller's triggers. It reports them
             // as RX & RY, centered at -1.0, and with a range of [-1.0, 1.0]
             // Scale them to properly zero-centered with a range of [0.0, 1.0].
             if (axis == MotionEvent.AXIS_RX || axis == MotionEvent.AXIS_RY) {
-                return (value + 1) / 2.0f;
+                return (value + 1) / 2.0f
             }
         } else if (isXboxOneWireless(inputDevice)) {
             // Same as the DualShock 4, the mappings are missing.
             if (axis == MotionEvent.AXIS_Z || axis == MotionEvent.AXIS_RZ) {
-                return (value + 1) / 2.0f;
+                return (value + 1) / 2.0f
             }
             if (axis == MotionEvent.AXIS_GENERIC_1) {
                 // This axis is stuck at ~.5. Ignore it.
-                return 0.0f;
+                return 0.0f
             }
         } else if (isMogaPro2Hid(inputDevice)) {
             // This controller has a broken axis that reports a constant value. Ignore it.
             if (axis == MotionEvent.AXIS_GENERIC_1) {
-                return 0.0f;
+                return 0.0f
             }
         }
-        return value;
+        return value
     }
 
-    private boolean isDualShock4(InputDevice inputDevice) {
-        // Sony DualShock 4 controller
-        return inputDevice.getVendorId() == 0x54c && inputDevice.getProductId() == 0x9cc;
+    // Sony DualShock 4 controller
+    private fun isDualShock4(inputDevice: InputDevice): Boolean {
+        return inputDevice.vendorId == 0x54c && inputDevice.productId == 0x9cc
     }
 
-    private boolean isXboxOneWireless(InputDevice inputDevice) {
-        // Microsoft Xbox One controller
-        return inputDevice.getVendorId() == 0x45e && inputDevice.getProductId() == 0x2e0;
+    // Microsoft Xbox One controller
+    private fun isXboxOneWireless(inputDevice: InputDevice): Boolean {
+        return inputDevice.vendorId == 0x45e && inputDevice.productId == 0x2e0
     }
 
-    private boolean isMogaPro2Hid(InputDevice inputDevice) {
-        // Moga Pro 2 HID
-        return inputDevice.getVendorId() == 0x20d6 && inputDevice.getProductId() == 0x6271;
+    // Moga Pro 2 HID
+    private fun isMogaPro2Hid(inputDevice: InputDevice): Boolean {
+        return inputDevice.vendorId == 0x20d6 && inputDevice.productId == 0x6271
     }
 }