From cc1cd817c6be99fad575e5f3eb69d19f5da4a17c Mon Sep 17 00:00:00 2001 From: Himadri Bhattacharjee Date: Mon, 8 Jan 2024 16:37:20 +0530 Subject: [PATCH] feat: build backup struct ahead of time --- src/gui/views/settings.rs | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/gui/views/settings.rs b/src/gui/views/settings.rs index 4a6154e..e91c7de 100644 --- a/src/gui/views/settings.rs +++ b/src/gui/views/settings.rs @@ -85,7 +85,14 @@ impl Settings { Command::none() } Message::LoadDeviceSettings => { - let backups = list_available_backups(&BACKUP_DIR.join(phone.adb_id.clone())); + let backups = list_available_backups(&BACKUP_DIR.join(&phone.adb_id)); + let backup = BackupSettings { + backups: backups.clone(), + selected: backups.first().cloned(), + users: phone.user_list.clone(), + selected_user: phone.user_list.first().copied(), + backup_state: String::new(), + }; match Config::load_configuration_file() .devices .iter() @@ -93,26 +100,14 @@ impl Settings { { Some(device) => { self.device = device.clone(); - self.device.backup = BackupSettings { - backups: backups.clone(), - selected: backups.first().cloned(), - users: phone.user_list.clone(), - selected_user: phone.user_list.first().copied(), - backup_state: String::new(), - }; + self.device.backup = backup; } None => { self.device = DeviceSettings { device_id: phone.adb_id.clone(), multi_user_mode: phone.android_sdk > 21, disable_mode: false, - backup: BackupSettings { - backups: backups.clone(), - selected: backups.first().cloned(), - users: phone.user_list.clone(), - selected_user: phone.user_list.first().copied(), - backup_state: String::new(), - }, + backup, } } };