From e3d2dcf0c831c02eeaeff009a0157a72a10fd1ce Mon Sep 17 00:00:00 2001 From: rustdesk Date: Mon, 5 Jun 2023 00:01:46 +0800 Subject: [PATCH] support --play in flutter for shortcut --- src/core_main.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/core_main.rs b/src/core_main.rs index 92b56da82..eccd50c02 100644 --- a/src/core_main.rs +++ b/src/core_main.rs @@ -22,12 +22,11 @@ pub fn core_main() -> Option> { let mut _is_flutter_connect = false; let mut arg_exe = Default::default(); for arg in std::env::args() { - // to-do: how to pass to flutter? if i == 0 { arg_exe = arg; } else if i > 0 { #[cfg(feature = "flutter")] - if arg == "--connect" { + if arg == "--connect" || arg == "--play" { _is_flutter_connect = true; } if arg == "--elevate" { @@ -309,13 +308,18 @@ fn import_config(path: &str) { #[cfg(feature = "flutter")] fn core_main_invoke_new_connection(mut args: std::env::Args) -> Option> { args.position(|element| { - return element == "--connect"; + return element == "--connect" || element == "--play"; })?; - let peer_id = args.next().unwrap_or("".to_string()); + let mut peer_id = args.next().unwrap_or("".to_string()); if peer_id.is_empty() { eprintln!("please provide a valid peer id"); return None; } + let app_name = crate::get_app_name(); + let ext = format!(".{}", app_name.to_lowercase()); + if peer_id.ends_with(&ext) { + peer_id = peer_id.replace(ext, ""); + } let mut switch_uuid = None; while let Some(item) = args.next() { if item == "--switch_uuid" {