refactoring of app.rs and relevant flow files
This commit is contained in:
42
src-tauri/src/lifecycle.rs
Normal file
42
src-tauri/src/lifecycle.rs
Normal file
@@ -0,0 +1,42 @@
|
||||
use crate::{
|
||||
lock_w,
|
||||
services::{
|
||||
active_app::init_active_app_changes_listener,
|
||||
health_manager::show_health_manager_with_error,
|
||||
},
|
||||
startup::init_startup_sequence,
|
||||
state::FDOLL,
|
||||
system_tray::init_system_tray,
|
||||
};
|
||||
|
||||
/// Initializes and starts the core app lifecycle after initial setup.
|
||||
///
|
||||
/// This function handles:
|
||||
/// - System tray initialization and storage in app state
|
||||
/// - Active app change listener setup
|
||||
/// - Startup sequence execution with error handling
|
||||
///
|
||||
/// # Errors
|
||||
/// If the startup sequence fails, displays a health manager dialog
|
||||
/// with the error details.
|
||||
///
|
||||
/// # Example
|
||||
/// ```
|
||||
/// // Called automatically during app setup in setup_fdoll()
|
||||
/// lifecycle::start_fdoll().await;
|
||||
/// ```
|
||||
pub async fn start_fdoll() {
|
||||
let tray = init_system_tray();
|
||||
{
|
||||
let mut guard = lock_w!(FDOLL);
|
||||
guard.tray = Some(tray);
|
||||
}
|
||||
|
||||
// Begin listening for foreground app changes
|
||||
init_active_app_changes_listener();
|
||||
|
||||
if let Err(err) = init_startup_sequence().await {
|
||||
tracing::warn!("Startup sequence encountered an error: {}", err);
|
||||
show_health_manager_with_error(Some(err.to_string()));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user