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

Commit 8b5178be authored by Aaron Liu's avatar Aaron Liu
Browse files

Fix fatal exception in FakeBroadcastReceiver.

It seems like an exception is thrown because ArraySet is not
thread-safe.

Use a synchronized hash set for the receivers.

Fixes: 261099639
Test: atest KeyguardQuickAffordanceProviderTest
Change-Id: I39c43bb2d5dbdc6705b5dec4b362d75189c136d9
parent e7aef726
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -22,12 +22,12 @@ import android.content.IntentFilter
import android.os.Handler
import android.os.Looper
import android.os.UserHandle
import android.util.ArraySet
import android.util.Log
import com.android.systemui.SysuiTestableContext
import com.android.systemui.broadcast.logging.BroadcastDispatcherLogger
import com.android.systemui.dump.DumpManager
import com.android.systemui.settings.UserTracker
import java.util.concurrent.ConcurrentHashMap
import java.util.concurrent.Executor

class FakeBroadcastDispatcher(
@@ -50,7 +50,7 @@ class FakeBroadcastDispatcher(
        PendingRemovalStore(logger)
    ) {

    val registeredReceivers = ArraySet<BroadcastReceiver>()
    val registeredReceivers: MutableSet<BroadcastReceiver> = ConcurrentHashMap.newKeySet()

    override fun registerReceiverWithHandler(
        receiver: BroadcastReceiver,