From 8dd70a908a0c261073626469c623c418f1263078 Mon Sep 17 00:00:00 2001 From: Joakim Hulthe Date: Tue, 18 Nov 2025 17:37:07 +0100 Subject: [PATCH] mullvad: Add nu waydroid commands --- tree/.local/nu/mullvad.nu | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tree/.local/nu/mullvad.nu b/tree/.local/nu/mullvad.nu index 3f225aa..c66a3eb 100644 --- a/tree/.local/nu/mullvad.nu +++ b/tree/.local/nu/mullvad.nu @@ -115,6 +115,61 @@ def "m daemon" [ sudo ...$envs $daemon_path -vv } +def "m android cli" [ + ...args +] { + let socket_filename = "rpc-socket" + sudo MULLVAD_RPC_SOCKET_PATH=(sudo fd $socket_filename ~/.local/share/waydroid) mullvad ...$args +} + +def "m android start" [ +] { + print "starting net.mullvad.mullvadvpn" + adb shell am start -n net.mullvad.mullvadvpn/.ui.MainActivity; + + # TODO: the waydroid cli is bork in the nix flake + # waydroid app launch net.mullvad.mullvadvpn +} + +def "m android stop" [ +] { + let app_pid = (ps | where name =~ mullvadvpn | get -o pid.0) + if $app_pid != null { + print $"kill net.mullvad.mullvadvpn [($app_pid)]" + sudo kill $app_pid + } else { + print "net.mullvad.mullvadvpn is not running" + } +} + +def "m android run" [ +] { + print "compiling apk" + ./gradlew installOssProdDebug + + m android start +} + +def "m android reload-daemon" [ +] { + let daemon_path = (fd libmullvad_jni.so ~/.local/share/waydroid/ | lines | get -o 0) + if $daemon_path == null { + print "Can't find libmullvad_jni.so, hot-reload not available. Is the app installed?" + exit + } + + m android stop + + print "re-compiling libmullvad_jni.so" + ./gradlew app:cargoBuildX86_64; + + print "Executing hot-swap!" + sudo cp ~/.cargo/target/x86_64-linux-android/debug/libmullvad_jni.so $daemon_path; + + m android start +} + + def "m e2e list" [ ...args ] {