From bd05e061fc27ccd8af3209b43f9ae4f3f024f786 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Tue, 29 Sep 2026 12:32:46 -0400 Subject: [PATCH] [Feat] (Plugin, P11 B1): same-device external clients - the exported token-checked broker that connects twice to the server's own endpoint and answers every request, the app_process helper that execs the program on the pair, a private broker listener beside a TCP-only supervisor, and the copyable launch command on the server screen --- android-plugin/app/build.gradle.kts | 3 + .../app/src/main/AndroidManifest.xml | 12 + .../mobilegl/plugin/ExternalClientBroker.java | 226 +++++++++++++ .../mobilegl/plugin/ExternalClientHelper.java | 305 ++++++++++++++++++ .../plugin/MobileGLServerService.java | 118 +++++-- .../plugin/ServerControlActivity.java | 99 +++++- 6 files changed, 733 insertions(+), 30 deletions(-) create mode 100644 android-plugin/app/src/main/java/top/mobilegl/plugin/ExternalClientBroker.java create mode 100644 android-plugin/app/src/main/java/top/mobilegl/plugin/ExternalClientHelper.java diff --git a/android-plugin/app/build.gradle.kts b/android-plugin/app/build.gradle.kts index c6756f72..aeb6a43d 100644 --- a/android-plugin/app/build.gradle.kts +++ b/android-plugin/app/build.gradle.kts @@ -169,6 +169,9 @@ android { buildFeatures { resValues = true + // P11 B1: ExternalClientHelper's default --server is BuildConfig.APPLICATION_ID - the package of + // the very APK an app_process loaded it from (flavour and id suffix included). + buildConfig = true } flavorDimensions += "profile" diff --git a/android-plugin/app/src/main/AndroidManifest.xml b/android-plugin/app/src/main/AndroidManifest.xml index a6155a1b..3eabdf3d 100644 --- a/android-plugin/app/src/main/AndroidManifest.xml +++ b/android-plugin/app/src/main/AndroidManifest.xml @@ -49,6 +49,18 @@ android:exported="${serverComponentsExported}" android:foregroundServiceType="dataSync" android:process=":mglsrv" /> + +