summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/app/src/com/android/bluetooth/csip/CsipSetCoordinatorService.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/android/app/src/com/android/bluetooth/csip/CsipSetCoordinatorService.java b/android/app/src/com/android/bluetooth/csip/CsipSetCoordinatorService.java
index 62b191a876..9febc11954 100644
--- a/android/app/src/com/android/bluetooth/csip/CsipSetCoordinatorService.java
+++ b/android/app/src/com/android/bluetooth/csip/CsipSetCoordinatorService.java
@@ -51,6 +51,7 @@ import com.android.bluetooth.btservice.ProfileService;
import com.android.bluetooth.btservice.ServiceFactory;
import com.android.bluetooth.btservice.storage.DatabaseManager;
import com.android.bluetooth.le_audio.LeAudioService;
+import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import java.util.ArrayList;
@@ -85,6 +86,7 @@ public class CsipSetCoordinatorService extends ProfileService {
@VisibleForTesting CsipSetCoordinatorNativeInterface mCsipSetCoordinatorNativeInterface;
+ @GuardedBy("mStateMachines")
private final Map<BluetoothDevice, CsipSetCoordinatorStateMachine> mStateMachines =
new HashMap<>();
@@ -143,8 +145,11 @@ public class CsipSetCoordinatorService extends ProfileService {
// Get LE Audio service (can be null)
mLeAudioService = mServiceFactory.getLeAudioService();
+ synchronized (mStateMachines) {
+ mStateMachines.clear();
+ }
+
// Start handler thread for state machines
- mStateMachines.clear();
mStateMachinesThread = new HandlerThread("CsipSetCoordinatorService.StateMachines");
mStateMachinesThread.start();
@@ -1181,8 +1186,10 @@ public class CsipSetCoordinatorService extends ProfileService {
@Override
public void dump(StringBuilder sb) {
super.dump(sb);
- for (CsipSetCoordinatorStateMachine sm : mStateMachines.values()) {
- sm.dump(sb);
+ synchronized (mStateMachines) {
+ for (CsipSetCoordinatorStateMachine sm : mStateMachines.values()) {
+ sm.dump(sb);
+ }
}
ProfileService.println(sb, "mFoundSetMemberToGroupId: ");
for (Map.Entry<BluetoothDevice, Integer> entry : mFoundSetMemberToGroupId.entrySet()) {