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;