Bluetooth: Make Bonded device list operations are synchronous
Change the bonded device list to CopyOnWriteArrayList,to take
care of concurrent add/delete operations to the bonded device
list.
Change-Id: Ia4de2d35f2e30d6407716d0e60dc3bf4d05a2ac5
diff --git a/src/com/android/bluetooth/btservice/AdapterProperties.java b/src/com/android/bluetooth/btservice/AdapterProperties.java
index af8e416..d1b8e32 100755
--- a/src/com/android/bluetooth/btservice/AdapterProperties.java
+++ b/src/com/android/bluetooth/btservice/AdapterProperties.java
@@ -31,6 +31,7 @@
import java.util.HashMap;
import java.util.ArrayList;
+import java.util.concurrent.CopyOnWriteArrayList;
class AdapterProperties {
private static final boolean DBG = true;
@@ -44,7 +45,7 @@
private int mScanMode;
private int mDiscoverableTimeout;
private ParcelUuid[] mUuids;
- private ArrayList<BluetoothDevice> mBondedDevices = new ArrayList<BluetoothDevice>();
+ private CopyOnWriteArrayList<BluetoothDevice> mBondedDevices = new CopyOnWriteArrayList<BluetoothDevice>();
private int mProfilesConnecting, mProfilesConnected, mProfilesDisconnecting;
private HashMap<Integer, Pair<Integer, Integer>> mProfileConnectionState;