mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-09-05 15:41:23 +03:00
* fix: android: target API 35 Signed-off-by: michaeljclarkk <104532890+michaeljclarkk@users.noreply.github.com> * fix: android: handle API 35 foreground service types Integrate the foreground-service and MediaProjection lifecycle changes from fufesou/rustdesk#68 while leaving storage permission handling to #15602. Co-authored-by: fufesou <linlong1266@gmail.com> Signed-off-by: fufesou <linlong1266@gmail.com> Signed-off-by: michaeljclarkk <104532890+michaeljclarkk@users.noreply.github.com> * fix: bump required android sdk version to 36, per recent google requirement change. Signed-off-by: michaeljclarkk <104532890+michaeljclarkk@users.noreply.github.com> * fix(android): clear microphone FGS type when capture stops Signed-off-by: fufesou <linlong1266@gmail.com> * fix(android): harden API 36 capture service lifecycle - isolate MediaProjection callbacks per session - keep foreground service types in sync with capture state - handle audio startup failures and shared frame ownership - upgrade AGP to 8.10.1 for API 36 support Signed-off-by: fufesou <linlong1266@gmail.com> * fix(android): reset capture state on FGS update failure Signed-off-by: fufesou <linlong1266@gmail.com> * fix(android): recover capture after projection failure Propagate virtual display startup failures, clean up partial video resources, and resume capture after media projection is reauthorized. Signed-off-by: fufesou <linlong1266@gmail.com> * fix(android): preserve voice call during projection replacement Keep the existing capture active until a new projection is acquired, and restore the voice-call audio source when capture restarts. Signed-off-by: fufesou <linlong1266@gmail.com> * fix(android): use JDK 17 in playground workflow Signed-off-by: fufesou <linlong1266@gmail.com> * fix(android): clear pending capture restart on denial Notify MainService when a recovery projection request is canceled so a later projection grant cannot restart stale capture state. Signed-off-by: fufesou <linlong1266@gmail.com> * fix(android): handle audio and projection recovery failures Verify AudioRecord startup, propagate voice-call restoration failures, and clear stale capture recovery state when projection setup fails. Signed-off-by: fufesou <linlong1266@gmail.com> --------- Signed-off-by: michaeljclarkk <104532890+michaeljclarkk@users.noreply.github.com> Signed-off-by: fufesou <linlong1266@gmail.com> Co-authored-by: fufesou <linlong1266@gmail.com>
56 lines
1.5 KiB
Groovy
56 lines
1.5 KiB
Groovy
def legacyPluginNamespaces = [
|
|
external_path: 'com.pinciat.external_path',
|
|
flutter_keyboard_visibility: 'com.jrai.flutter_keyboard_visibility',
|
|
qr_code_scanner: 'net.touchcapture.qr.flutterqr',
|
|
sqflite: 'com.tekartik.sqflite',
|
|
uni_links: 'name.avioli.unilinks',
|
|
]
|
|
|
|
def java8JvmTarget = JavaVersion.VERSION_1_8.toString()
|
|
def java8KotlinJvmTargets = [
|
|
app: java8JvmTarget,
|
|
external_path: java8JvmTarget,
|
|
qr_code_scanner: java8JvmTarget,
|
|
]
|
|
|
|
def configureKotlinJvmTarget = { Project project, String kotlinJvmTarget ->
|
|
project.plugins.withId('kotlin-android') {
|
|
project.tasks.configureEach { task ->
|
|
if (!task.hasProperty('kotlinOptions')) {
|
|
return
|
|
}
|
|
task.kotlinOptions.jvmTarget = kotlinJvmTarget
|
|
}
|
|
}
|
|
}
|
|
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
maven { url 'https://jitpack.io' }
|
|
}
|
|
}
|
|
|
|
rootProject.buildDir = '../build'
|
|
subprojects {
|
|
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
|
def legacyNamespace = legacyPluginNamespaces[project.name]
|
|
if (legacyNamespace != null) {
|
|
project.plugins.withId('com.android.library') {
|
|
project.android.namespace = legacyNamespace
|
|
}
|
|
}
|
|
def kotlinJvmTarget = java8KotlinJvmTargets[project.name]
|
|
if (kotlinJvmTarget != null) {
|
|
configureKotlinJvmTarget(project, kotlinJvmTarget)
|
|
}
|
|
}
|
|
subprojects {
|
|
project.evaluationDependsOn(':app')
|
|
}
|
|
|
|
tasks.register("clean", Delete) {
|
|
delete rootProject.buildDir
|
|
}
|