Skip to content

Commit b0a33a9

Browse files
authored
Fix leak/bug in bluetoothState flow (#399)
1 parent cd93910 commit b0a33a9

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

core/src/androidMain/kotlin/BluetoothState.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ import android.content.Context
88
import android.content.Intent
99
import android.content.IntentFilter
1010
import kotlinx.coroutines.DelicateCoroutinesApi
11-
import kotlinx.coroutines.ExperimentalCoroutinesApi
1211
import kotlinx.coroutines.GlobalScope
12+
import kotlinx.coroutines.channels.awaitClose
1313
import kotlinx.coroutines.flow.SharingStarted.Companion.WhileSubscribed
1414
import kotlinx.coroutines.flow.callbackFlow
1515
import kotlinx.coroutines.flow.shareIn
1616

1717
private val intentFilter = IntentFilter(ACTION_STATE_CHANGED)
1818

19-
@OptIn(DelicateCoroutinesApi::class, ExperimentalCoroutinesApi::class)
19+
@OptIn(DelicateCoroutinesApi::class)
2020
internal val bluetoothState = callbackFlow {
2121
val receiver = object : BroadcastReceiver() {
2222
override fun onReceive(context: Context, intent: Intent) {
@@ -25,7 +25,7 @@ internal val bluetoothState = callbackFlow {
2525
}
2626
}
2727
applicationContext.registerReceiver(receiver, intentFilter)
28-
invokeOnClose {
28+
awaitClose {
2929
applicationContext.unregisterReceiver(receiver)
3030
}
3131
}.shareIn(GlobalScope, started = WhileSubscribed(replayExpirationMillis = 0))

0 commit comments

Comments
 (0)