[automerger] AdapterService: Check the PIN code length before using am: da3422f198 am: cc149f7fcc
Change-Id: I5283800622aac87c20f95b40b2df7be697d57b94
diff --git a/jni/com_android_bluetooth_btservice_AdapterService.cpp b/jni/com_android_bluetooth_btservice_AdapterService.cpp
index a8d11bb..278f4a3 100755
--- a/jni/com_android_bluetooth_btservice_AdapterService.cpp
+++ b/jni/com_android_bluetooth_btservice_AdapterService.cpp
@@ -30,8 +30,11 @@
#include <fcntl.h>
namespace android {
-
+// OOB_LE_BD_ADDR_SIZE is 6 bytes addres + 1 byte address type
+#define OOB_LE_BD_ADDR_SIZE 7
#define OOB_TK_SIZE 16
+#define OOB_LE_SC_C_SIZE 16
+#define OOB_LE_SC_R_SIZE 16
#define ADDITIONAL_NREFS 50
static jmethodID method_stateChangeCallback;
@@ -836,19 +839,67 @@
return result;
}
+ jbyte* leBtDeviceAddressBytes = NULL;
jbyte* smTKBytes = NULL;
- jbyteArray smTK = callByteArrayGetter(env, oobData, "android/bluetooth/OobData", "getSecurityManagerTk");
+ jbyte* leScCBytes = NULL;
+ jbyte* leScRBytes = NULL;
+ jbyteArray leBtDeviceAddress = NULL;
+ jbyteArray smTK = NULL;
+ jbyteArray leScC = NULL;
+ jbyteArray leScR = NULL;
+
+ leBtDeviceAddress = callByteArrayGetter(env, oobData, "android/bluetooth/OobData", "getLeBluetoothDeviceAddress");
+ if (leBtDeviceAddress != NULL) {
+ leBtDeviceAddressBytes = env->GetByteArrayElements(leBtDeviceAddress, NULL);
+ int len = env->GetArrayLength(leBtDeviceAddress);
+ if (len != OOB_LE_BD_ADDR_SIZE) {
+ ALOGI("%s: wrong length of leBtDeviceAddress, should be empty or %d bytes.", __func__, OOB_LE_BD_ADDR_SIZE);
+ jniThrowIOException(env, EINVAL);
+ goto done;
+ }
+ memcpy(oob_data.le_bt_dev_addr, leBtDeviceAddressBytes, len);
+ }
+
+ smTK = callByteArrayGetter(env, oobData, "android/bluetooth/OobData", "getSecurityManagerTk");
if (smTK != NULL) {
smTKBytes = env->GetByteArrayElements(smTK, NULL);
int len = env->GetArrayLength(smTK);
if (len != OOB_TK_SIZE) {
- ALOGI("%s: wrong length of smTK, should be empty or %d bytes.", __FUNCTION__, OOB_TK_SIZE);
+ ALOGI("%s: wrong length of smTK, should be empty or %d bytes.", __func__, OOB_TK_SIZE);
jniThrowIOException(env, EINVAL);
goto done;
}
memcpy(oob_data.sm_tk, smTKBytes, len);
}
+ leScC = callByteArrayGetter(env, oobData, "android/bluetooth/OobData",
+ "getLeSecureConnectionsConfirmation");
+ if (leScC != NULL) {
+ leScCBytes = env->GetByteArrayElements(leScC, NULL);
+ int len = env->GetArrayLength(leScC);
+ if (len != OOB_LE_SC_C_SIZE) {
+ ALOGI("%s: wrong length of LE SC Confirmation, should be empty or %d bytes.",
+ __func__, OOB_LE_SC_C_SIZE);
+ jniThrowIOException(env, EINVAL);
+ goto done;
+ }
+ memcpy(oob_data.le_sc_c, leScCBytes, len);
+ }
+
+ leScR = callByteArrayGetter(env, oobData, "android/bluetooth/OobData",
+ "getLeSecureConnectionsRandom");
+ if (leScR != NULL) {
+ leScRBytes = env->GetByteArrayElements(leScR, NULL);
+ int len = env->GetArrayLength(leScR);
+ if (len != OOB_LE_SC_R_SIZE) {
+ ALOGI("%s: wrong length of LE SC Random, should be empty or %d bytes.",
+ __func__, OOB_LE_SC_R_SIZE);
+ jniThrowIOException(env, EINVAL);
+ goto done;
+ }
+ memcpy(oob_data.le_sc_r, leScRBytes, len);
+ }
+
if (sBluetoothInterface->create_bond_out_of_band((bt_bdaddr_t *)addr, transport, &oob_data)
== BT_STATUS_SUCCESS)
result = JNI_TRUE;
@@ -856,9 +907,18 @@
done:
env->ReleaseByteArrayElements(address, addr, 0);
+ if (leBtDeviceAddress != NULL)
+ env->ReleaseByteArrayElements(leBtDeviceAddress, leBtDeviceAddressBytes, 0);
+
if (smTK != NULL)
env->ReleaseByteArrayElements(smTK, smTKBytes, 0);
+ if (leScC != NULL)
+ env->ReleaseByteArrayElements(leScC, leScCBytes, 0);
+
+ if (leScR != NULL)
+ env->ReleaseByteArrayElements(leScR, leScRBytes, 0);
+
return result;
}
diff --git a/jni/com_android_bluetooth_hfp.cpp b/jni/com_android_bluetooth_hfp.cpp
index 42111a9..3b6c2ce 100644
--- a/jni/com_android_bluetooth_hfp.cpp
+++ b/jni/com_android_bluetooth_hfp.cpp
@@ -849,17 +849,6 @@
return (status == BT_STATUS_SUCCESS) ? JNI_TRUE : JNI_FALSE;
}
-static jboolean setScoAllowedNative(JNIEnv *env, jobject object, jboolean value) {
- bt_status_t status;
-
- if (!sBluetoothHfpInterface) return JNI_FALSE;
-
- if ((status = sBluetoothHfpInterface->set_sco_allowed(
- value == JNI_TRUE)) != BT_STATUS_SUCCESS) {
- ALOGE("Failed HF set sco allowed, status: %d", status);
- }
- return (status == BT_STATUS_SUCCESS) ? JNI_TRUE : JNI_FALSE;
-}
static JNINativeMethod sMethods[] = {
{"classInitNative", "()V", (void *) classInitNative},
@@ -881,7 +870,6 @@
{"clccResponseNative", "(IIIIZLjava/lang/String;I[B)Z", (void *) clccResponseNative},
{"phoneStateChangeNative", "(IIILjava/lang/String;I)Z", (void *) phoneStateChangeNative},
{"configureWBSNative", "([BI)Z", (void *) configureWBSNative},
- {"setScoAllowedNative", "(Z)Z", (void *) setScoAllowedNative},
};
int register_com_android_bluetooth_hfp(JNIEnv* env)
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index c3b1d1a..360e03b 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -69,7 +69,7 @@
<string name="upload_succ_ok" msgid="7705428476405478828">"Potvrdi"</string>
<string name="upload_fail_line1" msgid="7899394672421491701">"Datoteka nije poslata na <xliff:g id="RECIPIENT">%1$s</xliff:g>."</string>
<string name="upload_fail_line1_2" msgid="2108129204050841798">"Datoteka: <xliff:g id="FILE">%1$s</xliff:g>"</string>
- <string name="upload_fail_ok" msgid="5807702461606714296">"Pokušaj ponovo"</string>
+ <string name="upload_fail_ok" msgid="5807702461606714296">"Probaj ponovo"</string>
<string name="upload_fail_cancel" msgid="9118496285835687125">"Zatvori"</string>
<string name="bt_error_btn_ok" msgid="5965151173011534240">"Potvrdi"</string>
<string name="unknown_file" msgid="6092727753965095366">"Nepoznata datoteka"</string>
@@ -87,7 +87,7 @@
<string name="bt_sm_2_1" product="nosdcard" msgid="352165168004521000">"Nema dovoljno prostora u USB memoriji da bi se sačuvala datoteka pošiljaoca „<xliff:g id="SENDER">%1$s</xliff:g>“"</string>
<string name="bt_sm_2_1" product="default" msgid="1989018443456803630">"Nema dovoljno prostora na SD kartici da bi se sačuvala datoteka pošiljaoca „<xliff:g id="SENDER">%1$s</xliff:g>“"</string>
<string name="bt_sm_2_2" msgid="2965243265852680543">"Potreban prostor: <xliff:g id="SIZE">%1$s</xliff:g>"</string>
- <string name="ErrorTooManyRequests" msgid="8578277541472944529">"Previše zahteva se obrađuje. Pokušajte ponovo kasnije."</string>
+ <string name="ErrorTooManyRequests" msgid="8578277541472944529">"Previše zahteva se obrađuje. Probajte ponovo kasnije."</string>
<string name="status_pending" msgid="2503691772030877944">"Prenos datoteke još nije počeo."</string>
<string name="status_running" msgid="6562808920311008696">"Prenos datoteke je u toku."</string>
<string name="status_success" msgid="239573225847565868">"Prenos datoteke je dovršen."</string>
diff --git a/res/values-bn-rBD/strings_sap.xml b/res/values-bn-rBD/strings_sap.xml
index 23def2a..35329d8 100644
--- a/res/values-bn-rBD/strings_sap.xml
+++ b/res/values-bn-rBD/strings_sap.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="bluetooth_sap_notif_title" msgid="6877860822993195074">"ব্লুটুথ SIM -এ অ্যাক্সেস করুন"</string>
- <string name="bluetooth_sap_notif_ticker" msgid="6807778527893726699">"ব্লুটুথ SIM -এ অ্যাক্সেস করুন"</string>
+ <string name="bluetooth_sap_notif_title" msgid="6877860822993195074">"ব্লুটুথ সিম -এ অ্যাক্সেস করুন"</string>
+ <string name="bluetooth_sap_notif_ticker" msgid="6807778527893726699">"ব্লুটুথ সিম -এ অ্যাক্সেস করুন"</string>
<string name="bluetooth_sap_notif_message" msgid="7138657801087500690">"ক্লায়েন্ট সংযোগ বিচ্ছিন্ন করার অনুরোধ জানাবেন?"</string>
<string name="bluetooth_sap_notif_disconnecting" msgid="819150843490233288">"সংযোগ বিচ্ছিন্ন করতে ক্লায়েন্টের জন্য অপেক্ষা করা"</string>
<string name="bluetooth_sap_notif_disconnect_button" msgid="3678476872583356919">"সংযোগ বিচ্ছিন্ন করুন"</string>
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml
index aca69f4..d426d6c 100644
--- a/res/values-bs-rBA/strings.xml
+++ b/res/values-bs-rBA/strings.xml
@@ -41,7 +41,7 @@
<string name="notification_receiving" msgid="4674648179652543984">"Bluetooth dijeljenje: Prima se fajl <xliff:g id="FILE">%1$s</xliff:g>"</string>
<string name="notification_received" msgid="3324588019186687985">"Bluetooth dijeljenje: Primljen fajl <xliff:g id="FILE">%1$s</xliff:g>"</string>
<string name="notification_received_fail" msgid="3619350997285714746">"Bluetooth dijeljenje: Fajl <xliff:g id="FILE">%1$s</xliff:g> nije primljen"</string>
- <string name="notification_sending" msgid="3035748958534983833">"Bluetooth dijeljenje: Šalje se fajl <xliff:g id="FILE">%1$s</xliff:g>"</string>
+ <string name="notification_sending" msgid="3035748958534983833">"Bluetooth dijeljenje: Slanje fajla <xliff:g id="FILE">%1$s</xliff:g>"</string>
<string name="notification_sent" msgid="9218710861333027778">"Bluetooth dijeljenje: Poslan fajl <xliff:g id="FILE">%1$s</xliff:g>"</string>
<string name="notification_sent_complete" msgid="302943281067557969">"Dovršeno 100%"</string>
<string name="notification_sent_fail" msgid="6696082233774569445">"Bluetooth dijeljenje: Fajl <xliff:g id="FILE">%1$s</xliff:g> nije poslan"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 53ce817..ed31bb1 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -27,7 +27,7 @@
<string name="airplane_error_msg" msgid="8698965595254137230">"No pots utilitzar Bluetooth en mode d\'avió."</string>
<string name="bt_enable_title" msgid="8657832550503456572"></string>
<string name="bt_enable_line1" msgid="7203551583048149">"Per utilitzar serveis Bluetooth, primer cal que activeu el Bluetooth."</string>
- <string name="bt_enable_line2" msgid="4341936569415937994">"Voleu activar el Bluetooth ara?"</string>
+ <string name="bt_enable_line2" msgid="4341936569415937994">"Vols activar el Bluetooth ara?"</string>
<string name="bt_enable_cancel" msgid="1988832367505151727">"Cancel·la"</string>
<string name="bt_enable_ok" msgid="3432462749994538265">"Activa"</string>
<string name="incoming_file_confirm_title" msgid="8139874248612182627">"Transferència del fitxer"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 7c90422..193a34f 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -38,13 +38,13 @@
<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="5573329005298936903">"Εισερχόμενο αρχείο"</string>
<string name="incoming_file_confirm_Notification_content" msgid="3359694069319644738">"Ο χρήστης <xliff:g id="SENDER">%1$s</xliff:g> πρόκειται να στείλει το αρχείο <xliff:g id="FILE">%2$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_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>
diff --git a/res/values-el/test_strings.xml b/res/values-el/test_strings.xml
index 789278f..33c5e70 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-fa/strings.xml b/res/values-fa/strings.xml
index 9e390dd..bdffe86 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -99,7 +99,7 @@
<string name="status_no_sd_card" product="default" msgid="5760944071743325592">"هیچ کارت SD موجود نیست. برای ذخیره فایلهای منتقل شده، یک کارت SD در گوشی قرار دهید."</string>
<string name="status_connection_error" msgid="947681831523219891">"اتصال ناموفق بود."</string>
<string name="status_protocol_error" msgid="3245444473429269539">"درخواست به درستی انجام نمیشود."</string>
- <string name="status_unknown_error" msgid="8156660554237824912">"خطای ناشناخته."</string>
+ <string name="status_unknown_error" msgid="8156660554237824912">"خطای ناشناس."</string>
<string name="btopp_live_folder" msgid="7967791481444474554">"بلوتوث دریافت شد"</string>
<string name="download_success" msgid="7036160438766730871">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> دریافت کامل شد."</string>
<string name="upload_success" msgid="4014469387779648949">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> ارسال کامل شد."</string>
diff --git a/res/values-fa/strings_pbap.xml b/res/values-fa/strings_pbap.xml
index 945d442..0667ebb 100644
--- a/res/values-fa/strings_pbap.xml
+++ b/res/values-fa/strings_pbap.xml
@@ -5,7 +5,7 @@
<string name="pbap_session_key_dialog_header" msgid="2772472422782758981">"به کلید جلسه بلوتوث نیاز است"</string>
<string name="pbap_acceptance_timeout_message" msgid="1107401415099814293">"هنگام پذیرش اتصال به %1$s وقفه زمانی ایجاد شده است"</string>
<string name="pbap_authentication_timeout_message" msgid="4166979525521902687">"هنگام ورود کلید جلسه با %1$s وقفه زمانی ایجاد شده است"</string>
- <string name="auth_notif_ticker" msgid="1575825798053163744">"درخواست راستیآزمایی Obex"</string>
+ <string name="auth_notif_ticker" msgid="1575825798053163744">"درخواست احراز هویت Obex"</string>
<string name="auth_notif_title" msgid="7599854855681573258">"کلید جلسه"</string>
<string name="auth_notif_message" msgid="6667218116427605038">"تایپ کلید جلسه برای %1$s"</string>
<string name="defaultname" msgid="4821590500649090078">"کیت خودرو"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index ac0397a..d151385 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -129,5 +129,5 @@
<string name="bluetooth_map_settings_title" msgid="7420332483392851321">"ब्लूटूथ संदेश साझाकरण सेटिंग"</string>
<string name="bluetooth_map_settings_no_account_slots_left" msgid="1796029082612965251">"खाता नहीं चुना जा सकता. 0 स्लॉट शेष"</string>
<string name="bluetooth_connected" msgid="6718623220072656906">"ब्लूटूथ ऑडियो कनेक्ट किया गया"</string>
- <string name="bluetooth_disconnected" msgid="3318303728981478873">"ब्लूटूथ ऑडियो डिस्कनेक्ट किया गया"</string>
+ <string name="bluetooth_disconnected" msgid="3318303728981478873">"ब्लूटूथ ऑडियो डिसकनेक्ट किया गया"</string>
</resources>
diff --git a/res/values-hi/strings_sap.xml b/res/values-hi/strings_sap.xml
index 0cb376c..9e9d76e 100644
--- a/res/values-hi/strings_sap.xml
+++ b/res/values-hi/strings_sap.xml
@@ -3,8 +3,8 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="bluetooth_sap_notif_title" msgid="6877860822993195074">"ब्लूटूथ सिम ऐक्सेस"</string>
<string name="bluetooth_sap_notif_ticker" msgid="6807778527893726699">"ब्लूटूथ सिम ऐक्सेस"</string>
- <string name="bluetooth_sap_notif_message" msgid="7138657801087500690">"डिस्कनेक्ट करने के लिए क्लाइंट से अनुरोध करें?"</string>
- <string name="bluetooth_sap_notif_disconnecting" msgid="819150843490233288">"डिस्कनेक्ट करने के लिए क्लाइंट की प्रतीक्षा की जा रही है"</string>
- <string name="bluetooth_sap_notif_disconnect_button" msgid="3678476872583356919">"डिस्कनेक्ट करें"</string>
- <string name="bluetooth_sap_notif_force_disconnect_button" msgid="8144086340185532030">"बलपूर्वक डिस्कनेक्ट करें"</string>
+ <string name="bluetooth_sap_notif_message" msgid="7138657801087500690">"डिसकनेक्ट करने के लिए क्लाइंट से अनुरोध करें?"</string>
+ <string name="bluetooth_sap_notif_disconnecting" msgid="819150843490233288">"डिसकनेक्ट करने के लिए क्लाइंट की प्रतीक्षा की जा रही है"</string>
+ <string name="bluetooth_sap_notif_disconnect_button" msgid="3678476872583356919">"डिसकनेक्ट करें"</string>
+ <string name="bluetooth_sap_notif_force_disconnect_button" msgid="8144086340185532030">"बलपूर्वक डिसकनेक्ट करें"</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index efef63b..a7f644a 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -19,7 +19,7 @@
<string name="permlab_bluetoothShareManager" msgid="311492132450338925">"Օգտվել ներբեռնման կառավարչից:"</string>
<string name="permdesc_bluetoothShareManager" msgid="8930572979123190223">"Թույլ է տալիս, որ ծրագիրը մատչի BluetoothShare կառավարչին և այն օգտագործի ֆայլեր փոխանցելու համար:"</string>
<string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"Մուտք bluetooth սարքի ցուցակին:"</string>
- <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"Թույլ է տալիս, որ ծրագիրը ժամանակավորապես մաքրի Bluetooth սարքի ցուցակը, ինչը թույլ է տալիս, որ այդ սարքը կարողանա ֆայլեր ուղարկել տվյալ սարքին առանց օգտվողի հաստատման:"</string>
+ <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"Թույլ է տալիս, որ ծրագիրը ժամանակավորապես մաքրի 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>
@@ -50,7 +50,7 @@
<string name="download_line2" msgid="5876973543019417712">"Ֆայլ՝ <xliff:g id="FILE">%1$s</xliff:g>"</string>
<string name="download_line3" msgid="4384821622908676061">"Ֆայլի չափը՝ <xliff:g id="SIZE">%1$s</xliff:g>"</string>
<string name="download_line4" msgid="8535996869722666525"></string>
- <string name="download_line5" msgid="3069560415845295386">"Ֆայլը ստացվում է..."</string>
+ <string name="download_line5" msgid="3069560415845295386">"Ֆայլի ստացում..."</string>
<string name="download_cancel" msgid="9177305996747500768">"Դադարեցնել"</string>
<string name="download_ok" msgid="5000360731674466039">"Թաքցնել"</string>
<string name="incoming_line1" msgid="2127419875681087545">"Ումից"</string>
@@ -93,7 +93,7 @@
<string name="status_success" msgid="239573225847565868">"Ֆայլերի փոխանցումը հաջողությամբ ավարտվել է:"</string>
<string name="status_not_accept" msgid="1695082417193780738">"Բովանդակությունը չի աջակցվում:"</string>
<string name="status_forbidden" msgid="613956401054050725">"Փոխանցումն արգելված է նպատակային սարքի կողմից:"</string>
- <string name="status_canceled" msgid="6664490318773098285">"Փոխանցումը չեղարկվել է օգտվողի կողմից:"</string>
+ <string name="status_canceled" msgid="6664490318773098285">"Փոխանցումը չեղարկվել է օգտատիրոջ կողմից:"</string>
<string name="status_file_error" msgid="3671917770630165299">"Կրիչի խնդիր:"</string>
<string name="status_no_sd_card" product="nosdcard" msgid="1112125377088421469">"USB կրիչ չկա:"</string>
<string name="status_no_sd_card" product="default" msgid="5760944071743325592">"SD քարտ չկա: Տեղադրեք SD քարտ` փոխանցված ֆայլերը պահպանելու համար:"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index fd81046..6bd88d2 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -16,7 +16,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="permlab_bluetoothShareManager" msgid="311492132450338925">"Akses pengelola unduhan."</string>
+ <string name="permlab_bluetoothShareManager" msgid="311492132450338925">"Akses pengelola download."</string>
<string name="permdesc_bluetoothShareManager" msgid="8930572979123190223">"Izinkan apl mengakses pengelola BluetoothShare dan menggunakannya untuk mentransfer file."</string>
<string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"Memasukkan akses perangkat bluetooth ke dalam daftar putih."</string>
<string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"Mengizinkan aplikasi memasukkan perangkat Bluetooth ke dalam daftar putih untuk sementara, yang memungkinkan perangkat tersebut mengirimkan file ke perangkat ini tanpa konfirmasi pengguna."</string>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 3ad57a9..50e53de 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -21,14 +21,14 @@
<string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"ಶ್ವೇತಪಟ್ಟಿ ಬ್ಲೂಟೂತ್ ಸಾಧನವನ್ನು ಪ್ರವೇಶಿಸಿ."</string>
<string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"ಬಳಕೆದಾರರ ದೃಢೀಕರಣ ಇಲ್ಲದೆ ಈ ಸಾಧನಕ್ಕೆ ಫೈಲ್ಗಳನ್ನು ಕಳುಹಿಸಲು ಬ್ಲೂಟೂತ್ ಸಾಧನವನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಶ್ವೇತಪಟ್ಟಿ ಮಾಡಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
<string name="bt_share_picker_label" msgid="6268100924487046932">"ಬ್ಲೂಟೂತ್"</string>
- <string name="unknown_device" msgid="9221903979877041009">"ಅಜ್ಞಾತ ಸಾಧನ"</string>
- <string name="unknownNumber" msgid="4994750948072751566">"ಅಜ್ಞಾತ"</string>
+ <string name="unknown_device" msgid="9221903979877041009">"ಅಪರಿಚಿತ ಸಾಧನ"</string>
+ <string name="unknownNumber" msgid="4994750948072751566">"ಅಪರಿಚಿತ"</string>
<string name="airplane_error_title" msgid="2683839635115739939">"ಏರ್ಪ್ಲೇನ್ ಮೋಡ್"</string>
<string name="airplane_error_msg" msgid="8698965595254137230">"ಏರ್ಪ್ಲೇನ್ ಮೋಡ್ನಲ್ಲಿ ನೀವು ಬ್ಲೂಟೂತ್ ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
<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="2752605552743148036">"ಒಳಬರುವ ಫೈಲ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದೇ?"</string>
@@ -99,7 +99,7 @@
<string name="status_no_sd_card" product="default" msgid="5760944071743325592">"ಯಾವುದೇ SD ಕಾರ್ಡ್ಗಳಿಲ್ಲ. ವರ್ಗಾವಣೆ ಮಾಡಲಾದ ಫೈಲ್ಗಳನ್ನು ಉಳಿಸಲು SD ಕಾರ್ಡ್ವೊಂದನ್ನು ಸೇರಿಸಿ."</string>
<string name="status_connection_error" msgid="947681831523219891">"ಸಂಪರ್ಕವು ವಿಫಲವಾಗಿದೆ."</string>
<string name="status_protocol_error" msgid="3245444473429269539">"ವಿನಂತಿಯನ್ನು ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸಲಾಗುವುದಿಲ್ಲ."</string>
- <string name="status_unknown_error" msgid="8156660554237824912">"ಅಜ್ಞಾತ ದೋಷ."</string>
+ <string name="status_unknown_error" msgid="8156660554237824912">"ಅಪರಿಚಿತ ದೋಷ."</string>
<string name="btopp_live_folder" msgid="7967791481444474554">"ಬ್ಲೂಟೂತ್ ಸ್ವೀಕರಿಸಲಾಗಿದೆ"</string>
<string name="download_success" msgid="7036160438766730871">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> ಸ್ವೀಕರಿಸುವುದು ಪೂರ್ಣಗೊಂಡಿದೆ."</string>
<string name="upload_success" msgid="4014469387779648949">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> ಕಳುಹಿಸುವುದು ಪೂರ್ಣಗೊಂಡಿದೆ."</string>
@@ -122,7 +122,7 @@
<string name="transfer_menu_clear" msgid="5854038118831427492">"ಪಟ್ಟಿಯಿಂದ ತೆರವುಗೊಳಿಸಿ"</string>
<string name="transfer_clear_dlg_title" msgid="2953444575556460386">"ತೆರವುಗೊಳಿಸು"</string>
<string name="bluetooth_map_settings_save" msgid="7635491847388074606">"ಉಳಿಸು"</string>
- <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"ರದ್ದುಮಾಡು"</string>
+ <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"ರದ್ದುಮಾಡಿ"</string>
<string name="bluetooth_map_settings_intro" msgid="6482369468223987562">"ಬ್ಲೂಟೂತ್ ಮೂಲಕ ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುವ ಖಾತೆಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಸಂಪರ್ಕಪಡಿಸುವಾಗ ಖಾತೆಗಳಿಗೆ ಯಾವುದೇ ಪ್ರವೇಶವನ್ನು ನೀವು ಈಗಲೂ ಸಮ್ಮತಿಸಬೇಕಾಗುತ್ತದೆ."</string>
<string name="bluetooth_map_settings_count" msgid="4557473074937024833">"ಉಳಿದಿರುವ ಸ್ಲಾಟ್ಗಳು:"</string>
<string name="bluetooth_map_settings_app_icon" msgid="7105805610929114707">"ಅಪ್ಲಿಕೇಶನ್ ಐಕಾನ್"</string>
diff --git a/res/values-kn-rIN/strings_pbap_client.xml b/res/values-kn-rIN/strings_pbap_client.xml
index 186b23a..ced3f07 100644
--- a/res/values-kn-rIN/strings_pbap_client.xml
+++ b/res/values-kn-rIN/strings_pbap_client.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="pbap_account_type" msgid="6257077123906049322">"com.android.bluetooth.pbapsink"</string>
+ <string name="pbap_account_type" msgid="6257077123906049322">"com.android.ಬ್ಲೂಟೂತ್.pbapsink"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 21fff33..95e58fa 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -91,7 +91,7 @@
<string name="status_pending" msgid="2503691772030877944">"Bestandsoverdracht nog niet gestart."</string>
<string name="status_running" msgid="6562808920311008696">"Bestandsoverdracht wordt uitgevoerd."</string>
<string name="status_success" msgid="239573225847565868">"Bestandsoverdracht is voltooid."</string>
- <string name="status_not_accept" msgid="1695082417193780738">"Inhoud wordt niet ondersteund."</string>
+ <string name="status_not_accept" msgid="1695082417193780738">"Content wordt niet ondersteund."</string>
<string name="status_forbidden" msgid="613956401054050725">"Overdracht wordt niet toegestaan door het doelapparaat."</string>
<string name="status_canceled" msgid="6664490318773098285">"Overdracht geannuleerd door gebruiker."</string>
<string name="status_file_error" msgid="3671917770630165299">"Probleem met opslagruimte."</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index c8290bd..5532ea0 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -110,12 +110,12 @@
<string name="outbound_noti_title" msgid="8051906709452260849">"Partilha por Bluetooth: ficheiros enviados"</string>
<string name="inbound_noti_title" msgid="4143352641953027595">"Partilha por Bluetooth: ficheiros recebidos"</string>
<plurals name="noti_caption_unsuccessful" formatted="false" msgid="2020750076679526122">
- <item quantity="other"><xliff:g id="UNSUCCESSFUL_NUMBER_1">%1$d</xliff:g> sem êxito.</item>
<item quantity="one"><xliff:g id="UNSUCCESSFUL_NUMBER_0">%1$d</xliff:g> sem êxito.</item>
+ <item quantity="other"><xliff:g id="UNSUCCESSFUL_NUMBER_1">%1$d</xliff:g> sem êxito.</item>
</plurals>
<plurals name="noti_caption_success" formatted="false" msgid="1572472450257645181">
- <item quantity="other"><xliff:g id="SUCCESSFUL_NUMBER_1">%1$d</xliff:g> com êxito, %2$s</item>
<item quantity="one"><xliff:g id="SUCCESSFUL_NUMBER_0">%1$d</xliff:g> com êxito, %2$s</item>
+ <item quantity="other"><xliff:g id="SUCCESSFUL_NUMBER_1">%1$d</xliff:g> com êxito, %2$s</item>
</plurals>
<string name="transfer_menu_clear_all" msgid="790017462957873132">"Limpar lista"</string>
<string name="transfer_menu_open" msgid="3368984869083107200">"Abrir"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 9a4a536..85423d7 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -82,7 +82,7 @@
<string name="bt_toast_2" msgid="8602553334099066582">"Fișierul nu poate fi primit."</string>
<string name="bt_toast_3" msgid="6707884165086862518">"Primirea fișierului de la „<xliff:g id="SENDER">%1$s</xliff:g>” a fost anulată"</string>
<string name="bt_toast_4" msgid="4678812947604395649">"Se trimite fișierul către „<xliff:g id="RECIPIENT">%1$s</xliff:g>”"</string>
- <string name="bt_toast_5" msgid="2846870992823019494">"Se trimit <xliff:g id="NUMBER">%1$s</xliff:g> (de) fișiere către „<xliff:g id="RECIPIENT">%2$s</xliff:g>”"</string>
+ <string name="bt_toast_5" msgid="2846870992823019494">"Se trimit <xliff:g id="NUMBER">%1$s</xliff:g> fișiere către „<xliff:g id="RECIPIENT">%2$s</xliff:g>”"</string>
<string name="bt_toast_6" msgid="1855266596936622458">"Trimiterea fișierului către „<xliff:g id="RECIPIENT">%1$s</xliff:g>” a fost anulată"</string>
<string name="bt_sm_2_1" product="nosdcard" msgid="352165168004521000">"Nu există spațiu suficient pe stocarea USB pentru a salva fișierul de la „<xliff:g id="SENDER">%1$s</xliff:g>”"</string>
<string name="bt_sm_2_1" product="default" msgid="1989018443456803630">"Nu există suficient spațiu pe cardul SD pentru a salva fișierul de la „<xliff:g id="SENDER">%1$s</xliff:g>”"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 03fed95..7228cfe 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -69,7 +69,7 @@
<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_ok" msgid="5807702461606714296">"Пробај поново"</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>
@@ -87,7 +87,7 @@
<string name="bt_sm_2_1" product="nosdcard" msgid="352165168004521000">"Нема довољно простора у USB меморији да би се сачувала датотека пошиљаоца „<xliff:g id="SENDER">%1$s</xliff:g>“"</string>
<string name="bt_sm_2_1" product="default" msgid="1989018443456803630">"Нема довољно простора на SD картици да би се сачувала датотека пошиљаоца „<xliff:g id="SENDER">%1$s</xliff:g>“"</string>
<string name="bt_sm_2_2" msgid="2965243265852680543">"Потребан простор: <xliff:g id="SIZE">%1$s</xliff:g>"</string>
- <string name="ErrorTooManyRequests" msgid="8578277541472944529">"Превише захтева се обрађује. Покушајте поново касније."</string>
+ <string name="ErrorTooManyRequests" msgid="8578277541472944529">"Превише захтева се обрађује. Пробајте поново касније."</string>
<string name="status_pending" msgid="2503691772030877944">"Пренос датотеке још није почео."</string>
<string name="status_running" msgid="6562808920311008696">"Пренос датотеке је у току."</string>
<string name="status_success" msgid="239573225847565868">"Пренос датотеке је довршен."</string>
diff --git a/src/com/android/bluetooth/btservice/AdapterProperties.java b/src/com/android/bluetooth/btservice/AdapterProperties.java
index 272a1fa..049c594 100644
--- a/src/com/android/bluetooth/btservice/AdapterProperties.java
+++ b/src/com/android/bluetooth/btservice/AdapterProperties.java
@@ -485,13 +485,7 @@
break;
case AbstractionLayer.BT_PROPERTY_BDADDR:
mAddress = val;
- String address = Utils.getAddressStringFromByte(mAddress);
- debugLog("Address is:" + address);
- intent = new Intent(BluetoothAdapter.ACTION_BLUETOOTH_ADDRESS_CHANGED);
- intent.putExtra(BluetoothAdapter.EXTRA_BLUETOOTH_ADDRESS, address);
- intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
- mService.sendBroadcastAsUser(
- intent, UserHandle.ALL, mService.BLUETOOTH_PERM);
+ debugLog("Address is:" + Utils.getAddressStringFromByte(mAddress));
break;
case AbstractionLayer.BT_PROPERTY_CLASS_OF_DEVICE:
mBluetoothClass = Utils.byteArrayToInt(val, 0);
diff --git a/src/com/android/bluetooth/btservice/AdapterService.java b/src/com/android/bluetooth/btservice/AdapterService.java
index dfb7260..bcc97f5 100644
--- a/src/com/android/bluetooth/btservice/AdapterService.java
+++ b/src/com/android/bluetooth/btservice/AdapterService.java
@@ -2439,28 +2439,6 @@
return getResources().getInteger(R.integer.config_bluetooth_operating_voltage_mv) / 1000.0;
}
- private String getStateString() {
- int state = getState();
- switch (state) {
- case BluetoothAdapter.STATE_OFF:
- return "STATE_OFF";
- case BluetoothAdapter.STATE_TURNING_ON:
- return "STATE_TURNING_ON";
- case BluetoothAdapter.STATE_ON:
- return "STATE_ON";
- case BluetoothAdapter.STATE_TURNING_OFF:
- return "STATE_TURNING_OFF";
- case BluetoothAdapter.STATE_BLE_TURNING_ON:
- return "STATE_BLE_TURNING_ON";
- case BluetoothAdapter.STATE_BLE_ON:
- return "STATE_BLE_ON";
- case BluetoothAdapter.STATE_BLE_TURNING_OFF:
- return "STATE_BLE_TURNING_OFF";
- default:
- return "UNKNOWN STATE: " + state;
- }
- }
-
@Override
protected void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG);
@@ -2478,20 +2456,6 @@
}
}
- long onDuration = System.currentTimeMillis() - mBluetoothStartTime;
- String onDurationString = String.format("%02d:%02d:%02d.%03d",
- (int)(onDuration / (1000 * 60 * 60)),
- (int)((onDuration / (1000 * 60)) % 60),
- (int)((onDuration / 1000) % 60),
- (int)(onDuration % 1000));
-
- writer.println("Bluetooth Status");
- writer.println(" enabled: " + isEnabled());
- writer.println(" state: " + getStateString());
- writer.println(" address: " + getAddress());
- writer.println(" name: " + getName());
- writer.println(" time since enabled: " + onDurationString + "\n");
-
writer.println("Bonded devices:");
for (BluetoothDevice device : getBondedDevices()) {
writer.println(" " + device.getAddress() +
diff --git a/src/com/android/bluetooth/btservice/RemoteDevices.java b/src/com/android/bluetooth/btservice/RemoteDevices.java
index 9c6dc48..21ec450 100644
--- a/src/com/android/bluetooth/btservice/RemoteDevices.java
+++ b/src/com/android/bluetooth/btservice/RemoteDevices.java
@@ -245,8 +245,9 @@
DeviceProperties prop = getDeviceProperties(device);
Intent intent = new Intent(BluetoothDevice.ACTION_UUID);
intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
- intent.putExtra(BluetoothDevice.EXTRA_UUID, prop == null? null: prop.mUuids);
- mAdapterService.initProfilePriorities(device, prop.mUuids);
+ intent.putExtra(BluetoothDevice.EXTRA_UUID, prop == null ? null : prop.mUuids);
+ mAdapterService.initProfilePriorities(device, prop == null ? null : prop.mUuids);
+
mAdapterService.sendBroadcast(intent, AdapterService.BLUETOOTH_ADMIN_PERM);
//Remove the outstanding UUID request
diff --git a/src/com/android/bluetooth/btservice/bluetooth.proto b/src/com/android/bluetooth/btservice/bluetooth.proto
index 77ded78..c616c10 100644
--- a/src/com/android/bluetooth/btservice/bluetooth.proto
+++ b/src/com/android/bluetooth/btservice/bluetooth.proto
@@ -28,6 +28,18 @@
// Number of bonded devices.
optional int32 num_bonded_devices = 5;
+
+ // Number of BluetoothSession including discarded ones beyond capacity
+ optional int64 num_bluetooth_session = 6;
+
+ // Number of PairEvent including discarded ones beyond capacity
+ optional int64 num_pair_event = 7;
+
+ // Number of WakeEvent including discarded ones beyond capacity
+ optional int64 num_wake_event = 8;
+
+ // Number of ScanEvent including discarded ones beyond capacity
+ optional int64 num_scan_event = 9;
}
// The information about the device.
@@ -82,7 +94,7 @@
// The information about the RFComm session.
optional RFCommSession rfcomm_session = 6;
- // The information about the A2DP session.
+ // The information about the A2DP audio session.
optional A2DPSession a2dp_session = 7;
}
@@ -95,7 +107,7 @@
optional int32 tx_bytes = 2;
}
-// Session information that gets logged for every A2DP session.
+// Session information that gets logged for A2DP session.
message A2DPSession {
// Media timer in milliseconds.
@@ -118,6 +130,9 @@
// Buffer underruns count.
optional int32 buffer_underruns_count = 7;
+
+ // Total audio time in this A2DP session
+ optional int64 audio_duration_millis = 8;
}
message PairEvent {
diff --git a/src/com/android/bluetooth/gatt/AdvertiseManager.java b/src/com/android/bluetooth/gatt/AdvertiseManager.java
index 40313a6..9780d7b 100644
--- a/src/com/android/bluetooth/gatt/AdvertiseManager.java
+++ b/src/com/android/bluetooth/gatt/AdvertiseManager.java
@@ -147,7 +147,7 @@
}
}
- private AdvertiseClient getAdvertiseClient(int clientIf) {
+ public AdvertiseClient getAdvertiseClient(int clientIf) {
for (AdvertiseClient client : mAdvertiseClients) {
if (client.clientIf == clientIf) {
return client;
diff --git a/src/com/android/bluetooth/gatt/AppScanStats.java b/src/com/android/bluetooth/gatt/AppScanStats.java
index e73f415..7eed888 100644
--- a/src/com/android/bluetooth/gatt/AppScanStats.java
+++ b/src/com/android/bluetooth/gatt/AppScanStats.java
@@ -64,6 +64,9 @@
// earliest recorded scan exits this window.
static final long EXCESSIVE_SCANNING_PERIOD_MS = 30 * 1000;
+ // Maximum msec before scan gets downgraded to opportunistic
+ static final int SCAN_TIMEOUT_MS = 30 * 60 * 1000;
+
String appName;
int scansStarted = 0;
int scansStopped = 0;
@@ -160,6 +163,14 @@
EXCESSIVE_SCANNING_PERIOD_MS;
}
+ synchronized boolean isScanningTooLong() {
+ if (lastScans.isEmpty() || !isScanning) {
+ return false;
+ }
+
+ return (System.currentTimeMillis() - startTime) > SCAN_TIMEOUT_MS;
+ }
+
// This function truncates the app name for privacy reasons. Apps with
// four part package names or more get truncated to three parts, and apps
// with three part package names names get truncated to two. Apps with two
diff --git a/src/com/android/bluetooth/gatt/GattService.java b/src/com/android/bluetooth/gatt/GattService.java
index d231f0f..a406b40 100644
--- a/src/com/android/bluetooth/gatt/GattService.java
+++ b/src/com/android/bluetooth/gatt/GattService.java
@@ -1391,6 +1391,12 @@
if (DBG) Log.d(TAG, "unregisterClient() - clientIf=" + clientIf);
mClientMap.remove(clientIf);
+
+ AdvertiseClient client = mAdvertiseManager.getAdvertiseClient(clientIf);
+ if (client != null && !client.appDied) {
+ stopMultiAdvertising(client);
+ }
+
gattClientUnregisterAppNative(clientIf);
}
diff --git a/src/com/android/bluetooth/gatt/ScanManager.java b/src/com/android/bluetooth/gatt/ScanManager.java
index 7dceb28..8b2f6d9 100644
--- a/src/com/android/bluetooth/gatt/ScanManager.java
+++ b/src/com/android/bluetooth/gatt/ScanManager.java
@@ -70,9 +70,6 @@
private static final int MSG_FLUSH_BATCH_RESULTS = 2;
private static final int MSG_SCAN_TIMEOUT = 3;
- // Maximum msec before scan gets downgraded to opportunistic
- private static final int SCAN_TIMEOUT_MS = 30 * 60 * 1000;
-
private static final String ACTION_REFRESH_BATCHED_SCAN =
"com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN";
@@ -199,7 +196,7 @@
handleFlushBatchResults(client);
break;
case MSG_SCAN_TIMEOUT:
- mScanNative.regularScanTimeout();
+ mScanNative.regularScanTimeout(client);
break;
default:
// Shouldn't happen.
@@ -234,8 +231,7 @@
Message msg = mHandler.obtainMessage(MSG_SCAN_TIMEOUT);
msg.obj = client;
// Only one timeout message should exist at any time
- mHandler.removeMessages(MSG_SCAN_TIMEOUT);
- mHandler.sendMessageDelayed(msg, SCAN_TIMEOUT_MS);
+ mHandler.sendMessageDelayed(msg, AppScanStats.SCAN_TIMEOUT_MS);
}
}
@@ -679,14 +675,12 @@
removeScanFilters(client.clientIf);
}
- void regularScanTimeout() {
- for (ScanClient client : mRegularScanClients) {
- if (!isExemptFromScanDowngrade(client)) {
- Log.w(TAG, "Moving scan client to opportunistic (clientIf "
- + client.clientIf + ")");
- setOpportunisticScanClient(client);
- client.stats.setScanTimeout();
- }
+ void regularScanTimeout(ScanClient client) {
+ if (!isExemptFromScanDowngrade(client) && client.stats.isScanningTooLong()) {
+ Log.w(TAG,
+ "Moving scan client to opportunistic (clientIf " + client.clientIf + ")");
+ setOpportunisticScanClient(client);
+ client.stats.setScanTimeout();
}
// The scan should continue for background scans
diff --git a/src/com/android/bluetooth/hfp/HeadsetStateMachine.java b/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
index a51c878..cf6d0ab 100644
--- a/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
+++ b/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
@@ -2197,7 +2197,6 @@
public void setAudioRouteAllowed(boolean allowed) {
mAudioRouteAllowed = allowed;
- setScoAllowedNative(allowed);
}
public boolean getAudioRouteAllowed() {
@@ -3570,5 +3569,4 @@
private native boolean phoneStateChangeNative(int numActive, int numHeld, int callState,
String number, int type);
private native boolean configureWBSNative(byte[] address,int condec_config);
- private native boolean setScoAllowedNative(boolean value);
}
diff --git a/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java b/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java
index 367b5dd..05f3cae 100755
--- a/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java
+++ b/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java
@@ -1284,9 +1284,6 @@
}
public void doQuit() {
- if (mAudioManager != null) {
- mAudioManager.setParameters("hfp_enable=false");
- }
quitNow();
}
diff --git a/src/com/android/bluetooth/map/BluetoothMapContent.java b/src/com/android/bluetooth/map/BluetoothMapContent.java
index 326f9eb..2b7f4f3 100644
--- a/src/com/android/bluetooth/map/BluetoothMapContent.java
+++ b/src/com/android/bluetooth/map/BluetoothMapContent.java
@@ -1656,10 +1656,8 @@
private String setWhereFilterFolderType(BluetoothMapFolderElement folderElement,
FilterInfo fi) {
- String where = "";
- if(folderElement.shouldIgnore()) {
- where = "1=1";
- } else {
+ String where = "1=1";
+ if (!folderElement.shouldIgnore()) {
if (fi.mMsgType == FilterInfo.TYPE_SMS) {
where = setWhereFilterFolderTypeSms(folderElement.getName());
} else if (fi.mMsgType == FilterInfo.TYPE_MMS) {
@@ -1670,6 +1668,7 @@
where = setWhereFilterFolderTypeIm(folderElement.getFolderId());
}
}
+
return where;
}