From e5832642296102a5af4489ba33ab2713a8a3b93a Mon Sep 17 00:00:00 2001 From: Bryan Roscoe Date: Wed, 10 Jun 2026 09:50:10 -0500 Subject: [PATCH] Dead-code sweep from the codebase audit Rust: unused anyhow dependency; SubprocessAdb::from_path/binary/ with_timeout (superseded by raw_transfer); engine AppList struct; RiskTier::parse_label; parse_dumpsys_meminfo demoted to private (parse_total_pss_by_process is the public name). Frontend: riskBadgeClass, unused goto import, four orphaned CSS blocks in the device page (.state-badge variants superseded by the component, .preview-disclaimer, .checkbox-row, .install-output), and .dir-link's undefined --fg token corrected to --fg-primary. --- v2/src-tauri/Cargo.lock | 1 - v2/src-tauri/Cargo.toml | 1 - v2/src-tauri/src/adb/driver.rs | 14 ------- v2/src-tauri/src/adb/mod.rs | 8 ++-- v2/src-tauri/src/adb/parse.rs | 2 +- v2/src-tauri/src/engine/app_lists.rs | 7 ---- v2/src-tauri/src/engine/mod.rs | 2 +- v2/src-tauri/src/engine/types.rs | 15 ------- v2/src/lib/components/FilesTab.svelte | 2 +- v2/src/lib/types.ts | 4 -- v2/src/routes/+page.svelte | 1 - v2/src/routes/devices/[serial]/+page.svelte | 43 --------------------- 12 files changed, 7 insertions(+), 93 deletions(-) diff --git a/v2/src-tauri/Cargo.lock b/v2/src-tauri/Cargo.lock index 587dc1e..f25deca 100644 --- a/v2/src-tauri/Cargo.lock +++ b/v2/src-tauri/Cargo.lock @@ -3508,7 +3508,6 @@ dependencies = [ name = "shield-optimizer-v2" version = "2.0.0-beta.12" dependencies = [ - "anyhow", "async-trait", "axmldecoder", "base64 0.22.1", diff --git a/v2/src-tauri/Cargo.toml b/v2/src-tauri/Cargo.toml index d78f0c5..1c7a6d7 100644 --- a/v2/src-tauri/Cargo.toml +++ b/v2/src-tauri/Cargo.toml @@ -26,7 +26,6 @@ serde_json = "1" tokio = { version = "1", features = ["process", "io-util", "time", "macros", "rt-multi-thread", "sync", "fs"] } # Error handling -anyhow = "1" thiserror = "1" # Parsing diff --git a/v2/src-tauri/src/adb/driver.rs b/v2/src-tauri/src/adb/driver.rs index ce3a3af..d440fd8 100644 --- a/v2/src-tauri/src/adb/driver.rs +++ b/v2/src-tauri/src/adb/driver.rs @@ -119,20 +119,6 @@ impl SubprocessAdb { discover_adb_binary().map(Self::new) } - /// Back-compat alias for the old PATH-only discovery. - pub fn from_path() -> Option { - Self::discover() - } - - pub fn binary(&self) -> &PathBuf { - &self.binary - } - - pub fn with_timeout(mut self, dur: Duration) -> Self { - self.command_timeout = dur; - self - } - async fn run(&self, args: &[&str]) -> AdbResult { self.run_with_timeout(args, self.command_timeout).await } diff --git a/v2/src-tauri/src/adb/mod.rs b/v2/src-tauri/src/adb/mod.rs index b15b99c..e3f503e 100644 --- a/v2/src-tauri/src/adb/mod.rs +++ b/v2/src-tauri/src/adb/mod.rs @@ -32,9 +32,9 @@ pub use driver::{AdbDriver, AdbError, AdbOutput, AdbResult, SubprocessAdb}; pub use install::{adb_path_in_install_root, install_platform_tools, InstallError}; pub use parse::{ parse_active_audio_device, parse_device_list, parse_disabled_packages_output, - parse_display_mode, parse_dumpsys_meminfo, parse_hardware_properties_temp, - parse_installed_packages_output, parse_ls_output, parse_meminfo_summary, parse_storage_info, - parse_thermal_max_celsius, parse_total_pss_by_process, parse_usage_stats, AppUsage, - DisplayMode, FileEntry, RamInfo, StorageInfo, + parse_display_mode, parse_hardware_properties_temp, parse_installed_packages_output, + parse_ls_output, parse_meminfo_summary, parse_storage_info, parse_thermal_max_celsius, + parse_total_pss_by_process, parse_usage_stats, AppUsage, DisplayMode, FileEntry, RamInfo, + StorageInfo, }; pub use scan::{local_subnet_prefix, scan_subnet, ScanHit}; diff --git a/v2/src-tauri/src/adb/parse.rs b/v2/src-tauri/src/adb/parse.rs index f909773..1b35990 100644 --- a/v2/src-tauri/src/adb/parse.rs +++ b/v2/src-tauri/src/adb/parse.rs @@ -129,7 +129,7 @@ pub fn parse_disabled_packages_output(output: &str) -> Vec { /// /// Per v1's Get-AppMemoryMap learnings: per-process query (`dumpsys meminfo `) /// is unreliable across Android versions; the system-wide section is robust. -pub fn parse_dumpsys_meminfo(meminfo: &str) -> HashMap { +fn parse_dumpsys_meminfo(meminfo: &str) -> HashMap { static ROW: LazyLock = LazyLock::new(|| Regex::new(r"^\s*([\d,]+)K:\s+([a-zA-Z0-9_.]+)").unwrap()); diff --git a/v2/src-tauri/src/engine/app_lists.rs b/v2/src-tauri/src/engine/app_lists.rs index a371881..bc99a8b 100644 --- a/v2/src-tauri/src/engine/app_lists.rs +++ b/v2/src-tauri/src/engine/app_lists.rs @@ -8,13 +8,6 @@ use serde::{Deserialize, Serialize}; use super::detection::DeviceType; use super::types::AppEntry; -/// A named app list — one of common / shield / googletv (or any user/community add). -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct AppList { - pub name: String, - pub entries: Vec, -} - /// All loaded app lists, indexed for lookup. #[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct AppListBundle { diff --git a/v2/src-tauri/src/engine/mod.rs b/v2/src-tauri/src/engine/mod.rs index 8e1b5cf..47a8aa2 100644 --- a/v2/src-tauri/src/engine/mod.rs +++ b/v2/src-tauri/src/engine/mod.rs @@ -13,7 +13,7 @@ pub mod safety; pub mod snapshot; pub mod types; -pub use app_lists::{AppList, AppListBundle}; +pub use app_lists::AppListBundle; pub use detection::{detect_device_type, DeviceType}; pub use launcher::{ is_last_enabled_home_handler, is_valid_package_name, launcher_catalog, launcher_rows, diff --git a/v2/src-tauri/src/engine/types.rs b/v2/src-tauri/src/engine/types.rs index 09fc162..4f24e5e 100644 --- a/v2/src-tauri/src/engine/types.rs +++ b/v2/src-tauri/src/engine/types.rs @@ -98,21 +98,6 @@ pub enum RiskTier { Advanced, } -impl RiskTier { - /// Parse a risk-tier label permissively. Accepts v1's strings - /// ("Safe" / "Medium" / "High Risk" / "Advanced") case-insensitively. - /// Defaults to `Medium` for unrecognized strings — safer than `Safe`. - pub fn parse_label(s: &str) -> Self { - match s.to_ascii_lowercase().as_str() { - "safe" => Self::Safe, - "medium" => Self::Medium, - "advanced" => Self::Advanced, - "high" | "high risk" => Self::High, - _ => Self::Medium, - } - } -} - /// One entry in the bloat list — direct port of v1's app schema. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AppEntry { diff --git a/v2/src/lib/components/FilesTab.svelte b/v2/src/lib/components/FilesTab.svelte index ef80af0..6b5083d 100644 --- a/v2/src/lib/components/FilesTab.svelte +++ b/v2/src/lib/components/FilesTab.svelte @@ -545,7 +545,7 @@ background: none; border: none; padding: 0; - color: var(--fg); + color: var(--fg-primary); cursor: pointer; font-size: 0.95rem; } diff --git a/v2/src/lib/types.ts b/v2/src/lib/types.ts index 254940d..b5eb61e 100644 --- a/v2/src/lib/types.ts +++ b/v2/src/lib/types.ts @@ -357,7 +357,3 @@ export function deviceTypeLabel(t: DeviceType): string { return "Unknown"; } } - -export function riskBadgeClass(r: RiskTier): string { - return `risk-${r}`; -} diff --git a/v2/src/routes/+page.svelte b/v2/src/routes/+page.svelte index 5d4423e..91c3de8 100644 --- a/v2/src/routes/+page.svelte +++ b/v2/src/routes/+page.svelte @@ -1,5 +1,4 @@