Even when Android 12+, set MODE_IN_COMMUNICATION if not set
This commit is contained in:
@@ -1871,19 +1871,12 @@ class BaresipService: Service() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun ensureCommunicationMode() {
|
private fun ensureCommunicationMode() {
|
||||||
// Android 11 (API 30) and below: Manual mode switching is often required
|
|
||||||
// to ensure the system routes audio through the correct VOIP hardware path.
|
|
||||||
if (VERSION.SDK_INT < 31) {
|
|
||||||
if (Call.inCall() && am.mode != MODE_IN_COMMUNICATION) {
|
if (Call.inCall() && am.mode != MODE_IN_COMMUNICATION) {
|
||||||
Log.d(TAG, "Manual Mode Guard (SDK < 31): Setting MODE_IN_COMMUNICATION")
|
|
||||||
am.mode = MODE_IN_COMMUNICATION
|
am.mode = MODE_IN_COMMUNICATION
|
||||||
}
|
if (VERSION.SDK_INT < 31)
|
||||||
}
|
Log.d(TAG, "Manual Mode Guard (SDK < 31): Setting MODE_IN_COMMUNICATION")
|
||||||
else {
|
else
|
||||||
// For Android 12+, log if the system hasn't set the mode correctly.
|
Log.d(TAG, "Manual Mode Guard (SDK >= 31): Setting MODE_IN_COMMUNICATION")
|
||||||
if (Call.inCall() && am.mode != MODE_IN_COMMUNICATION) {
|
|
||||||
Log.w(TAG, "ConnectionService has not set MODE_IN_COMMUNICATION on Android 12+")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user