diff --git a/res/layout/bluetooth_pin_confirm.xml b/res/layout/bluetooth_pin_confirm.xml
index 04f1b6f638819cef195cfa40958ad31ce50109a0..1cc52394da79ffa80eb33e84787291be8ac293d6 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_marginTop="@dimen/bluetooth_dialog_padding_top"
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 bab15965a7baa7fdfc214f5b3028aa0c3ac0f141..dd36d39ed3384f62f8d06c6e0affeb3cb1478095 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -804,6 +804,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 ad95baf059f5d2a571250f6d3938cdd68478ff13..4742d275485c2e83e2744d57ef9e553d18e2be56 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -804,6 +804,8 @@
"የእርስዎን የእውቂያዎች እና የጥሪ ታሪክ መዳረሻ ይፍቀዱ""እንዲሁም ለዕውቂያዎች እና ለጥሪ ታሪክ መዳረሻ ይፍቀዱ""መረጃው ለደውል ማስታወቂያዎች እና ለሌሎችም ጥቅም ላይ ይውላል"
+ "የማጣመሪያ ኮዶችን በመፈተሽ ላይ"
+ "ይህ ኮድ %1$s ላይ ካለው ጋር እንደሚዛመድ ይፈትሹ።\n\nለእርስዎ ደህንነት ሲባል ይህን ኮድ የትም ቦታ አያስገቡ።""ወደ %1$sማገናኘት አልተቻለም።""የሚገኙ መሣሪያዎች"
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 19dfd3bfdd2be35a8d9c0a62fd54dd06ac27c1be..6e1d6ed5a0dd893cd56642d48c8a36b50ce84f7f 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -804,6 +804,8 @@
"السماح بالوصول إلى جهات الاتصال وسجلّ المكالمات""السماح أيضًا بالوصول إلى جهات الاتصال وسجلّ المكالمات""سيتم استخدام المعلومات في إشعارات المكالمات وغير ذلك"
+ "التحقُّق من رموز الإقران"
+ "يُرجى التأكُّد من تطابُق هذا الرمز مع الرمز المعروض على \"%1$s\".\n\nللحفاظ على أمانك، يجب عدم إدخال هذا الرمز في أي مكان.""تعذر الاتصال بـ %1$s.""الأجهزة المتاحة"
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index a08ca48ba8fc4c3ac2457f2f53c574786d23a61a..2063c324010921ddc35cc85838215604fbcf852e 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -804,6 +804,8 @@
"আপোনাৰ সম্পৰ্কসূচী আৰু কলৰ ইতিহাস এক্সেছ কৰিবলৈ অনুমতি দিয়ক""লগতে আপোনাৰ সম্পৰ্কসমূহ আৰু কলৰ ইতিহাস এক্সেছ কৰিবলৈ অনুমতি দিয়ক""এই তথ্য কল ঘোষণা আৰু অধিক কাৰ্যৰ বাবে ব্যৱহাৰ কৰা হ’ব"
+ "পেয়াৰ কৰাৰ ক’ড পৰীক্ষা কৰক"
+ "এই ক’ডটো %1$sত থকাটোৰ সৈতে মিলে নেকি পৰীক্ষা কৰক।\n\nআপোনাৰ সুৰক্ষাৰ বাবে এই ক’ডটো ক’তো নিদিব।""%1$sৰ সৈতে সংযোগ কৰিব পৰা নগ\'ল।""উপলব্ধ ডিভাইচসমূ্হ"
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 7247435347f25aab42a2b56141e66b0611d580bb..0d79df605e19c3e9477c4cf278cff98b071484b4 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -804,6 +804,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 19ed419bbc73c7d30c5540f1c935e2c9c2610d90..237ef66a2f80361f6303b7d1ab1986d355e9f04f 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -804,6 +804,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 ede8f1e31a16723a8b04f9a57475c9dfd3f664e4..286e8b46cf1da1b091dcb2a248dc03367dc00b4e 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -804,6 +804,8 @@
"Дазволіць доступ да сваіх кантактаў і гісторыі выклікаў""Дазволіць доступ таксама да кантактаў і гісторыі выклікаў""Гэта інфармацыя будзе выкарыстоўвацца для апавяшчэнняў аб выкліках і іншых функцый"
+ "Праверце коды спалучэння"
+ "Праверце, ці супадае гэты код з кодам на прыладзе \"%1$s\".\n\nУ мэтах бяспекі нікуды не ўводзьце гэты код.""Не атрымалася падключыцца да прылады %1$s""Даступныя прылады"
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index dfdcaea4278887cd65d7eaaf4e42e0fb461d4bd9..1df8bc5e995aa106bdd9f3f4aff3616d9481b0e5 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -804,6 +804,8 @@
"Разрешаване на достъпа до контактите и историята на обажданията ви""Разрешаване и на достъпа до контактите и историята на обажданията""Информацията ще се използва за съобщения чрез обаждания и др."
+ "Проверка на кодовете за сдвояване"
+ "Проверете дали кодът съответства на този на %1$s.\n\nОт съображения за сигурност не въвеждайте кода никъде.""Не можа да се установи връзка със: %1$s.""Налични устройства"
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 082693e2cbc5c31a251d6429e7c5a9d434338244..f56d6cf40b3208f64df0480a2b1a04a11176f636 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -804,6 +804,8 @@
"আপনার পরিচিতি এবং কল ইতিহাস অ্যাক্সেসের অনুমতি দিন""এছাড়াও পরিচিতি ও কলের ইতিহাস অ্যাক্সেস করার অনুমতি দিন""কল সম্পর্কিত ঘোষণা ও আরও অনেক কিছুর জন্য তথ্য ব্যবহার করা হবে"
+ "পেয়ারিং কোড দেখুন"
+ "এই কোড %1$s-এর কোডের সাথে মিলছে কিনা তা দেখুন।\n\nআপনার নিরাপত্তার জন্য, এই কোড কোথাও লিখবেন না।""%1$s এ কানেকশন করতে পারেনি।""উপলভ্য ডিভাইস"
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 04f6928e2ce199812ceaa6b69dc4875ccabed4d2..9dfed626507a2bb8e0024c200006c65498251420 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -804,6 +804,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 f911f362b4be309bb717f6646ac9b137a052f6dc..44c4f6325b2ce00f11fdd59d210c76dc74a5b899 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -804,6 +804,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 62b5dd71e5a5e1cd4170bb638406111cf3c90711..9fbb39d840fe1a6ae1cd891cd7a5b34b3d578f6d 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -804,6 +804,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 4601a4081984e8816196e41e94c7307546a94bb4..03bb4dc7278dcc0c281c306fc1385642ae8aa1ab 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -804,6 +804,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 5f6b6605da60e4798b036d6dc16becd04f26db34..b873470016591b41a2ac712e3097b709820db45c 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -804,6 +804,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 e28f3053b9e2df339bdc5d6cc1976a406978ddd9..37a41266e94702a219183030aa91a3b73abab5a4 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -804,6 +804,8 @@
"Να επιτρέπεται η πρόσβαση στις επαφές σας και στο ιστορικό κλήσεων""Επιτρέψτε επίσης την πρόσβαση στις επαφές και το ιστορικό κλήσεων""Οι πληροφορίες θα χρησιμοποιούνται για ανακοινώσεις κλήσεων κ.ά."
+ "Έλεγχος κωδικών σύζευξης"
+ "Ελέγξτε αν αυτός ο κωδικός αντιστοιχεί με αυτόν στη συσκευή %1$s.\n\nΓια την ασφάλειά σας, μην εισαγάγετε αυτόν τον κωδικό πουθενά.""Δεν ήταν δυνατή η σύνδεση με τη συσκευή %1$s.""Διαθέσιμες συσκευές"
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index b82291f2767f1eb43784ff31422b38e7d7a7cac5..611c8ad4dc47067967b3abbf1122c51dfcf63e4e 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -804,6 +804,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 03219eb15d68bd493a950eee5351475cc4e07d30..742a3b95c2cbd7e6ddf194173b04c722e7e6abc6 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -804,6 +804,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 74fa7f9c8f420cb3b5f36aa485ed91d7406c7f9a..88c2678e1f1883b1c1ab40c8fdd648cb44a28f78 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -804,6 +804,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 d5275f45a636f6f655f142c1e3fdee5cd3c9df53..be723b18c130ce75ebb1c9d720ac96faef63d46e 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -804,6 +804,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 1a6338335a1e47a5157813f31f98ddba40f2752d..be68bbdd4966c66d36128c6b87beff87428e4dfc 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -804,6 +804,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 3663678f5033c62a14b6762658d734e25d4f3b62..5620dffac4bc48c485ede2f1a46056c62a0b1382 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -804,6 +804,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 utilizará 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 b57723fa1c06bcd848ff3aaba9d33f7d4d80290e..8523c98bb4dbc61648a6f47bff23d1a0f0b6ba3d 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -804,6 +804,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 7322addd02dc2371d0f340808318735714fd905e..602d2691bb5a6344fd83ae1702d9b45627f6ee1e 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -804,6 +804,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 3cdf7cb0dbabbbcadc86cba4c26c90008a2ac996..62cb81788a345dd45b88b8afbc17547fba527ab8 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -804,6 +804,8 @@
"اجازه دسترسی به مخاطبین و سابقه تماس""دسترسی به مخاطبین و سابقه تماس نیز مجاز شود""از اطلاعات برای اعلام تماسها و موارد دیگر استفاده خواهد شد"
+ "بررسی کردن کدهای جفتسازی"
+ "مطمئن شوید که این کد با کد نمایش دادهشده در %1$s مطابقت دارد.\n\nبرای حفظ امنیت، این کد را در هیچجا وارد نکنید.""اتصال به %1$s ممکن نیست.""دستگاههای در دسترس"
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index ec07e821dbb13389914b026a988728815d3bc843..ee27ab6adfe5bdce8ec806a46228f3df073cb36c 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -804,6 +804,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 4de16a41de9ddea40503b19ee6abaae3923db271..355065c120804b9fad311fee0b54b9de5469f06d 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -804,6 +804,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 bb508996c4ffef72c04a5c3a7e088781b5932058..24b2504c216b50104a51eb169dcf2785e501d654 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -804,6 +804,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 2bcb1db9341567a51c1c51aee8d1fa531254bc4b..45e2a8e4c75decd463e4f4e987e3e4ea485d7334 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -804,6 +804,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 357eaf9fff4c927dc60cf23b34a9394f5b5c2358..db15e76a0cb32084d3c5d70ed6a91910413331e7 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -804,6 +804,8 @@
"તમારા સંપર્કો અને કૉલ ઇતિહાસના ઍક્સેસની મંજૂરી આપો""સંપર્કો અને કૉલ ઇતિહાસના ઍક્સેસની પણ મંજૂરી આપો""માહિતીનો ઉપયોગ કૉલની ઘોષણાઓ અને વધુ બાબતો માટે કરવામાં આવશે"
+ "જોડાણ કરવાના કોડ ચેક કરો"
+ "આ કોડ %1$s પરના કોડ સાથે મેળ ખાય છે કે નહીં તે ચેક કરો.\n\nતમારી સુરક્ષા માટે, આ કોડ ક્યાંય પણ દાખલ કરશો નહીં.""%1$s સાથે કનેક્ટ કરી શકાયું નથી.""ઉપલબ્ધ ડિવાઇસ"
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 1473501c84b4752fc7ec7ccbe8172027cad4db64..9614e135a66033bb18afe38759af48e9368b7a54 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -804,6 +804,8 @@
"अपने संपर्क और कॉल इतिहास देखने की मंज़ूरी दें""संपर्क और कॉल इतिहास को ऐक्सेस करने की भी अनुमति दें""इस जानकारी का इस्तेमाल कॉल की सूचना देने और दूसरी चीज़ों के लिए किया जाएगा"
+ "जोड़ने के कोड का मिलान करें"
+ "देखें कि यह कोड, %1$s के कोड से मेल खाता है या नहीं.\n\nसुरक्षा को ध्यान में रखते हुए, इस कोड को कहीं और इस्तेमाल न करें.""%1$s से कनेक्ट नहीं किया जा सका.""उपलब्ध ब्लूटूथ डिवाइस"
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 50679cdaa7d85f6fbfcb2473cef644ba13b562c4..98a612ed018ea9935e10dfe8f04216bf3f42aa5b 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -804,6 +804,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 dbbf69ef4c5b1a3fee56b2ae9b176b5269d3a3a2..b8b25cc6915ad2e1f8f1c60642d9985092214616 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -804,6 +804,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 81a7b44181750ac5edff54c5a8816a29a6513f98..84ddde0f2f6092df6e5348a75bb5ffc99073e551 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -804,6 +804,8 @@
"Թույլատրել կոնտակտների ու զանգերի պատմության հասանելիությունը""Նաև հասանելի դարձնել կոնտակտները և զանգերի պատմությունը""Տեղեկությունները կօգտագործվեն զանգերի մասին ծանուցումների համար և այլ նպատակներով"
+ "Ստուգեք զուգակցման կոդերը"
+ "Ստուգեք՝ արդյոք այս կոդը համընկնում է %1$s սարքում նշվածի հետ։\n\nԱնվտանգության նկատառումներից ելնելով՝ այս կոդը ոչ մի տեղ մի մուտքագրեք։""Հնարավոր չեղավ միանալ %1$s-ին:""Հասանելի սարքեր"
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index a4ff16f941f1b0d2e802ec723cef0972c15e6cab..19ddadc68104b1a3ed3b9f289fc44090c07f1e38 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -804,6 +804,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 fdaa3f8d14a93aefaade7a25690a0a914565988e..7ba50f47c1fdb9a8aac7a6fedbcb38942ffb427a 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -804,6 +804,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 c30064d4c6998569a1f07be872ae2b2d4e48346c..87c5a4973c450e6bd72a465e0ceefb4546b42e5a 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -804,6 +804,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 05e716dfbac2f35e431c18526142eee64e5d4d04..5c1cb7a8f5fa043fbadd61beb71576c542e2c8a4 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -804,6 +804,8 @@
"אישור גישה אל אנשי הקשר והיסטוריית השיחות""תינתן גישה לאנשי הקשר ולהיסטוריית השיחות""המידע ישמש להודעות על שיחות ועוד"
+ "צריך לבדוק את קודי ההתאמה"
+ "הקוד הזה והקוד במכשיר %1$s חייבים להיות זהים.\n\nמטעמי אבטחה, חשוב לא להזין את הקוד הזה בשום מקום.""לא הייתה אפשרות להתחבר אל %1$s.""מכשירים זמינים"
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c319f427be630c311f5cdddc7f6c2749327eb01f..5e1488baab62a9f0697b4e2a2aa4f06cb2cca4cd 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -804,6 +804,8 @@
"連絡先と通話履歴へのアクセスを許可する""連絡先と通話履歴へのアクセスも許可します""情報は着信の通知などに使用されます"
+ "ペア設定コードの確認"
+ "このコードが %1$s のコードと一致していることを確認してください。\n\n安全のため、このコードをどこにも入力しないでください。""%1$sに接続できませんでした。""使用可能なデバイス"
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 643b12741ee04c1456ca9bdd3999a67773a9402a..21987b77f4c08ee7a16435a160213b00a5e39c2f 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -804,6 +804,8 @@
"კონტაქტებსა და საუბრის ისტორიაზე წვდომის დაშვება""დაუშვით წვდომა კონტაქტებსა და საუბრის ისტორიაზეც""ინფორმაცია გამოიყენება განცხადებების გამოცხადებისა და სხვა მოქმედებებისთვის"
+ "დაკავშირების კოდების შემოწმება"
+ "შეამოწმეთ, ემთხვევა თუ არა ეს კოდი %1$s-ისას.\n\nთქვენი უსაფრთხოებისთვის, ეს კოდი არსად არ შეიყვანოთ.""%1$s-თან დაკავშირება ვერ მოხერხდა.""ხელმისაწვდომი მოწყობილობები"
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 42e1432829c9219a4af3789c1a2c6f95c3456f87..ed532d04776f1c9ac5711329ebbab82b46808773 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -804,6 +804,8 @@
"Контактілер мен қоңыраулар тарихына кіруге рұқсат беру""Сондай-ақ контактілерге және қоңыраулар тарихына кіруге рұқсат беру""Ақпарат қоңырау туралы хабарландырулар және т.б. үшін пайдаланылады."
+ "Жұптау кодтарын тексеріңіз"
+ "Бұл кодтың %1$s құрылғысындағы кодпен бірдей екенін тексеріңіз.\n\nҚауіпсіздікті сақтау үшін бұл кодты басқа жерде енгізбеңіз.""%1$s құрылғысына жалғану мүмкін болмады.""Қолжетімді құрылғылар"
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 1c292170dccc7fe8fb69d3834704e0295c43a110..63619cd7abb13d5e23136ebc7128e8d39fb03b7b 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -804,6 +804,8 @@
"ផ្ដល់សិទ្ធិអនុញ្ញាតចូលប្រើទំនាក់ទំនង និងប្រវត្តិហៅទូរសព្ទរបស់អ្នក""អនុញ្ញាតឱ្យចូលប្រើប្រាស់ប្រវត្តិហៅទូរសព្ទ និងទំនាក់ទំនងផងដែរ""ព័ត៌មាននឹងត្រូវបានប្រើសម្រាប់ការប្រកាសអំពីការហៅទូរសព្ទ និងអ្វីៗជាច្រើនទៀត"
+ "ពិនិត្យមើលកូដផ្គូផ្គង"
+ "ពិនិត្យមើលថាតើកូដនេះត្រូវគ្នានឹងកូដនៅលើ %1$s។\n\nសម្រាប់សុវត្ថិភាពរបស់អ្នក សូមកុំបញ្ចូលកូដនេះនៅកន្លែងណាមួយឱ្យសោះ។""មិនអាចតភ្ជាប់ទៅ %1$s ។""ឧបករណ៍ដែលអាចភ្ជាប់បាន"
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 9b873982628dce7d302e34336b3ce40f34b5398d..60cf11dff7a9b0661112921ab2808b790b104ac5 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -804,6 +804,8 @@
"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ""ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಸಹ ಅನುಮತಿಸಿ""ಮಾಹಿತಿಯನ್ನು ಕರೆ ಪ್ರಕಟಣೆಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ"
+ "ಪೇರಿಂಗ್ ಕೋಡ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ"
+ "ಈ ಕೋಡ್ %1$s ನಲ್ಲಿರುವ ಕೋಡ್ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.\n\nನಿಮ್ಮ ಸುರಕ್ಷತೆಗಾಗಿ, ಈ ಕೋಡ್ ಅನ್ನು ಎಲ್ಲಿಯೂ ನಮೂದಿಸಬೇಡಿ.""%1$s ಗೆ ಸಂಪರ್ಕಪಡಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.""ಲಭ್ಯವಿರುವ ಸಾಧನಗಳು"
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index e570d6854dd7eb664f8534e78ea7cabb9e597adf..ce64b88dd11fbcec58619994b0c997fa8bbd3706 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -804,6 +804,8 @@
"연락처 및 통화 기록 액세스 허용""연락처 및 통화 기록에 대한 액세스도 허용합니다.""정보는 전화 알림 등에 사용됩니다."
+ "페어링 코드를 확인하세요"
+ "이 코드가 %1$s에 표시된 코드와 일치하는지 확인하세요.\n\n보안을 위해 이 코드를 어디에도 입력하지 마세요.""%1$s에 연결할 수 없습니다.""사용할 수 있는 기기"
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 862bed57ae56bad948ed9f52ab6070524ac8ecaa..917eb21b0ffde19b52b17c5583019cd8003adcad 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -804,6 +804,8 @@
"Байланыштар менен чалууларды жеткиликтүү кылуу""Ошондой эле байланыштарга жана чалуу таржымалына кирүүгө уруксат берүү""Маалымат чалуу тууралуу билдирмелер жана башкалар үчүн колдонулат"
+ "Байланыштыруучу коддорду текшериңиз"
+ "Бул код %1$s түзмөгүндөгү кодго дал келерин текшериңиз.\n\nКоопсуздугуңуз үчүн бул кодду эч жерге киргизбеңиз.""%1$s менен байланыша албай жатат.""Жеткиликтүү түзмөктөр"
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 36703c7dff1bd0d98bee20068859bd46b6ab73ac..7c3170b7b8f26eb45ba706bf9cdb44c962e8151c 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -804,6 +804,8 @@
"ອະນຸຍາດໃຫ້ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະ ປະຫວັດການໂທຂອງທ່ານ""ອະນຸຍາດໃຫ້ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະ ປະຫວັດການໂທນຳ""ຂໍ້ມູນຈະຖືກໃຊ້ສຳລັບປະກາດການໂທ ແລະ ອື່ນໆ"
+ "ກວດເບິ່ງລະຫັດການຈັບຄູ່"
+ "ກວດເບິ່ງວ່າລະຫັດນີ້ກົງກັບອັນທີ່ຢູ່ໃນ %1$s ຫຼືບໍ່.\n\nເພື່ອຄວາມປອດໄພຂອງທ່ານ, ຢ່າປ້ອນລະຫັດນີ້ໃສ່ບ່ອນໃດໆ.""ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາ %1$s ໄດ້.""ອຸປະກອນທີ່ສາມາດໃຊ້ໄດ້"
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 663c6561948f72367fbc07eef7ff305355d54101..6b165b6031a2c39d07fd5249080536ef8c142f3d 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -804,6 +804,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 22df3c790219c3606fd885fec91f14449f1c988d..2d3b8a4e2f222b5766a6345c953a529805387b6a 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -804,6 +804,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 189b1f3ed1ebca3a21bdbc48d7662a5dfbdc041c..5ef88ba3eaed8b97e0c7074aacaeb730fc500b9b 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -804,6 +804,8 @@
"Дозволете пристап до вашите контакти и историјата на повици""Дозволете и пристап до контактите и историјата на повици""Податоците ќе се користат за известувања за повици и друго"
+ "Проверете ги кодовите за спарување"
+ "Проверете дали кодов се совпаѓа со оној на %1$s.\n\nЗа ваша безбедност, не внесувајте го кодов никаде.""Не може да се поврзе со %1$s.""Достапни уреди"
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 672caec095d72d7af9eec601f671217bcf95791b..a4ebfc88505b51f2b32ee0a36876d118ee86e224 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -804,6 +804,8 @@
"കോൺടാക്റ്റുകളിലേക്കും കോൾ ചരിത്രത്തിലേക്കും ആക്സസ് അനുവദിക്കുക""കോൺടാക്റ്റുകളിലേക്കും കോൾ ചരിത്രത്തിലേക്കും ആക്സസ് അനുവദിക്കുകയും ചെയ്യുക""വിവരങ്ങൾ, കോൾ അറിയിപ്പുകൾക്കും മറ്റും ഉപയോഗിക്കും"
+ "ജോടിയാക്കൽ കോഡ് പരിശോധിക്കുക"
+ "%1$s എന്നതിലുള്ള കോഡുമായി ഈ കോഡ് പൊരുത്തപ്പെടുന്നുണ്ടോയെന്ന് പരിശോധിക്കുക.\n\nനിങ്ങളുടെ സുരക്ഷയ്ക്കായി, ഈ കോഡ് എവിടെയും നൽകരുത്.""%1$s എന്നതിലേക്ക് കണക്റ്റുചെയ്യാനായില്ല.""ലഭ്യമായ ഉപകരണങ്ങൾ"
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 040e2df355eb70eca25b3ac6904f0835e2c54b24..aff644d15bbcb41777ffa3945869fd858d3d7937 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -804,6 +804,8 @@
"Харилцагч болон дуудлагын түүхийн хандалтыг зөвшөөрөх""Мөн харилцагчид болон дуудлагын түүхэд хандахыг зөвшөөрнө үү""Мэдээллийг дуудлагын мэдэгдэл болон бусад зүйлд ашиглана"
+ "Хослуулах кодуудыг шалгана уу"
+ "Энэ код %1$s дээрх кодтой таарч байгаа эсэхийг шалгана уу.\n\nАюулгүй байдлынхаа үүднээс энэ кодыг хаана ч бүү оруулаарай.""%1$s-д холбогдож чадсангүй.""Боломжтой төхөөрөмжүүд"
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index af69e8e6de2ecf34c0960031a1ff110528eb524f..4e3be823fcd5756ff572fed7eaa6afb1b134d0ee 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -804,6 +804,8 @@
"तुमच्या संपर्क आणि कॉल इतिहासातील अॅक्सेसची अनुमती द्या""संपर्क आणि कॉल इतिहासाच्या अॅक्सेसचीदेखील अनुमती द्या""कॉल घोषणा आणि आणखी बऱ्याच गोष्टींसाठी माहिती वापरली जाईल"
+ "पेअरिंग कोड तपासणे"
+ "हा कोड %1$s वर असणाऱ्या कोडशी जुळतो की नाही ते तपासा.\n\nतुमच्या सुरक्षिततेसाठी, हा कोड कुठेही टाकू नका.""%1$s सह कनेक्ट करणे शक्य झाले नाही.""उपलब्ध डिव्हाइस"
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index bc8d057c74d3a28ded78201d58afacc0dd8d39b9..235c6660f2132f79c335aa0fb251f43ba5af2294 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -804,6 +804,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 cb8db6f4cb13d741b6de1007c7d559605449f27c..0ef49b81829cafc1e0157652824c40ba41af879c 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -804,6 +804,8 @@
"သင်၏ အဆက်အသွယ်များနှင့် ခေါ်ဆိုမှုမှတ်တမ်းကို ကြည့်ခွင့်ပြုသည်""အဆက်အသွယ်များနှင့် ခေါ်ဆိုမှုမှတ်တမ်းကိုလည်း သုံးခွင့်ပေးရန်""အချက်အလက်ကို ဖုန်းခေါ်ဆိုမှု ကြေညာချက်နှင့် အခြားအရာများအတွက် သုံးမည်"
+ "တွဲချိတ်ကုဒ်များကို စစ်ဆေးပါ"
+ "ဤကုဒ်သည် %1$s ရှိ ကုဒ်နှင့် တူမတူ စစ်ကြည့်ပါ။\n\nသင့်လုံခြုံမှုအတွက် ဤကုဒ်ကို မည်သည့်နေရာတွင်မျှ မထည့်ပါနှင့်။""%1$s ကို ချိတ်ဆက်မရပါ။""ရနိုင်သည့် စက်များ"
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 16c3d635d75101f7627d14ca5b479fad7008a30b..517933053a2efb7dad39eb4894abaae9a39a3252 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -804,6 +804,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 9a1bc1ebe8e927c4b79c9b34bb647ea493e03f29..7ef983c600f819e8de46b56fef761868cfbb72ce 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -804,6 +804,8 @@
"आफ्ना कन्ट्याक्ट र कल हिष्ट्री हेर्ने अनुमति दिनुहोस्""कन्ट्याक्ट र कल हिस्ट्री हेर्ने र प्रयोग गर्ने अनुमति पनि दिइयोस्""यो जानकारीको प्रयोग कल आएको जानकारी दिने लगायतका कुराका लागि प्रयोग गरिने छ"
+ "कनेक्सन कोडहरू जाँच्नुहोस्"
+ "यो कोड %1$s मा भएको कोडसँग ठ्याक्कै मिल्छ कि मिल्दैन जाँच्नुहोस्।\n\nतपाईंको सुरक्षाका लागि जुनसुकै ठाउँमा यो कोड नहाल्नुहोस्।""%1$s उपकरणसँग जडान गर्न सकेन।""उपलब्ध डिभाइस"
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index f8273e727dc01b663059117c3159b14a9549be3f..81225d48a9bff91fddd236837c517cad066d80cb 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -804,6 +804,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 93abb825bd8f1671be1e9f3a98305e20ea98e442..8b29fadeb2af366c3ef12a35088667cc75b446d0 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -804,6 +804,8 @@
"ଆପଣଙ୍କ କଣ୍ଟାକ୍ଟ ଓ କଲ ହିଷ୍ଟୋରୀକୁ ଆକ୍ସେସ କରିବାର ଅନୁମତି ଦିଅନ୍ତୁ""କଣ୍ଟାକ୍ଟ ଏବଂ କଲ ଇତିହାସକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ମଧ୍ୟ ଅନୁମତି ଦିଅନ୍ତୁ""ସୂଚନାକୁ କଲ ଘୋଷଣା ଏବଂ ଆହୁରି ଅଧିକ ପାଇଁ ବ୍ୟବହାର କରାଯିବ"
+ "ପେୟାରିଂ କୋଡଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ"
+ "ଏହି କୋଡଟି %1$sରେ ଥିବା କୋଡ ସହ ମେଳ ଖାଉଛି ନା ନାହିଁ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ।\n\nଆପଣଙ୍କ ସୁରକ୍ଷା ପାଇଁ, ଏହି କୋଡକୁ ଯେ କୌଣସି ସ୍ଥାନରେ ଲେଖନ୍ତୁ ନାହିଁ।""%1$s ସହ ସଂଯୋଗ ସ୍ଥାପନା କରିପାରୁନାହିଁ।""ଉପଲବ୍ଧ ଡିଭାଇସ୍"
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 4529b2002ca6c3f8a7e0cd001059068f445609f5..48c4ea7e47f214e686eb8329de32c00b1a773a1e 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -804,6 +804,8 @@
"ਆਪਣੇ ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ \'ਤੇ ਪਹੁੰਚ ਕਰਨ ਦਿਓ""ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ ਤੱਕ ਵੀ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿਓ""ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਾਲ ਘੋਸ਼ਣਾਵਾਂ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਲਈ ਕੀਤੀ ਜਾਵੇਗੀ"
+ "ਜੋੜਾਬੱਧਕਰਨ ਕੋਡਾਂ ਦੀ ਜਾਂਚ ਕਰੋ"
+ "ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਇਹ ਕੋਡ %1$s \'ਤੇ ਮੌਜੂਦ ਕੋਡ ਨਾਲ ਮੇਲ ਖਾਉਂਦਾ ਹੈ ਜਾਂ ਨਹੀਂ।\n\nਆਪਣੀ ਸੁਰੱਖਿਆ ਲਈ, ਇਸ ਕੋਡ ਨੂੰ ਕਿਤੇ ਵੀ ਦਾਖਲ ਨਾ ਕਰੋ।""%1$sਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।""ਉਪਲਬਧ ਡੀਵਾਈਸ"
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 4d691303667dbb5a2a796ada2af03cc315753657..8d198440d23d8690b3c8e43d9400ec19586ed988 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -804,6 +804,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 8127ae783b133853566a47ac0b734aedb1f65ff3..5cd38f84ffcb9a6b95e75220c3c577c21da98990 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -804,6 +804,8 @@
"Permitir o acesso aos seus contatos e seu 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 f0dd9f88f2b1450027b2193ea2f4719c6d0b990d..e52fe7245026d3465552109b7bc8732fe3f63c01 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -804,6 +804,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 8127ae783b133853566a47ac0b734aedb1f65ff3..5cd38f84ffcb9a6b95e75220c3c577c21da98990 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -804,6 +804,8 @@
"Permitir o acesso aos seus contatos e seu 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 dc85820c193564c53fa4bce9cd58904d267d8be7..145180b0bbc31689237a10fac823e2eaa83052dd 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -804,6 +804,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 2f881ee69d4bba51ae1fb315541c6f6252c7e3ef..217a0237495b2be08197edc704b97dd1a0443793 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -804,6 +804,8 @@
"Разрешить доступ к контактам и журналу звонков""Разрешить доступ к контактам и журналу звонков""Эта информация будет использоваться для оповещений о звонках и других функций"
+ "Сравните коды подключения"
+ "Проверьте, совпадает ли ваш код с кодом на устройстве \"%1$s\".\n\nВ целях безопасности нигде не вводите этот код.""Не удалось подключиться к %1$s.""Доступные устройства"
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index bacf6b9c7f81d1067cdd78de12ac32ca76654fab..67af7e870194c734757ba38afbebb02ed297159a 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -804,6 +804,8 @@
"ඔබගේ සම්බන්ධතා සහ ඇමතුම් ඉතිහාසය වෙත ප්රවේශ විමට ඉඩ දෙන්න""සම්බන්ධතා සහ ඇමතුම් ඉතිහාසය වෙත ප්රවේශ වීමට ද ඉඩ දෙන්න""ඇමතුම් නිවේදන සහ තවත් දේ සඳහා තතු භාවිත කෙරේ"
+ "යුගල කිරීමේ කේත පරීක්ෂා කරන්න"
+ "මෙම කේතය %1$s හි ඇති එකට ගැළපෙනවා දැයි පරීක්ෂා කරන්න.\n\nඔබේ ආරක්ෂාව සඳහා, මෙම කේතය කොතැනකවත් ඇතුළු නොකරන්න.""%1$s වෙත සම්බන්ධ වීමට නොහැකි විය.""තිබෙන උපාංග"
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 089169de3889a073f078b78b496ca499ecf49680..a165a175cf36b8bf85e613dbd1a412530246980f 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -804,6 +804,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 b7114d38d23b3800b28b9603ae2bda94073f0192..465cd7d811d4e8a4447698be9e9cb3af4dcbda91 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -804,6 +804,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 74c7711568c28110d969354aa78fece5c36afd0e..982356eab4454a857b30cfb5bc37deb70dc355d5 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -804,6 +804,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 f36e05afe105567a8644ff1a6f013152f0131000..d704543c47707c557dd401afa8df8674aee9b241 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -804,6 +804,8 @@
"Дозволи приступ контактима и историји позива""Дозволи и приступ контактима и историји позива""Информације ће се користити за обавештења о позивима и друго"
+ "Проверите кôд за упаривање"
+ "Проверите да ли се овај кôд подудара са оним на уређају %1$s.\n\nИз безбедносних разлога не уносите нигде овај кôд.""Није могуће повезати се са уређајем %1$s.""Доступни уређаји"
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index d11a13adc0a216a4c6d371da6996dc8889bfc051..cb23280cb89dbbe21c8078542f394bbd9828608e 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -804,6 +804,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 d80a79ba510d9479ca0c766308007916c007681c..d12895f6c4edec8b14dc8e16a4231b6b6bff9f21 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -804,6 +804,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 43a52f4c1f24d7d23d3d9f14ee8212885ae62480..0ddcdf69df4ce941904ab179946f883a7cac3f29 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -804,6 +804,8 @@
"உங்கள் தொடர்புகள் மற்றும் அழைப்புப் பதிவை அணுக அனுமதிக்கவும்""தொடர்புகளுக்கும் அழைப்புப் பதிவுகளுக்கும் அனுமதி அளித்தல்""அழைப்பு அறிவிப்புகளுக்கும் பலவற்றுக்கும் தகவல் பயன்படுத்தப்படும்"
+ "இணைத்தல் குறியீடுகளைச் சரிபார்த்தல்"
+ "இந்தக் குறியீடு %1$s சாதனத்தில் உள்ள குறியீட்டுடன் பொருந்துகிறதா எனப் பார்க்கவும்.\n\nஉங்கள் பாதுகாப்பிற்காக, இந்தக் குறியீட்டை வேறெங்கும் டைப் செய்ய வேண்டாம்.""%1$s உடன் இணைக்க முடியவில்லை.""கிடைக்கும் சாதனங்கள்"
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 8c0314b24c2fe1d7040bc6b7c533da35ed1ae3f6..a9b89cd77f8ada9c04cc63b78d675ef8a4b4b9e4 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -804,6 +804,8 @@
"మీ కాంటాక్ట్లకు, కాల్ హిస్టరీకి యాక్సెస్ను అనుమతించండి""కాంటాక్ట్లకు, కాల్ హిస్టరీకి కూడా యాక్సెస్ను అనుమతించండి""సమాచారం, కాల్ అనౌన్స్మెంట్లు, ఇంకా మరిన్నింటి కోసం ఉపయోగించబడుతుంది"
+ "పెయిరింగ్ కోడ్లను చెక్ చేయండి"
+ "ఈ కోడ్, %1$sలో ఉన్న దానితో సరిపోతుందో లేదో చెక్ చేయండి.\n\nమీ భద్రతా కారణాల దృష్ట్యా, ఈ కోడ్ను ఎక్కడా ఎంటర్ చేయకండి.""%1$sకి కనెక్ట్ చేయడం సాధ్యపడలేదు.""అందుబాటులో ఉన్న పరికరాలు"
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 4640a6187d4a45ad12eab7e0121e83ecfa26230d..60636ab7cfc5f1337232221a250e3fccc7cb0136 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -804,6 +804,8 @@
"ให้สิทธิ์เข้าถึงรายชื่อติดต่อและประวัติการโทร""อนุญาตให้เข้าถึงรายชื่อติดต่อและประวัติการโทรด้วย""จะมีการใช้ข้อมูลเพื่อประกาศการโทรและอื่นๆ"
+ "ตรวจสอบรหัสการจับคู่"
+ "ตรวจสอบว่ารหัสนี้ตรงกับรหัสใน %1$s หรือไม่\n\nเพื่อความปลอดภัย โปรดอย่าป้อนรหัสนี้ที่ใดก็ตาม""ไม่สามารถเชื่อมต่อกับ %1$s""อุปกรณ์ที่ใช้ได้"
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 9b494cd2af3928ba0a053c476457736e29ca7ba3..1c98ec7a40306e44b8bcf55c3fef7435bfe5d4e8 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -804,6 +804,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 c027262d37fd3f1f5538f77b37405cc0eca9c3a2..19dbcd6e448f42329bd06379c7d7691db54d81d5 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -804,6 +804,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 962816caafa051e6db7f5c26f6b831200a8f625d..351ec8655030ba5ed758e8210b93d930abe48538 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -804,6 +804,8 @@
"Дозволити доступ до контактів та історії викликів""Надати доступ також до контактів і історії викликів""Інформація використовуватиметься для сповіщень про виклики тощо"
+ "Перевірте коди зв’язування"
+ "Перевірте, чи цей код збігається з кодом на пристрої \"%1$s\".\n\nЗ міркувань безпеки ніде не вводьте цей код.""Не вдалося з’єднатися з пристроєм %1$s.""Доступні пристрої"
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 1ae3a7a43832d77ebcc041d7d5160f6bcdf59446..be72df16902dcca6ab99e87df40bcc5afaedbd74 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -804,6 +804,8 @@
"اپنے رابطوں اور کال کی سرگزشت تک رسائی کی اجازت دیں""رابطوں اور کال کی سرگزشت تک رسائی کی بھی اجازت دیں""معلومات کو کال کے اعلانات اور مزید کے لیے استعمال کیا جائے گا"
+ "جوڑا بنانے کے کوڈز چیک کریں"
+ "چیک کریں کہ آیا یہ کوڈ %1$s پر موجود کوڈ سے مماثل ہے۔\n\nاپنی سیکیورٹی کیلئے، یہ کوڈ کسی بھی جگہ درج نہ کریں۔""%1$s سے مربوط نہیں ہو سکا۔""دستیاب آلات"
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 46ce3d994851873810c53472beef2924a0a6fcd9..ed53e50796a5055368b63242f29b7a5202ddc8a8 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -804,6 +804,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 0f8df5f74744ca3fcca172409c711bf9b9a45242..a89366e622c48e2f50ac5bc77ac0db46237cb7e0 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -804,6 +804,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 dfc60f1cf5bea584c6e5fc9feb5d74797f78c668..fccfe3d93991dc4752cd8e48f6c1a15ce2f95319 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -804,6 +804,8 @@
"允许访问您的通讯录和通话记录""同时允许访问通讯录和通话记录""信息将用于来电通知等用途"
+ "检查配对码"
+ "请检查此代码是否与“%1$s”上的代码相符。\n\n为安全起见,请勿在任何位置输入此代码。""无法连接到%1$s。""可用的设备"
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 40ecb4e3abd1091977eb97ef9fd85681b7312590..ecea9cfb7bd986c3461baaf28321ddd494309083 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -804,6 +804,8 @@
"允許存取你的聯絡人和通話記錄""亦允許存取通訊錄和通話記錄""資訊將用於來電通知等用途"
+ "檢查配對碼"
+ "檢查此配對碼是否與「%1$s」上的相符。\n\n為安全起見,請勿在任何地方輸入此配對碼。""無法連接「%1$s」。""可用的裝置"
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 3e42cefed3209934cba801b682dc6d69dd202901..1109ee5aa503777b560b550664dd6af3d6761aa7 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -804,6 +804,8 @@
"允許存取你的聯絡人和通話記錄""也允許存取聯絡人和通話記錄""資訊將用於來電通知等用途"
+ "檢查配對碼"
+ "請檢查這組代碼是否與「%1$s」上的代碼相符。\n\n為了安全起見,請勿在任何地方輸入這組代碼。""無法連線至「%1$s」。""可用的裝置"
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index d7a2aa94b2c05675d1dda382b4c4d82b0ed146ae..58fa0b110b7c435587bf2f700e558833f505f39a 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -804,6 +804,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 9991d9428e9bcb2133195a023aaa16c0f3a0083f..f9723855be37c0e552a1c6fadf81afed17c8e85c 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 4c92f39dc6de7743f68331c24d607c3e95c87962..5263ec3c4f875c321a22a0470398e495354f6e1f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1793,6 +1793,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 33e6fc3ccbd4b9300cb829fca6337838600fb3a6..d8e1582f004133d29f5b6ddaaf93c42ffac94aa0 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;
@@ -47,7 +45,7 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
* for the bluetooth device.
*/
public class BluetoothPairingDialogFragment extends InstrumentedDialogFragment implements
- TextWatcher, OnClickListener {
+ TextWatcher {
private static final String TAG = "BTPairingDialogFragment";
@@ -107,22 +105,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();
}
@@ -223,12 +218,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)
@@ -291,6 +284,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;
}
@@ -298,13 +296,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;
}
@@ -324,7 +322,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.
@@ -339,6 +336,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);
@@ -353,11 +352,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));
}
@@ -366,6 +374,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 3b27e1947d23ef26bf7ed122fbb4356a014c2a72..278f6ec198cc2d4be91a6a399b41a58eb618fbae 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 ec60f44110a6b568fe0bc4777b5b42bdfef46e2c..e8dcc3c5d72b06e7d0f66466ee4d91ed421622b9 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;
@@ -375,19 +376,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 84c8586602beafe55890fef1da144e536a2cd5dc..a18f9f717a92e8a2bf351bc307c9626a9f5ea204 100644
--- a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
@@ -43,6 +43,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.res.Resources.Theme;
import android.net.Uri;
+import android.os.Build;
import android.os.StrictMode;
import android.provider.Settings;
import android.provider.SettingsSlicesContract;
@@ -81,6 +82,7 @@ import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowAccessibilityManager;
import org.robolectric.shadows.ShadowBinder;
import org.robolectric.shadows.ShadowPackageManager;
+import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
import java.util.Arrays;
@@ -641,6 +643,7 @@ public class SettingsSliceProviderTest {
@Test
@Config(qualifiers = "mcc999")
public void grantAllowlistedPackagePermissions_hasPackageAllowlist_shouldGrant() {
+ ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", false);
final List uris = new ArrayList<>();
uris.add(Uri.parse("content://settings/slice"));
@@ -648,6 +651,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() {
+ ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", 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