chore: apply recommendations from clippy

This commit is contained in:
Cheong Lau 2025-10-04 10:51:18 +10:00 committed by GitHub
parent cec55dafd7
commit 8e0f1c4a09
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
56 changed files with 720 additions and 824 deletions

View file

@ -95,7 +95,7 @@ pub fn bluetooth_subscription<I: 'static + Hash + Copy + Send + Sync + Debug>(
}
retry_count = retry_count.saturating_add(1);
_ = tokio::time::sleep(Duration::from_millis(
() = tokio::time::sleep(Duration::from_millis(
2_u64.saturating_pow(retry_count).min(68719476734),
))
.await;
@ -156,7 +156,7 @@ pub fn bluetooth_subscription<I: 'static + Hash + Copy + Send + Sync + Debug>(
event_handler(event).await;
// Consume any additional available events.
let mut count = 0;
while let Some(event) = session_rx.try_recv().ok() {
while let Ok(event) = session_rx.try_recv() {
event_handler(event).await;
count += 1;
if count == 100 {
@ -165,7 +165,7 @@ pub fn bluetooth_subscription<I: 'static + Hash + Copy + Send + Sync + Debug>(
}
} else {
break;
};
}
session_state.rx = Some(session_rx);
interval.tick().await;
@ -271,10 +271,9 @@ impl BluerDevice {
#[inline(never)]
pub async fn from_device(device: &bluer::Device) -> Self {
let (mut name, is_paired, is_trusted, is_connected, battery_percent, icon) = futures::join!(
device.name().map(|res| res
.ok()
.flatten()
.unwrap_or_else(|| device.address().to_string())),
device
.name()
.map(|res| res.ok().flatten().unwrap_or(device.address().to_string())),
device.is_paired().map(Result::unwrap_or_default),
device.is_trusted().map(Result::unwrap_or_default),
device.is_connected().map(Result::unwrap_or_default),
@ -286,7 +285,7 @@ impl BluerDevice {
if name.is_empty() {
name = device.address().to_string();
};
}
let status = if is_connected {
BluerDeviceStatus::Connected
@ -385,9 +384,8 @@ impl BluerSessionState {
let agent_clone = adapter_clone_1.clone();
let tx_clone = tx_clone_1.clone();
Box::pin(async move {
let device = match agent_clone.device(req.device) {
Ok(d) => d,
Err(_) => return Err(bluer::agent::ReqError::Rejected),
let Ok(device) = agent_clone.device(req.device) else {
return Err(bluer::agent::ReqError::Rejected);
};
let _ = tx_clone
.send(BluerSessionEvent::AgentEvent(
@ -397,16 +395,15 @@ impl BluerSessionState {
))
.await;
let pin_code = fastrand::u32(0..999999);
Ok(format!("{:06}", pin_code))
Ok(format!("{pin_code:06}"))
})
})),
display_pin_code: Some(Box::new(move |req| {
let agent_clone = adapter_clone_2.clone();
let tx_clone = tx_clone_2.clone();
Box::pin(async move {
let device = match agent_clone.device(req.device) {
Ok(d) => d,
Err(_) => return Err(bluer::agent::ReqError::Rejected),
let Ok(device) = agent_clone.device(req.device) else {
return Err(bluer::agent::ReqError::Rejected);
};
let _ = tx_clone
.send(BluerSessionEvent::AgentEvent(
@ -424,9 +421,8 @@ impl BluerSessionState {
let agent_clone = adapter_clone_3.clone();
let tx_clone = tx_clone_3.clone();
Box::pin(async move {
let device = match agent_clone.device(req.device) {
Ok(d) => d,
Err(_) => return Err(bluer::agent::ReqError::Rejected),
let Ok(device) = agent_clone.device(req.device) else {
return Err(bluer::agent::ReqError::Rejected);
};
let _ = tx_clone
.send(BluerSessionEvent::AgentEvent(
@ -443,9 +439,8 @@ impl BluerSessionState {
let agent_clone = adapter_clone_4.clone();
let tx_clone = tx_clone_4.clone();
Box::pin(async move {
let device = match agent_clone.device(req.device) {
Ok(d) => d,
Err(_) => return Err(bluer::agent::ReqError::Rejected),
let Ok(device) = agent_clone.device(req.device) else {
return Err(bluer::agent::ReqError::Rejected);
};
let _ = tx_clone
.send(BluerSessionEvent::AgentEvent(
@ -462,9 +457,8 @@ impl BluerSessionState {
let agent_clone = adapter_clone_5.clone();
let tx_clone = tx_clone_5.clone();
Box::pin(async move {
let device = match agent_clone.device(req.device) {
Ok(d) => d,
Err(_) => return Err(bluer::agent::ReqError::Rejected),
let Ok(device) = agent_clone.device(req.device) else {
return Err(bluer::agent::ReqError::Rejected);
};
let (tx, mut rx) = channel(1);
let _ = tx_clone
@ -487,9 +481,8 @@ impl BluerSessionState {
let agent_clone = adapter_clone_6.clone();
let tx_clone = tx_clone_6.clone();
Box::pin(async move {
let device = match agent_clone.device(req.device) {
Ok(d) => d,
Err(_) => return Err(bluer::agent::ReqError::Rejected),
let Ok(device) = agent_clone.device(req.device) else {
return Err(bluer::agent::ReqError::Rejected);
};
let (tx, mut rx) = channel(1);
let _ = tx_clone
@ -511,9 +504,8 @@ impl BluerSessionState {
let agent_clone = adapter_clone_7.clone();
let tx_clone = tx_clone_7.clone();
Box::pin(async move {
let device = match agent_clone.device(req.device) {
Ok(d) => d,
Err(_) => return Err(bluer::agent::ReqError::Rejected),
let Ok(device) = agent_clone.device(req.device) else {
return Err(bluer::agent::ReqError::Rejected);
};
let (tx, mut rx) = channel(1);
// TODO better describe the service to the user
@ -614,16 +606,14 @@ impl BluerSessionState {
let mut new_devices = Vec::new();
let mut interval = tokio::time::interval(Duration::from_secs(10));
interval.set_missed_tick_behavior(tokio::time::MissedTickBehavior::Skip);
let mut change_stream =
match adapter_clone.discover_devices_with_changes().await {
Ok(stream) => stream,
Err(_) => {
tick(&mut interval).await;
return;
}
};
let Ok(mut change_stream) =
adapter_clone.discover_devices_with_changes().await
else {
tick(&mut interval).await;
return;
};
while let Some(_) = change_stream.next().await {
while change_stream.next().await.is_some() {
new_devices = build_device_list(new_devices, &adapter_clone).await;
for d in new_devices
.iter()
@ -679,7 +669,7 @@ impl BluerSessionState {
match &req_clone {
BluerRequest::SetBluetoothEnabled(enabled) => {
if let Err(e) = adapter_clone.set_powered(*enabled).await {
tracing::error!("Failed to power off bluetooth adapter. {e:?}")
tracing::error!("Failed to power off bluetooth adapter. {e:?}");
}
// rfkill will be persisted after reboot
@ -695,8 +685,8 @@ impl BluerSessionState {
.ok()
.and_then(|o| {
let lines = String::from_utf8(o.stdout).ok()?;
lines.split("\n").into_iter().find_map(|row| {
let (id, cname) = row.trim().split_once(" ")?;
lines.split('\n').into_iter().find_map(|row| {
let (id, cname) = row.trim().split_once(' ')?;
(name == cname).then_some(id.to_string())
})
})
@ -768,7 +758,7 @@ impl BluerSessionState {
}
}
BluerRequest::StateUpdate => {}
};
}
let _ = tx_clone
.send(BluerSessionEvent::RequestResponse {
@ -820,7 +810,7 @@ async fn build_device_list(mut devices: Vec<BluerDevice>, adapter: &Adapter) ->
.collect::<FuturesUnordered<_>>();
while let Some(device) = device_stream.next().await {
devices.push(device)
devices.push(device);
}
devices.sort();