Skip to content

Commit 902b12a

Browse files
doprzkavishdevar
authored andcommitted
fix(clippy): fix cargo clippy warnings
1 parent 6ded8ff commit 902b12a

File tree

10 files changed

+233
-289
lines changed

10 files changed

+233
-289
lines changed

linux-rust/src/bluetooth/aacp.rs

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,7 @@ impl AACPManager {
619619
}
620620
strings.remove(0);
621621
let info = AirPodsInformation {
622-
name: strings.get(0).cloned().unwrap_or_default(),
622+
name: strings.first().cloned().unwrap_or_default(),
623623
model_number: strings.get(1).cloned().unwrap_or_default(),
624624
manufacturer: strings.get(2).cloned().unwrap_or_default(),
625625
serial_number: strings.get(3).cloned().unwrap_or_default(),
@@ -636,19 +636,17 @@ impl AACPManager {
636636
},
637637
};
638638
let mut state = self.state.lock().await;
639-
if let Some(mac) = state.airpods_mac {
640-
if let Some(device_data) = state.devices.get_mut(&mac.to_string()) {
639+
if let Some(mac) = state.airpods_mac
640+
&& let Some(device_data) = state.devices.get_mut(&mac.to_string()) {
641641
device_data.name = info.name.clone();
642642
device_data.information = Some(DeviceInformation::AirPods(info.clone()));
643643
}
644-
}
645644
let json = serde_json::to_string(&state.devices).unwrap();
646-
if let Some(parent) = get_devices_path().parent() {
647-
if let Err(e) = tokio::fs::create_dir_all(&parent).await {
645+
if let Some(parent) = get_devices_path().parent()
646+
&& let Err(e) = tokio::fs::create_dir_all(&parent).await {
648647
error!("Failed to create directory for devices: {}", e);
649648
return;
650649
}
651-
}
652650
if let Err(e) = tokio::fs::write(&get_devices_path(), json).await {
653651
error!("Failed to save devices: {}", e);
654652
}
@@ -683,8 +681,8 @@ impl AACPManager {
683681
info!("Received Proximity Keys Response: {:?}", keys.iter().map(|(kt, kd)| (kt, hex::encode(kd))).collect::<Vec<_>>());
684682
let mut state = self.state.lock().await;
685683
for (key_type, key_data) in &keys {
686-
if let Some(kt) = ProximityKeyType::from_u8(*key_type) {
687-
if let Some(mac) = state.airpods_mac {
684+
if let Some(kt) = ProximityKeyType::from_u8(*key_type)
685+
&& let Some(mac) = state.airpods_mac {
688686
let mac_str = mac.to_string();
689687
let device_data = state.devices.entry(mac_str.clone()).or_insert(DeviceData {
690688
name: mac_str.clone(),
@@ -714,15 +712,13 @@ impl AACPManager {
714712
}
715713
}
716714
}
717-
}
718715
}
719716
let json = serde_json::to_string(&state.devices).unwrap();
720-
if let Some(parent) = get_devices_path().parent() {
721-
if let Err(e) = tokio::fs::create_dir_all(&parent).await {
717+
if let Some(parent) = get_devices_path().parent()
718+
&& let Err(e) = tokio::fs::create_dir_all(&parent).await {
722719
error!("Failed to create directory for devices: {}", e);
723720
return;
724721
}
725-
}
726722
if let Err(e) = tokio::fs::write(&get_devices_path(), json).await {
727723
error!("Failed to save devices: {}", e);
728724
}

linux-rust/src/bluetooth/discovery.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,12 @@ pub(crate) async fn find_connected_airpods(adapter: &Adapter) -> bluer::Result<b
88
let addrs = adapter.device_addresses().await?;
99
for addr in addrs {
1010
let device = adapter.device(addr)?;
11-
if device.is_connected().await.unwrap_or(false) {
12-
if let Ok(uuids) = device.uuids().await {
13-
if let Some(uuids) = uuids {
14-
if uuids.iter().any(|u| *u == target_uuid) {
11+
if device.is_connected().await.unwrap_or(false)
12+
&& let Ok(uuids) = device.uuids().await
13+
&& let Some(uuids) = uuids
14+
&& uuids.iter().any(|u| *u == target_uuid) {
1515
return Ok(device);
1616
}
17-
}
18-
}
19-
}
2017
}
2118
Err(bluer::Error::from(Error::new(std::io::ErrorKind::NotFound, "No connected AirPods found")))
2219
}

linux-rust/src/bluetooth/le.rs

Lines changed: 113 additions & 125 deletions
Large diffs are not rendered by default.

linux-rust/src/devices/airpods.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use crate::bluetooth::aacp::{AACPManager, ProximityKeyType, AACPEvent, AirPodsLEKeys};
22
use crate::bluetooth::aacp::ControlCommandIdentifiers;
3-
use crate::bluetooth::att::ATTManager;
43
use crate::media_controller::MediaController;
54
use bluer::Address;
65
use log::{debug, info, error};
@@ -140,7 +139,7 @@ impl AirPodsDevice {
140139
let mc_clone_owns = media_controller.clone();
141140
tokio::spawn(async move {
142141
while let Some(value) = owns_connection_rx.recv().await {
143-
let owns = value.get(0).copied().unwrap_or(0) != 0;
142+
let owns = value.first().copied().unwrap_or(0) != 0;
144143
if !owns {
145144
info!("Lost ownership, pausing media and disconnecting audio");
146145
let controller = mc_clone_owns.lock().await;

linux-rust/src/devices/nothing.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ impl NothingDevice{
154154
debug!("Serial number format unexpected from Nothing device {}: {:?}", mac_address, data);
155155
}
156156
}
157-
else {}
157+
158158
debug!("Received data from (Nothing) device {}, data: {:?}", mac_address, data);
159159
}
160160
});

linux-rust/src/main.rs

Lines changed: 24 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,8 @@ async fn async_main(
8989
HashMap::new()
9090
});
9191
for (mac, device_data) in devices_list.iter() {
92-
match device_data.type_ {
93-
devices::enums::DeviceType::Nothing => {
94-
managed_devices_mac.push(mac.clone());
95-
}
96-
_ => {}
92+
if device_data.type_ == devices::enums::DeviceType::Nothing {
93+
managed_devices_mac.push(mac.clone());
9794
}
9895
}
9996

@@ -166,17 +163,14 @@ async fn async_main(
166163
let device_managers = device_managers.clone();
167164
tokio::spawn(async move {
168165
let mut managers = device_managers.write().await;
169-
match type_ {
170-
devices::enums::DeviceType::Nothing => {
171-
let dev = devices::nothing::NothingDevice::new(device.address(), ui_tx_clone.clone()).await;
172-
let dev_managers = DeviceManagers::with_att(dev.att_manager.clone());
173-
managers
174-
.entry(addr_str.clone())
175-
.or_insert(dev_managers)
176-
.set_att(dev.att_manager);
177-
ui_tx_clone.send(BluetoothUIMessage::DeviceConnected(addr_str)).unwrap();
178-
}
179-
_ => {}
166+
if type_ == devices::enums::DeviceType::Nothing {
167+
let dev = devices::nothing::NothingDevice::new(device.address(), ui_tx_clone.clone()).await;
168+
let dev_managers = DeviceManagers::with_att(dev.att_manager.clone());
169+
managers
170+
.entry(addr_str.clone())
171+
.or_insert(dev_managers)
172+
.set_att(dev.att_manager);
173+
ui_tx_clone.send(BluetoothUIMessage::DeviceConnected(addr_str)).unwrap();
180174
}
181175
drop(managers)
182176
});
@@ -221,23 +215,20 @@ async fn async_main(
221215
if managed_devices_mac.contains(&addr_str) {
222216
info!("Managed device connected: {}, initializing", addr_str);
223217
let type_ = devices_list.get(&addr_str).unwrap().type_.clone();
224-
match type_ {
225-
devices::enums::DeviceType::Nothing => {
226-
let ui_tx_clone = ui_tx.clone();
227-
let device_managers = device_managers.clone();
228-
tokio::spawn(async move {
229-
let mut managers = device_managers.write().await;
230-
let dev = devices::nothing::NothingDevice::new(addr, ui_tx_clone.clone()).await;
231-
let dev_managers = DeviceManagers::with_att(dev.att_manager.clone());
232-
managers
233-
.entry(addr_str.clone())
234-
.or_insert(dev_managers)
235-
.set_att(dev.att_manager);
236-
drop(managers);
237-
ui_tx_clone.send(BluetoothUIMessage::DeviceConnected(addr_str.clone())).unwrap();
238-
});
239-
}
240-
_ => {}
218+
if type_ == devices::enums::DeviceType::Nothing {
219+
let ui_tx_clone = ui_tx.clone();
220+
let device_managers = device_managers.clone();
221+
tokio::spawn(async move {
222+
let mut managers = device_managers.write().await;
223+
let dev = devices::nothing::NothingDevice::new(addr, ui_tx_clone.clone()).await;
224+
let dev_managers = DeviceManagers::with_att(dev.att_manager.clone());
225+
managers
226+
.entry(addr_str.clone())
227+
.or_insert(dev_managers)
228+
.set_att(dev.att_manager);
229+
drop(managers);
230+
ui_tx_clone.send(BluetoothUIMessage::DeviceConnected(addr_str.clone())).unwrap();
231+
});
241232
}
242233
return true;
243234
}

0 commit comments

Comments
 (0)