clean up controller detection (#943)

This commit is contained in:
Logan McNaughton 2026-05-23 10:19:44 +02:00 committed by GitHub
parent 43ebc37f87
commit a596e01ef2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -151,9 +151,6 @@ pub fn list_controllers() -> Vec<ControllerInfo> {
}
fn list_controllers_on_jvm(env: &mut Env<'_>) -> jni::errors::Result<Vec<ControllerInfo>> {
let source_gamepad = AndroidInputDevice::SOURCE_GAMEPAD(env)?;
let source_joystick = AndroidInputDevice::SOURCE_JOYSTICK(env)?;
let device_ids = AndroidInputDevice::get_device_ids(env)?;
let count = device_ids.len(env)?;
let mut ids = vec![0i32; count];
@ -168,28 +165,14 @@ fn list_controllers_on_jvm(env: &mut Env<'_>) -> jni::errors::Result<Vec<Control
continue;
}
if device.is_virtual(env)? {
continue;
}
if !device.is_external(env)? {
continue;
}
let supports_gamepad = device.supports_source(env, source_gamepad)?;
let supports_joystick = device.supports_source(env, source_joystick)?;
let supports_gamepad =
device.supports_source(env, AndroidInputDevice::SOURCE_GAMEPAD(env)?)?;
let supports_joystick =
device.supports_source(env, AndroidInputDevice::SOURCE_JOYSTICK(env)?)?;
if !supports_gamepad && !supports_joystick {
continue;
}
if device.get_vendor_id(env)? == 0 {
continue;
}
if device.get_product_id(env)? == 0 {
continue;
}
let name = if let Ok(name) = device.get_name(env)
&& let Ok(name) = name.try_to_string(env)
{