From ff47d7e72df3ababb33f0015d0e77b08fc8e91d3 Mon Sep 17 00:00:00 2001 From: Lennard Kittner Date: Wed, 19 Mar 2025 23:48:17 +0100 Subject: [PATCH] Check connection sooner --- src/devices/mod.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/devices/mod.rs b/src/devices/mod.rs index e1fda78..905264b 100644 --- a/src/devices/mod.rs +++ b/src/devices/mod.rs @@ -246,6 +246,7 @@ pub trait Device { fn refresh_state(&mut self) -> Result<(), DeviceError> { let packets = vec![ + self.get_wireless_connected_status_packet(), self.get_charging_packet(), self.get_battery_packet(), self.get_automatic_shut_down_packet(), @@ -256,16 +257,19 @@ pub trait Device { self.get_side_tone_packet(), self.get_side_tone_volume_packet(), // self.get_voice_prompt_packet(), - self.get_wireless_connected_status_packet(), ]; let mut responded = false; for packet in packets { + self.get_device_state().connected = None; self.get_device_state().hid_device.write(&packet)?; if let Some(event) = self.wait_for_updates(Duration::from_secs(1)) { self.get_device_state().update_self_with_event(&event); responded = true; } + if !self.get_device_state().connected.map_or(true, |c| c) { + break; + } } if responded {