From 8b5178beac7013fae4ffa1cb37ab2aa5a443ff3f Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Thu, 1 Dec 2022 18:48:18 -0800 Subject: [PATCH] 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 --- .../com/android/systemui/broadcast/FakeBroadcastDispatcher.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/broadcast/FakeBroadcastDispatcher.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/broadcast/FakeBroadcastDispatcher.kt index 52e0c982cae0c..ad086ff9c664c 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/broadcast/FakeBroadcastDispatcher.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/broadcast/FakeBroadcastDispatcher.kt @@ -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() + val registeredReceivers: MutableSet = ConcurrentHashMap.newKeySet() override fun registerReceiverWithHandler( receiver: BroadcastReceiver,