diff --git a/gui/backend/src/cmd/interval.rs b/gui/backend/src/cmd/interval.rs index c3d991b..ca0bce5 100644 --- a/gui/backend/src/cmd/interval.rs +++ b/gui/backend/src/cmd/interval.rs @@ -20,7 +20,7 @@ static INTERVAL_ID: AtomicU64 = AtomicU64::new(0); /// The callback fn cannot return a Result, so write only error log. #[tauri::command] pub async fn restart_interval(app: AppHandle) { - tracing::trace!("`restart_interval` was called."); + tracing::debug!("`restart_interval` was called."); let id = INTERVAL_ID.load(Ordering::Acquire); if id != 0 { clear_interval(id).await; @@ -34,8 +34,8 @@ pub async fn restart_interval(app: AppHandle) { let id = set_interval( move || { - // Callbacks in the interval may survive until program termination in the worst case. - // Therefore, they become 'static' and must be cloned. + tracing::debug!("`restart_interval` closure was called."); + let app = app.clone(); let address = config.address; let window = app.get_webview_window("main").unwrap(); diff --git a/gui/backend/src/cmd/mod.rs b/gui/backend/src/cmd/mod.rs index 2cf9a2b..5d9cc79 100644 --- a/gui/backend/src/cmd/mod.rs +++ b/gui/backend/src/cmd/mod.rs @@ -1,9 +1,9 @@ mod config; -mod interval; mod supports; mod system_tray; pub(super) mod device_watcher; +pub(super) mod interval; use crate::err_log_to_string; use tauri::{Builder, Wry}; diff --git a/gui/backend/src/cmd/system_tray.rs b/gui/backend/src/cmd/system_tray.rs index b98078c..fc1dbc5 100644 --- a/gui/backend/src/cmd/system_tray.rs +++ b/gui/backend/src/cmd/system_tray.rs @@ -5,13 +5,12 @@ use tauri::image::Image; /// /// # Panics /// 0 <= battery_level <= 100 +#[tracing::instrument(level = "trace")] pub fn update_tray_inner( device_name: &str, battery_level: u64, is_connected: bool, ) -> tauri::Result<()> { - tracing::debug!("Change to {battery_level} battery icon"); - let battery_icon = if is_connected { match battery_level { 0 => include_bytes!("../../icons/battery/battery-0.png"), diff --git a/gui/backend/src/setup/mod.rs b/gui/backend/src/setup/mod.rs index 51a92db..e7a95ab 100644 --- a/gui/backend/src/setup/mod.rs +++ b/gui/backend/src/setup/mod.rs @@ -3,7 +3,10 @@ mod window_event; use self::tray_menu::new_tray_menu; use self::window_event::window_event; -use crate::{cmd::device_watcher::restart_device_watcher_inner, err_log}; +use crate::{ + cmd::{device_watcher::restart_device_watcher_inner, interval::restart_interval}, + err_log, +}; use tauri::{Builder, Manager, Wry}; pub use tray_menu::TRAY_ICON; @@ -23,6 +26,7 @@ impl SetupsRegister for Builder { tauri::async_runtime::spawn(async move { let app = app; err_log!(restart_device_watcher_inner(&app).await); + restart_interval(app).await; }); Ok(())