am 80780da9: Add protection for controller timeout/failure, maximum number of advertisers, filters etc.

* commit '80780da923f52a6b5a80f8619cf3e735970eaad9':
  Add protection for controller timeout/failure, maximum number of advertisers, filters etc.
diff --git a/jni/com_android_bluetooth_btservice_AdapterService.cpp b/jni/com_android_bluetooth_btservice_AdapterService.cpp
index 28de5ea..f7723d9 100644
--- a/jni/com_android_bluetooth_btservice_AdapterService.cpp
+++ b/jni/com_android_bluetooth_btservice_AdapterService.cpp
@@ -876,6 +876,8 @@
 
     if (!sBluetoothSocketInterface) return -1;
 
+    ALOGV("%s: SOCK FLAG = %x", __FUNCTION__, flag);
+
     service_name = env->GetStringUTFChars(name_str, NULL);
 
     uuid = env->GetByteArrayElements(uuidObj, NULL);
@@ -883,7 +885,6 @@
         ALOGE("failed to get uuid");
         goto Fail;
     }
-    ALOGE("SOCK FLAG = %x ***********************",flag);
     if ( (status = sBluetoothSocketInterface->listen((btsock_type_t) type, service_name,
                        (const uint8_t*) uuid, channel, &socket_fd, flag)) != BT_STATUS_SUCCESS) {
         ALOGE("Socket listen failed: %d", status);
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index fea6d62..014756c 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -38,16 +38,16 @@
     <string name="incoming_file_confirm_ok" msgid="281462442932231475">"Αποδοχή"</string>
     <string name="incoming_file_confirm_timeout_ok" msgid="1414676773249857278">"OK"</string>
     <string name="incoming_file_confirm_timeout_content" msgid="172779756093975981">"Σημειώθηκε διακοπή κατά την αποδοχή ενός εισερχόμενου αρχείου από τον αποστολέα \"<xliff:g id="SENDER">%1$s</xliff:g>\""</string>
-    <string name="incoming_file_confirm_Notification_title" msgid="2958227698135117210">"Κοινοποίηση μέσω Bluetooth: Εισερχόμενο αρχείο"</string>
+    <string name="incoming_file_confirm_Notification_title" msgid="2958227698135117210">"Κοινή χρήση μέσω Bluetooth: Εισερχόμενο αρχείο"</string>
     <string name="incoming_file_confirm_Notification_caption" msgid="6671081128475981157">"Θέλετε να λάβετε αυτό το αρχείο;"</string>
     <string name="incoming_file_toast_msg" msgid="1733710749992901811">"Εισερχόμενο αρχείο από άλλη συσκευή. Επιβεβαιώστε ότι θέλετε να λάβετε αυτό το αρχείο."</string>
-    <string name="notification_receiving" msgid="4674648179652543984">"Κοινοποίηση μέσω Bluetooth: Λήψη του <xliff:g id="FILE">%1$s</xliff:g>"</string>
-    <string name="notification_received" msgid="3324588019186687985">"Κοινοποίηση μέσω Bluetooth: Ελήφθη το <xliff:g id="FILE">%1$s</xliff:g>"</string>
-    <string name="notification_received_fail" msgid="3619350997285714746">"Κοινοποίηση μέσω Bluetooth: Το αρχείο <xliff:g id="FILE">%1$s</xliff:g> δεν ελήφθη"</string>
-    <string name="notification_sending" msgid="3035748958534983833">"Κοινοποίηση μέσω Bluetooth: Αποστολή του <xliff:g id="FILE">%1$s</xliff:g>"</string>
-    <string name="notification_sent" msgid="9218710861333027778">"Κοινοποίηση μέσω Bluetooth: Εστάλη το <xliff:g id="FILE">%1$s</xliff:g>"</string>
+    <string name="notification_receiving" msgid="4674648179652543984">"Κοινή χρήση μέσω Bluetooth: Λήψη του <xliff:g id="FILE">%1$s</xliff:g>"</string>
+    <string name="notification_received" msgid="3324588019186687985">"Κοινή χρήση μέσω Bluetooth: Ελήφθη το <xliff:g id="FILE">%1$s</xliff:g>"</string>
+    <string name="notification_received_fail" msgid="3619350997285714746">"Κοινή χρήση μέσω Bluetooth: Το αρχείο <xliff:g id="FILE">%1$s</xliff:g> δεν ελήφθη"</string>
+    <string name="notification_sending" msgid="3035748958534983833">"Κοινή χρήση μέσω Bluetooth: Αποστολή του <xliff:g id="FILE">%1$s</xliff:g>"</string>
+    <string name="notification_sent" msgid="9218710861333027778">"Κοινή χρήση μέσω Bluetooth: Εστάλη το <xliff:g id="FILE">%1$s</xliff:g>"</string>
     <string name="notification_sent_complete" msgid="302943281067557969">"Ολοκληρώθηκε το 100%"</string>
-    <string name="notification_sent_fail" msgid="6696082233774569445">"Κοινοποίηση μέσω Bluetooth: Το αρχείο <xliff:g id="FILE">%1$s</xliff:g> δεν εστάλη"</string>
+    <string name="notification_sent_fail" msgid="6696082233774569445">"Κοινή χρήση μέσω Bluetooth: Το αρχείο <xliff:g id="FILE">%1$s</xliff:g> δεν εστάλη"</string>
     <string name="download_title" msgid="3353228219772092586">"Μεταφορά αρχείου"</string>
     <string name="download_line1" msgid="4926604799202134144">"Από: \"<xliff:g id="SENDER">%1$s</xliff:g>\""</string>
     <string name="download_line2" msgid="5876973543019417712">"Αρχείο: <xliff:g id="FILE">%1$s</xliff:g>"</string>
@@ -107,8 +107,8 @@
     <string name="outbound_history_title" msgid="4279418703178140526">"Εξερχόμενες μεταφορές"</string>
     <string name="no_transfers" msgid="3482965619151865672">"Το ιστορικό μεταφορών είναι κενό."</string>
     <string name="transfer_clear_dlg_msg" msgid="1712376797268438075">"Θα γίνει εκκαθάριση όλων των στοιχείων από τη λίστα."</string>
-    <string name="outbound_noti_title" msgid="8051906709452260849">"Κοινοποίηση Bluetooth: Απεσταλμένα αρχεία"</string>
-    <string name="inbound_noti_title" msgid="4143352641953027595">"Κοινοποίηση Bluetooth: Ληφθέντα αρχεία"</string>
+    <string name="outbound_noti_title" msgid="8051906709452260849">"Κοινή χρήση Bluetooth: Απεσταλμένα αρχεία"</string>
+    <string name="inbound_noti_title" msgid="4143352641953027595">"Κοινή χρήση Bluetooth: Ληφθέντα αρχεία"</string>
     <string name="noti_caption" msgid="7508708288885707365">"<xliff:g id="SUCCESSFUL_NUMBER_0">%1$s</xliff:g> επιτυχίες, <xliff:g id="UNSUCCESSFUL_NUMBER">%2$s</xliff:g> αποτυχίες."</string>
     <string name="transfer_menu_clear_all" msgid="790017462957873132">"Εκκαθάριση λίστας"</string>
     <string name="transfer_menu_open" msgid="3368984869083107200">"Άνοιγμα"</string>
diff --git a/res/values-el/test_strings.xml b/res/values-el/test_strings.xml
index 2e3b68c..789278f 100644
--- a/res/values-el/test_strings.xml
+++ b/res/values-el/test_strings.xml
@@ -2,7 +2,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="hello" msgid="1740533743008967039">"Hello World, TestActivity"</string>
-    <string name="app_name" msgid="1203877025577761792">"Κοινοποίηση μέσω Bluetooth"</string>
+    <string name="app_name" msgid="1203877025577761792">"Κοινή χρήση μέσω Bluetooth"</string>
     <string name="insert_record" msgid="1450997173838378132">"Εισαγωγή αρχείου"</string>
     <string name="update_record" msgid="2480425402384910635">"Επιβεβαίωση αρχείου"</string>
     <string name="ack_record" msgid="6716152390978472184">"Αρχείο ack"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 92e898a..6271c40 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -21,7 +21,7 @@
     <string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"‏הכנס מכשיר Bluetooth לרשימה הלבנה."</string>
     <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"‏מאפשר לאפליקציה להכניס מכשיר Bluetooth באופן זמני לרשימה הלבנה, ובכך לאפשר למכשיר לשלוח קבצים למכשיר זה ללא אישור משתמש."</string>
     <string name="permlab_handoverStatus" msgid="7316032998801933554">"‏קבל שידורי העברת מסירה של Bluetooth."</string>
-    <string name="permdesc_handoverStatus" msgid="4752738070064786310">"‏מאפשר קבלת מידע סטטוס של העברת מסירה מ-Bluetooth."</string>
+    <string name="permdesc_handoverStatus" msgid="4752738070064786310">"‏מאפשר קבלת נתוני סטטוס של העברת מסירה מ-Bluetooth."</string>
     <string name="bt_share_picker_label" msgid="6268100924487046932">"Bluetooth"</string>
     <string name="unknown_device" msgid="9221903979877041009">"מכשיר לא ידוע"</string>
     <string name="unknownNumber" msgid="4994750948072751566">"לא ידוע"</string>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 4fea7eb..83a8fb2 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -30,13 +30,13 @@
     <string name="bt_enable_title" msgid="8657832550503456572"></string>
     <string name="bt_enable_line1" msgid="7203551583048149">"ដើម្បី​ប្រើ​​សេវា​ប៊្លូ​ធូ​ស ​ជា​ដំបូង​អ្នក​ត្រូវ​តែ​បើក​​ប៊្លូ​ធូ​ស​សិន​។"</string>
     <string name="bt_enable_line2" msgid="4341936569415937994">"បើក​ប៊្លូធូស​ឥឡូវ​នេះ?"</string>
-    <string name="bt_enable_cancel" msgid="1988832367505151727">"បោះ​បង់​"</string>
+    <string name="bt_enable_cancel" msgid="1988832367505151727">"បោះ​បង់"</string>
     <string name="bt_enable_ok" msgid="3432462749994538265">"បើក"</string>
     <string name="incoming_file_confirm_title" msgid="8139874248612182627">"ការ​ផ្ទេរ​ឯកសារ"</string>
     <string name="incoming_file_confirm_content" msgid="6673812334377911289">"\"<xliff:g id="SENDER">%1$s</xliff:g>\" ចង់​ផ្ញើ <xliff:g id="FILE">%2$s</xliff:g> (<xliff:g id="SIZE">%3$s</xliff:g>) ឲ្យ​អ្នក។ \n\n ទទួល​ឯកសារ?"</string>
     <string name="incoming_file_confirm_cancel" msgid="2973321832477704805">"បោះបង់"</string>
     <string name="incoming_file_confirm_ok" msgid="281462442932231475">"ទទួល"</string>
-    <string name="incoming_file_confirm_timeout_ok" msgid="1414676773249857278">"យល់​ព្រម​"</string>
+    <string name="incoming_file_confirm_timeout_ok" msgid="1414676773249857278">"យល់​ព្រម"</string>
     <string name="incoming_file_confirm_timeout_content" msgid="172779756093975981">"អស់​ពេល​ទទួល​​ឯកសារ​ចូល​ពី \"<xliff:g id="SENDER">%1$s</xliff:g>\""</string>
     <string name="incoming_file_confirm_Notification_title" msgid="2958227698135117210">"ការ​ចែក​រំលែក​ប៊្លូ​ធូ​ស៖ ឯកសារ​ចូល"</string>
     <string name="incoming_file_confirm_Notification_caption" msgid="6671081128475981157">"តើ​អ្នក​ចង់​ទទួល​ឯកសារ​នេះ​ឬ​?"</string>
@@ -59,19 +59,19 @@
     <string name="download_fail_line1" msgid="3846450148862894552">"មិន​​បាន​ទទួល​​​ឯកសារ"</string>
     <string name="download_fail_line2" msgid="8950394574689971071">"ឯកសារ៖ <xliff:g id="FILE">%1$s</xliff:g>"</string>
     <string name="download_fail_line3" msgid="3451040656154861722">"មូលហេតុ៖ <xliff:g id="REASON">%1$s</xliff:g>"</string>
-    <string name="download_fail_ok" msgid="1521733664438320300">"យល់​ព្រម​"</string>
+    <string name="download_fail_ok" msgid="1521733664438320300">"យល់​ព្រម"</string>
     <string name="download_succ_line5" msgid="4509944688281573595">"បាន​ទទួល​​ឯកសារ"</string>
     <string name="download_succ_ok" msgid="7053688246357050216">"បើក"</string>
     <string name="upload_line1" msgid="2055952074059709052">"ទៅ៖ \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\""</string>
     <string name="upload_line3" msgid="4920689672457037437">"ប្រភេទ​ឯកសារ៖ <xliff:g id="TYPE">%1$s</xliff:g> (<xliff:g id="SIZE">%2$s</xliff:g>)"</string>
     <string name="upload_line5" msgid="7759322537674229752">"កំពុង​ផ្ញើ​ឯកសារ…"</string>
     <string name="upload_succ_line5" msgid="5687317197463383601">"បាន​ផ្ញើ​ឯកសារ"</string>
-    <string name="upload_succ_ok" msgid="7705428476405478828">"យល់​ព្រម​"</string>
+    <string name="upload_succ_ok" msgid="7705428476405478828">"យល់​ព្រម"</string>
     <string name="upload_fail_line1" msgid="7899394672421491701">"មិន​បាន​ផ្ញើ​ឯកសារ​ទៅ \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" ។"</string>
     <string name="upload_fail_line1_2" msgid="2108129204050841798">"ឯកសារ៖ <xliff:g id="FILE">%1$s</xliff:g>"</string>
     <string name="upload_fail_ok" msgid="5807702461606714296">"ព្យាយាម​ម្ដង​ទៀត"</string>
-    <string name="upload_fail_cancel" msgid="9118496285835687125">"បិទ​"</string>
-    <string name="bt_error_btn_ok" msgid="5965151173011534240">"យល់​ព្រម​"</string>
+    <string name="upload_fail_cancel" msgid="9118496285835687125">"បិទ"</string>
+    <string name="bt_error_btn_ok" msgid="5965151173011534240">"យល់​ព្រម"</string>
     <string name="unknown_file" msgid="6092727753965095366">"មិន​ស្គាល់​ឯកសារ"</string>
     <string name="unknown_file_desc" msgid="480434281415453287">"គ្មាន​កម្មវិធី​​សម្រាប់​គ្រប់គ្រង​ប្រភេទ​ឯកសារ​នេះ​ទេ។ \n"</string>
     <string name="not_exist_file" msgid="3489434189599716133">"គ្មាន​ឯកសារ"</string>
diff --git a/res/values-km-rKH/test_strings.xml b/res/values-km-rKH/test_strings.xml
index c9d1e40..f35bc4a 100644
--- a/res/values-km-rKH/test_strings.xml
+++ b/res/values-km-rKH/test_strings.xml
@@ -7,7 +7,7 @@
     <string name="update_record" msgid="2480425402384910635">"បញ្ជាក់​កំណត់ត្រា"</string>
     <string name="ack_record" msgid="6716152390978472184">"កំណត់ត្រា​ការ​ទទួល​ស្គាល់"</string>
     <string name="deleteAll_record" msgid="4383349788485210582">"លុប​កំណត់​ត្រា​ទាំងអស់"</string>
-    <string name="ok_button" msgid="6519033415223065454">"យល់​ព្រម​"</string>
+    <string name="ok_button" msgid="6519033415223065454">"យល់​ព្រម"</string>
     <string name="delete_record" msgid="4645040331967533724">"លុប​កំណត់​ត្រា"</string>
     <string name="start_server" msgid="9034821924409165795">"ចាប់ផ្ដើម​​ម៉ាស៊ីន​មេ TCP"</string>
     <string name="notify_server" msgid="4369106744022969655">"ជូន​ដំណឹង​ម៉ាស៊ីន​មេ TCP"</string>
diff --git a/src/com/android/bluetooth/a2dp/A2dpStateMachine.java b/src/com/android/bluetooth/a2dp/A2dpStateMachine.java
index c9e75c5..a73e1b2 100755
--- a/src/com/android/bluetooth/a2dp/A2dpStateMachine.java
+++ b/src/com/android/bluetooth/a2dp/A2dpStateMachine.java
@@ -679,7 +679,8 @@
     // This method does not check for error conditon (newState == prevState)
     private void broadcastConnectionState(BluetoothDevice device, int newState, int prevState) {
 
-        int delay = mAudioManager.setBluetoothA2dpDeviceConnectionState(device, newState);
+        int delay = mAudioManager.setBluetoothA2dpDeviceConnectionState(device, newState,
+                BluetoothProfile.A2DP);
 
         mWakeLock.acquire();
         mIntentBroadcastHandler.sendMessageDelayed(mIntentBroadcastHandler.obtainMessage(