Merge "Add requestLegacyExternalStorage to support OPP" into qt-dev
am: d2dac5ad54

Change-Id: Ia58b42ef160819c733dceca530898b21215d1571
diff --git a/android/app/AndroidManifest.xml b/android/app/AndroidManifest.xml
index 8ce4707..70e13da 100644
--- a/android/app/AndroidManifest.xml
+++ b/android/app/AndroidManifest.xml
@@ -58,7 +58,6 @@
     <uses-permission android:name="android.permission.SEND_SMS" />
     <uses-permission android:name="android.permission.READ_SMS" />
     <uses-permission android:name="android.permission.WRITE_SMS" />
-    <uses-permission android:name="android.permission.READ_CONTACTS" />
     <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
     <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
     <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" />
diff --git a/android/app/jni/com_android_bluetooth_hid_host.cpp b/android/app/jni/com_android_bluetooth_hid_host.cpp
index 7838ff6..b8f4d65 100644
--- a/android/app/jni/com_android_bluetooth_hid_host.cpp
+++ b/android/app/jni/com_android_bluetooth_hid_host.cpp
@@ -24,7 +24,7 @@
 #include "utils/Log.h"
 
 #include <string.h>
-
+#include <shared_mutex>
 namespace android {
 
 static jmethodID method_onConnectStateChanged;
@@ -36,6 +36,7 @@
 
 static const bthh_interface_t* sBluetoothHidInterface = NULL;
 static jobject mCallbacksObj = NULL;
+static std::shared_timed_mutex mCallbacks_mutex;
 
 static jbyteArray marshall_bda(RawAddress* bd_addr) {
   CallbackEnv sCallbackEnv(__func__);
@@ -53,6 +54,7 @@
 
 static void connection_state_callback(RawAddress* bd_addr,
                                       bthh_connection_state_t state) {
+  std::shared_lock<std::shared_timed_mutex> lock(mCallbacks_mutex);
   CallbackEnv sCallbackEnv(__func__);
   if (!sCallbackEnv.valid()) return;
   if (!mCallbacksObj) {
@@ -72,6 +74,7 @@
 static void get_protocol_mode_callback(RawAddress* bd_addr,
                                        bthh_status_t hh_status,
                                        bthh_protocol_mode_t mode) {
+  std::shared_lock<std::shared_timed_mutex> lock(mCallbacks_mutex);
   CallbackEnv sCallbackEnv(__func__);
   if (!sCallbackEnv.valid()) return;
   if (!mCallbacksObj) {
@@ -95,6 +98,7 @@
 
 static void get_report_callback(RawAddress* bd_addr, bthh_status_t hh_status,
                                 uint8_t* rpt_data, int rpt_size) {
+  std::shared_lock<std::shared_timed_mutex> lock(mCallbacks_mutex);
   CallbackEnv sCallbackEnv(__func__);
   if (!sCallbackEnv.valid()) return;
   if (!mCallbacksObj) {
@@ -126,6 +130,7 @@
 static void virtual_unplug_callback(RawAddress* bd_addr,
                                     bthh_status_t hh_status) {
   ALOGV("call to virtual_unplug_callback");
+  std::shared_lock<std::shared_timed_mutex> lock(mCallbacks_mutex);
   CallbackEnv sCallbackEnv(__func__);
   if (!sCallbackEnv.valid()) return;
   if (!mCallbacksObj) {
@@ -142,6 +147,7 @@
 }
 
 static void handshake_callback(RawAddress* bd_addr, bthh_status_t hh_status) {
+  std::shared_lock<std::shared_timed_mutex> lock(mCallbacks_mutex);
   CallbackEnv sCallbackEnv(__func__);
   if (!sCallbackEnv.valid()) return;
   if (!mCallbacksObj) {
@@ -160,6 +166,7 @@
 
 static void get_idle_time_callback(RawAddress* bd_addr, bthh_status_t hh_status,
                                    int idle_time) {
+  std::shared_lock<std::shared_timed_mutex> lock(mCallbacks_mutex);
   CallbackEnv sCallbackEnv(__func__);
   if (!sCallbackEnv.valid()) return;
 
@@ -198,6 +205,7 @@
 }
 
 static void initializeNative(JNIEnv* env, jobject object) {
+  std::unique_lock<std::shared_timed_mutex> lock(mCallbacks_mutex);
   const bt_interface_t* btInf = getBluetoothInterface();
   if (btInf == NULL) {
     ALOGE("Bluetooth module is not loaded");
@@ -234,6 +242,7 @@
 }
 
 static void cleanupNative(JNIEnv* env, jobject object) {
+  std::unique_lock<std::shared_timed_mutex> lock(mCallbacks_mutex);
   const bt_interface_t* btInf = getBluetoothInterface();
 
   if (btInf == NULL) {
diff --git a/android/app/res/values-ar/strings.xml b/android/app/res/values-ar/strings.xml
index 1525a71..da357f0 100644
--- a/android/app/res/values-ar/strings.xml
+++ b/android/app/res/values-ar/strings.xml
@@ -100,7 +100,7 @@
     <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="btopp_live_folder" msgid="7967791481444474554">"ملفات بلوتوث المستلَمة"</string>
+    <string name="btopp_live_folder" msgid="7967791481444474554">"تم الاستلام عبر بلوتوث"</string>
     <string name="opp_notification_group" msgid="3486303082135789982">"مشاركة البلوتوث"</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/android/app/res/values-de/strings.xml b/android/app/res/values-de/strings.xml
index c9e6554..7f97696 100644
--- a/android/app/res/values-de/strings.xml
+++ b/android/app/res/values-de/strings.xml
@@ -34,7 +34,7 @@
     <string name="incoming_file_confirm_content" msgid="2752605552743148036">"Eingehende Datei annehmen?"</string>
     <string name="incoming_file_confirm_cancel" msgid="2973321832477704805">"Ablehnen"</string>
     <string name="incoming_file_confirm_ok" msgid="281462442932231475">"Akzeptieren"</string>
-    <string name="incoming_file_confirm_timeout_ok" msgid="1414676773249857278">"Ok"</string>
+    <string name="incoming_file_confirm_timeout_ok" msgid="1414676773249857278">"OK"</string>
     <string name="incoming_file_confirm_timeout_content" msgid="172779756093975981">"Die Zeit zum Empfang der eingehenden Datei von \"<xliff:g id="SENDER">%1$s</xliff:g>\" ist abgelaufen."</string>
     <string name="incoming_file_confirm_Notification_title" msgid="5573329005298936903">"Eingehende Datei"</string>
     <string name="incoming_file_confirm_Notification_content" msgid="3359694069319644738">"<xliff:g id="SENDER">%1$s</xliff:g> kann jetzt <xliff:g id="FILE">%2$s</xliff:g> senden."</string>
@@ -59,19 +59,19 @@
     <string name="download_fail_line1" msgid="3846450148862894552">"Datei nicht empfangen"</string>
     <string name="download_fail_line2" msgid="8950394574689971071">"Datei: <xliff:g id="FILE">%1$s</xliff:g>"</string>
     <string name="download_fail_line3" msgid="3451040656154861722">"Grund: <xliff:g id="REASON">%1$s</xliff:g>"</string>
-    <string name="download_fail_ok" msgid="1521733664438320300">"Ok"</string>
+    <string name="download_fail_ok" msgid="1521733664438320300">"OK"</string>
     <string name="download_succ_line5" msgid="4509944688281573595">"Datei empfangen"</string>
     <string name="download_succ_ok" msgid="7053688246357050216">"Öffnen"</string>
     <string name="upload_line1" msgid="2055952074059709052">"An: \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\""</string>
     <string name="upload_line3" msgid="4920689672457037437">"Dateityp: <xliff:g id="TYPE">%1$s</xliff:g> (<xliff:g id="SIZE">%2$s</xliff:g>)"</string>
     <string name="upload_line5" msgid="7759322537674229752">"Datei wird gesendet..."</string>
     <string name="upload_succ_line5" msgid="5687317197463383601">"Die Datei wurde gesendet."</string>
-    <string name="upload_succ_ok" msgid="7705428476405478828">"Ok"</string>
+    <string name="upload_succ_ok" msgid="7705428476405478828">"OK"</string>
     <string name="upload_fail_line1" msgid="7899394672421491701">"Die Datei wurde nicht an \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" gesendet."</string>
     <string name="upload_fail_line1_2" msgid="2108129204050841798">"Datei: <xliff:g id="FILE">%1$s</xliff:g>"</string>
     <string name="upload_fail_ok" msgid="5807702461606714296">"Wiederholen"</string>
     <string name="upload_fail_cancel" msgid="9118496285835687125">"Schließen"</string>
-    <string name="bt_error_btn_ok" msgid="5965151173011534240">"Ok"</string>
+    <string name="bt_error_btn_ok" msgid="5965151173011534240">"OK"</string>
     <string name="unknown_file" msgid="6092727753965095366">"Unbekannte Datei"</string>
     <string name="unknown_file_desc" msgid="480434281415453287">"Dieser Dateityp kann von keiner App verarbeitet werden. \n"</string>
     <string name="not_exist_file" msgid="3489434189599716133">"Keine Datei"</string>
diff --git a/android/app/res/values-de/test_strings.xml b/android/app/res/values-de/test_strings.xml
index 3e07229..0ce94ff 100644
--- a/android/app/res/values-de/test_strings.xml
+++ b/android/app/res/values-de/test_strings.xml
@@ -6,7 +6,7 @@
     <string name="update_record" msgid="2480425402384910635">"Aufnahme bestätigen"</string>
     <string name="ack_record" msgid="6716152390978472184">"Aufnahme bestätigen"</string>
     <string name="deleteAll_record" msgid="4383349788485210582">"Gesamte Aufnahme löschen"</string>
-    <string name="ok_button" msgid="6519033415223065454">"Ok"</string>
+    <string name="ok_button" msgid="6519033415223065454">"OK"</string>
     <string name="delete_record" msgid="4645040331967533724">"Aufnahme löschen"</string>
     <string name="start_server" msgid="9034821924409165795">"TCP-Server starten"</string>
     <string name="notify_server" msgid="4369106744022969655">"TCP-Server benachrichtigen"</string>
diff --git a/android/app/res/values-eu/strings.xml b/android/app/res/values-eu/strings.xml
index a723638..8e67d92 100644
--- a/android/app/res/values-eu/strings.xml
+++ b/android/app/res/values-eu/strings.xml
@@ -17,17 +17,17 @@
 <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">"Atzitu deskargen kudeatzailea."</string>
-    <string name="permdesc_bluetoothShareManager" msgid="8930572979123190223">"Bluetooth bidezko partekatzeen kudeatzailea atzitzea eta fitxategiak transferitzeko erabiltzeko baimena ematen die aplikazioei."</string>
+    <string name="permdesc_bluetoothShareManager" msgid="8930572979123190223">"Bluetooth bidezko partekatzeen kudeatzailea atzitzea eta fitxategiak transferitzeko erabiltzea baimentzen die aplikazioei."</string>
     <string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"Sartu sarbidedunen zerrendan Bluetooth gailua."</string>
     <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"Bluetooth gailu bat aldi baterako sarbidedunen zerrendan sartzea baimentzen die aplikazioei, gailu honetara fitxategiak bidaltzeko baimena izan dezan, baina gailu honen erabiltzaileari berrespena eskatu beharrik gabe."</string>
-    <string name="bt_share_picker_label" msgid="6268100924487046932">"Bluetooth-a"</string>
+    <string name="bt_share_picker_label" msgid="6268100924487046932">"Bluetooth"</string>
     <string name="unknown_device" msgid="9221903979877041009">"Gailu ezezaguna"</string>
     <string name="unknownNumber" msgid="4994750948072751566">"Ezezaguna"</string>
     <string name="airplane_error_title" msgid="2683839635115739939">"Hegaldi modua"</string>
-    <string name="airplane_error_msg" msgid="8698965595254137230">"Ezin duzu erabili Bluetooth-a Hegaldi moduan."</string>
+    <string name="airplane_error_msg" msgid="8698965595254137230">"Ezin duzu Bluetootha Hegaldi moduan erabili."</string>
     <string name="bt_enable_title" msgid="8657832550503456572"></string>
-    <string name="bt_enable_line1" msgid="7203551583048149">"Bluetooth-zerbitzuak erabiltzeko, Bluetooth-a aktibatu behar duzu."</string>
-    <string name="bt_enable_line2" msgid="4341936569415937994">"Bluetooth-a aktibatu nahi duzu?"</string>
+    <string name="bt_enable_line1" msgid="7203551583048149">"Bluetooth-zerbitzuak erabiltzeko, Bluetootha aktibatu behar duzu."</string>
+    <string name="bt_enable_line2" msgid="4341936569415937994">"Bluetootha aktibatu nahi duzu?"</string>
     <string name="bt_enable_cancel" msgid="1988832367505151727">"Utzi"</string>
     <string name="bt_enable_ok" msgid="3432462749994538265">"Aktibatu"</string>
     <string name="incoming_file_confirm_title" msgid="8139874248612182627">"Fitxategi-transferentzia"</string>
@@ -77,7 +77,7 @@
     <string name="not_exist_file" msgid="3489434189599716133">"Ez dago fitxategirik"</string>
     <string name="not_exist_file_desc" msgid="4059531573790529229">"Ez dago horrelako fitxategirik. \n"</string>
     <string name="enabling_progress_title" msgid="436157952334723406">"Itxaron…"</string>
-    <string name="enabling_progress_content" msgid="4601542238119927904">"Bluetooth-a aktibatzen…"</string>
+    <string name="enabling_progress_content" msgid="4601542238119927904">"Bluetootha aktibatzen…"</string>
     <string name="bt_toast_1" msgid="972182708034353383">"Fitxategia jasoko da. Egoera kontrolatzeko, joan Jakinarazpenen panelera."</string>
     <string name="bt_toast_2" msgid="8602553334099066582">"Ezin da fitxategia jaso."</string>
     <string name="bt_toast_3" msgid="6707884165086862518">"\"<xliff:g id="SENDER">%1$s</xliff:g>\" igorlearen fitxategia jasotzeari utzi zaio"</string>
diff --git a/android/app/res/values-eu/test_strings.xml b/android/app/res/values-eu/test_strings.xml
index e7236e7..2497be5 100644
--- a/android/app/res/values-eu/test_strings.xml
+++ b/android/app/res/values-eu/test_strings.xml
@@ -1,7 +1,7 @@
 <?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="app_name" msgid="6006644116867509664">"Bluetooth-a"</string>
+    <string name="app_name" msgid="6006644116867509664">"Bluetooth konexioa"</string>
     <string name="insert_record" msgid="1450997173838378132">"Sartu erregistroa"</string>
     <string name="update_record" msgid="2480425402384910635">"Berretsi erregistroa"</string>
     <string name="ack_record" msgid="6716152390978472184">"ACK erregistroa"</string>
diff --git a/android/app/res/values-fr/strings.xml b/android/app/res/values-fr/strings.xml
index 06fe209..a2857c1 100644
--- a/android/app/res/values-fr/strings.xml
+++ b/android/app/res/values-fr/strings.xml
@@ -100,7 +100,7 @@
     <string name="status_connection_error" msgid="947681831523219891">"Échec de la connexion."</string>
     <string name="status_protocol_error" msgid="3245444473429269539">"Impossible de traiter la demande correctement."</string>
     <string name="status_unknown_error" msgid="8156660554237824912">"Erreur inconnue."</string>
-    <string name="btopp_live_folder" msgid="7967791481444474554">"Reçus via Bluetooth"</string>
+    <string name="btopp_live_folder" msgid="7967791481444474554">"Reçu par Bluetooth"</string>
     <string name="opp_notification_group" msgid="3486303082135789982">"Partage Bluetooth"</string>
     <string name="download_success" msgid="7036160438766730871">"Réception de <xliff:g id="FILE_SIZE">%1$s</xliff:g> terminée"</string>
     <string name="upload_success" msgid="4014469387779648949">"Envoi de <xliff:g id="FILE_SIZE">%1$s</xliff:g> terminé"</string>
diff --git a/android/app/res/values-hi/strings.xml b/android/app/res/values-hi/strings.xml
index 41ffff9..c75b6d8 100644
--- a/android/app/res/values-hi/strings.xml
+++ b/android/app/res/values-hi/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_nosdcard" msgid="1791835163301501637">"\"<xliff:g id="SENDER">%1$s</xliff:g>\" की फ़ाइल सेव करने के लिए USB मेमोरी में ज़रुरत के मुताबिक जगह नहीं है"</string>
     <string name="bt_sm_2_1_default" msgid="9115512207909504071">"\"<xliff:g id="SENDER">%1$s</xliff:g>\" की फ़ाइल सेव करने के लिए SD कार्ड पर ज़रुरत के मुताबिक जगह नहीं है"</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>
@@ -125,7 +125,7 @@
     <string name="bluetooth_a2dp_sink_queue_name" msgid="6864149958708669766">"अभी चल रहा है"</string>
     <string name="bluetooth_map_settings_save" msgid="7635491847388074606">"सेव करें"</string>
     <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"रद्द करें"</string>
-    <string name="bluetooth_map_settings_intro" msgid="6482369468223987562">"वे खाते चुनें जिन्हें आप ब्लूटूथ के ज़रिये शेयर करना चाहते हैं. आपको अब भी कनेक्ट करते समय खातों के किसी भी एक्सेस को स्वीकार करना होगा."</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>
     <string name="bluetooth_map_settings_title" msgid="7420332483392851321">"ब्लूटूथ संदेश साझाकरण सेटिंग"</string>
diff --git a/android/app/res/values-hy/strings.xml b/android/app/res/values-hy/strings.xml
index bf6fbf3..9be0bbd 100644
--- a/android/app/res/values-hy/strings.xml
+++ b/android/app/res/values-hy/strings.xml
@@ -100,7 +100,7 @@
     <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="btopp_live_folder" msgid="7967791481444474554">"Bluetooth-ով ստացված"</string>
+    <string name="btopp_live_folder" msgid="7967791481444474554">"Ստացված է Bluetooth-ով"</string>
     <string name="opp_notification_group" msgid="3486303082135789982">"Bluetooth համօգտագործում"</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/android/app/res/values-hy/test_strings.xml b/android/app/res/values-hy/test_strings.xml
index 33693e4..147a0b4 100644
--- a/android/app/res/values-hy/test_strings.xml
+++ b/android/app/res/values-hy/test_strings.xml
@@ -6,7 +6,7 @@
     <string name="update_record" msgid="2480425402384910635">"Հաստատել գրառումը"</string>
     <string name="ack_record" msgid="6716152390978472184">"ACK գրառում"</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/android/app/res/values-iw/strings.xml b/android/app/res/values-iw/strings.xml
index 7fe6a4f..8a3d388 100644
--- a/android/app/res/values-iw/strings.xml
+++ b/android/app/res/values-iw/strings.xml
@@ -126,7 +126,7 @@
     <string name="transfer_menu_open" msgid="3368984869083107200">"פתח"</string>
     <string name="transfer_menu_clear" msgid="5854038118831427492">"נקה מהרשימה"</string>
     <string name="transfer_clear_dlg_title" msgid="2953444575556460386">"ניקוי"</string>
-    <string name="bluetooth_a2dp_sink_queue_name" msgid="6864149958708669766">"מה שומעים עכשיו?"</string>
+    <string name="bluetooth_a2dp_sink_queue_name" msgid="6864149958708669766">"מושמע עכשיו"</string>
     <string name="bluetooth_map_settings_save" msgid="7635491847388074606">"שמור"</string>
     <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"ביטול"</string>
     <string name="bluetooth_map_settings_intro" msgid="6482369468223987562">"‏בחר בחשבונות שברצונך לשתף באמצעות Bluetooth. עדיין יהיה עליך לאשר גישה אל החשבונות בעת החיבור."</string>
diff --git a/android/app/res/values-ja/strings.xml b/android/app/res/values-ja/strings.xml
index 27ccaac..76f6206 100644
--- a/android/app/res/values-ja/strings.xml
+++ b/android/app/res/values-ja/strings.xml
@@ -18,10 +18,10 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <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="permlab_bluetoothWhitelist" msgid="7091552898592306386">"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="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">"機内モードではBluetoothを使用できません。"</string>
@@ -92,7 +92,7 @@
     <string name="status_running" msgid="6562808920311008696">"ファイルを転送中です。"</string>
     <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_forbidden" msgid="613956401054050725">"転送先の端末で転送が禁止されています。"</string>
     <string name="status_canceled" msgid="6664490318773098285">"ユーザーが転送をキャンセルしました。"</string>
     <string name="status_file_error" msgid="3671917770630165299">"ストレージのエラーです。"</string>
     <string name="status_no_sd_card_nosdcard" msgid="573631036356922221">"USB ストレージがありません。"</string>
diff --git a/android/app/res/values-ka/strings.xml b/android/app/res/values-ka/strings.xml
index 4983eaa..8d6008c 100644
--- a/android/app/res/values-ka/strings.xml
+++ b/android/app/res/values-ka/strings.xml
@@ -122,7 +122,7 @@
     <string name="transfer_menu_open" msgid="3368984869083107200">"გახსნა"</string>
     <string name="transfer_menu_clear" msgid="5854038118831427492">"სიიდან ამოშლა"</string>
     <string name="transfer_clear_dlg_title" msgid="2953444575556460386">"ამოშლა"</string>
-    <string name="bluetooth_a2dp_sink_queue_name" msgid="6864149958708669766">"რა უკრავს"</string>
+    <string name="bluetooth_a2dp_sink_queue_name" msgid="6864149958708669766">"ამჟამად უკრავს"</string>
     <string name="bluetooth_map_settings_save" msgid="7635491847388074606">"შენახვა"</string>
     <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"გაუქმება"</string>
     <string name="bluetooth_map_settings_intro" msgid="6482369468223987562">"აირჩიეთ ანგარიშები, რომელთა გაზიარებაც Bluetooth-ის მეშვეობით გსურთ. დაკავშირებისას ანგარიშებზე წვდომის დადასტურება მაინც მოგიწევთ."</string>
diff --git a/android/app/res/values-kn/strings.xml b/android/app/res/values-kn/strings.xml
index 0f0e06f..7e5a77d 100644
--- a/android/app/res/values-kn/strings.xml
+++ b/android/app/res/values-kn/strings.xml
@@ -122,7 +122,7 @@
     <string name="transfer_menu_open" msgid="3368984869083107200">"ತೆರೆಯಿರಿ"</string>
     <string name="transfer_menu_clear" msgid="5854038118831427492">"ಪಟ್ಟಿಯಿಂದ ತೆರವುಗೊಳಿಸಿ"</string>
     <string name="transfer_clear_dlg_title" msgid="2953444575556460386">"ತೆರವುಗೊಳಿಸು"</string>
-    <string name="bluetooth_a2dp_sink_queue_name" msgid="6864149958708669766">"Now Playing"</string>
+    <string name="bluetooth_a2dp_sink_queue_name" msgid="6864149958708669766">"ಇದೀಗ ಪ್ಲೇ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
     <string name="bluetooth_map_settings_save" msgid="7635491847388074606">"ಉಳಿಸಿ"</string>
     <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"ರದ್ದುಮಾಡಿ"</string>
     <string name="bluetooth_map_settings_intro" msgid="6482369468223987562">"ಬ್ಲೂಟೂತ್‌ ಮೂಲಕ ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುವ ಖಾತೆಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಸಂಪರ್ಕಿಸುವಾಗ ಖಾತೆಗಳಿಗೆ ಯಾವುದೇ ಪ್ರವೇಶವನ್ನು ನೀವು ಈಗಲೂ ಸಮ್ಮತಿಸಬೇಕಾಗುತ್ತದೆ."</string>
diff --git a/android/app/res/values-ml/strings.xml b/android/app/res/values-ml/strings.xml
index 08e907f..13d9efb 100644
--- a/android/app/res/values-ml/strings.xml
+++ b/android/app/res/values-ml/strings.xml
@@ -100,7 +100,7 @@
     <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="btopp_live_folder" msgid="7967791481444474554">"ബ്ലൂടൂത്തിലൂടെ ലഭിച്ചവ"</string>
+    <string name="btopp_live_folder" msgid="7967791481444474554">"ബ്ലൂടൂത്ത് ലഭിച്ചു"</string>
     <string name="opp_notification_group" msgid="3486303082135789982">"Bluetooth പങ്കിടൽ"</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/android/app/res/values-mr/strings.xml b/android/app/res/values-mr/strings.xml
index 9f540e7..37a945a 100644
--- a/android/app/res/values-mr/strings.xml
+++ b/android/app/res/values-mr/strings.xml
@@ -106,7 +106,7 @@
     <string name="upload_success" msgid="4014469387779648949">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> पाठविणे पूर्ण."</string>
     <string name="inbound_history_title" msgid="6940914942271327563">"इनबाउंड स्‍थानांतरणे"</string>
     <string name="outbound_history_title" msgid="4279418703178140526">"आउटबाउंड स्‍थानांतरणे"</string>
-    <string name="no_transfers" msgid="3482965619151865672">"ट्रान्सफर इतिहास रिक्त आहे."</string>
+    <string name="no_transfers" msgid="3482965619151865672">"ट्रांसफर इतिहास रिक्त आहे."</string>
     <string name="transfer_clear_dlg_msg" msgid="1712376797268438075">"सूचीमधून सर्व आयटम साफ केले जातील."</string>
     <string name="outbound_noti_title" msgid="8051906709452260849">"ब्लूटूथ शेअर: पाठवलेल्या फायली"</string>
     <string name="inbound_noti_title" msgid="4143352641953027595">"ब्लूटूथ शेअर: मिळवलेल्‍या फायली"</string>
diff --git a/android/app/res/values-or/strings.xml b/android/app/res/values-or/strings.xml
index 2c4410a..00eeecb 100644
--- a/android/app/res/values-or/strings.xml
+++ b/android/app/res/values-or/strings.xml
@@ -18,15 +18,15 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="permlab_bluetoothShareManager" msgid="311492132450338925">"ଡାଉନଲୋଡ୍‌ ମ୍ୟାନେଜର୍‌କୁ ଆକ୍ସେସ୍‌ କରନ୍ତୁ।"</string>
     <string name="permdesc_bluetoothShareManager" msgid="8930572979123190223">"BluetoothShare ମ୍ୟାନେଜର୍‌ ଆକ୍ସେସ୍‌ କରି ଫାଇଲ୍‌ଗୁଡ଼ିକ ଟ୍ରାନ୍ସଫର୍‌ କରିବାକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଆପ୍‌କୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
-    <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="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="airplane_error_title" msgid="2683839635115739939">"ଏରୋପ୍ଲେନ୍‍ ମୋଡ୍"</string>
-    <string name="airplane_error_msg" msgid="8698965595254137230">"ଆପଣ, ଏୟାରପ୍ଲେନ୍‌ ମୋଡ୍‌ରେ ବ୍ଲୁଟୂଥ୍‍‌ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ।"</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_line1" msgid="7203551583048149">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ସେବା ବ୍ୟବହାର କରିବା ପାଇଁ, ଆପଣଙ୍କୁ ପ୍ରଥମେ ବ୍ଲୁ-ଟୂଥ୍‍‌ ଅନ୍‌ କରିବାକୁ ପଡ଼ିବ।"</string>
     <string name="bt_enable_line2" msgid="4341936569415937994">"ବ୍ଲୁ-ଟୁଥ୍‌କୁ ଏବେ ଅନ୍‌ କରିବେ?"</string>
     <string name="bt_enable_cancel" msgid="1988832367505151727">"କ୍ୟାନ୍ସଲ୍‍"</string>
     <string name="bt_enable_ok" msgid="3432462749994538265">"ଅନ୍ କରନ୍ତୁ"</string>
@@ -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="FILE">%2$s</xliff:g> ପଠାଇବା ପାଇଁ <xliff:g id="SENDER">%1$s</xliff:g> ପ୍ରସ୍ତୁତ"</string>
-    <string name="notification_receiving" msgid="4674648179652543984">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ପ୍ରାପ୍ତ କରୁଛି"</string>
-    <string name="notification_received" msgid="3324588019186687985">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ପ୍ରାପ୍ତ କରାଯାଇଛି"</string>
-    <string name="notification_received_fail" msgid="3619350997285714746">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ଫାଇଲ୍‌ ପ୍ରାପ୍ତ କରାଯାଇନାହିଁ"</string>
-    <string name="notification_sending" msgid="3035748958534983833">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ପଠାଉଛି"</string>
-    <string name="notification_sent" msgid="9218710861333027778">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ପଠାଗଲା"</string>
+    <string name="notification_receiving" msgid="4674648179652543984">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ପ୍ରାପ୍ତ କରୁଛି"</string>
+    <string name="notification_received" msgid="3324588019186687985">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ପ୍ରାପ୍ତ କରାଯାଇଛି"</string>
+    <string name="notification_received_fail" msgid="3619350997285714746">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ଫାଇଲ୍‌ ପ୍ରାପ୍ତ କରାଯାଇନାହିଁ"</string>
+    <string name="notification_sending" msgid="3035748958534983833">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ପଠାଉଛି"</string>
+    <string name="notification_sent" msgid="9218710861333027778">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌: <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">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌: <xliff:g id="FILE">%1$s</xliff:g> ଫାଇଲ୍‌ ପଠାଯାଇନାହିଁ"</string>
+    <string name="notification_sent_fail" msgid="6696082233774569445">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌: <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>
@@ -77,7 +77,7 @@
     <string name="not_exist_file" msgid="3489434189599716133">"କୌଣସି ଫାଇଲ୍‌ ନାହିଁ"</string>
     <string name="not_exist_file_desc" msgid="4059531573790529229">"ଏଭଳି କୌଣସି ଫାଇଲ୍‌ ନାହିଁ। \n"</string>
     <string name="enabling_progress_title" msgid="436157952334723406">"ଦୟାକରି ଅପେକ୍ଷା କରନ୍ତୁ…"</string>
-    <string name="enabling_progress_content" msgid="4601542238119927904">"ବ୍ଲୁଟୂଥ୍‍‌ ଅନ୍‌ କରୁଛି…"</string>
+    <string name="enabling_progress_content" msgid="4601542238119927904">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଅନ୍‌ କରୁଛି…"</string>
     <string name="bt_toast_1" msgid="972182708034353383">"ଫାଇଲ୍‌କୁ ଗ୍ରହଣ କରାଯିବ। ବିଜ୍ଞପ୍ତି ପ୍ୟାନେଲ୍‌ରେ ପ୍ରଗତିକୁ ଦେଖନ୍ତୁ।"</string>
     <string name="bt_toast_2" msgid="8602553334099066582">"ଫାଇଲ୍‌କୁ ଗ୍ରହଣ କରାଯାଇପାରିବ ନାହିଁ।"</string>
     <string name="bt_toast_3" msgid="6707884165086862518">"\"<xliff:g id="SENDER">%1$s</xliff:g>\"ଙ୍କଠାରୁ ଗ୍ରହଣ କରିବା ବନ୍ଦ ହୋଇଗଲା"</string>
@@ -100,16 +100,16 @@
     <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="btopp_live_folder" msgid="7967791481444474554">"ବ୍ଲୁଟୂଥ୍‍‌ ପ୍ରାପ୍ତ ହେଲା"</string>
-    <string name="opp_notification_group" msgid="3486303082135789982">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌"</string>
+    <string name="btopp_live_folder" msgid="7967791481444474554">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ପ୍ରାପ୍ତ ହେଲା"</string>
+    <string name="opp_notification_group" msgid="3486303082135789982">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌"</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>
     <string name="inbound_history_title" msgid="6940914942271327563">"ଇନ୍‌ବାଉଣ୍ଡ ଟ୍ରାନ୍ସଫର୍‌"</string>
     <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">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌: ପଠାଯାଇଥିବା ଫାଇଲ୍‌"</string>
-    <string name="inbound_noti_title" msgid="4143352641953027595">"ବ୍ଲୁଟୂଥ୍‍‌ ସେୟାର୍‌: ପ୍ରାପ୍ତ କରାଯାଇଥିବା ଫାଇଲ୍‌"</string>
+    <string name="outbound_noti_title" msgid="8051906709452260849">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌: ପଠାଯାଇଥିବା ଫାଇଲ୍‌"</string>
+    <string name="inbound_noti_title" msgid="4143352641953027595">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଶେୟାର୍‌: ପ୍ରାପ୍ତ କରାଯାଇଥିବା ଫାଇଲ୍‌"</string>
     <plurals name="noti_caption_unsuccessful" formatted="false" msgid="2020750076679526122">
       <item quantity="other"><xliff:g id="UNSUCCESSFUL_NUMBER_1">%1$d</xliff:g> ବିଫଳ.</item>
       <item quantity="one"><xliff:g id="UNSUCCESSFUL_NUMBER_0">%1$d</xliff:g> ବିଫଳ.</item>
@@ -125,13 +125,13 @@
     <string name="bluetooth_a2dp_sink_queue_name" msgid="6864149958708669766">"ବର୍ତ୍ତମାନ ଚାଲୁଛି"</string>
     <string name="bluetooth_map_settings_save" msgid="7635491847388074606">"ସେଭ୍‌ କରନ୍ତୁ"</string>
     <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"କ୍ୟାନ୍ସଲ୍‍"</string>
-    <string name="bluetooth_map_settings_intro" msgid="6482369468223987562">"ବ୍ଲୁଟୂଥ୍‍‌ ମାଧ୍ୟମରେ ସେୟାର୍‌ କରିବାକୁ ଚାହୁଁଥିବା ଆକାଉଣ୍ଟଗୁଡ଼ିକୁ ଚୟନ କରନ୍ତୁ। ଆପଣଙ୍କୁ ତଥାପି ସଂଯୋଗ କରୁଥିବା ସମୟରେ ଆକାଉଣ୍ଟଗୁଡ଼ିକ ପ୍ରତି ଯେକୌଣସି ଆକ୍ସେସ୍‌କୁ ସ୍ୱୀକାର କରିବାକୁ ପଡ଼ିବ।"</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>
-    <string name="bluetooth_map_settings_title" msgid="7420332483392851321">"ବ୍ଲୁଟୂଥ୍‍‌ ମେସେଜ୍‌ ଶେୟାରିଙ୍ଗ ସେଟିଙ୍ଗ"</string>
+    <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="a2dp_sink_mbs_label" msgid="7566075853395412558">"ବ୍ଲୁଟୂଥ୍‍‌ ଅଡିଓ"</string>
+    <string name="bluetooth_connected" msgid="6718623220072656906">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଅଡିଓ ସଂଯୁକ୍ତ କରାଗଲା"</string>
+    <string name="bluetooth_disconnected" msgid="3318303728981478873">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଅଡିଓ ବିଚ୍ଛିନ୍ନ କରାଗଲା"</string>
+    <string name="a2dp_sink_mbs_label" msgid="7566075853395412558">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଅଡିଓ"</string>
     <string name="bluetooth_opp_file_limit_exceeded" msgid="8894450394309084519">"4GBରୁ ବଡ଼ ଫାଇଲ୍‌ଗୁଡ଼ିକୁ ଟ୍ରାନ୍ସଫର୍‌ କରାଯାଇପାରିବ ନାହିଁ"</string>
 </resources>
diff --git a/android/app/res/values-or/strings_pbap.xml b/android/app/res/values-or/strings_pbap.xml
index 844a464..804f4a2 100644
--- a/android/app/res/values-or/strings_pbap.xml
+++ b/android/app/res/values-or/strings_pbap.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="pbap_session_key_dialog_title" msgid="3580996574333882561">"%1$s ପାଇଁ ସେସନ୍‌ କୀ’ ଟାଇପ୍‌ କରନ୍ତୁ"</string>
-    <string name="pbap_session_key_dialog_header" msgid="2772472422782758981">"ବ୍ଲୁଟୂଥ୍‍‌ ସେସନ୍‌ କୀ ଆବଶ୍ୟକ"</string>
+    <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>
@@ -12,5 +12,5 @@
     <string name="unknownName" msgid="2841414754740600042">"ଅଜଣା ନାମ"</string>
     <string name="localPhoneName" msgid="2349001318925409159">"ମୋର ନାମ"</string>
     <string name="defaultnumber" msgid="8520116145890867338">"000000"</string>
-    <string name="pbap_notification_group" msgid="8487669554703627168">"ବ୍ଲୁଟୂଥ୍‍‌ ଯୋଗାଯୋଗ ସେୟାର୍‌ କରନ୍ତୁ"</string>
+    <string name="pbap_notification_group" msgid="8487669554703627168">"ବ୍ଲୁ-ଟୂଥ୍‍‌ ଯୋଗାଯୋଗ ଶେୟାର୍‌ କରନ୍ତୁ"</string>
 </resources>
diff --git a/android/app/res/values-or/strings_sap.xml b/android/app/res/values-or/strings_sap.xml
index aa190db..f52d36f 100644
--- a/android/app/res/values-or/strings_sap.xml
+++ b/android/app/res/values-or/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">"ବ୍ଲୁ-ଟୂଥ୍‍‌ SIM ଆକ୍ସେସ୍‌"</string>
+    <string name="bluetooth_sap_notif_ticker" msgid="6807778527893726699">"ବ୍ଲୁ-ଟୂଥ୍‍‌ SIM ଆକ୍ସେସ୍‌"</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/android/app/res/values-or/test_strings.xml b/android/app/res/values-or/test_strings.xml
index 4649a0a..693cd65 100644
--- a/android/app/res/values-or/test_strings.xml
+++ b/android/app/res/values-or/test_strings.xml
@@ -1,7 +1,7 @@
 <?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="app_name" msgid="6006644116867509664">"ବ୍ଲୁଟୂଥ୍‍‌"</string>
+    <string name="app_name" msgid="6006644116867509664">"ବ୍ଲୁ-ଟୂଥ୍‍‌"</string>
     <string name="insert_record" msgid="1450997173838378132">"ରେକର୍ଡ ଭର୍ତ୍ତି କରନ୍ତୁ"</string>
     <string name="update_record" msgid="2480425402384910635">"ରେକର୍ଡ ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="ack_record" msgid="6716152390978472184">"ରେକର୍ଡ ସ୍ୱୀକୃତ କରନ୍ତୁ"</string>
diff --git a/android/app/res/values-pt/strings.xml b/android/app/res/values-pt/strings.xml
index 8472432..ab22222 100644
--- a/android/app/res/values-pt/strings.xml
+++ b/android/app/res/values-pt/strings.xml
@@ -100,7 +100,7 @@
     <string name="status_connection_error" msgid="947681831523219891">"Falha na conexão."</string>
     <string name="status_protocol_error" msgid="3245444473429269539">"Não é possível tratar a solicitação corretamente."</string>
     <string name="status_unknown_error" msgid="8156660554237824912">"Erro desconhecido."</string>
-    <string name="btopp_live_folder" msgid="7967791481444474554">"Recebido por Bluetooth"</string>
+    <string name="btopp_live_folder" msgid="7967791481444474554">"Bluetooth recebido"</string>
     <string name="opp_notification_group" msgid="3486303082135789982">"Compartilhamento Bluetooth"</string>
     <string name="download_success" msgid="7036160438766730871">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> Recebimento concluído."</string>
     <string name="upload_success" msgid="4014469387779648949">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> Envio concluído."</string>
diff --git a/android/app/res/values-th/strings.xml b/android/app/res/values-th/strings.xml
index f6a51a2..52a2d1c 100644
--- a/android/app/res/values-th/strings.xml
+++ b/android/app/res/values-th/strings.xml
@@ -100,13 +100,13 @@
     <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="btopp_live_folder" msgid="7967791481444474554">"ไฟล์ที่ได้รับแล้วผ่านบลูทูธ"</string>
+    <string name="btopp_live_folder" msgid="7967791481444474554">"ได้รับบลูทูธแล้ว"</string>
     <string name="opp_notification_group" msgid="3486303082135789982">"การแชร์ทางบลูทูธ"</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>
     <string name="inbound_history_title" msgid="6940914942271327563">"การถ่ายโอนขาเข้า"</string>
     <string name="outbound_history_title" msgid="4279418703178140526">"การถ่ายโอนข้อมูล"</string>
-    <string name="no_transfers" msgid="3482965619151865672">"ไม่มีประวัติการโอนข้อมูล"</string>
+    <string name="no_transfers" msgid="3482965619151865672">"ประวัติการถ่ายโอนว่างเปล่า"</string>
     <string name="transfer_clear_dlg_msg" msgid="1712376797268438075">"รายการทั้งหมดจะถูกล้างจากรายการ"</string>
     <string name="outbound_noti_title" msgid="8051906709452260849">"การแชร์ทางบลูทูธ: ส่งไฟล์แล้ว"</string>
     <string name="inbound_noti_title" msgid="4143352641953027595">"การแชร์ทางบลูทูธ: รับไฟล์แล้ว"</string>
diff --git a/android/app/src/com/android/bluetooth/avrcp/AvrcpTargetService.java b/android/app/src/com/android/bluetooth/avrcp/AvrcpTargetService.java
index 9c33fd9..8cb6e6a 100644
--- a/android/app/src/com/android/bluetooth/avrcp/AvrcpTargetService.java
+++ b/android/app/src/com/android/bluetooth/avrcp/AvrcpTargetService.java
@@ -18,6 +18,7 @@
 
 import android.bluetooth.BluetoothA2dp;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
 import android.bluetooth.IBluetoothAvrcpTarget;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -94,6 +95,19 @@
 
                 // Update all the playback status info for each connected device
                 mNativeInterface.sendMediaUpdate(false, true, false);
+            } else if (action.equals(BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED)) {
+                if (mNativeInterface == null) return;
+
+                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+                if (device == null) return;
+
+                int state = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, -1);
+                if (state == BluetoothProfile.STATE_DISCONNECTED) {
+                    // If there is no connection, disconnectDevice() will do nothing
+                    if (mNativeInterface.disconnectDevice(device.getAddress())) {
+                        Log.d(TAG, "request to disconnect device " + device);
+                    }
+                }
             }
         }
     }
@@ -164,6 +178,7 @@
         mReceiver = new AvrcpBroadcastReceiver();
         IntentFilter filter = new IntentFilter();
         filter.addAction(BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED);
+        filter.addAction(BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED);
         registerReceiver(mReceiver, filter);
 
         // Only allow the service to be used once it is initialized