Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff26a560 authored by SongFerng Wang's avatar SongFerng Wang Committed by Android (Google) Code Review
Browse files

Merge "Fix the broadcast receiver" into main

parents 37dadd10 8c4817da
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -37,10 +37,11 @@ private const val TAG = "BroadcastReceiverFlow"
fun Context.broadcastReceiverFlow(intentFilter: IntentFilter): Flow<Intent> = callbackFlow {
    val broadcastReceiver = object : BroadcastReceiver() {
        override fun onReceive(context: Context, intent: Intent) {
            Log.d(TAG, "onReceive: $intent")
            trySend(intent)
        }
    }
    registerReceiver(broadcastReceiver, intentFilter, Context.RECEIVER_NOT_EXPORTED)
    registerReceiver(broadcastReceiver, intentFilter, Context.RECEIVER_VISIBLE_TO_INSTANT_APPS)

    awaitClose { unregisterReceiver(broadcastReceiver) }
}.catch { e ->
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ class BroadcastReceiverFlowTest {

    private val context = mock<Context> {
        on {
            registerReceiver(any(), eq(INTENT_FILTER), eq(Context.RECEIVER_NOT_EXPORTED))
            registerReceiver(any(), eq(INTENT_FILTER), eq(Context.RECEIVER_VISIBLE_TO_INSTANT_APPS))
        } doAnswer {
            registeredBroadcastReceiver = it.arguments[0] as BroadcastReceiver
            null