From 9562768a048f0dccfc88cf8e214c62e919193487 Mon Sep 17 00:00:00 2001 From: 21pages Date: Wed, 5 Jun 2024 23:11:44 +0800 Subject: [PATCH] android floating window (#8268) Signed-off-by: 21pages --- flutter/android/app/build.gradle | 1 + .../android/app/src/main/AndroidManifest.xml | 5 + .../flutter_hbb/FloatingWindowService.kt | 307 ++++++++++++++++++ .../com/carriez/flutter_hbb/MainActivity.kt | 33 +- .../com/carriez/flutter_hbb/MainService.kt | 6 +- .../kotlin/com/carriez/flutter_hbb/common.kt | 27 ++ flutter/android/app/src/main/kotlin/ffi.kt | 1 + .../src/main/res/drawable/floating_window.xml | 7 + flutter/lib/consts.dart | 2 + flutter/lib/mobile/pages/server_page.dart | 9 + flutter/lib/models/server_model.dart | 17 + libs/hbb_common/src/config.rs | 10 + src/flutter_ffi.rs | 39 ++- 13 files changed, 432 insertions(+), 32 deletions(-) create mode 100644 flutter/android/app/src/main/kotlin/com/carriez/flutter_hbb/FloatingWindowService.kt create mode 100644 flutter/android/app/src/main/res/drawable/floating_window.xml diff --git a/flutter/android/app/build.gradle b/flutter/android/app/build.gradle index ca405647b..320eb3347 100644 --- a/flutter/android/app/build.gradle +++ b/flutter/android/app/build.gradle @@ -106,5 +106,6 @@ dependencies { implementation "androidx.media:media:1.6.0" implementation 'com.github.getActivity:XXPermissions:18.5' implementation("org.jetbrains.kotlin:kotlin-stdlib") { version { strictly("$kotlin_version") } } + implementation 'com.caverock:androidsvg-aar:1.4' } diff --git a/flutter/android/app/src/main/AndroidManifest.xml b/flutter/android/app/src/main/AndroidManifest.xml index 4e5c2eae2..51015f74a 100644 --- a/flutter/android/app/src/main/AndroidManifest.xml +++ b/flutter/android/app/src/main/AndroidManifest.xml @@ -81,6 +81,11 @@ android:name=".MainService" android:enabled="true" android:foregroundServiceType="mediaProjection" /> + + +