changes to allow bluetooth headset state change receiver to be exported. fixes bluetooth headset (dis)connection not being recognised during a call.

Signed-off-by: Gavin Element <github@bobfox.top>
Signed-off-by: gavine99 <github@xymail.tk>
This commit is contained in:
gavine99 2025-03-24 15:27:01 +11:00
parent 8e5ca5c637
commit e68c023a27
3 changed files with 18 additions and 10 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

@ -12,11 +12,19 @@ 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) {