From 6bb967f05b2dd32dc1cd1b849a6089bc80667aec Mon Sep 17 00:00:00 2001 From: "Begonia, HE" <163421589+BegoniaHe@users.noreply.github.com> Date: Mon, 26 Jan 2026 19:03:49 +0100 Subject: refactor(java): simplify version compatibility logic and improve error handling - Extract version compatibility check into shared validation function - Remove duplicated version checking code across multiple modules - Simplify Java detection timeout logic in detection.rs - Expand vendor detection to support more JDK distributions (Dragonwell, Kona, Semeru, BiSheng, etc.) - Refactor start_game to use priority-based Java resolution - Improve error handling in Adoptium provider task collection Reviewed-by: Claude Sonnet 4.5 --- src-tauri/src/core/java/providers/adoptium.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src-tauri/src/core/java/providers') diff --git a/src-tauri/src/core/java/providers/adoptium.rs b/src-tauri/src/core/java/providers/adoptium.rs index 53d1519..aac2bf2 100644 --- a/src-tauri/src/core/java/providers/adoptium.rs +++ b/src-tauri/src/core/java/providers/adoptium.rs @@ -171,8 +171,16 @@ impl JavaProvider for AdoptiumProvider { // Collect all results concurrently let mut releases = Vec::new(); for task in fetch_tasks { - if let Ok(Some(release)) = task.await { - releases.push(release); + match task.await { + Ok(Some(release)) => { + releases.push(release); + } + Ok(None) => { + // Task completed but returned None, should not happen in current implementation + } + Err(e) => { + eprintln!("AdoptiumProvider::fetch_catalog task join error: {:?}", e); + } } } -- cgit v1.2.3-70-g09d2