Workaround missing audio focus requests & wrong audio manager mode when TelecomManager APIs aren't available on device

This commit is contained in:
Sylvain Berfini 2025-12-01 10:11:31 +01:00
parent c99acbb5e1
commit 3ffda24b82

View file

@ -68,15 +68,14 @@ class TelecomManager
}
}
private val hasTelecomFeature = context.packageManager.hasSystemFeature("android.software.telecom")
private var currentlyFollowedCalls: Int = 0
init {
val hasTelecomFeature =
context.packageManager.hasSystemFeature("android.software.telecom")
Log.i(
"$TAG android.software.telecom feature is [${if (hasTelecomFeature) "available" else "not available"}]"
)
try {
callsManager.registerAppWithTelecom(
CallsManager.CAPABILITY_BASELINE or
@ -194,12 +193,21 @@ class TelecomManager
@WorkerThread
fun onCoreStarted(core: Core) {
Log.i("$TAG Core has been started")
if (hasTelecomFeature) {
core.addListener(coreListener)
} else {
Log.w(
"$TAG android.software.telecom feature is not available, enable audio focus requests in Linphone SDK"
)
coreContext.core.config.setBool("audio", "android_disable_audio_focus_requests", false)
}
}
@WorkerThread
fun onCoreStopped(core: Core) {
Log.i("$TAG Core is being stopped")
if (hasTelecomFeature) {
core.removeListener(coreListener)
}
}
}