INNER CODE UNIT · Rust
refresh
pythops/bluetui · src/app.rs:760
pub async fn refresh(&mut self) -> AppResult<()> {
let refreshed_controllers =
Controller::get_all(self.session.clone(), &self.favorite_devices).await?;
// Remove unplugged adapters in a single pass
let mut adapter_removed = false;
self.controllers.retain(|controller| {
let should_retain = refreshed_controllers
.iter()
.any(|c| c.name == controller.name);
if !should_retain {
adapter_removed = true;
}
should_retain
});