mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 03:18:06 +00:00
Workaround missing audio focus requests & wrong audio manager mode when TelecomManager APIs aren't available on device
This commit is contained in:
parent
c99acbb5e1
commit
3ffda24b82
1 changed files with 13 additions and 5 deletions
|
|
@ -68,15 +68,14 @@ class TelecomManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private val hasTelecomFeature = context.packageManager.hasSystemFeature("android.software.telecom")
|
||||||
|
|
||||||
private var currentlyFollowedCalls: Int = 0
|
private var currentlyFollowedCalls: Int = 0
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val hasTelecomFeature =
|
|
||||||
context.packageManager.hasSystemFeature("android.software.telecom")
|
|
||||||
Log.i(
|
Log.i(
|
||||||
"$TAG android.software.telecom feature is [${if (hasTelecomFeature) "available" else "not available"}]"
|
"$TAG android.software.telecom feature is [${if (hasTelecomFeature) "available" else "not available"}]"
|
||||||
)
|
)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
callsManager.registerAppWithTelecom(
|
callsManager.registerAppWithTelecom(
|
||||||
CallsManager.CAPABILITY_BASELINE or
|
CallsManager.CAPABILITY_BASELINE or
|
||||||
|
|
@ -194,12 +193,21 @@ class TelecomManager
|
||||||
@WorkerThread
|
@WorkerThread
|
||||||
fun onCoreStarted(core: Core) {
|
fun onCoreStarted(core: Core) {
|
||||||
Log.i("$TAG Core has been started")
|
Log.i("$TAG Core has been started")
|
||||||
core.addListener(coreListener)
|
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
|
@WorkerThread
|
||||||
fun onCoreStopped(core: Core) {
|
fun onCoreStopped(core: Core) {
|
||||||
Log.i("$TAG Core is being stopped")
|
Log.i("$TAG Core is being stopped")
|
||||||
core.removeListener(coreListener)
|
if (hasTelecomFeature) {
|
||||||
|
core.removeListener(coreListener)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue