diff --git a/res/layout/bluetooth_pin_confirm.xml b/res/layout/bluetooth_pin_confirm.xml
index 9387d5ddd821efd41988f681b278b06f49a58744..55cad69cceb1edc0ef1d8792c2b4c0ff02afa5d9 100644
--- a/res/layout/bluetooth_pin_confirm.xml
+++ b/res/layout/bluetooth_pin_confirm.xml
@@ -19,6 +19,7 @@
@@ -29,6 +30,18 @@
android:layout_width="match_parent"
android:orientation="vertical">
+
+
-
+
+
+
+
+
diff --git a/res/layout/bluetooth_pin_entry.xml b/res/layout/bluetooth_pin_entry.xml
index 83ebd872a3c271e927c332c11a1522f596df7fdc..43638933d7f44a3b5d5175061b8201ef392ec168 100644
--- a/res/layout/bluetooth_pin_entry.xml
+++ b/res/layout/bluetooth_pin_entry.xml
@@ -19,6 +19,7 @@
@@ -86,6 +87,30 @@
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
android:textColor="?android:attr/textColorSecondary"/>
+
+
+
+
-
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index b6e0e0c3c62088caa7fb67fb16d666b3fa12a623..0990aedd07e05d8454525d05db40f1d17eeaac09 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -856,6 +856,8 @@
"Laat toegang tot jou kontakte en oproepgeskiedenis toe""Gee ook toegang tot kontakte en oproepgeskiedenis""Inligting sal vir oproepaankondigings en meer gebruik word"
+ "Gaan saambindkodes na"
+ "Kyk of hierdie kode ooreenstem met die een op %1$s.\n\nJy moet hierdie kode om veiligheidsredes nêrens invoer nie.""Kon nie aan %1$s koppel nie.""Beskikbare toestelle"
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 2323a1869e7ebf0a1873f5c92963071baa3f2021..df932b0eda74dead3f94cd476720b6b2954eded8 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -856,6 +856,8 @@
"የእርስዎን የእውቂያዎች እና የጥሪ ታሪክ መዳረሻ ይፍቀዱ""እንዲሁም ለዕውቂያዎች እና ለጥሪ ታሪክ መዳረሻ ይፍቀዱ""መረጃው ለደውል ማስታወቂያዎች እና ለሌሎችም ጥቅም ላይ ይውላል"
+ "የማጣመሪያ ኮዶችን በመፈተሽ ላይ"
+ "ይህ ኮድ %1$s ላይ ካለው ጋር እንደሚዛመድ ይፈትሹ።\n\nለእርስዎ ደህንነት ሲባል ይህን ኮድ የትም ቦታ አያስገቡ።""ወደ %1$sማገናኘት አልተቻለም።""የሚገኙ መሣሪያዎች"
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index b88747c1ba111dea7355c39561fb7b8436a9c5fd..2cd57c291e27f55eeb3c7ef45c06c2b974f8cd40 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -856,6 +856,8 @@
"السماح بالوصول إلى جهات الاتصال وسجلّ المكالمات""السماح أيضًا بالوصول إلى جهات الاتصال وسجلّ المكالمات""سيتم استخدام المعلومات في إشعارات المكالمات وغير ذلك"
+ "التحقُّق من رموز الإقران"
+ "يُرجى التأكُّد من تطابُق هذا الرمز مع الرمز المعروض على \"%1$s\".\n\nللحفاظ على أمانك، يجب عدم إدخال هذا الرمز في أي مكان.""تعذر الاتصال بـ %1$s.""الأجهزة المتاحة"
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index f5a06b0465ef7b3bf3f90a1e64017bda2393f31b..0f538cf733036f6ded7329adcd17ccd4d09659b7 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -856,6 +856,8 @@
"আপোনাৰ সম্পৰ্কসূচী আৰু কলৰ ইতিহাস এক্সেছ কৰিবলৈ অনুমতি দিয়ক""লগতে আপোনাৰ সম্পৰ্কসমূহ আৰু কলৰ ইতিহাস এক্সেছ কৰিবলৈ অনুমতি দিয়ক""এই তথ্য কল ঘোষণা আৰু অধিক কাৰ্যৰ বাবে ব্যৱহাৰ কৰা হ’ব"
+ "পেয়াৰ কৰাৰ ক’ড পৰীক্ষা কৰক"
+ "এই ক’ডটো %1$sত থকাটোৰ সৈতে মিলে নেকি পৰীক্ষা কৰক।\n\nআপোনাৰ সুৰক্ষাৰ বাবে এই ক’ডটো ক’তো নিদিব।""%1$sৰ সৈতে সংযোগ কৰিব পৰা নগ\'ল।""উপলব্ধ ডিভাইচসমূ্হ"
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 843df2db578a619a7889f0f160f584a5bc082545..d3f1eed7ac7cb9a2741a3c8bfa6276a4b45f466f 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -856,6 +856,8 @@
"Kontaktlar və zəng tarixçəsinə giriş icazəsi verin""Kontaktlar və zəng tarixçəsinə də giriş imkanı verin""Məlumat zəng elanı və s. üçün istifadə ediləcək"
+ "Qoşulma kodlarını yoxlayın"
+ "Bu kodun %1$s cihazındakı ilə uyğun olub-olmadığını yoxlayın.\n\nTəhlükəsizliyiniz üçün bu kodu heç bir yerə daxil etməyin.""%1$s cihazına qoşula bilmədi.""Əlçatan cihazlar"
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 35ea2d3f4c298d838e2fc7d1a4779872f3f523be..975abe110c9016622ee00a33c8f315e2da9ca3c2 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -856,6 +856,8 @@
"Dozvoli pristup kontaktima i istoriji poziva""Dozvoli i pristup kontaktima i istoriji poziva""Informacije će se koristiti za obaveštenja o pozivima i drugo"
+ "Proverite kôd za uparivanje"
+ "Proverite da li se ovaj kôd podudara sa onim na uređaju %1$s.\n\nIz bezbednosnih razloga ne unosite nigde ovaj kôd.""Nije moguće povezati se sa uređajem %1$s.""Dostupni uređaji"
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 699d0e242a0609fbbd8adbb199b5806074550a10..82bc4d3a7899b9ea6f086d03340f035db1f44aa9 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -856,6 +856,8 @@
"Дазволіць доступ да сваіх кантактаў і гісторыі выклікаў""Дазволіць доступ таксама да кантактаў і гісторыі выклікаў""Гэта інфармацыя будзе выкарыстоўвацца для апавяшчэнняў аб выкліках і іншых функцый"
+ "Праверце коды спалучэння"
+ "Праверце, ці супадае гэты код з кодам на прыладзе \"%1$s\".\n\nУ мэтах бяспекі нікуды не ўводзьце гэты код.""Не атрымалася падключыцца да прылады %1$s""Даступныя прылады"
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index ac231c976191824472ee260f921335bf24fd8e92..ad33aa85a3b649caea739022103ee37d22181a72 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -856,6 +856,8 @@
"Разрешаване на достъпа до контактите и историята на обажданията ви""Разрешаване и на достъпа до контактите и историята на обажданията""Информацията ще се ползва за обявяване на обажданията и др."
+ "Проверка на кодовете за сдвояване"
+ "Проверете дали кодът съответства на този на %1$s.\n\nОт съображения за сигурност не въвеждайте кода никъде.""Не можа да се установи връзка със: %1$s.""Налични устройства"
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 9ad70776a90599bc7d850ef940daee323343a39b..f9264497a4b7e4896a9daf7d4d1027f7179c3c3f 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -856,6 +856,8 @@
"আপনার পরিচিতি এবং কল ইতিহাস অ্যাক্সেসের অনুমতি দিন""এছাড়াও পরিচিতি ও কলের ইতিহাস অ্যাক্সেস করার অনুমতি দিন""কল সম্পর্কিত ঘোষণা ও আরও অনেক কিছুর জন্য তথ্য ব্যবহার করা হবে"
+ "পেয়ারিং কোড দেখুন"
+ "এই কোড %1$s-এর কোডের সাথে মিলছে কিনা তা দেখুন।\n\nআপনার নিরাপত্তার জন্য, এই কোড কোথাও লিখবেন না।""%1$s এ কানেকশন করতে পারেনি।""উপলভ্য ডিভাইস"
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 7b46f387444c90af279e236095820024cf0d203a..86ca858c34929f94ba589eca5b33bf61536cca68 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -856,6 +856,8 @@
"Dozvoli pristup kontaktima i historiji poziva""Također dozvoli pristup kontaktima i historiji poziva""Podaci će se koristiti za obavještenja o pozivu i drugo"
+ "Provjerite kôd za uparivanje"
+ "Provjerite podudara li se ovaj kôd s kodom na uređaju %1$s.\n\nRadi sigurnosti nemojte unositi ovaj kôd nigdje.""Nije uspjelo povezivanje sa uređajem %1$s.""Dostupni uređaji"
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 3a0f350fc9dc8790aa01c9353403f56c9335dd01..ef623bee9e1eaaa85ee9590a302fdb438f896cc1 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -856,6 +856,8 @@
"Permet l\'accés als contactes i a l\'historial de trucades""Permet també l\'accés als contactes i a l\'historial de trucades""La informació s\'utilitzarà per als avisos de trucades i més"
+ "Comprova els codis de vinculació"
+ "Comprova si aquest codi coincideix amb el de %1$s.\n\nPer a la teva seguretat, no introdueixis aquest codi enlloc.""No s\'ha pogut connectar amb %1$s.""Dispositius disponibles"
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 3b5724a47ac60478a36257f340251ea64b902673..92c202345c411ea58656961124ab29abde1ba3e2 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -856,6 +856,8 @@
"Povolit přístup ke kontaktům a historii volání""Povolit také přístup ke kontaktům a historii volání""Informace se budou používat k oznamování hovorů a k dalším účelům"
+ "Zkontrolujte párovací kódy"
+ "Zkontrolujte, jestli se tento kód shoduje s kódem na zařízení %1$s.\n\nKvůli své bezpečnosti ho nikde nezadávejte.""K zařízení %1$s se nelze připojit.""Dostupná zařízení"
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 90771c87875b33e4c79cf96e184122b6f1a875e7..85c16cc6d37d3c027d53b5a4212001a4e3c211f1 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -856,6 +856,8 @@
"Giv adgang til dine kontakter og din opkaldshistorik""Tillad også adgang til kontakter og opkaldshistorik""Oplysningerne bruges til opkaldsmeddelelser m.m."
+ "Tjek parringskoder"
+ "Tjek, om denne kode stemmer overens med den på %1$s.\n\nAf sikkerhedsmæssige årsager bør du ikke indtaste denne kode andre steder.""Der kunne ikke oprettes forbindelse til %1$s.""Tilgængelige enheder"
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 03ffa357afc69b1ff7ecbc32d97c41af3645a13c..cac26e297cc886b30df763a5732570d4b3d132d6 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -856,6 +856,8 @@
"Zugriff auf meine Kontakte und meine Anrufliste zulassen""Auch den Zugriff auf Kontakte und Anruflisten erlauben""Die Daten werden für Anrufbenachrichtigungen und anderes verwendet"
+ "Kopplungscodes prüfen"
+ "Prüfe, ob dieser Code mit dem auf dem Gerät „%1$s“ übereinstimmt.\n\nGib diesen Code aus Sicherheitsgründen nirgendwo ein.""Keine Verbindung zu %1$s möglich""Verfügbare Geräte"
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index aaa1f3e200bf4dddd475f46cd7dad193036b319e..a8bab82d049abb112adeda0df5af16201eb19370 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -856,6 +856,8 @@
"Να επιτρέπεται η πρόσβαση στις επαφές σας και στο ιστορικό κλήσεων""Επιτρέψτε επίσης την πρόσβαση στις επαφές και το ιστορικό κλήσεων""Οι πληροφορίες θα χρησιμοποιούνται για ανακοινώσεις κλήσεων κ.ά."
+ "Έλεγχος κωδικών σύζευξης"
+ "Ελέγξτε αν αυτός ο κωδικός αντιστοιχεί με αυτόν στη συσκευή %1$s.\n\nΓια την ασφάλειά σας, μην εισαγάγετε αυτόν τον κωδικό πουθενά.""Δεν ήταν δυνατή η σύνδεση με τη συσκευή %1$s.""Διαθέσιμες συσκευές"
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 3ff7f1b32fb9ed372ce13f1bc7c43f97efac6c93..152f8e43dc568c3bc2f503e3fcd9fcdec8080503 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -856,6 +856,8 @@
"Allow access to your contacts and call history""Also allow access to contacts and call history""Info will be used for call announcements and more"
+ "Check pairing codes"
+ "Check if this code matches the one on %1$s.\n\nFor your security, do not enter this code anywhere.""Couldn\'t connect to %1$s.""Available devices"
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index f7f04661d250fbb59c3ab45d83324e613d0b4e44..cb8082e1289be47f2a652d1a60419db2b1c90a54 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -856,6 +856,8 @@
"Allow access to your contacts and call history""Also allow access to contacts and call history""Info will be used for call announcements and more"
+ "Check pairing codes"
+ "Check if this code matches the one on %1$s.\n\nFor your security, do not enter this code anywhere.""Couldn’t connect to %1$s.""Available devices"
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index aae01ee8e653f8f73cf2cb3973f07c0616c0ba9f..4ef29eaa9a3f9078422037f460b67b33f61e955f 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -856,6 +856,8 @@
"Allow access to your contacts and call history""Also allow access to contacts and call history""Info will be used for call announcements and more"
+ "Check pairing codes"
+ "Check if this code matches the one on %1$s.\n\nFor your security, do not enter this code anywhere.""Couldn\'t connect to %1$s.""Available devices"
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index d1c5b3281fb4b60cd0c581b311d6e362d38b44cc..2acdd3cdb129cbc0556a7aa26ba927019813f6ed 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -856,6 +856,8 @@
"Allow access to your contacts and call history""Also allow access to contacts and call history""Info will be used for call announcements and more"
+ "Check pairing codes"
+ "Check if this code matches the one on %1$s.\n\nFor your security, do not enter this code anywhere.""Couldn\'t connect to %1$s.""Available devices"
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 3cb47114bde22be09451a0f8fd7222c53cbac750..d3834908ee56d69a70f93297211e1a80f78af129 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -856,6 +856,8 @@
"Permitir el acceso a tus contactos y al historial de llamadas""También permitir acceder a los contactos y el historial de llamadas""La información se usará para anuncios de llamadas y otras funciones"
+ "Verifica los códigos de vinculación"
+ "Verifica si este código coincide con el que aparece en %1$s.\n\nPor tu seguridad, no ingreses este código en ningún lugar.""No se pudo establecer conexión con %1$s.""Dispositivos disponibles"
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 09241c9ea1dc4d70ce452d2d3edf157c67cf8350..dcdba0dfc903d05ea2328a2bcc273634d8758c22 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -856,6 +856,8 @@
"Permitir acceso a tus contactos y al historial de llamadas""Permitir también acceder a los contactos y al historial de llamadas""La información se usará para avisos de llamada y más"
+ "Comprobar códigos de emparejamiento"
+ "Comprueba si este código coincide con el del %1$s.\n\nPor tu seguridad, no introduzcas este código en ningún sitio.""No se ha podido establecer conexión con %1$s.""Dispositivos disponibles"
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index c7abe81a505875dee6bb03177e1e55ce929c834e..fe1abd66afcb46542deb3569a34e6f593051ad58 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -856,6 +856,8 @@
"Luba juurdepääs kontaktidele ja kõneajaloole""Luba juurdepääs ka kontaktidele ja kõneajaloole""Teavet kasutatakse kõne teadaannete ja muu jaoks"
+ "Sidumiskoodide kontrollimine"
+ "Kontrollige, kas see kood vastab sellele, mis on seadmes %1$s.\n\nTurvalisuse huvides ärge sisestage seda koodi kuhugi.""Seadmega %1$s ei saanud ühendust.""Saadaval seadmed"
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index bfc0ad2a9310c4cbe32fa59908ecb70703d70246..1366cfdc1811a7a8afd199a2bb50cd88485d75ab 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -856,6 +856,8 @@
"Eman kontaktuak eta deien historia erabiltzeko baimena""Eman kontaktuak eta deien historia erabiltzeko baimena ere""Deiak iragartzeko eta beste gauza batzuetarako erabiliko da informazioa"
+ "Egiaztatu parekatze-kodeak"
+ "Egiaztatu kode hau bat datorrela %1$s gailuan agertzen denarekin.\n\nZure segurtasuna bermatzeko, ez idatzi kode hau inon ere.""Ezin izan da %1$s gailura konektatu.""Gailu erabilgarriak"
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 7a737a39c6dd9d774d558897f18ae8ba9f730d1d..87efaede86dc7b635f08bd66f17baee4b96bed16 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -856,6 +856,8 @@
"اجازه دسترسی به مخاطبین و سابقه تماس""دسترسی به مخاطبین و سابقه تماس نیز مجاز شود""از اطلاعات برای اعلام تماسها و موارد دیگر استفاده خواهد شد"
+ "بررسی کردن کدهای جفتسازی"
+ "مطمئن شوید که این کد با کد نمایش دادهشده در %1$s مطابقت دارد.\n\nبرای حفظ امنیت، این کد را در هیچجا وارد نکنید.""اتصال به %1$s ممکن نیست.""دستگاههای در دسترس"
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 4f26adb68532ca2c89160a7aa28cd0fc531c4c9d..0d0df4b12ce6c1d1498930d69a223f3bf24dc7de 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -856,6 +856,8 @@
"Anna pääsyoikeus yhteystietoihisi ja puheluhistoriaasi""Salli myös pääsy yhteystietoihin ja soittohistoriaan""Tietoja käytetään esimerkiksi puheluilmoituksiin"
+ "Yhdistämiskoodien tarkistaminen"
+ "Tarkista, vastaako tämä koodi laitteen %1$s koodia.\n\nTurvallisuussyistä älä lisää tätä koodia mihinkään.""Yhteyden muodostaminen laitteeseen %1$s epäonnistui.""Saatavilla olevat laitteet"
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 98760c22f8872971458b1695fcc3bad749aeb6bb..e2ba6a887d5f567e20f157fb1bac490f9dab5456 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -856,6 +856,8 @@
"Autoriser l\'accès à vos contacts et à l\'historique des appels""Autoriser également l\'accès aux contacts et à l\'historique des appels""Ces informations seront utilisées pour les annonces d\'appels et plus"
+ "Vérifier les codes d\'association"
+ "Vérifiez si ce code correspond à celui de %1$s.\n\nPour votre sécurité, n\'entrez ce code nulle part.""Impossible de se connecter à %1$s.""Appareils détectés"
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index e67b07da07fe643e1bacc7c3db756bcd0b76c5ef..01fbb205024be7e28f57955b3b5b3dd01d07cee9 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -856,6 +856,8 @@
"Autoriser l\'accès à vos contacts et à l\'historique de vos appels""Autoriser l\'accès aux contacts et à l\'historique des appels""Ces infos seront utilisées pour les notifications d\'appels, entre autres"
+ "Vérifier les codes d\'association"
+ "Vérifiez si ce code correspond à celui indiqué sur l\'appareil %1$s.\n\nPour des raisons de sécurité, ne saisissez pas ce code ailleurs.""Impossible de se connecter à %1$s.""Appareils disponibles"
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index f55e6987cd78774bb2f4bbb2a0b6b7c53181568a..93cf2978f9336df428f9da8bbb689aec1c41728c 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -856,6 +856,8 @@
"Permitir o acceso aos teus contactos e ao historial de chamadas""Permitir tamén o acceso aos contactos e ao historial de chamadas""A información empregarase para avisos de chamadas e moito máis"
+ "Comprobar os códigos de vinculación"
+ "Comproba se este código coincide co do dispositivo %1$s.\n\nPola túa seguranza, non escribas o código en ningún lugar.""Non se puido conectar a %1$s.""Dispositivos dispoñibles"
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 66e9971c85e0f51593d485ced2e1f2f14c0320c4..b93a540dbed0ec0550a1f3227d97506365875d3b 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -856,6 +856,8 @@
"તમારા સંપર્કો અને કૉલ ઇતિહાસના ઍક્સેસની મંજૂરી આપો""સંપર્કો અને કૉલ ઇતિહાસના ઍક્સેસની પણ મંજૂરી આપો""માહિતીનો ઉપયોગ કૉલની ઘોષણાઓ અને વધુ બાબતો માટે કરવામાં આવશે"
+ "જોડાણ કરવાના કોડ ચેક કરો"
+ "આ કોડ %1$s પરના કોડ સાથે મેળ ખાય છે કે નહીં તે ચેક કરો.\n\nતમારી સુરક્ષા માટે, આ કોડ ક્યાંય પણ દાખલ કરશો નહીં.""%1$s સાથે કનેક્ટ કરી શકાયું નથી.""ઉપલબ્ધ ડિવાઇસ"
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index ee726f933d2b27eaaef7a54db01261a5c2975b8b..3a664b44bce0686938dcf14bca2ccb71503132c3 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -856,6 +856,8 @@
"अपने संपर्क और कॉल इतिहास देखने की मंज़ूरी दें""संपर्क और कॉल इतिहास को ऐक्सेस करने की भी अनुमति दें""इस जानकारी का इस्तेमाल, कॉल की सूचना देने वगैरह के लिए किया जाएगा"
+ "जोड़ने के कोड का मिलान करें"
+ "देखें कि यह कोड, %1$s के कोड से मेल खाता है या नहीं.\n\nसुरक्षा को ध्यान में रखते हुए, इस कोड को कहीं और इस्तेमाल न करें.""%1$s से कनेक्ट नहीं किया जा सका.""उपलब्ध ब्लूटूथ डिवाइस"
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 0c00e59ea61af274572f71dbc1a85c8b1a2ed5e9..a2f6603b836f1b3f172c82fd2673c574d4d415e8 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -856,6 +856,8 @@
"Dopuštam pristup kontaktima i povijesti poziva""Dopusti i pristup kontaktima i povijesti poziva""Podaci će se koristiti za najave poziva i drugo"
+ "Provjerite kodove za uparivanje"
+ "Provjerite podudara li se ovaj kôd s kodom na uređaju %1$s.\n\nRadi vlastite sigurnosti, kôd nemojte nigdje unositi.""Nije moguće povezati se na %1$s.""Dostupni uređaji"
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 336168ad1a9486ff8cace7cb1a41e5de5659c3dd..92ca20a2c9e7acea71544fdd2fd448e13ee89bb6 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -856,6 +856,8 @@
"Hozzáférést biztosít névjegyeihez és híváslistájához""Hozzáférés engedélyezése a névjegyekhez és a híváslistához is""Az információkat a hívások bejelentéséhez és egyebekhez használjuk majd fel"
+ "Párosítókódok ellenőrzése"
+ "Ellenőrizze, hogy ez a kód egyezik-e a(z) %1$s eszközön lévővel.\n\nA biztonság érdekében ne adja meg ezt a kódot sehol sem.""Nem sikerült csatlakozni a következőhöz: %1$s.""Rendelkezésre álló eszközök"
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index efeed96ec26d8a23ba6b49188632ad774b429f56..cb1acfca18594a5ed5b4d97fa651cbe7fc24245a 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -856,6 +856,8 @@
"Թույլատրել կոնտակտների ու զանգերի պատմության հասանելիությունը""Նաև հասանելի դարձնել կոնտակտները և զանգերի պատմությունը""Տեղեկությունները կօգտագործվեն զանգերի մասին ծանուցումների համար և այլ նպատակներով"
+ "Ստուգեք զուգակցման կոդերը"
+ "Ստուգեք՝ արդյոք այս կոդը համընկնում է %1$s սարքում նշվածի հետ։\n\nԱնվտանգության նկատառումներից ելնելով՝ այս կոդը ոչ մի տեղ մի մուտքագրեք։""Հնարավոր չեղավ միանալ %1$s-ին:""Հասանելի սարքեր"
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 4bbf21548c4dd610e05ccaff6cf94757aa79bb49..788891d29e8863936aa239219e89db6984a1579e 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -856,6 +856,8 @@
"Izinkan akses ke kontak dan histori panggilan Anda""Juga izinkan akses ke kontak dan histori panggilan""Info akan digunakan untuk pengumuman panggilan dan lain-lain"
+ "Periksa kode penyambungan"
+ "Periksa apakah kode ini cocok dengan kode yang ada di %1$s.\n\nDemi keamanan Anda, jangan masukkan kode ini di mana pun.""Tidak dapat terhubung ke %1$s.""Perangkat yang tersedia"
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 96246149a22b166eebc036b80a303277ff8f7cc8..e5c82377cd7df195ac63705ea83474e051e36128 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -856,6 +856,8 @@
"Veita aðgang að tengiliðum þínum og símtalaferli""Veita einnig aðgang að tengiliðum og símtalaferli""Upplýsingar verða notaðar fyrir símtalatilkynningar og fleira"
+ "Kanna pörunarkóða"
+ "Kannaðu hvort þessi kóði passar við kóðann í %1$s.\n\nÞér til öryggis skaltu ekki slá þennan kóða inn neins staðar.""Ekki tókst að tengjast %1$s.""Tæki í boði"
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 310db9a9468931209eda3cae407afa9b3b710a9a..570e05aae2c9b4763dc43970ed1b6ab87042bdd0 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -856,6 +856,8 @@
"Consenti l\'accesso ai tuoi contatti e alla cronologia chiamate""Consenti anche l\'accesso ai contatti e alla cronologia delle chiamate""Le informazioni saranno utilizzate per gli annunci delle chiamate e altro ancora"
+ "Controlla i codici di accoppiamento"
+ "Verifica se questo codice corrisponde a quello su %1$s.\n\nPer motivi di sicurezza, non inserire questo codice da nessuna parte.""Impossibile collegarsi a %1$s.""Dispositivi disponibili"
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 1dd8c78ada3ae6c6fc29fa6bed5c5b99b2dfb7e0..9221c9cb099fb07529c6465611b58dc2a7ab79d4 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -856,6 +856,8 @@
"אישור גישה אל אנשי הקשר והיסטוריית השיחות""אישור גישה אל אנשי הקשר והיסטוריית השיחות""המידע הזה ישמש למשל כדי להשמיע התראות על שיחות נכנסות"
+ "צריך לבדוק את קודי ההתאמה"
+ "הקוד הזה והקוד במכשיר %1$s חייבים להיות זהים.\n\nמטעמי אבטחה, חשוב לא להזין את הקוד הזה בשום מקום.""לא הייתה אפשרות להתחבר אל %1$s.""מכשירים זמינים"
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index d2a90dce4409c86c85d684e5105a6f223e72bc02..e1da77c55490b0230d05f959bfa54984f3b8ce6e 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -856,6 +856,8 @@
"連絡先と通話履歴へのアクセスを許可する""連絡先と通話履歴へのアクセスも許可""情報は着信の通知などに使用されます"
+ "ペア設定コードの確認"
+ "このコードが %1$s のコードと一致していることを確認してください。\n\n安全のため、このコードをどこにも入力しないでください。""%1$sに接続できませんでした。""使用可能なデバイス"
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index f5e3fdbfa1a02a6fe7c91505745e8f418d84c1a5..10c30ff38385870ebad5e1caac171b9fe98e7758 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -856,6 +856,8 @@
"კონტაქტებსა და საუბრის ისტორიაზე წვდომის დაშვება""დაუშვით წვდომა კონტაქტებსა და საუბრის ისტორიაზეც""ინფორმაცია გამოიყენება განცხადებების გამოცხადებისა და სხვა მოქმედებებისთვის"
+ "დაკავშირების კოდების შემოწმება"
+ "შეამოწმეთ, ემთხვევა თუ არა ეს კოდი %1$s-ისას.\n\nთქვენი უსაფრთხოებისთვის, ეს კოდი არსად არ შეიყვანოთ.""%1$s-თან დაკავშირება ვერ მოხერხდა.""ხელმისაწვდომი მოწყობილობები"
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index c10bb470d997668fde55d895bcbaffedd6016cba..4261416300545ca56c199785572ef19c95533f3b 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -856,6 +856,8 @@
"Контактілер мен қоңыраулар тарихына кіруге рұқсат беру""Сондай-ақ контактілерге және қоңыраулар тарихына кіруге рұқсат беру""Ақпарат қоңырау туралы хабарландырулар және т.б. үшін пайдаланылады."
+ "Жұптау кодтарын тексеріңіз"
+ "Бұл кодтың %1$s құрылғысындағы кодпен бірдей екенін тексеріңіз.\n\nҚауіпсіздікті сақтау үшін бұл кодты басқа жерде енгізбеңіз.""%1$s құрылғысына жалғану мүмкін болмады.""Қолжетімді құрылғылар"
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 941d64d9b22b8c5c54c7782aec175fc382b60bfc..0f67291528800f0ee14ad4465262ffce29ff5e00 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -856,6 +856,8 @@
"ផ្ដល់សិទ្ធិអនុញ្ញាតចូលប្រើទំនាក់ទំនង និងប្រវត្តិហៅទូរសព្ទរបស់អ្នក""អនុញ្ញាតឱ្យចូលប្រើប្រាស់ប្រវត្តិហៅទូរសព្ទ និងទំនាក់ទំនងផងដែរ""ព័ត៌មាននឹងត្រូវបានប្រើសម្រាប់ការប្រកាសអំពីការហៅទូរសព្ទ និងអ្វីៗជាច្រើនទៀត"
+ "ពិនិត្យមើលកូដផ្គូផ្គង"
+ "ពិនិត្យមើលថាតើកូដនេះត្រូវគ្នានឹងកូដនៅលើ %1$s។\n\nសម្រាប់សុវត្ថិភាពរបស់អ្នក សូមកុំបញ្ចូលកូដនេះនៅកន្លែងណាមួយឱ្យសោះ។""មិនអាចតភ្ជាប់ទៅ %1$s ។""ឧបករណ៍ដែលអាចភ្ជាប់បាន"
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 1a2c4eb5f6ee1d7b91aa19f40a4d0a1bff856f44..b21feada10ce364ccd7a61c181bde243e17ecc9b 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -856,6 +856,8 @@
"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ""ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಸಹ ಅನುಮತಿಸಿ""ಮಾಹಿತಿಯನ್ನು ಕರೆ ಪ್ರಕಟಣೆಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ"
+ "ಪೇರಿಂಗ್ ಕೋಡ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ"
+ "ಈ ಕೋಡ್ %1$s ನಲ್ಲಿರುವ ಕೋಡ್ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.\n\nನಿಮ್ಮ ಸುರಕ್ಷತೆಗಾಗಿ, ಈ ಕೋಡ್ ಅನ್ನು ಎಲ್ಲಿಯೂ ನಮೂದಿಸಬೇಡಿ.""%1$s ಗೆ ಸಂಪರ್ಕಪಡಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.""ಲಭ್ಯವಿರುವ ಸಾಧನಗಳು"
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 74d4644dd2827c4a5778e371f4cfd3cb0862b3f6..a2a69f56f8532880be0c92dc7b0b89d6992a380c 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -856,6 +856,8 @@
"연락처 및 통화 기록 액세스 허용""연락처 및 통화 기록에 대한 액세스도 허용합니다.""정보는 전화 알림 등에 사용됩니다."
+ "페어링 코드를 확인하세요"
+ "이 코드가 %1$s에 표시된 코드와 일치하는지 확인하세요.\n\n보안을 위해 이 코드를 어디에도 입력하지 마세요.""%1$s에 연결할 수 없습니다.""사용할 수 있는 기기"
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 6ac41cab8fcbe0d4adb2a9a777c7e575f939d6cc..5db57c9c9d4c592f0d4cf539bf08d7034779ff04 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -856,6 +856,8 @@
"Байланыштар менен чалууларды жеткиликтүү кылуу""Ошондой эле байланыштарга жана чалуу таржымалына кирүүгө уруксат берүү""Маалымат чалуу тууралуу билдирмелер жана башкалар үчүн колдонулат"
+ "Байланыштыруучу коддорду текшериңиз"
+ "Бул код %1$s түзмөгүндөгү кодго дал келерин текшериңиз.\n\nКоопсуздугуңуз үчүн бул кодду эч жерге киргизбеңиз.""%1$s менен байланыша албай жатат.""Жеткиликтүү түзмөктөр"
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 894bc30ea904279a71e018c210d2645a482ef57c..abb6113dd560d50006a180d39f2bfb113efb983e 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -856,6 +856,8 @@
"ອະນຸຍາດໃຫ້ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະ ປະຫວັດການໂທຂອງທ່ານ""ອະນຸຍາດໃຫ້ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະ ປະຫວັດການໂທນຳ""ຂໍ້ມູນຈະຖືກໃຊ້ສຳລັບປະກາດການໂທ ແລະ ອື່ນໆ"
+ "ກວດເບິ່ງລະຫັດການຈັບຄູ່"
+ "ກວດເບິ່ງວ່າລະຫັດນີ້ກົງກັບອັນທີ່ຢູ່ໃນ %1$s ຫຼືບໍ່.\n\nເພື່ອຄວາມປອດໄພຂອງທ່ານ, ຢ່າປ້ອນລະຫັດນີ້ໃສ່ບ່ອນໃດໆ.""ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາ %1$s ໄດ້.""ອຸປະກອນທີ່ສາມາດໃຊ້ໄດ້"
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index b691940d1184e06ca58b7707d68587843ccd8b82..4901e0d848d553466f5ad19dfe2cf09fc692cee3 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -856,6 +856,8 @@
"Leisti pasiekti jūsų kontaktus ir skambučių istoriją""Taip pat leiskite pasiekti kontaktus ir skambučių istoriją""Informacija bus naudojama skambučių pranešimams ir kt."
+ "Patikrinkite susiejimo kodus"
+ "Patikrinkite, ar šis kodas atitinka kodą „%1$s“ įrenginyje.\n\nSaugos sumetimais niekur neįveskite šio kodo.""Nepavyko prisijungti prie „%1$s“.""Pasiekiami įrenginiai"
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index ca8b92cdd0093949ff90638ef77e7e43f2aa073b..c193abd32017be53533a5f6e0e1395b0b7df47df 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -856,6 +856,8 @@
"Atļaut piekļuvi jūsu kontaktpersonām un zvanu vēsturei""Atļaut arī piekļuvi kontaktpersonām un zvanu vēsturei""Informācija tiks izmantota paziņojumiem par zvaniem un citām funkcijām"
+ "Pārbaudiet kodus savienošanai pārī"
+ "Pārbaudiet, vai šis kods atbilst kodam, kas redzams ierīcē %1$s.\n\nDrošības nolūkos nekur neievadiet šo kodu.""Nevarēja izveidot savienojumu ar ierīci %1$s.""Pieejamās ierīces"
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 3fdde4bf37231348aa58568e9bcae27528a4a52e..c64f6ab66a7051d2c2fb08de5f6a99e1417e177b 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -856,6 +856,8 @@
"Дозволете пристап до вашите контакти и историјата на повици""Дозволете и пристап до контактите и историјата на повици""Податоците ќе се користат за известувања за повици и друго"
+ "Проверете ги кодовите за спарување"
+ "Проверете дали кодов се совпаѓа со оној на %1$s.\n\nЗа ваша безбедност, не внесувајте го кодов никаде.""Не може да се поврзе со %1$s.""Достапни уреди"
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 0de2fe28cd6a5b2e6a70e4df67abb57d7be53aa0..7a564588b12392887c3d1feb21294ba011d096d5 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -856,6 +856,8 @@
"കോൺടാക്റ്റുകളിലേക്കും കോൾ ചരിത്രത്തിലേക്കും ആക്സസ് അനുവദിക്കുക""കോൺടാക്റ്റുകളിലേക്കും കോൾ ചരിത്രത്തിലേക്കും ആക്സസ് അനുവദിക്കുകയും ചെയ്യുക""വിവരങ്ങൾ, കോൾ അറിയിപ്പുകൾക്കും മറ്റും ഉപയോഗിക്കും"
+ "ജോടിയാക്കൽ കോഡ് പരിശോധിക്കുക"
+ "%1$s എന്നതിലുള്ള കോഡുമായി ഈ കോഡ് പൊരുത്തപ്പെടുന്നുണ്ടോയെന്ന് പരിശോധിക്കുക.\n\nനിങ്ങളുടെ സുരക്ഷയ്ക്കായി, ഈ കോഡ് എവിടെയും നൽകരുത്.""%1$s എന്നതിലേക്ക് കണക്റ്റുചെയ്യാനായില്ല.""ലഭ്യമായ ഉപകരണങ്ങൾ"
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 2431219cf5e3df258453741ca21faad6bc6562f0..c16d2019c18a57369b59b62e0b220cb4d1e871d2 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -856,6 +856,8 @@
"Харилцагч болон дуудлагын түүхийн хандалтыг зөвшөөрөх""Мөн харилцагчид болон дуудлагын түүхэд хандахыг зөвшөөрнө үү""Мэдээллийг дуудлагын мэдэгдэл болон бусад зүйлд ашиглана"
+ "Хослуулах кодуудыг шалгана уу"
+ "Энэ код %1$s дээрх кодтой таарч байгаа эсэхийг шалгана уу.\n\nАюулгүй байдлынхаа үүднээс энэ кодыг хаана ч бүү оруулаарай.""%1$s-д холбогдож чадсангүй.""Боломжтой төхөөрөмжүүд"
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 187a5ff0958e31c17fbd723f99f1dc6e03c5237d..17e0cdea107ca45375777b5ed89d7a082b300ddb 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -856,6 +856,8 @@
"तुमच्या संपर्क आणि कॉल इतिहासातील अॅक्सेसची अनुमती द्या""संपर्क आणि कॉल इतिहासाच्या अॅक्सेसचीदेखील अनुमती द्या""कॉल घोषणा आणि आणखी बऱ्याच गोष्टींसाठी माहिती वापरली जाईल"
+ "पेअरिंग कोड तपासणे"
+ "हा कोड %1$s वर असणाऱ्या कोडशी जुळतो की नाही ते तपासा.\n\nतुमच्या सुरक्षिततेसाठी, हा कोड कुठेही टाकू नका.""%1$s सह कनेक्ट करणे शक्य झाले नाही.""उपलब्ध डिव्हाइस"
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index deb7012b32304b4b5c3f2ef43987018c869faa90..674ba19c53bb6dcb133131714b2dad07c020ad36 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -856,6 +856,8 @@
"Benarkan akses kepada kenalan dan sejarah panggilan anda""Benarkan juga akses kepada kenalan dan sejarah panggilan""Maklumat akan digunakan untuk pengumuman panggilan dan pelbagai lagi"
+ "Semak kod gandingan"
+ "Semak sama ada kod ini sepadan dengan kod pada %1$s atau tidak.\n\nUntuk keselamatan anda, jangan masukkan kod ini di mana-mana tempat lain.""Tidak dapat menyambung ke %1$s.""Peranti yang tersedia"
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 4afa7f48b12cc3e65d4b5ff64b98db9567787ab4..5655580219b4a4e450a88ed8be498b334cd68166 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -856,6 +856,8 @@
"သင်၏ အဆက်အသွယ်များနှင့် ခေါ်ဆိုမှုမှတ်တမ်းကို ကြည့်ခွင့်ပြုသည်""အဆက်အသွယ်များနှင့် ခေါ်ဆိုမှုမှတ်တမ်းကိုလည်း သုံးခွင့်ပေးရန်""အချက်အလက်ကို ဖုန်းခေါ်ဆိုမှု ကြေညာချက်နှင့် အခြားအရာများအတွက် သုံးမည်"
+ "တွဲချိတ်ကုဒ်များကို စစ်ဆေးပါ"
+ "ဤကုဒ်သည် %1$s ရှိ ကုဒ်နှင့် တူမတူ စစ်ကြည့်ပါ။\n\nသင့်လုံခြုံမှုအတွက် ဤကုဒ်ကို မည်သည့်နေရာတွင်မျှ မထည့်ပါနှင့်။""%1$s ကို ချိတ်ဆက်မရပါ။""ရနိုင်သည့် စက်များ"
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 71e7ee62813f2230d7ce3f213c7078d6339d4851..9ff31bb68b3ca385fb905f6a44dc0bb76973a850 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -856,6 +856,8 @@
"Gi tilgang til kontakter og anropslogg""Gi også tilgang til kontakter og anropsloggen""Informasjonen brukes for anropskunngjøringer med mer"
+ "Sjekk sammenkoblingskoder"
+ "Sjekk om denne koden samsvarer med koden på %1$s.\n\nAv sikkerhetshensyn må du ikke skrive inn denne koden noe sted.""Kunne ikke koble til %1$s.""Tilgjengelige enheter"
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index aa81f66e6177268e19b0285890e6acab344242d5..995899f7feee98db1fc7cfdd20792ffc18112758 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -856,6 +856,8 @@
"आफ्ना कन्ट्याक्ट र कल हिष्ट्री हेर्ने अनुमति दिनुहोस्""कन्ट्याक्ट र कल हिस्ट्री हेर्ने र प्रयोग गर्ने अनुमति पनि दिइयोस्""यो जानकारीको प्रयोग कल आएको जानकारी दिने लगायतका कुराका लागि प्रयोग गरिने छ"
+ "कनेक्सन कोडहरू जाँच्नुहोस्"
+ "यो कोड %1$s मा भएको कोडसँग ठ्याक्कै मिल्छ कि मिल्दैन जाँच्नुहोस्।\n\nतपाईंको सुरक्षाका लागि जुनसुकै ठाउँमा यो कोड नहाल्नुहोस्।""%1$s उपकरणसँग जडान गर्न सकेन।""उपलब्ध डिभाइस"
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index bc8c41f827e7b8e88b79d5feb3a046e2e15daa0f..5eeb52622e189e8f84447ebed60d0eebb75d3348 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -856,6 +856,8 @@
"Toegang geven tot je contacten en gespreksgeschiedenis""Ook toegang geven tot contacten en gespreksgeschiedenis""De informatie wordt onder andere gebruikt voor gespreksaankondigingen"
+ "Koppelingscodes checken"
+ "Check of deze code overeenkomt met de code op de %1$s.\n\nVoer deze code nergens in.""Kan geen verbinding maken met %1$s.""Beschikbare apparaten"
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 00681d2d34c13a69bd3156f9233be81bdc68fa25..5e54d8275a13df24a207b1b0118b28b32b871a43 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -856,6 +856,8 @@
"ଆପଣଙ୍କ କଣ୍ଟାକ୍ଟ ଓ କଲ ହିଷ୍ଟୋରୀକୁ ଆକ୍ସେସ କରିବାର ଅନୁମତି ଦିଅନ୍ତୁ""କଣ୍ଟାକ୍ଟ ଏବଂ କଲ ଇତିହାସକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ମଧ୍ୟ ଅନୁମତି ଦିଅନ୍ତୁ""ସୂଚନାକୁ କଲ ଘୋଷଣା ଏବଂ ଆହୁରି ଅଧିକ ପାଇଁ ବ୍ୟବହାର କରାଯିବ"
+ "ପେୟାରିଂ କୋଡଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ"
+ "ଏହି କୋଡଟି %1$sରେ ଥିବା କୋଡ ସହ ମେଳ ଖାଉଛି ନା ନାହିଁ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ।\n\nଆପଣଙ୍କ ସୁରକ୍ଷା ପାଇଁ, ଏହି କୋଡକୁ ଯେ କୌଣସି ସ୍ଥାନରେ ଲେଖନ୍ତୁ ନାହିଁ।""%1$s ସହ ସଂଯୋଗ ସ୍ଥାପନା କରିପାରୁନାହିଁ।""ଉପଲବ୍ଧ ଡିଭାଇସ୍"
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index da37a0bfd1f3b6afd38aab172952a9ee516ab544..0b743f6531f94d165b3f4ab453aca0187c95f21e 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -856,6 +856,8 @@
"ਆਪਣੇ ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ \'ਤੇ ਪਹੁੰਚ ਕਰਨ ਦਿਓ""ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ ਤੱਕ ਵੀ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿਓ""ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਾਲ ਘੋਸ਼ਣਾਵਾਂ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਲਈ ਕੀਤੀ ਜਾਵੇਗੀ"
+ "ਜੋੜਾਬੱਧਕਰਨ ਕੋਡਾਂ ਦੀ ਜਾਂਚ ਕਰੋ"
+ "ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਇਹ ਕੋਡ %1$s \'ਤੇ ਮੌਜੂਦ ਕੋਡ ਨਾਲ ਮੇਲ ਖਾਉਂਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।\n\nਆਪਣੀ ਸੁਰੱਖਿਆ ਲਈ, ਇਸ ਕੋਡ ਨੂੰ ਕਿਤੇ ਵੀ ਦਾਖਲ ਨਾ ਕਰੋ।""%1$sਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।""ਉਪਲਬਧ ਡੀਵਾਈਸ"
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index e8f469420bfe7010bcd84e261c89a0f638677e84..ca6a23284236d42bf1ed63fc209e8dbc44786dcd 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -856,6 +856,8 @@
"Zezwól na dostęp do kontaktów i historii połączeń""Zezwalaj również na dostęp do kontaktów i historii połączeń""Informacje zostaną wykorzystane m.in. do powiadomień o połączeniach"
+ "Sprawdź kody parowania"
+ "Sprawdź, czy ten kod jest taki sam, jak na urządzeniu %1$s.\n\nZe względów bezpieczeństwa nie wpisuj nigdzie tego kodu.""Nie udało się nawiązać połączenia z %1$s.""Dostępne urządzenia"
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 8bc838eac26760299b20a6112a8599de8370bba5..c2d65320e1552a06451b1296bd32798709d48364 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -856,6 +856,8 @@
"Permitir acesso a seus contatos e histórico de ligações""Permitir o acesso a contatos e ao histórico de ligações também""As informações serão usadas para fazer o anúncio de ligações e muito mais"
+ "Verificar códigos de pareamento"
+ "Verifique se o código é igual ao que aparece no %1$s.\n\nPara sua segurança, não digite esse código em nenhum lugar.""Não foi possível conectar ao %1$s.""Dispositivos encontrados"
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index d1c2ed48efa31b649dfe96b0a6ce66b26c2f1fe4..fa9ade47279b5e52eaec632fc92ee50ff5afa049 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -856,6 +856,8 @@
"Permitir o acesso aos contactos e ao histórico de chamadas""Permitir também o acesso aos contactos e ao histórico de chamadas""As informações vão ser usadas para anúncios por chamadas e outros"
+ "Verifique os códigos de sincronização"
+ "Verifique se este código corresponde ao que está no dispositivo %1$s.\n\nPara sua segurança, não introduza este código em lado algum.""Não foi possível ligar a %1$s.""Dispositivos disponíveis"
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 8bc838eac26760299b20a6112a8599de8370bba5..c2d65320e1552a06451b1296bd32798709d48364 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -856,6 +856,8 @@
"Permitir acesso a seus contatos e histórico de ligações""Permitir o acesso a contatos e ao histórico de ligações também""As informações serão usadas para fazer o anúncio de ligações e muito mais"
+ "Verificar códigos de pareamento"
+ "Verifique se o código é igual ao que aparece no %1$s.\n\nPara sua segurança, não digite esse código em nenhum lugar.""Não foi possível conectar ao %1$s.""Dispositivos encontrados"
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 37b8f451d8d6a56d49ed079799db917949312650..3fb1ae4031b09594e0223e820fc743a29de891a6 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -856,6 +856,8 @@
"Permite accesul la agendă și la istoricul apelurilor""În plus, permit accesul la agendă și la istoricul apelurilor""Informațiile vor fi folosite pentru notificări privind apelurile și altele"
+ "Verifică codurile de conectare"
+ "Verifică dacă acest cod corespunde cu cel de pe %1$s.\n\nPentru siguranța ta, nu introduce acest cod nicăieri.""Nu s-a putut conecta la %1$s.""Dispozitive disponibile"
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index da025a9e870c724058862658c8e486975a91622c..224c57fe982e5ff0d91ecd0648c52497eb2b335f 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -856,6 +856,8 @@
"Разрешить доступ к контактам и журналу звонков""Разрешить доступ к контактам и журналу звонков""Эта информация будет использоваться для оповещений о звонках и других функций"
+ "Сравните коды подключения"
+ "Проверьте, совпадает ли ваш код с кодом на устройстве \"%1$s\".\n\nВ целях безопасности нигде не вводите этот код.""Не удалось подключиться к %1$s.""Доступные устройства"
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 00e1016f1a4db60ce1b0f3e59d6d210fe3131763..f20873b1b649401bd50280d532ef3f1f935c2b2b 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -856,6 +856,8 @@
"ඔබගේ සම්බන්ධතා සහ ඇමතුම් ඉතිහාසය වෙත ප්රවේශ විමට ඉඩ දෙන්න""සම්බන්ධතා සහ ඇමතුම් ඉතිහාසය වෙත ප්රවේශ වීමට ද ඉඩ දෙන්න""ඇමතුම් නිවේදන සහ තවත් දේ සඳහා තතු භාවිත කෙරේ"
+ "යුගල කිරීමේ කේත පරීක්ෂා කරන්න"
+ "මෙම කේතය %1$s හි ඇති එකට ගැළපෙනවා දැයි පරීක්ෂා කරන්න.\n\nඔබේ ආරක්ෂාව සඳහා, මෙම කේතය කොතැනකවත් ඇතුළු නොකරන්න.""%1$s වෙත සම්බන්ධ වීමට නොහැකි විය.""තිබෙන උපාංග"
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 1a0bdaed516bd09fd2d2ce66eaf96cc819cc588b..1bf4785a8b0a8eb59682a287b65ff6aa96a833e0 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -856,6 +856,8 @@
"Povoliť prístup ku kontaktom a histórii hovorov""Povoliť aj prístup ku kontaktom a histórii hovorov""Informácie budú použité na účely oznámení hovorov a ďalších funkcií"
+ "Skontrolujte párovacie kódy"
+ "Skontrolujte, či sa tento kód zhoduje s kódom v zariadení %1$s.\n\nV záujme svojej bezpečnosti tento kód nikde nezadávajte.""Nepodarilo sa pripojiť k zariadeniu %1$s.""Dostupné zariadenia"
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index c91a2d89510f8e6fc2d3a0a8b531902d57ca1016..7d3af67ac9b0ace145e9d81c98b1029f8d3ab0d0 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -856,6 +856,8 @@
"Dovoli dostop do stikov in zgodovine klicev""Dovoli tudi dostop do stikov in zgodovine klicev""Podatki bodo uporabljeni za najave klicev in drugo"
+ "Preverjanje kod za seznanjanje"
+ "Preverite, ali se ta koda ujema s kodo v napravi %1$s.\n\nZaradi varnosti te kode ne vnašajte nikjer.""Povezave z napravo %1$s ni bilo mogoče vzpostaviti.""Razpoložljive naprave"
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 7076f04d8e9a5197eb9131ed188b331b298e1bac..4a57d02d3b769037b977d6ee5605058f14af79dd 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -856,6 +856,8 @@
"Lejo qasjen te kontaktet dhe historiku i telefonatave""Lejo gjithashtu qasjen te kontaktet dhe historiku i telefonatave""Informacionet do të përdoren për njoftimet për telefonatat etj."
+ "Kontrollo kodet e çiftimit"
+ "Kontrollo nëse ky kod përputhet me kodin në %1$s.\n\nPër sigurinë tënde, mos e fut askund këtë kod.""Nuk mundi të lidhej me %1$s.""Pajisjet që ofrohen"
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index e864c3eb8a137675eb57f5c152ef61d76c57c374..57dad04391e56e4e0416a04a593d9bd1b1a5faaf 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -856,6 +856,8 @@
"Дозволи приступ контактима и историји позива""Дозволи и приступ контактима и историји позива""Информације ће се користити за обавештења о позивима и друго"
+ "Проверите кôд за упаривање"
+ "Проверите да ли се овај кôд подудара са оним на уређају %1$s.\n\nИз безбедносних разлога не уносите нигде овај кôд.""Није могуће повезати се са уређајем %1$s.""Доступни уређаји"
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 52e797b1f9d926891b4eec217e9ce7d89cb1380c..35c6597418557871a1eb9bbd92e403342755d3b6 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -856,6 +856,8 @@
"Tillåt åtkomst till kontakter och sökhistorik""Ge även åtkomst till kontakter och samtalshistorik""Uppgifterna används för samtalsaviseringar med mera"
+ "Kontrollera kopplingskoder"
+ "Kontrollera att koden stämmer överens med den på %1$s.\n\nAnge inte den här koden någonstans av säkerhetsskäl.""Det gick inte att ansluta till %1$s.""Tillgängliga enheter"
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 0afc305527bb760933373f74d5a6ddb5d771ba5b..7b0fa4357cf7f635fc8b45f26583a63b13139264 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -856,6 +856,8 @@
"Ruhusu ufikiaji wa anwani na historia ya simu ulizopiga""Ruhusu pia ufikiaji wa anwani na rekodi ya simu zilizopigwa""Maelezo yatatumiwa kwa matangazo ya simu na zaidi"
+ "Angalia misimbo ya kuunganisha"
+ "Angalia kama msimbo huu unalingana na ulio kwenye %1$s.\n\nKwa usalama wako, usiweke msimbo huu popote.""Haikuweza kuunganisha kwa %1$s.""Vifaa vinavyopatikana"
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 7d8530d2424b255f5ed487e63aa7d9d8d7bb75b8..0478b87f9a075aaca48f982530cb5a7a3c5012a2 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -856,6 +856,8 @@
"உங்கள் தொடர்புகள் மற்றும் அழைப்புப் பதிவை அணுக அனுமதிக்கவும்""தொடர்புகளுக்கும் அழைப்புப் பதிவுகளுக்கும் அனுமதி அளித்தல்""அழைப்பு அறிவிப்புகளுக்கும் பலவற்றுக்கும் தகவல் பயன்படுத்தப்படும்"
+ "இணைத்தல் குறியீடுகளைச் சரிபார்த்தல்"
+ "இந்தக் குறியீடு %1$s சாதனத்தில் உள்ள குறியீட்டுடன் பொருந்துகிறதா எனப் பார்க்கவும்.\n\nஉங்கள் பாதுகாப்பிற்காக, இந்தக் குறியீட்டை வேறெங்கும் டைப் செய்ய வேண்டாம்.""%1$s உடன் இணைக்க முடியவில்லை.""கிடைக்கும் சாதனங்கள்"
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index cfbaaa0c4a1baf61607ff2dd6270f14a7df30f62..3e1a22b18aed80929b2730bec3d5316afbafbfbb 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -856,6 +856,8 @@
"మీ కాంటాక్ట్లకు, కాల్ హిస్టరీకి యాక్సెస్ను అనుమతించండి""కాంటాక్ట్లకు, కాల్ హిస్టరీకి కూడా యాక్సెస్ను అనుమతించండి""సమాచారం, కాల్ అనౌన్స్మెంట్లు, ఇంకా మరిన్నింటి కోసం ఉపయోగించబడుతుంది"
+ "పెయిరింగ్ కోడ్లను చెక్ చేయండి"
+ "ఈ కోడ్, %1$sలో ఉన్న దానితో సరిపోతుందో లేదో చెక్ చేయండి.\n\nమీ భద్రతా కారణాల దృష్ట్యా, ఈ కోడ్ను ఎక్కడా ఎంటర్ చేయకండి.""%1$sకి కనెక్ట్ చేయడం సాధ్యపడలేదు.""అందుబాటులో ఉన్న పరికరాలు"
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index e75ac5d6db24b32f3550e6c48159b0e314577b80..f479f3de049aa84e336e8a41a81ac6781c86636a 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -856,6 +856,8 @@
"ให้สิทธิ์เข้าถึงรายชื่อติดต่อและประวัติการโทร""อนุญาตให้เข้าถึงรายชื่อติดต่อและประวัติการโทรด้วย""ข้อมูลนี้จะถูกใช้เพื่อแจ้งการโทรและอื่นๆ"
+ "ตรวจสอบรหัสการจับคู่"
+ "ตรวจสอบว่ารหัสนี้ตรงกับรหัสใน %1$s หรือไม่\n\nเพื่อความปลอดภัย โปรดอย่าป้อนรหัสนี้ที่ใดก็ตาม""ไม่สามารถเชื่อมต่อกับ %1$s""อุปกรณ์ที่ใช้ได้"
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index fbbd33df47c0d68fc7b59872b282f04009a0a290..f5e601f2913a6b7da8a3dd582285c45ca6918b5d 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -856,6 +856,8 @@
"Payagan ang access sa iyong mga contact at history ng tawag""Payagan din ang access sa mga contact at history ng tawag""Gagamitin ang impormasyon para sa mga anunsyo sa tawag at higit pa"
+ "Tingnan ang mga code ng pagpapares"
+ "Tingnan kung tumutugma ang code na ito sa code na nasa %1$s.\n\nPara sa iyong seguridad, huwag ilagay ang code na ito kahit saan.""Hindi makakonekta sa %1$s.""Mga available na device"
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 018bec7f11f3cdb504fdc7bea954e915e007df82..717cd23b7640cdfb4dca94ee424fe4fff9349fb5 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -856,6 +856,8 @@
"Kişilerime ve çağrı geçmişime erişime izin ver""Kişilere ve çağrı geçmişine erişim izni de ver""Bilgiler, arama duyuruları ve diğer özellikler için kullanılacak"
+ "Eşleme kodlarını kontrol edin"
+ "Bu kodun %1$s adlı cihazdaki kodla eşleşip eşleşmediğini kontrol edin.\n\nGüvenliğiniz için bu kodu hiçbir yere girmeyin.""%1$s adlı cihaza bağlanılamadı.""Kullanılabilir cihazlar"
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 6c0eb90c015feb83d556c9ba9b20ac847826fee2..79ea0e0c2d40099b9c7ca4974f2aee264a7299e3 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -856,6 +856,8 @@
"Дозволити доступ до контактів та історії викликів""Надати доступ також до контактів і історії викликів""Інформація використовуватиметься для сповіщень про виклики тощо"
+ "Перевірте коди зв’язування"
+ "Перевірте, чи цей код збігається з кодом на пристрої \"%1$s\".\n\nЗ міркувань безпеки ніде не вводьте цей код.""Не вдалося з’єднатися з пристроєм %1$s.""Доступні пристрої"
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 8b0d356303621c11c316e0d5dc55f9a0eaf213d8..1bb806fe4a797902494e600415698c0c081d5af2 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -856,6 +856,8 @@
"اپنے رابطوں اور کال کی سرگزشت تک رسائی کی اجازت دیں""رابطوں اور کال کی سرگزشت تک رسائی کی بھی اجازت دیں""معلومات کو کال کے اعلانات اور مزید کے لیے استعمال کیا جائے گا"
+ "جوڑا بنانے کے کوڈز چیک کریں"
+ "چیک کریں کہ آیا یہ کوڈ %1$s پر موجود کوڈ سے مماثل ہے۔\n\nاپنی سیکیورٹی کیلئے، یہ کوڈ کسی بھی جگہ درج نہ کریں۔""%1$s سے مربوط نہیں ہو سکا۔""دستیاب آلات"
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 6819ee2d9c5287a52200be3cc009d84b96c274fc..a29ec8dabce401cdddd4875b416b49a7eddc6e10 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -856,6 +856,8 @@
"Kontakt va chaqiruvlar tarixiga ruxsat berish""Shuningdek, kontaktlar va chaqiruvlar tarixiga kirish uchun ruxsat bering""Maʼlumotlar chaqiruvlar haqida xabar berish uchun ishlatiladi"
+ "Ulanish kodlarini tekshirish"
+ "Bu kod %1$s qurilmasidagi kod bilan mos kelishini tekshiring.\n\nXavfsizligingiz uchun bu kodni hech qayerga kiritmang.""%1$sga o‘zaro bog‘lanmadi.""Mavjud qurilmalar"
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 525951395b3eb87b1f6759fbe10e034dc798ff8c..4a2b7baad09764583f27c4e0a7ba54dbe844d306 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -856,6 +856,8 @@
"Cho phép truy cập vào danh bạ và nhật ký cuộc gọi của bạn""Cho phép truy cập cả danh bạ và nhật ký cuộc gọi""Thông tin sẽ được sử dụng cho tính năng thông báo cuộc gọi và nhiều tính năng khác"
+ "Kiểm tra mã ghép nối"
+ "Kiểm tra xem mã này có khớp với mã trên %1$s hay không.\n\nĐể bảo mật, bạn không nên nhập mã này ở bất cứ đâu.""Không thể kết nối với %1$s.""Thiết bị có sẵn"
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 68aad4ae846f1039d6a04273490920c3c0915ded..43897cbc3fe3d3bed4d1bab4068919fd22f4244a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -856,6 +856,8 @@
"允许访问您的通讯录和通话记录""同时允许访问通讯录和通话记录""这些信息将用于来电通知等用途"
+ "检查配对码"
+ "请检查此代码是否与“%1$s”上的代码相符。\n\n为安全起见,请勿在任何位置输入此代码。""无法连接到%1$s。""可用的设备"
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index b9cc8ce0b33c15275b5043dcce518cf43415a492..0a5e0110b7fede0c0b302b2180483764af25197d 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -856,6 +856,8 @@
"允許存取你的聯絡人和通話記錄""亦允許存取通訊錄和通話記錄""資訊將用於來電通知等用途"
+ "檢查配對碼"
+ "檢查此配對碼是否與「%1$s」上的相符。\n\n為安全起見,請勿在任何地方輸入此配對碼。""無法連接「%1$s」。""可用的裝置"
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 7af7a4ff7d523d794eb0e58e9265a38e87913abe..fc25d5923a6c09d228d007952b109bcfe53d0bfd 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -856,6 +856,8 @@
"允許存取你的聯絡人和通話記錄""也允許存取聯絡人和通話記錄""資訊將用於來電通知等用途"
+ "檢查配對碼"
+ "請檢查這組代碼是否與「%1$s」上的代碼相符。\n\n為了安全起見,請勿在任何地方輸入這組代碼。""無法連線至「%1$s」。""可用的裝置"
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 83159d80f1704f9073d5061a48bbff377c6c1733..3d54d38d977a7f8467a46ceeef21fdb331c040d7 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -856,6 +856,8 @@
"Vumela ukufinyelela koxhumana nabo nomlando wekholi""Phinda futhi uvumele ukufinyelela koxhumana nabo nomlando wekholi""Ulwazi luzosetshenziselwa izimemezelo zekholi nokunye okwengeziwe"
+ "Hlola amakhodi okubhangqa"
+ "Maka uma le khodi iqondana naleyo eku-%1$s.\n\nUkuze uphephe, ungayifaki noma kuphi le khodi.""Ayikwazanga ukuxhuma ku-%1$s.""Amadivayisi atholakalayo"
diff --git a/res/values/config.xml b/res/values/config.xml
index 95f8eba8f84310052464538c235135acd763a8c3..5487bf84359521fcf80aadf2f41a73f872438eb6 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -201,6 +201,9 @@
+
+
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3f8f6689e919648e1ca50fd471220a92fa237098..3e930ac67071cbfc964d11f73ca06b116a13df8a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1914,6 +1914,12 @@
Info will be used for call announcements and more
+
+ Check pairing codes
+
+
+ Check if this code matches the one on %1$s.\n\nFor your security, do not enter this code anywhere.
+
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
index e6b197c4d812a1d5cf93034ab366f2185b270a62..80d8b346efadddb0df6f5cc47e1979016131238a 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
@@ -18,8 +18,6 @@ package com.android.settings.bluetooth;
import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.content.Context;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputFilter;
@@ -48,7 +46,7 @@ import com.android.settings.flags.Flags;
* for the bluetooth device.
*/
public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment implements
- TextWatcher, OnClickListener {
+ TextWatcher {
private static final String TAG = "BTPairingDialogFragment";
@@ -111,22 +109,19 @@ public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment i
@Override
public void afterTextChanged(Editable s) {
// enable the positive button when we detect potentially valid input
- Button positiveButton = mDialog.getButton(DialogInterface.BUTTON_POSITIVE);
- if (positiveButton != null) {
- positiveButton.setEnabled(mPairingController.isPasskeyValid(s));
- }
+ mDialog.findViewById(R.id.positive_button).setEnabled(mPairingController.isPasskeyValid(s));
// notify the controller about user input
mPairingController.updateUserInput(s.toString());
}
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (which == DialogInterface.BUTTON_POSITIVE) {
- mPositiveClicked = true;
- mPairingController.onDialogPositiveClick(this);
- } else if (which == DialogInterface.BUTTON_NEGATIVE) {
- mPairingController.onDialogNegativeClick(this);
- }
+ protected void onAcceptButtonClicked() {
+ mPositiveClicked = true;
+ mPairingController.onDialogPositiveClick(this);
+ mPairingDialogActivity.dismiss();
+ }
+
+ protected void onDeclineButtonClicked() {
+ mPairingController.onDialogNegativeClick(this);
mPairingDialogActivity.dismiss();
}
@@ -227,12 +222,10 @@ public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment i
mBuilder.setTitle(getString(R.string.bluetooth_pairing_request,
mPairingController.getDeviceName()));
mBuilder.setView(createPinEntryView());
- mBuilder.setPositiveButton(getString(android.R.string.ok), this);
- mBuilder.setNegativeButton(getString(android.R.string.cancel), this);
AlertDialog dialog = mBuilder.create();
dialog.setOnShowListener(d -> {
if (TextUtils.isEmpty(getPairingViewText())) {
- mDialog.getButton(Dialog.BUTTON_POSITIVE).setEnabled(false);
+ mDialog.findViewById(R.id.positive_button).setEnabled(false);
}
if (mPairingView != null && mPairingView.requestFocus()) {
InputMethodManager imm = (InputMethodManager)
@@ -295,6 +288,11 @@ public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment i
pairingView.setFilters(new InputFilter[]{
new LengthFilter(maxLength)});
+ Button negativeButton = view.findViewById(R.id.negative_button);
+ negativeButton.setOnClickListener(v -> onDeclineButtonClicked());
+ Button positiveButton = view.findViewById(R.id.positive_button);
+ positiveButton.setOnClickListener(v -> onAcceptButtonClicked());
+
return view;
}
@@ -302,13 +300,13 @@ public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment i
* Creates a dialog with UI elements that allow the user to confirm a pairing request.
*/
private AlertDialog createConfirmationDialog() {
- mBuilder.setTitle(getString(R.string.bluetooth_pairing_request,
- mPairingController.getDeviceName()));
+ if (mPairingController.hasPairingContent()) {
+ mBuilder.setTitle(getString(R.string.bluetooth_pairing_confirmation_title));
+ } else {
+ mBuilder.setTitle(getString(R.string.bluetooth_pairing_request,
+ mPairingController.getDeviceName()));
+ }
mBuilder.setView(createView());
- mBuilder.setPositiveButton(
- getString(com.android.settingslib.R.string.bluetooth_pairing_accept), this);
- mBuilder.setNegativeButton(
- getString(com.android.settingslib.R.string.bluetooth_pairing_decline), this);
AlertDialog dialog = mBuilder.create();
return dialog;
}
@@ -328,7 +326,6 @@ public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment i
mBuilder.setTitle(getString(R.string.bluetooth_pairing_request,
mPairingController.getDeviceName()));
mBuilder.setView(createView());
- mBuilder.setNegativeButton(getString(android.R.string.cancel), this);
AlertDialog dialog = mBuilder.create();
// Tell the controller the dialog has been created.
@@ -343,6 +340,8 @@ public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment i
*/
private View createView() {
View view = getActivity().getLayoutInflater().inflate(R.layout.bluetooth_pin_confirm, null);
+ TextView pairingConfirmationHint =
+ (TextView) view.findViewById(R.id.pairing_confirmation_hint);
TextView pairingViewCaption = (TextView) view.findViewById(R.id.pairing_caption);
TextView pairingViewContent = (TextView) view.findViewById(R.id.pairing_subhead);
TextView messagePairing = (TextView) view.findViewById(R.id.pairing_code_message);
@@ -357,11 +356,20 @@ public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment i
messagePairing.setVisibility(mPairingController.isDisplayPairingKeyVariant()
? View.VISIBLE : View.GONE);
if (mPairingController.hasPairingContent()) {
- pairingViewCaption.setVisibility(View.VISIBLE);
+ if (mPairingController.isDisplayPairingKeyVariant()) {
+ pairingViewCaption.setVisibility(View.VISIBLE);
+ } else {
+ pairingConfirmationHint.setText(
+ getString(
+ R.string.bluetooth_pairing_confirmation_msg,
+ mPairingController.getDeviceName()));
+ pairingConfirmationHint.setVisibility(View.VISIBLE);
+ }
pairingViewContent.setVisibility(View.VISIBLE);
pairingViewContent.setText(mPairingController.getPairingContent());
}
final TextView messagePairingSet = (TextView) view.findViewById(R.id.pairing_group_message);
+
if (mPairingController.isLateBonding()) {
messagePairingSet.setText(getString(R.string.bluetooth_pairing_group_late_bonding));
}
@@ -370,6 +378,16 @@ public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment i
mPairingController.isCoordinatedSetMemberDevice() || mPairingController.isLateBonding();
messagePairingSet.setVisibility(setPairingMessage ? View.VISIBLE : View.GONE);
+
+ Button negativeButton = view.findViewById(R.id.negative_button);
+ negativeButton.setVisibility(View.VISIBLE);
+ negativeButton.setOnClickListener(v -> onDeclineButtonClicked());
+ if (mPairingController.getDialogType() == BluetoothPairingController.CONFIRMATION_DIALOG) {
+ Button positiveButton = view.findViewById(R.id.positive_button);
+ positiveButton.setVisibility(View.VISIBLE);
+ positiveButton.setOnClickListener(v -> onAcceptButtonClicked());
+ }
+
return view;
}
}
diff --git a/src/com/android/settings/nfc/DefaultPaymentSettings.java b/src/com/android/settings/nfc/DefaultPaymentSettings.java
index ddac08beb002c0f0eb51ea1459a4feda2230e346..440f09e3d9b404823a1a7cd8da7acb0a72526db1 100644
--- a/src/com/android/settings/nfc/DefaultPaymentSettings.java
+++ b/src/com/android/settings/nfc/DefaultPaymentSettings.java
@@ -17,7 +17,6 @@
package com.android.settings.nfc;
import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
@@ -45,6 +44,9 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* DefaultPaymentSettings handles the NFC default payment app selection.
@@ -53,7 +55,7 @@ public class DefaultPaymentSettings extends DefaultAppPickerFragment {
public static final String TAG = "DefaultPaymentSettings";
private PaymentBackend mPaymentBackend;
- private List mAppInfos;
+ private Map mAppInfos;
private FooterPreference mFooterPreference;
@Override
@@ -67,22 +69,19 @@ public class DefaultPaymentSettings extends DefaultAppPickerFragment {
}
@Override
+ @SuppressWarnings("NullAway")
protected String getDefaultKey() {
PaymentAppInfo defaultAppInfo = mPaymentBackend.getDefaultApp();
- if (defaultAppInfo != null) {
- return defaultAppInfo.componentName.flattenToString() + " "
- + defaultAppInfo.userHandle.getIdentifier();
- }
- return null;
+ if (defaultAppInfo == null) return null;
+ return defaultAppInfo.getKey();
}
@Override
protected boolean setDefaultKey(String key) {
- String[] keys = key.split(" ");
- if (keys.length >= 2) {
- mPaymentBackend.setDefaultPaymentApp(ComponentName.unflattenFromString(keys[0]),
- Integer.parseInt(keys[1]));
- }
+ PaymentAppInfo appInfo = mAppInfos.get(key);
+ if (appInfo == null) return true;
+ mPaymentBackend.setDefaultPaymentApp(
+ appInfo.componentName, appInfo.userHandle.getIdentifier());
return true;
}
@@ -90,7 +89,9 @@ public class DefaultPaymentSettings extends DefaultAppPickerFragment {
public void onAttach(Context context) {
super.onAttach(context);
mPaymentBackend = new PaymentBackend(getActivity());
- mAppInfos = mPaymentBackend.getPaymentAppInfos();
+ mAppInfos = mPaymentBackend.getPaymentAppInfos()
+ .stream()
+ .collect(Collectors.toMap(PaymentAppInfo::getKey, Function.identity()));
}
@Override
@@ -147,7 +148,7 @@ public class DefaultPaymentSettings extends DefaultAppPickerFragment {
@Override
protected List extends CandidateInfo> getCandidates() {
final List candidates = new ArrayList<>();
- for (PaymentAppInfo appInfo: mAppInfos) {
+ for (PaymentAppInfo appInfo: mAppInfos.values()) {
UserManager um = getContext().createContextAsUser(
appInfo.userHandle, /*flags=*/0).getSystemService(UserManager.class);
boolean isManagedProfile = um.isManagedProfile(appInfo.userHandle.getIdentifier());
diff --git a/src/com/android/settings/nfc/PaymentBackend.java b/src/com/android/settings/nfc/PaymentBackend.java
index 021d673e15263c9bddd7b3eec9eff578d948d1ca..de733081a1da07a30f08889f284daea57ced2964 100644
--- a/src/com/android/settings/nfc/PaymentBackend.java
+++ b/src/com/android/settings/nfc/PaymentBackend.java
@@ -36,6 +36,7 @@ import com.android.internal.content.PackageMonitor;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
public class PaymentBackend {
public static final String TAG = "Settings.PaymentBackend";
@@ -52,6 +53,24 @@ public class PaymentBackend {
public ComponentName settingsComponent;
public UserHandle userHandle;
public Drawable icon;
+
+ public String getKey() {
+ return Integer.toString(hashCode());
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(componentName, userHandle);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) return true;
+ if (!(o instanceof PaymentAppInfo)) return false;
+ PaymentAppInfo appInfo = (PaymentAppInfo) o;
+ return componentName.equals(appInfo.componentName)
+ && userHandle.equals(appInfo.userHandle);
+ }
}
/**
diff --git a/src/com/android/settings/notification/history/NotificationStation.java b/src/com/android/settings/notification/history/NotificationStation.java
index e79a4ac58c63a358e322611cd4ec68abe44250f6..4315c6dbfaacc1ba96f9cfc7482de44b75f60f91 100644
--- a/src/com/android/settings/notification/history/NotificationStation.java
+++ b/src/com/android/settings/notification/history/NotificationStation.java
@@ -18,10 +18,12 @@ package com.android.settings.notification.history;
import static android.provider.Settings.EXTRA_APP_PACKAGE;
import static android.provider.Settings.EXTRA_CHANNEL_ID;
+import static android.provider.Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.INotificationManager;
+import android.app.KeyguardManager;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.PendingIntent;
@@ -32,6 +34,7 @@ import android.content.Intent;
import android.content.IntentSender;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
import android.graphics.PorterDuff;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
@@ -40,6 +43,7 @@ import android.os.Parcel;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
+import android.os.UserManager;
import android.provider.Settings;
import android.service.notification.NotificationListenerService;
import android.service.notification.NotificationListenerService.Ranking;
@@ -60,6 +64,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import androidx.recyclerview.widget.RecyclerView;
+import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
@@ -117,6 +122,7 @@ public class NotificationStation extends SettingsPreferenceFragment {
private INotificationManager mNoMan;
private RankingMap mRanking;
private LinkedList mNotificationInfos;
+ private ArrayList mContentRestrictedUsers = new ArrayList<>();
private final NotificationListenerService mListener = new NotificationListenerService() {
@Override
@@ -208,6 +214,21 @@ public class NotificationStation extends SettingsPreferenceFragment {
public void onResume() {
logd("onResume()");
super.onResume();
+
+ mContentRestrictedUsers.clear();
+ List users =
+ getSystemService(UserManager.class).getProfiles(mContext.getUserId());
+ for (UserInfo user : users) {
+ if (Settings.Secure.getIntForUser(getContentResolver(),
+ LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0, user.id) == 0) {
+ LockPatternUtils lpu = new LockPatternUtils(mContext);
+ KeyguardManager km = getSystemService(KeyguardManager.class);
+ if (lpu.isSecure(user.id) && km.isDeviceLocked(user.id)) {
+ mContentRestrictedUsers.add(user.id);
+ }
+ }
+ }
+
try {
mListener.registerAsSystemService(mContext, new ComponentName(mContext.getPackageName(),
this.getClass().getCanonicalName()), ActivityManager.getCurrentUser());
@@ -229,7 +250,8 @@ public class NotificationStation extends SettingsPreferenceFragment {
getPreferenceScreen().removeAll();
for (int i = 0; i < N; i++) {
getPreferenceScreen().addPreference(new HistoricalNotificationPreference(
- getPrefContext(), mNotificationInfos.get(i), i));
+ getPrefContext(), mNotificationInfos.get(i), i,
+ mContentRestrictedUsers.contains(mNotificationInfos.get(i).user)));
}
}
@@ -243,7 +265,8 @@ public class NotificationStation extends SettingsPreferenceFragment {
if (TextUtils.equals(info.key, sbn.getKey())) {
info.active = false;
((HistoricalNotificationPreference) getPreferenceScreen().findPreference(
- sbn.getKey())).updatePreference(info);
+ sbn.getKey())).updatePreference(
+ info, mContentRestrictedUsers.contains(info.user));
break;
}
}
@@ -264,7 +287,8 @@ public class NotificationStation extends SettingsPreferenceFragment {
info.updateFrom(newInfo);
((HistoricalNotificationPreference) getPreferenceScreen().findPreference(
- sbn.getKey())).updatePreference(info);
+ sbn.getKey())).updatePreference(
+ info, mContentRestrictedUsers.contains(info.user));
needsAdd = false;
break;
}
@@ -273,7 +297,8 @@ public class NotificationStation extends SettingsPreferenceFragment {
mNotificationInfos.addFirst(newInfo);
getPreferenceScreen().addPreference(new HistoricalNotificationPreference(
getPrefContext(), mNotificationInfos.peekFirst(),
- -1 * mNotificationInfos.size()));
+ -1 * mNotificationInfos.size(),
+ mContentRestrictedUsers.contains(newInfo.user)));
}
}
@@ -290,7 +315,7 @@ public class NotificationStation extends SettingsPreferenceFragment {
updateFromRanking(info);
((HistoricalNotificationPreference) getPreferenceScreen().findPreference(
- info.key)).updatePreference(info);
+ info.key)).updatePreference(info, mContentRestrictedUsers.contains(info.user));
}
}
@@ -405,6 +430,7 @@ public class NotificationStation extends SettingsPreferenceFragment {
private HistoricalNotificationInfo createFromSbn(StatusBarNotification sbn, boolean active) {
final Notification n = sbn.getNotification();
final HistoricalNotificationInfo info = new HistoricalNotificationInfo();
+
info.pkg = sbn.getPackageName();
info.user = sbn.getUserId() == UserHandle.USER_ALL
? UserHandle.USER_SYSTEM : sbn.getUserId();
@@ -416,6 +442,7 @@ public class NotificationStation extends SettingsPreferenceFragment {
info.pkgname = loadPackageName(info.pkg);
info.title = getTitleString(n);
info.text = getTextString(sbn.getPackageContext(mContext), n);
+
info.timestamp = sbn.getPostTime();
info.priority = n.priority;
info.key = sbn.getKey();
@@ -673,15 +700,17 @@ public class NotificationStation extends SettingsPreferenceFragment {
private static long sLastExpandedTimestamp; // quick hack to keep things from collapsing
public ViewGroup mItemView; // hack to update prefs fast;
private Context mContext;
+ private boolean mRestrictContent;
public HistoricalNotificationPreference(Context context, HistoricalNotificationInfo info,
- int order) {
+ int order, boolean restrictContent) {
super(context);
setLayoutResource(R.layout.notification_log_row);
setOrder(order);
setKey(info.key);
mInfo = info;
mContext = context;
+ mRestrictContent = restrictContent;
}
@Override
@@ -690,7 +719,7 @@ public class NotificationStation extends SettingsPreferenceFragment {
mItemView = (ViewGroup) row.itemView;
- updatePreference(mInfo);
+ updatePreference(mInfo, mRestrictContent);
row.findViewById(R.id.timestamp).setOnLongClickListener(v -> {
final View extras = row.findViewById(R.id.extra);
@@ -701,7 +730,7 @@ public class NotificationStation extends SettingsPreferenceFragment {
});
}
- public void updatePreference(HistoricalNotificationInfo info) {
+ public void updatePreference(HistoricalNotificationInfo info, boolean restrictContent) {
if (mItemView == null) {
return;
}
@@ -710,17 +739,17 @@ public class NotificationStation extends SettingsPreferenceFragment {
}
((TextView) mItemView.findViewById(R.id.pkgname)).setText(mInfo.pkgname);
((DateTimeView) mItemView.findViewById(R.id.timestamp)).setTime(info.timestamp);
- if (!TextUtils.isEmpty(info.title)) {
+ if (restrictContent || TextUtils.isEmpty(info.title)) {
+ mItemView.findViewById(R.id.title).setVisibility(View.GONE);
+ } else {
((TextView) mItemView.findViewById(R.id.title)).setText(info.title);
mItemView.findViewById(R.id.title).setVisibility(View.VISIBLE);
- } else {
- mItemView.findViewById(R.id.title).setVisibility(View.GONE);
}
- if (!TextUtils.isEmpty(info.text)) {
+ if (restrictContent || TextUtils.isEmpty(info.text)) {
+ mItemView.findViewById(R.id.text).setVisibility(View.GONE);
+ } else {
((TextView) mItemView.findViewById(R.id.text)).setText(info.text);
mItemView.findViewById(R.id.text).setVisibility(View.VISIBLE);
- } else {
- mItemView.findViewById(R.id.text).setVisibility(View.GONE);
}
if (info.icon != null) {
((ImageView) mItemView.findViewById(R.id.icon)).setImageDrawable(info.icon);
@@ -734,10 +763,15 @@ public class NotificationStation extends SettingsPreferenceFragment {
((DateTimeView) mItemView.findViewById(R.id.timestamp)).setTime(mInfo.timestamp);
- ((TextView) mItemView.findViewById(R.id.notification_extra))
- .setText(mInfo.notificationExtra);
- ((TextView) mItemView.findViewById(R.id.ranking_extra))
- .setText(mInfo.rankingExtra);
+ if (restrictContent) {
+ mItemView.findViewById(R.id.notification_extra).setVisibility(View.GONE);
+ mItemView.findViewById(R.id.ranking_extra).setVisibility(View.GONE);
+ } else {
+ ((TextView) mItemView.findViewById(R.id.notification_extra))
+ .setText(mInfo.notificationExtra);
+ ((TextView) mItemView.findViewById(R.id.ranking_extra))
+ .setText(mInfo.rankingExtra);
+ }
mItemView.findViewById(R.id.extra).setVisibility(
mInfo.timestamp == sLastExpandedTimestamp ? View.VISIBLE : View.GONE);
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index 872016005a3d394dfc08d7f4c99551039a55a64b..397893e2ef74380c065f574279f7f67d75294693 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -29,6 +29,7 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Binder;
+import android.os.Build;
import android.os.StrictMode;
import android.os.UserManager;
import android.provider.Settings;
@@ -388,19 +389,30 @@ public class SettingsSliceProvider extends SliceProvider {
if (descendants == null) {
Log.d(TAG, "No descendants to grant permission with, skipping.");
}
- final String[] allowlistPackages =
+ final List allowlist = new ArrayList<>();
+ final String[] packages =
context.getResources().getStringArray(R.array.slice_allowlist_package_names);
- if (allowlistPackages == null || allowlistPackages.length == 0) {
+ if (packages != null) {
+ allowlist.addAll(Arrays.asList(packages));
+ }
+ if (Build.IS_DEBUGGABLE) {
+ final String[] devPackages = context.getResources().getStringArray(
+ R.array.slice_allowlist_package_names_for_dev);
+ if (devPackages != null) {
+ allowlist.addAll(Arrays.asList(devPackages));
+ }
+ }
+ if (allowlist.size() == 0) {
Log.d(TAG, "No packages to allowlist, skipping.");
return;
} else {
Log.d(TAG, String.format(
"Allowlisting %d uris to %d pkgs.",
- descendants.size(), allowlistPackages.length));
+ descendants.size(), allowlist.size()));
}
final SliceManager sliceManager = context.getSystemService(SliceManager.class);
for (Uri descendant : descendants) {
- for (String toPackage : allowlistPackages) {
+ for (String toPackage : allowlist) {
sliceManager.grantSlicePermission(toPackage, descendant);
}
}
diff --git a/tests/robotests/res/values-mcc998/config.xml b/tests/robotests/res/values-mcc998/config.xml
index 6572b1485b5c5334d76f97f1ae5587d0422de501..18174983a1f7337995d4ead63e01b16a9edf095f 100644
--- a/tests/robotests/res/values-mcc998/config.xml
+++ b/tests/robotests/res/values-mcc998/config.xml
@@ -17,4 +17,7 @@
+
+
+
diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml
index 2183b47a37a41eb21c5597c23e5f966eedb5ad79..c5b01c93d2871f60c19dcf369fb70cbb83dd6595 100644
--- a/tests/robotests/res/values-mcc999/config.xml
+++ b/tests/robotests/res/values-mcc999/config.xml
@@ -86,6 +86,11 @@
com.android.settings.slice_allowlist_package
+
+
+ com.android.settings.slice_allowlist_package_dev
+
+
test@test.test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
index 20448813a8977a284c2ac27d0f30247b12ca543f..be30836a038c84455c8951e363a8c22589eabb57 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
@@ -27,7 +27,6 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.Dialog;
import android.content.Context;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
@@ -108,7 +107,7 @@ public class BluetoothPairingDialogTest {
// test that the positive button is enabled when passkey is valid
frag.afterTextChanged(new SpannableStringBuilder(FILLER));
- View button = frag.getmDialog().getButton(AlertDialog.BUTTON_POSITIVE);
+ View button = frag.getmDialog().findViewById(R.id.positive_button);
assertThat(button).isNotNull();
assertThat(button.getVisibility()).isEqualTo(View.VISIBLE);
}
@@ -176,7 +175,7 @@ public class BluetoothPairingDialogTest {
// get the relevant views
View messagePairing = frag.getmDialog().findViewById(R.id.pairing_code_message);
TextView pairingViewContent = frag.getmDialog().findViewById(R.id.pairing_subhead);
- View pairingViewCaption = frag.getmDialog().findViewById(R.id.pairing_caption);
+ TextView pairingViewCaption = frag.getmDialog().findViewById(R.id.pairing_caption);
// check that the relevant views are visible and that the passkey is shown
assertThat(messagePairing.getVisibility()).isEqualTo(View.VISIBLE);
@@ -208,7 +207,7 @@ public class BluetoothPairingDialogTest {
BluetoothPairingDialogFragment frag = makeFragment();
// click the button and verify that the controller hook was called
- frag.onClick(frag.getmDialog(), AlertDialog.BUTTON_POSITIVE);
+ frag.onAcceptButtonClicked();
verify(controller, times(1)).onDialogPositiveClick(any());
}
@@ -224,7 +223,7 @@ public class BluetoothPairingDialogTest {
BluetoothPairingDialogFragment frag = makeFragment();
// click the button and verify that the controller hook was called
- frag.onClick(frag.getmDialog(), AlertDialog.BUTTON_NEGATIVE);
+ frag.onDeclineButtonClicked();
verify(controller, times(1)).onDialogNegativeClick(any());
}
@@ -269,7 +268,8 @@ public class BluetoothPairingDialogTest {
// test that the positive button is enabled when passkey is valid
frag.afterTextChanged(new SpannableStringBuilder(FILLER));
- View button = frag.getmDialog().getButton(AlertDialog.BUTTON_POSITIVE);
+ View button = frag.getmDialog().findViewById(R.id.positive_button);
+
assertThat(button).isNotNull();
assertThat(button.isEnabled()).isFalse();
}
@@ -379,7 +379,7 @@ public class BluetoothPairingDialogTest {
BluetoothPairingDialogFragment frag = makeFragment();
// click the button and verify that the controller hook was called
- frag.onClick(frag.getmDialog(), AlertDialog.BUTTON_POSITIVE);
+ frag.onAcceptButtonClicked();
verify(controller, times(1)).onDialogPositiveClick(any());
verify(dialogActivity, times(1)).dismiss();
@@ -397,12 +397,30 @@ public class BluetoothPairingDialogTest {
BluetoothPairingDialogFragment frag = makeFragment();
// click the button and verify that the controller hook was called
- frag.onClick(frag.getmDialog(), AlertDialog.BUTTON_NEGATIVE);
+ frag.onDeclineButtonClicked();
verify(controller, times(1)).onDialogNegativeClick(any());
verify(dialogActivity, times(1)).dismiss();
}
+ @Ignore
+ @Test
+ public void confirmationDialog_showConfirmationMessage() {
+ when(controller.getDialogType()).thenReturn(BluetoothPairingController.CONFIRMATION_DIALOG);
+ when(controller.getDeviceName()).thenReturn("Device");
+ when(controller.hasPairingContent()).thenReturn(true);
+ when(controller.getPairingContent()).thenReturn(FILLER);
+
+ // build the fragment
+ BluetoothPairingDialogFragment frag = makeFragment();
+
+ TextView pairingConfirmationHint =
+ frag.getmDialog().findViewById(R.id.pairing_confirmation_hint);
+ assertThat(pairingConfirmationHint.getText())
+ .isEqualTo(frag.getString(R.string.bluetooth_pairing_confirmation_msg, "Device"));
+ assertThat(pairingConfirmationHint.getVisibility()).isEqualTo(View.VISIBLE);
+ }
+
@Ignore
@Test
public void rotateDialog_nullPinText_okButtonEnabled() {
@@ -465,7 +483,7 @@ public class BluetoothPairingDialogTest {
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNotNull();
boolean expected = !TextUtils.isEmpty(existingText);
- assertThat(dialog.getButton(Dialog.BUTTON_POSITIVE).isEnabled()).isEqualTo(expected);
+ assertThat(dialog.findViewById(R.id.positive_button).isEnabled()).isEqualTo(expected);
}
private void setupFragment(BluetoothPairingDialogFragment frag) {
diff --git a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
index edb310e7800fc7574080edf89e2de5b355fea839..ab0344b5497b1d2d70e60de55f9af6f6a3aeca0d 100644
--- a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
@@ -79,6 +79,7 @@ import org.robolectric.annotation.Resetter;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowAccessibilityManager;
import org.robolectric.shadows.ShadowBinder;
+import org.robolectric.shadows.ShadowBuild;
import org.robolectric.shadows.ShadowPackageManager;
import java.util.ArrayList;
@@ -646,6 +647,7 @@ public class SettingsSliceProviderTest {
@Test
@Config(qualifiers = "mcc999")
public void grantAllowlistedPackagePermissions_hasPackageAllowlist_shouldGrant() {
+ ShadowBuild.setDebuggable(false);
final List uris = new ArrayList<>();
uris.add(Uri.parse("content://settings/slice"));
@@ -653,6 +655,23 @@ public class SettingsSliceProviderTest {
verify(mManager)
.grantSlicePermission("com.android.settings.slice_allowlist_package", uris.get(0));
+ verify(mManager, never())
+ .grantSlicePermission("com.android.settings.slice_allowlist_package_dev",
+ uris.get(0));
+ }
+
+ @Test
+ @Config(qualifiers = "mcc999")
+ public void grantAllowlistedPackagePermissions_hasPackageAllowlistAndDebuggable_shouldGrant() {
+ ShadowBuild.setDebuggable(true);
+ final List uris = new ArrayList<>();
+ uris.add(Uri.parse("content://settings/slice"));
+
+ SettingsSliceProvider.grantAllowlistedPackagePermissions(mContext, uris);
+
+ verify(mManager)
+ .grantSlicePermission("com.android.settings.slice_allowlist_package_dev",
+ uris.get(0));
}
@Test