Merge pull request #4824 from gavine99/fix-bluetooth-receiver-not-exported

allow bluetooth headset to be discovered and used during a call
This commit is contained in:
Marcel Hibbe 2025-04-07 16:31:39 +00:00 committed by GitHub
commit 2f54c53796
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 11 deletions

View File

@ -19,7 +19,7 @@ import android.os.Handler
@SuppressLint("UnspecifiedRegisterReceiverFlag")
fun Context.registerBroadcastReceiver(receiver: BroadcastReceiver?, filter: IntentFilter, flag: ReceiverFlag): Intent? {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
registerReceiver(receiver, filter, flag.getId())
registerReceiver(receiver, filter, flag.value)
} else {
registerReceiver(receiver, filter)
}
@ -34,7 +34,7 @@ fun Context.registerPermissionHandlerBroadcastReceiver(
flag: ReceiverFlag
): Intent? {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
registerReceiver(receiver, filter, broadcastPermission, scheduler, flag.getId())
registerReceiver(receiver, filter, broadcastPermission, scheduler, flag.value)
} else {
registerReceiver(receiver, filter, broadcastPermission, scheduler)
}

View File

@ -10,13 +10,20 @@ package com.nextcloud.talk.utils
import android.content.Context
import android.os.Build
import androidx.annotation.RequiresApi
enum class ReceiverFlag {
NotExported;
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
fun getId(): Int {
return Context.RECEIVER_NOT_EXPORTED
}
enum class ReceiverFlag(val value: Int) {
Exported(
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
Context.RECEIVER_EXPORTED
} else {
0
}
),
NotExported(
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
Context.RECEIVER_NOT_EXPORTED
} else {
0
}
)
}

View File

@ -292,7 +292,7 @@ public class WebRtcBluetoothManager {
apprtcContext,
receiver,
filter,
ReceiverFlag.NotExported);
ReceiverFlag.Exported);
}
protected void unregisterReceiver(BroadcastReceiver receiver) {