diff options
196 files changed, 2408 insertions, 1972 deletions
diff --git a/core/res/res/layout/miniresolver.xml b/core/res/res/layout/miniresolver.xml index db0ea547fbd5..e60e0b0079a9 100644 --- a/core/res/res/layout/miniresolver.xml +++ b/core/res/res/layout/miniresolver.xml @@ -33,7 +33,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alwaysShow="true" - android:elevation="@dimen/resolver_elevation" android:paddingTop="24dp" android:paddingStart="@dimen/resolver_edge_margin" android:paddingEnd="@dimen/resolver_edge_margin" diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index a534ea744a6c..95baa69a8d8f 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Jy kan boodskappe stuur en ontvang sonder ’n selfoon- of wi-fi-netwerk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Maak Boodskappe oop"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Hoe dit werk"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Stel Vingerafdrukslot weer op"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> het nie goed gewerk nie en is uitgevee. Stel dit weer op om jou foon met vingerafdruk te ontsluit."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> en <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> het nie goed gewerk nie en is uitgevee. Stel dit weer op om jou foon met jou vingerafdruk te ontsluit."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Stel Gesigslot weer op"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Jou gesigmodel het nie goed gewerk nie en is uitgevee. Stel dit weer op om jou foon met gesig te ontsluit."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Stel op"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Nie nou nie"</string> </resources> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index 3e3ad6b69d6e..c7c9af0f0b64 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"ያለ ሞባይል ወይም የWi-Fi አውታረ መረብ መልዕክቶችን መላክ እና መቀበል ይችላሉ"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"መልዕክቶች ይክፈቱ"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"እንዴት እንደሚሠራ"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"በጣት አሻራ መክፈቻን እንደገና ያዋቅሩ"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> በደንብ እየሠራ አልነበረም እና ተሰርዟል። ስልክዎን በጣት አሻራ ለመክፈት እንደገና ያዋቅሩት።"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> እና <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> በደንብ እየሠሩ አልነበረም እና ተሰርዘዋል። ስልክዎን በጣት አሻራ ለመክፈት እንደገና ያዋቅሯቸው።"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"በመልክ መክፈትን እንደገና ያዋቅሩ"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"የእርስዎ የመልክ ሞዴል በደንብ እየሠራ አልነበረም እና ተሰርዟል። ስልክዎን በመልክ ለመክፈት እንደገና ያዋቅሩት።"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"ያዋቅሩ"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"አሁን አይደለም"</string> </resources> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 5e4388233957..91448af1d72d 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -2387,9 +2387,9 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"تم ضبط تنسيق لوحة المفاتيح على <xliff:g id="LAYOUT_1">%1$s</xliff:g> و<xliff:g id="LAYOUT_2">%2$s</xliff:g> و<xliff:g id="LAYOUT_3">%3$s</xliff:g>… انقر لتغييره."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"تم إعداد لوحات المفاتيح الخارجية"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"انقر لعرض لوحات المفاتيح."</string> - <string name="profile_label_private" msgid="6463418670715290696">"ملف شخصي خاص"</string> + <string name="profile_label_private" msgid="6463418670715290696">"المساحة الخاصة"</string> <string name="profile_label_clone" msgid="769106052210954285">"نسخة طبق الأصل"</string> - <string name="profile_label_work" msgid="3495359133038584618">"ملف العمل"</string> + <string name="profile_label_work" msgid="3495359133038584618">"مساحة العمل"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"ملف العمل 2"</string> <string name="profile_label_work_3" msgid="4834572253956798917">"ملف العمل 3"</string> <string name="profile_label_test" msgid="9168641926186071947">"ملف شخصي تجريبي"</string> @@ -2399,22 +2399,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"يمكنك إرسال الرسائل واستلامها بدون شبكة الجوّال أو شبكة Wi-Fi."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"فتح تطبيق \"الرسائل\""</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"طريقة العمل"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"إعادة إعداد ميزة \"فتح الجهاز ببصمة الإصبع\""</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"هناك مشكلة في <xliff:g id="FINGERPRINT">%s</xliff:g> وتم حذفها. يُرجى إعدادها مرة أخرى لفتح قفل هاتفك باستخدام بصمة الإصبع."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"هناك مشكلة في <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> و<xliff:g id="FINGERPRINT_1">%2$s</xliff:g> وتم حذفهما. يُرجى إعادة إعدادهما لفتح قفل هاتفك باستخدام بصمة الإصبع."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"إعادة إعداد ميزة \"فتح الجهاز بالتعرّف على الوجه\""</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"هناك مشكلة في نموذج الوجه الخاص بك وتم حذفه. يُرجى إعداده مرة أخرى لفتح قفل هاتفك باستخدام وجهك."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"إعداد"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"لاحقًا"</string> </resources> diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml index f2fc9b09e78e..9dc83876d51d 100644 --- a/core/res/res/values-as/strings.xml +++ b/core/res/res/values-as/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"আপুনি ম’বাইল বা ৱাই-ফাই নেটৱৰ্কৰ জৰিয়তে পাঠ বাৰ্তা পঠিয়াব বা লাভ কৰিব পাৰে"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages খোলক"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"ই কেনেকৈ কাম কৰে"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ফিংগাৰপ্ৰিণ্ট আনলক পুনৰ ছেট আপ কৰক"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g>এ ভালদৰে কাম কৰা নাছিল আৰু সেইটো মচি পেলোৱা হৈছে। ফিংগাৰপ্ৰিণ্টৰ জৰিয়তে আপোনাৰ ফ’নটো আনলক কৰিবলৈ এইটো পুনৰ ছেট আপ কৰক।"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> আৰু <xliff:g id="FINGERPRINT_1">%2$s</xliff:g>এ ভালদৰে কাম কৰা নাছিল আৰু সেয়া মচি পেলোৱা হৈছে। ফিংগাৰপ্ৰিণ্টৰ জৰিয়তে আপোনাৰ ফ’নটো আনলক কৰিবলৈ সেয়া পুনৰ ছেট আপ কৰক।"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ফে’চ আনলক পুনৰ ছেট আপ কৰক"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"আপোনাৰ মুখাৱয়বৰ মডেলটোৱে ভালদৰে কাম কৰা নাছিল আৰু সেইটো মচি পেলোৱা হৈছে। মুখাৱয়বৰ জৰিয়তে আপোনাৰ ফ’নটো আনলক কৰিবলৈ এইটো পুনৰ ছেট আপ কৰক।"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"ছেট আপ কৰক"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"এতিয়া নহয়"</string> </resources> diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml index 496349d4848e..3c57d49488a2 100644 --- a/core/res/res/values-az/strings.xml +++ b/core/res/res/values-az/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Mobil və ya Wi-Fi şəbəkəsi olmadan mesaj göndərə və qəbul edə bilərsiniz"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Mesajı açın"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Haqqında"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Barmaqla Kilidaçmanı yenidən ayarlayın"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> yaxşı işləmirdi və silindi. Telefonu barmaq izi ilə kiliddən çıxarmaq üçün onu yenidən ayarlayın."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> və <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> yaxşı işləmirdi və silindi. Telefonu barmaq izi ilə kiliddən çıxarmaq üçün onları yenidən ayarlayın."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Üzlə Kilidaçmanı yenidən ayarlayın"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Üz modeliniz yaxşı işləmirdi və silindi. Telefonu üzlə kiliddən çıxarmaq üçün onu yenidən ayarlayın."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Ayarlayın"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"İndi yox"</string> </resources> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index 045251407c55..d69b1208b19f 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -831,11 +831,11 @@ <string name="policylab_watchLogin" msgid="7599669460083719504">"Nadzor pokušaja otključavanja ekrana"</string> <string name="policydesc_watchLogin" product="tablet" msgid="2388436408621909298">"Prati broj netačno unetih lozinki prilikom otključavanja ekrana i zaključava tablet ili briše podatke sa tableta ako je netačna lozinka uneta previše puta."</string> <string name="policydesc_watchLogin" product="tv" msgid="2140588224468517507">"Nadgleda broj netačnih lozinki unetih pri otključavanju ekrana i zaključava Android TV uređaj ili briše sve podatke sa Android TV uređaja ako se unese previše netačnih lozinki."</string> - <string name="policydesc_watchLogin" product="automotive" msgid="7011438994051251521">"Prati broj netačno unetih lozinki pri otključavanju ekrana i zaključava sistem za info-zabavu ili briše sve podatke sa sistema za info-zabavu ako je netačna lozinka uneta previše puta."</string> + <string name="policydesc_watchLogin" product="automotive" msgid="7011438994051251521">"Prati broj netačno unetih lozinki pri otključavanju ekrana i zaključava sistem za informacije i zabavu ili briše sve podatke sa sistema za informacije i zabavu ako je netačna lozinka uneta previše puta."</string> <string name="policydesc_watchLogin" product="default" msgid="4885030206253600299">"Prati broj netačno unetih lozinki pri otključavanju ekrana i zaključava telefon ili briše sve podatke sa telefona ako je netačna lozinka uneta previše puta."</string> <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="2049038943004297474">"Nadgleda broj netačnih lozinki unetih pri otključavanju ekrana i zaključava tablet ili briše sve podatke ovog korisnika ako se unese previše netačnih lozinki."</string> <string name="policydesc_watchLogin_secondaryUser" product="tv" msgid="8965224107449407052">"Nadgleda broj netačnih lozinki unetih pri otključavanju ekrana i zaključava Android TV uređaj ili briše sve podatke ovog korisnika ako se unese previše netačnih lozinki."</string> - <string name="policydesc_watchLogin_secondaryUser" product="automotive" msgid="7180857406058327941">"Nadgleda broj netačnih lozinki unetih pri otključavanju ekrana i zaključava sistem za info-zabavu ili briše sve podatke ovog profila ako se unese previše netačnih lozinki."</string> + <string name="policydesc_watchLogin_secondaryUser" product="automotive" msgid="7180857406058327941">"Nadgleda broj netačnih lozinki unetih pri otključavanju ekrana i zaključava sistem za informacije i zabavu ili briše sve podatke ovog profila ako se unese previše netačnih lozinki."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="9177645136475155924">"Nadgleda broj netačnih lozinki unetih pri otključavanju ekrana i zaključava telefon ili briše sve podatke ovog korisnika ako se unese previše netačnih lozinki."</string> <string name="policylab_resetPassword" msgid="214556238645096520">"Promena zaključavanja ekrana"</string> <string name="policydesc_resetPassword" msgid="4626419138439341851">"Menja otključavanje ekrana."</string> @@ -844,13 +844,13 @@ <string name="policylab_wipeData" msgid="1359485247727537311">"Brisanje svih podataka"</string> <string name="policydesc_wipeData" product="tablet" msgid="7245372676261947507">"Brisanje podataka na tabletu bez upozorenja resetovanjem na fabrička podešavanja."</string> <string name="policydesc_wipeData" product="tv" msgid="513862488950801261">"Briše podatke Android TV uređaja bez upozorenja pomoću resetovanja na fabrička podešavanja."</string> - <string name="policydesc_wipeData" product="automotive" msgid="660804547737323300">"Briše podatke na sistemu za info-zabavu bez upozorenja resetovanjem na fabrička podešavanja."</string> + <string name="policydesc_wipeData" product="automotive" msgid="660804547737323300">"Briše podatke na sistemu za informacije i zabavu bez upozorenja resetovanjem na fabrička podešavanja."</string> <string name="policydesc_wipeData" product="default" msgid="8036084184768379022">"Brisanje podataka na telefonu bez upozorenja resetovanjem na fabrička podešavanja."</string> <string name="policylab_wipeData_secondaryUser" product="automotive" msgid="115034358520328373">"Brisanje podataka profila"</string> <string name="policylab_wipeData_secondaryUser" product="default" msgid="413813645323433166">"Obriši podatke korisnika"</string> <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="2336676480090926470">"Briše podatke ovog korisnika na ovom tabletu bez upozorenja."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2293713284515865200">"Briše podatke ovog korisnika na ovom Android TV uređaju bez upozorenja."</string> - <string name="policydesc_wipeData_secondaryUser" product="automotive" msgid="4658832487305780879">"Briše podatke ovog profila na ovom sistemu za info-zabavu bez upozorenja."</string> + <string name="policydesc_wipeData_secondaryUser" product="automotive" msgid="4658832487305780879">"Briše podatke ovog profila na ovom sistemu za informacije i zabavu bez upozorenja."</string> <string name="policydesc_wipeData_secondaryUser" product="default" msgid="2788325512167208654">"Briše podatke ovog korisnika na ovom telefonu bez upozorenja."</string> <string name="policylab_setGlobalProxy" msgid="215332221188670221">"Podesite globalni proksi server uređaja"</string> <string name="policydesc_setGlobalProxy" msgid="7149665222705519604">"Podešava globalni proksi uređaja koji će se koristiti dok su smernice omogućene. Samo vlasnik uređaja može da podesi globalni proksi."</string> @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Možete da šaljete i primate poruke bez mobilne ili WiFi mreže"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otvori Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Princip rada"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Ponovo podesite otključavanje otiskom prsta"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> nije funkcionisao i izbrisali smo ga. Ponovo ga podesite da biste telefon otključavali otiskom prsta."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> i <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nisu funkcionisali i izbrisali smo ih. Ponovo ih podesite da biste telefon otključavali otiskom prsta."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Ponovo podesite otključavanje licem"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Vaš model lica nije funkcionisao i izbrisali smo ga. Ponovo ga podesite da biste telefon otključavali licem."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Podesi"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ne sada"</string> </resources> diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml index 68567276f512..5530a9c73059 100644 --- a/core/res/res/values-be/strings.xml +++ b/core/res/res/values-be/strings.xml @@ -2397,22 +2397,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Вы можаце адпраўляць і атрымліваць паведамленні без доступу да мабільнай сеткі або Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Адкрыць Паведамленні"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Як гэта працуе"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Наладзіць разблакіроўку адбіткам пальца паўторна"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Адбітак пальца \"<xliff:g id="FINGERPRINT">%s</xliff:g>\" не працаваў належным чынам і быў выдалены. Каб мець магчымасць разблакіраваць тэлефон з дапамогай адбітка пальца, наладзьце яго яшчэ раз."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Адбіткі пальцаў \"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>\" і \"<xliff:g id="FINGERPRINT_1">%2$s</xliff:g>\" не працавалі належным чынам і былі выдалены. Каб мець магчымасць разблакіраваць тэлефон з дапамогай адбітка пальца, наладзьце іх яшчэ раз."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Паўторна наладзьце распазнаванне твару"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Мадэль твару не працавала належным чынам і была выдалена. Каб мець магчымасць разблакіраваць тэлефон з дапамогай распазнавання твару, наладзьце яго яшчэ раз."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Наладзіць"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Не зараз"</string> </resources> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index 1a04e8db0f2d..053066ae0efe 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -1720,7 +1720,7 @@ <string name="accessibility_shortcut_off" msgid="3651336255403648739">"Без включване"</string> <string name="accessibility_shortcut_menu_item_status_on" msgid="6608392117189732543">"ВКЛ."</string> <string name="accessibility_shortcut_menu_item_status_off" msgid="5531598275559472393">"ИЗКЛ."</string> - <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Искате ли да разрешите на <xliff:g id="SERVICE">%1$s</xliff:g> да има пълен контрол над устройството ви?"</string> + <string name="accessibility_enable_service_title" msgid="3931558336268541484">"Искате ли да разрешите на „<xliff:g id="SERVICE">%1$s</xliff:g>“ да има пълен контрол над устройството ви?"</string> <string name="accessibility_service_warning_description" msgid="291674995220940133">"Пълният контрол е подходящ за приложенията, които помагат на потребителите със специални нужди, но не и за повечето приложения."</string> <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Преглед и управление на екрана"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Услугата може да чете цялото съдържание на екрана и да показва такова върху други приложения."</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Можете да изпращате и получавате съобщения без мобилна или Wi-Fi мрежа"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Отваряне на Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Начин на работа"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Повторно настройване на „Отключване с отпечатък“"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Отпечатъкът „<xliff:g id="FINGERPRINT">%s</xliff:g>“ бе изтрит, защото не работеше добре. Настройте го отново, за да отключвате телефона си с отпечатък."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Отпечатъците „<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>“ и „<xliff:g id="FINGERPRINT_1">%2$s</xliff:g>“ бяха изтрити, защото не работеха добре. Настройте ги отново, за да отключвате телефона си с отпечатък."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Повторно настройване на „Отключване с лице“"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Моделът на лицето ви бе изтрит, защото не работеше добре. Настройте го отново, за да отключвате телефона си с лице."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Настройване"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Не сега"</string> </resources> diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml index e5d0aa338cdf..e1cb0f146a61 100644 --- a/core/res/res/values-bn/strings.xml +++ b/core/res/res/values-bn/strings.xml @@ -640,7 +640,7 @@ <string name="biometric_or_screen_lock_dialog_default_subtitle" msgid="159539678371552009">"চালিয়ে যেতে আপনার বায়োমেট্রিক্স বা স্ক্রিন লক ব্যবহার করুন"</string> <string name="biometric_error_hw_unavailable" msgid="2494077380540615216">"বায়োমেট্রিক হার্ডওয়্যার পাওয়া যাবে না"</string> <string name="biometric_error_user_canceled" msgid="6732303949695293730">"যাচাইকরণ বাতিল হয়েছে"</string> - <string name="biometric_not_recognized" msgid="5106687642694635888">"স্বীকৃত নয়"</string> + <string name="biometric_not_recognized" msgid="5106687642694635888">"শনাক্ত করা যায়নি"</string> <string name="biometric_face_not_recognized" msgid="5535599455744525200">"ফেস চেনা যায়নি"</string> <string name="biometric_error_canceled" msgid="8266582404844179778">"যাচাইকরণ বাতিল হয়েছে"</string> <string name="biometric_error_device_not_secured" msgid="3129845065043995924">"পিন, প্যাটার্ন অথবা পাসওয়ার্ড সেট করা নেই"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"আপনি কোনও মেবাইল বা ওয়াই-ফাই নেটওয়ার্ক ছাড়াই মেসেজ পাঠাতে ও পেতে পারবেন"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages খুলুন"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"এটি কীভাবে কাজ করে"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"\'ফিঙ্গারপ্রিন্ট আনলক\' আবার সেট-আপ করুন"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ভালোভাবে কাজ করছিল না বলে সেটি মুছে ফেলা হয়েছে। ফিঙ্গারপ্রিন্ট ব্যবহার করে আপনার ফোন আনলক করতে হলে এটি আবার সেট-আপ করুন।"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ও <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ভালোভাবে কাজ করছিল না বলে মুছে ফেলা হয়েছে। ফিঙ্গারপ্রিন্ট ব্যবহার করে আপনার ফোন আনলক করতে হলে সেগুলি আবার সেট-আপ করুন।"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"\'ফেস আনলক\' আবার সেট-আপ করুন"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"আপনার ফেস মডেল ভালোভাবে কাজ করছিল না বলে সেটি মুছে ফেলা হয়েছে। ফেস ব্যবহার করে আপনার ফোন আনলক করতে হলে এটি আবার সেট-আপ করুন।"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"সেট-আপ করুন"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"এখন নয়"</string> </resources> diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml index 0351bced154f..2aa309c7ac62 100644 --- a/core/res/res/values-bs/strings.xml +++ b/core/res/res/values-bs/strings.xml @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Možete slati i primati poruke bez mobilne ili WiFi mreže"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otvorite Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Kako ovo funkcionira"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Ponovo postavite otključavanje otiskom prsta"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Otisak prsta <xliff:g id="FINGERPRINT">%s</xliff:g> nije dobro funkcionirao, pa je izbrisan. Postavite ga ponovo da otključavate telefon otiskom prsta."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Otisci prstiju <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> i <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nisu dobro funkcionirali, pa su izbrisani. Postavite ih ponovo da otključavate telefon otiskom prsta."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Ponovo postavite otključavanje licem"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Model lica nije dobro funkcionirao, pa je izbrisan. Postavite ga ponovo da otključavate telefon licem."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Postavite"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ne sada"</string> </resources> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index 782799e168dd..1315da785d76 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -159,9 +159,9 @@ <string name="scIdentifierDisclosureIssueTitle" msgid="3737384845335568193">"S\'ha accedit a l\'identificador del dispositiu"</string> <string name="scIdentifierDisclosureIssueSummary" msgid="3870743771498510600">"Una xarxa connectada a <xliff:g id="DISCLOSURE_NETWORK">%4$s</xliff:g> va gravar l\'identificador únic del teu dispositiu (IMSI) <xliff:g id="DISCLOSURE_COUNT">%1$d</xliff:g> vegades en el període entre els dies <xliff:g id="DISCLOSURE_WINDOW_START_TIME">%2$tr</xliff:g> i <xliff:g id="DISCLOSURE_WINDOW_END_TIME">%3$tr</xliff:g>."</string> <string name="scNullCipherIssueEncryptedTitle" msgid="8426373579673205292">"Connexió encriptada a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="scNullCipherIssueEncryptedSummary" msgid="6437468449554283998">"Ara ja tens connexió a una xarxa mòbil més segura."</string> + <string name="scNullCipherIssueEncryptedSummary" msgid="6437468449554283998">"Ara ja tens connexió de xarxa mòbil més segura."</string> <string name="scNullCipherIssueNonEncryptedTitle" msgid="2069674849204163569">"Connexió no encriptada a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="scNullCipherIssueNonEncryptedSummary" msgid="3577092996366374833">"Tens connexió a una xarxa mòbil no encriptada. Els teus missatges, trucades i dades són vulnerables a intercepcions."</string> + <string name="scNullCipherIssueNonEncryptedSummary" msgid="3577092996366374833">"Tens connexió de xarxa mòbil no encriptada. Els teus missatges, trucades i dades són vulnerables a intercepcions."</string> <string name="scNullCipherIssueActionSettings" msgid="8378372959891478470">"Configuració de seguretat de la xarxa mòbil"</string> <string name="scNullCipherIssueActionLearnMore" msgid="7896642417214757769">"Més informació"</string> <string name="fcComplete" msgid="1080909484660507044">"Codi de funció completat."</string> @@ -1899,8 +1899,8 @@ <string name="package_updated_device_owner" msgid="7560272363805506941">"Actualitzat per l\'administrador"</string> <string name="package_deleted_device_owner" msgid="2292335928930293023">"Suprimit per l\'administrador"</string> <string name="confirm_battery_saver" msgid="5247976246208245754">"D\'acord"</string> - <string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"Estalvi de bateria activa el tema fosc i limita o desactiva l\'activitat en segon pla, alguns efectes visuals, determinades funcions i algunes connexions a la xarxa."</string> - <string name="battery_saver_description" msgid="8518809702138617167">"Estalvi de bateria activa el tema fosc i limita o desactiva l\'activitat en segon pla, alguns efectes visuals, determinades funcions i algunes connexions a la xarxa."</string> + <string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"Estalvi de bateria activa el tema fosc i limita o desactiva l\'activitat en segon pla, alguns efectes visuals, determinades funcions i algunes connexions de xarxa."</string> + <string name="battery_saver_description" msgid="8518809702138617167">"Estalvi de bateria activa el tema fosc i limita o desactiva l\'activitat en segon pla, alguns efectes visuals, determinades funcions i algunes connexions de xarxa."</string> <string name="data_saver_description" msgid="4995164271550590517">"Per reduir l\'ús de dades, la funció Estalvi de dades evita que determinades aplicacions enviïn o rebin dades en segon pla. L\'aplicació que estiguis fent servir podrà accedir a les dades, però menys sovint. Això vol dir, per exemple, que les imatges no es mostraran fins que no les toquis."</string> <string name="data_saver_enable_title" msgid="7080620065745260137">"Vols activar l\'Estalvi de dades?"</string> <string name="data_saver_enable_button" msgid="4399405762586419726">"Activa"</string> @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Pots enviar i rebre missatges sense una xarxa mòbil o Wi‑Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Obre Missatges"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Com funciona"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Torna a configurar Desbloqueig amb empremta digital"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> no funcionava correctament i s\'ha suprimit. Torna a configurar-la per desbloquejar el telèfon amb l\'empremta digital."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> i <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> no funcionaven correctament i s\'han suprimit. Torna a configurar-les per desbloquejar el telèfon amb l\'empremta digital."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Torna a configurar Desbloqueig facial"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"El teu model facial no funcionava correctament i s\'ha suprimit. Torna a configurar-lo per desbloquejar el telèfon amb la cara."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configura"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ara no"</string> </resources> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index 726598ddc589..b6ecc3cc5565 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -2397,22 +2397,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Zprávy můžete odesílat a přijímat bez mobilní sítě nebo sítě Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otevřít Zprávy"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Jak to funguje"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Opětovné nastavení odemknutí otiskem prstu"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> nefungoval správně a byl vymazán. Pokud chcete telefon odemykat otiskem prstu, nastavte jej znovu."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> a <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nefungovaly správně a byly vymazány. Pokud chcete telefon odemykat otiskem prstu, nastavte je znovu."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Nastavte odemknutí obličejem znovu"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Váš model obličeje nefungoval správně a byl vymazán. Pokud chcete telefon odemykat obličejem, nastavte jej znovu."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Nastavit"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Teď ne"</string> </resources> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index 5a46db53049b..be73c5f4e053 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Du kan sende og modtage beskeder uden et mobil- eller Wi-Fi-netværk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Åbn Beskeder"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Sådan fungerer det"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Konfigurer fingeroplåsning igen"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> virkede ikke optimalt og er derfor slettet. Konfigurer den igen for at bruge fingeroplåsning på din telefon."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> og <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> virkede ikke optimalt og er derfor slettet. Konfigurer dem igen for at bruge dit fingeraftryk til at låse din telefon op."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Konfigurer ansigtsoplåsning igen"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Din ansigtsmodel virkede ikke optimalt og er derfor slettet. Konfigurer den igen for at bruge ansigtsoplåsning på din telefon."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Konfigurer"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ikke nu"</string> </resources> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index 66ba1f0c8711..89d19c85851a 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -1988,7 +1988,7 @@ <string name="work_mode_emergency_call_button" msgid="6818855962881612322">"Notruf"</string> <string name="set_up_screen_lock_title" msgid="8346083801616474030">"Displaysperre einrichten"</string> <string name="set_up_screen_lock_action_label" msgid="2687634803649209367">"Displaysperre einrichten"</string> - <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"Richte zur Nutzung des privaten Bereichs auf dem Gerät die Displaysperre ein"</string> + <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"Richte zur Nutzung des vertraulichen Profils auf dem Gerät die Displaysperre ein"</string> <string name="app_blocked_title" msgid="7353262160455028160">"App ist nicht verfügbar"</string> <string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ist derzeit nicht verfügbar."</string> <string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> nicht verfügbar"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Du kannst Nachrichten ohne Mobilfunknetz oder WLAN senden und empfangen"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages öffnen"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"So funktionierts"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Entsperrung per Fingerabdruck neu einrichten"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> hat nicht einwandfrei funktioniert und wurde gelöscht. Richte ihn noch einmal ein, um dein Smartphone per Fingerabdruck zu entsperren."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> und <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> haben nicht einwandfrei funktioniert und wurden gelöscht. Richte sie noch einmal ein, um dein Smartphone per Fingerabdruck zu entsperren."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Entsperrung per Gesichtserkennung neu einrichten"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Dein Gesichtsmodell hat nicht einwandfrei funktioniert und wurde gelöscht. Richte es noch einmal ein, um dein Smartphone per Gesichtserkennung zu entsperren."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Einrichten"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Nicht jetzt"</string> </resources> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index 8bbaf094136a..489dfc078e60 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Μπορείτε να στέλνετε και να λαμβάνετε μηνύματα χωρίς δίκτυο κινητής τηλεφωνίας ή Wi-Fi."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Άνοιγμα Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Πώς λειτουργεί"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Επαναρρύθμιση λειτουργίας Ξεκλείδωμα με δακτυλικό αποτύπωμα"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Το δακτυλικό αποτύπωμα <xliff:g id="FINGERPRINT">%s</xliff:g> δεν λειτουργούσε καλά και διαγράφηκε. Ρυθμίστε το ξανά για να ξεκλειδώνετε το τηλέφωνο με το δακτυλικό αποτύπωμά σας."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Τα δακτυλικά αποτυπώματα <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> και <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> δεν λειτουργούσαν καλά και διαγράφηκαν. Ρυθμίστε τα ξανά για να ξεκλειδώνετε το τηλέφωνο με το δακτυλικό αποτύπωμά σας."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Επαναρρύθμιση λειτουργίας Ξεκλείδωμα με το πρόσωπο"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Το μοντέλο προσώπου δεν λειτουργούσε καλά και διαγράφηκε. Ρυθμίστε το ξανά για να ξεκλειδώνετε το τηλέφωνο με το πρόσωπό σας."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Ρύθμιση"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Όχι τώρα"</string> </resources> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index 984e210b56fe..d65e67208fde 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"You can send and receive messages without a mobile or Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"How it works"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Set up Fingerprint Unlock again"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> wasn\'t working well and was deleted. Set it up again to unlock your phone with your fingerprint."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> and <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> weren\'t working well and were deleted. Set them up again to unlock your phone with your fingerprint."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Set up Face Unlock again"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Your face model wasn\'t working well and was deleted. Set it up again to unlock your phone with your face."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Set up"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Not now"</string> </resources> diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml index c94816c82719..6c5cff44c04e 100644 --- a/core/res/res/values-en-rCA/strings.xml +++ b/core/res/res/values-en-rCA/strings.xml @@ -2396,8 +2396,10 @@ <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"How it works"</string> <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Set up Fingerprint Unlock again"</string> - <string name="fingerprint_dangling_notification_msg_1" msgid="6261149111900787302">"<xliff:g id="FINGERPRINT">%s</xliff:g> wasn\'t working well and was deleted to improve performance"</string> - <string name="fingerprint_dangling_notification_msg_2" msgid="7688302770424064884">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> and <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> weren\'t working well and were deleted to improve performance"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> + <skip /> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> + <skip /> <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> wasn\'t working well and was deleted. Set it up again to unlock your phone with fingerprint."</string> <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> and <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> weren\'t working well and were deleted. Set them up again to unlock your phone with your fingerprint."</string> <string name="face_dangling_notification_title" msgid="947852541060975473">"Set up Face Unlock again"</string> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index 2ac1eaadb46c..4eca5134bb58 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"You can send and receive messages without a mobile or Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"How it works"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Set up Fingerprint Unlock again"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> wasn\'t working well and was deleted. Set it up again to unlock your phone with your fingerprint."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> and <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> weren\'t working well and were deleted. Set them up again to unlock your phone with your fingerprint."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Set up Face Unlock again"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Your face model wasn\'t working well and was deleted. Set it up again to unlock your phone with your face."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Set up"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Not now"</string> </resources> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index 6b383f490b55..aa4d8fabb453 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"You can send and receive messages without a mobile or Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"How it works"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Set up Fingerprint Unlock again"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> wasn\'t working well and was deleted. Set it up again to unlock your phone with your fingerprint."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> and <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> weren\'t working well and were deleted. Set them up again to unlock your phone with your fingerprint."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Set up Face Unlock again"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Your face model wasn\'t working well and was deleted. Set it up again to unlock your phone with your face."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Set up"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Not now"</string> </resources> diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml index bb187351ec40..f82dd1ec5c91 100644 --- a/core/res/res/values-en-rXC/strings.xml +++ b/core/res/res/values-en-rXC/strings.xml @@ -2396,8 +2396,10 @@ <string name="satellite_notification_open_message" msgid="4149234979688273729">"Open Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"How it works"</string> <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Set up Fingerprint Unlock again"</string> - <string name="fingerprint_dangling_notification_msg_1" msgid="6261149111900787302">"<xliff:g id="FINGERPRINT">%s</xliff:g> wasn\'t working well and was deleted to improve performance"</string> - <string name="fingerprint_dangling_notification_msg_2" msgid="7688302770424064884">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> and <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> weren\'t working well and were deleted to improve performance"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> + <skip /> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> + <skip /> <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> wasn\'t working well and was deleted. Set it up again to unlock your phone with fingerprint."</string> <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> and <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> weren\'t working well and were deleted. Set them up again to unlock your phone with your fingerprint."</string> <string name="face_dangling_notification_title" msgid="947852541060975473">"Set up Face Unlock again"</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index f7598698913b..166a20c81d44 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Puedes enviar y recibir mensajes incluso si no tienes conexión a una red móvil o Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abrir Mensajes"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Cómo funciona"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Vuelve a configurar el Desbloqueo con huellas dactilares"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Se borró <xliff:g id="FINGERPRINT">%s</xliff:g> porque no funcionaba correctamente. Vuelve a configurarla para desbloquear el teléfono con la huella dactilar."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Se borraron <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> y <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> porque no funcionaban correctamente. Vuelve a configurarlas para desbloquear el teléfono con la huella dactilar."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Vuelve a configurar el Desbloqueo facial"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Se borró tu modelo de rostro porque no funcionaba correctamente. Vuelve a configurarlo para desbloquear el teléfono con el rostro."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configurar"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ahora no"</string> </resources> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index 14d6b5c9fd6c..2b2cd52c89fd 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -1396,7 +1396,7 @@ <string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"Se ha detectado un accesorio de audio analógico"</string> <string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"El dispositivo adjunto no es compatible con este teléfono. Toca para obtener más información."</string> <string name="adb_active_notification_title" msgid="408390247354560331">"Depuración por USB activa"</string> - <string name="adb_active_notification_message" msgid="5617264033476778211">"Toca para desactivar la depuración USB"</string> + <string name="adb_active_notification_message" msgid="5617264033476778211">"Toca para desactivar la depuración por USB"</string> <string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"Seleccionar para inhabilitar la depuración por USB"</string> <string name="adbwifi_active_notification_title" msgid="6147343659168302473">"Depuración inalámbrica conectada"</string> <string name="adbwifi_active_notification_message" msgid="930987922852867972">"Toca para desactivar la depuración inalámbrica"</string> @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Puedes enviar y recibir mensajes sin una red móvil o Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abre Mensajes"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Cómo funciona"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Configura Desbloqueo con huella digital de nuevo"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> no funcionaba correctamente y se ha eliminado. Configúrala de nuevo para desbloquear el teléfono con la huella digital."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> y <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> no funcionaban correctamente y se han eliminado. Configúralas de nuevo para desbloquear el teléfono con la huella digital."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Configura Desbloqueo facial de nuevo"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Tu modelo facial no funcionaba correctamente y se ha eliminado. Configúralo de nuevo para desbloquear el teléfono con la cara."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configurar"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ahora no"</string> </resources> diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml index e3e6f550672e..0bfb44f86483 100644 --- a/core/res/res/values-et/strings.xml +++ b/core/res/res/values-et/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Teil on võimalik sõnumeid saata ja vastu võtta ilma mobiilside- ja WiFi-võrguta"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Ava rakendus Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Tööpõhimõtted"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Seadistage sõrmejäljega avamine uuesti"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ei töötanud hästi ja kustutati. Telefoni sõrmejäljega avamiseks seadistage see uuesti."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ja <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ei töötanud hästi ning kustutati. Telefoni sõrmejäljega avamiseks seadistage need uuesti."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Seadistage näoga avamine uuesti"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Teie näomudel ei töötanud hästi ja kustutati. Telefoni näoga avamiseks seadistage see uuesti."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Seadista"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Mitte praegu"</string> </resources> diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml index 1644dfc360c7..ee16912eb634 100644 --- a/core/res/res/values-eu/strings.xml +++ b/core/res/res/values-eu/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Mezuak bidal eta jaso ditzakezu sare mugikorrik edo wifi-sarerik gabe"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Ireki Mezuak"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Nola funtzionatzen du?"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Konfiguratu berriro hatz-marka bidez desblokeatzeko eginbidea"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ezabatu egin da, ez zuelako ondo funtzionatzen. Telefonoa hatz-markarekin desblokeatzeko, konfigura ezazu berriro."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> eta <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ezabatu egin dira, ez zutelako ondo funtzionatzen. Telefonoa hatz-markarekin desblokeatzeko, konfigura itzazu berriro."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Konfiguratu berriro aurpegi bidez desblokeatzeko eginbidea"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Aurpegi-eredua ezabatu egin da, ez zuelako ondo funtzionatzen. Telefonoa aurpegiarekin desblokeatzeko, konfigura ezazu berriro."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Konfiguratu"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Orain ez"</string> </resources> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index 05225eac793a..ebf6b63d1444 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -477,7 +477,7 @@ <string name="permdesc_writeCallLog" product="tv" msgid="3934939195095317432">"به برنامه اجازه میدهد گزارشهای تماس در دستگاه Android TV را تغییر دهد، ازجمله دادههای مربوط به تماسهای ورودی و خروجی. برنامههای مخرب میتوانند از این مجوز برای پاک کردن یا تغییر دادن گزارش تماس شما استفاده کنند."</string> <string name="permdesc_writeCallLog" product="default" msgid="5903033505665134802">"به برنامه اجازه میدهد گزارشات تماس تلفنی شما، از جمله دادههایی درمورد تماسهای ورودی و خروجی را تغییر دهد. برنامههای مخرب ممکن است از این ویژگی برای پاک کردن یا تغییر گزارش تماس شما استفاده کنند."</string> <string name="permlab_bodySensors" msgid="662918578601619569">"دسترسی به دادههای حسگر بدن، مثل ضربان قلب، درحین استفاده"</string> - <string name="permdesc_bodySensors" product="default" msgid="7652650410295512140">"به برنامه اجازه میدهد تا زمانی که درحال استفاده است، به دادههای حسگر بدن، مثل ضربان قلب، دما، و درصد اکسیژن خون دسترسی داشته باشد."</string> + <string name="permdesc_bodySensors" product="default" msgid="7652650410295512140">"هنگامی که از برنامه استفاده میشود به برنامه اجازه میدهد به دادههای حسگر بدن مانند ضربان قلب، دما، و درصد اکسیژن خون دسترسی داشته باشد."</string> <string name="permlab_bodySensors_background" msgid="4912560779957760446">"دسترسی به دادههای حسگر بدن، مثل ضربان قلب، درحین اجرا در پسزمینه"</string> <string name="permdesc_bodySensors_background" product="default" msgid="8870726027557749417">"به برنامه اجازه میدهد تا زمانی که در پسزمینه درحال اجرا است، به دادههای حسگر بدن، مثل ضربان قلب، دما، و درصد اکسیژن خون دسترسی داشته باشد."</string> <string name="permlab_readCalendar" msgid="6408654259475396200">"خواندن رویدادها و جزئیات تقویم"</string> @@ -499,17 +499,17 @@ <string name="permlab_modifyAudioSettings" msgid="6129039778010031815">"تغییر تنظیمات صوتی"</string> <string name="permdesc_modifyAudioSettings" msgid="8687227609663124921">"به برنامه امکان میدهد تنظیمات صوتی کلی مانند میزان صدا و بلندگوی مورد استفاده برای پخش صدا را تغییر دهد."</string> <string name="permlab_recordAudio" msgid="1208457423054219147">"ضبط صدا"</string> - <string name="permdesc_recordAudio" msgid="5857246765327514062">"این برنامه وقتی درحال استفاده است، میتواند بااستفاده از میکروفون صدا ضبط کند."</string> + <string name="permdesc_recordAudio" msgid="5857246765327514062">"هنگامی که از برنامه استفاده میشود، این برنامه میتواند بااستفاده از میکروفون صدا ضبط کند."</string> <string name="permlab_recordBackgroundAudio" msgid="5891032812308878254">"ضبط صدا در پسزمینه"</string> <string name="permdesc_recordBackgroundAudio" msgid="1992623135737407516">"این برنامه میتواند در هرزمانی با استفاده از میکروفون صدا ضبط کند."</string> <string name="permlab_detectScreenCapture" msgid="4447042362828799433">"تشخیص ضبط صفحهنمایش از پنجره برنامهها"</string> - <string name="permdesc_detectScreenCapture" msgid="3485784917960342284">"وقتی نماگرفتی درحین استفاده از برنامه گرفته میشود، به این برنامه اطلاع داده میشود."</string> + <string name="permdesc_detectScreenCapture" msgid="3485784917960342284">"درحین گرفتن نماگرفت، هنگامی که از برنامه استفاده میشود، به این برنامه اطلاع داده میشود."</string> <string name="permlab_sim_communication" msgid="176788115994050692">"ارسال فرمان به سیم کارت"</string> <string name="permdesc_sim_communication" msgid="4179799296415957960">"به برنامه اجازه ارسال دستورات به سیم کارت را میدهد. این بسیار خطرناک است."</string> <string name="permlab_activityRecognition" msgid="1782303296053990884">"تشخیص فعالیت فیزیکی"</string> <string name="permdesc_activityRecognition" msgid="8667484762991357519">"این برنامه نمیتواند فعالیت فیزیکیتان را تشخیص دهد."</string> <string name="permlab_camera" msgid="6320282492904119413">"عکسبرداری و فیلمبرداری"</string> - <string name="permdesc_camera" msgid="5240801376168647151">"این برنامه وقتی درحال استفاده است، میتواند بااستفاده از دوربین عکس و فیلم بگیرد."</string> + <string name="permdesc_camera" msgid="5240801376168647151">"هنگامی که از برنامه استفاده میشود، این برنامه میتواند بااستفاده از دوربین عکس و فیلم بگیرد."</string> <string name="permlab_backgroundCamera" msgid="7549917926079731681">"گرفتن عکس و فیلم در پسزمینه"</string> <string name="permdesc_backgroundCamera" msgid="1615291686191138250">"این برنامه میتواند در هرزمانی با استفاده از دوربین عکس و فیلم بگیرد."</string> <string name="permlab_systemCamera" msgid="3642917457796210580">"به برنامه یا سرویسی اجازه دهید برای عکسبرداری و فیلمبرداری به دوربینهای سیستم دسترسی داشته باشد"</string> @@ -662,7 +662,7 @@ </string-array> <string name="fingerprint_error_not_match" msgid="4599441812893438961">"اثر انگشت تشخیص داده نشد"</string> <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"اثر انگشت تشخیص داده نشد"</string> - <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5590293588784953188">"چهره شناسایی نشد. درعوض از اثر انگشت استفاده کنید."</string> + <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5590293588784953188">"چهره شناسایی نشد، از اثر انگشت استفاده کنید."</string> <string name="fingerprint_authenticated" msgid="2024862866860283100">"اثر انگشت اصالتسنجی شد"</string> <string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"چهره اصالتسنجی شد"</string> <string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"چهره اصالتسنجی شد، لطفاً تأیید را فشار دهید"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"میتوانید بدون شبکه تلفن همراه یا Wi-Fi پیام ارسال و دریافت کنید"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"باز کردن «پیامها»"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"روش کار"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"راهاندازی مجدد «قفلگشایی با اثر انگشت»"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> خوب کار نمیکرد و حذف شد. برای باز کردن قفل تلفن با اثر انگشت، آن را دوباره راهاندازی کنید."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> و <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> خوب کار نمیکرد و حذف شد. برای باز کردن قفل تلفن با اثر انگشت، آنها را دوباره راهاندازی کنید."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"راهاندازی مجدد «قفلگشایی با چهره»"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"مدل چهره شما خوب کار نمیکرد و حذف شد. برای باز کردن قفل تلفن با چهره، دوباره آن را راهاندازی کنید."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"راهاندازی"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"حالا نه"</string> </resources> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 8a39bc168a28..82596c19d152 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Voit lähettää ja vastaanottaa viestejä ilman mobiili‑ tai Wi-Fi-verkkoa"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Avaa Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Näin se toimii"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Ota sormenjälkiavaus uudelleen käyttöön"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ei toiminut kunnolla, ja se poistettiin. Ota se uudelleen käyttöön, jotta voit avata puhelimen lukituksen sormenjäljellä."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ja <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> eivät toimineet kunnolla, ja ne poistettiin. Ota ne uudelleen käyttöön, jotta voit avata puhelimen lukituksen sormenjäljellä."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Ota kasvojentunnistusavaus uudelleen käyttöön"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Kasvomallisi ei toiminut kunnolla, ja se poistettiin. Ota se uudelleen käyttöön, jotta voit avata puhelimen lukituksen kasvoilla."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Ota käyttöön"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ei nyt"</string> </resources> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index 3a518099d43f..3a91b3199ac3 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Vous pouvez envoyer et recevoir des messages sans avoir recours à un appareil mobile ou à un réseau Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Ouvrir Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Fonctionnement"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Configurer le Déverrouillage par empreinte digitale à nouveau"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ne fonctionnait pas bien et a été supprimée. Configurez-le à nouveau pour déverrouiller votre téléphone avec l\'empreinte digitale."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> et <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ne fonctionnaient pas bien et ont été supprimées. Configurez-les à nouveau pour déverrouiller votre téléphone avec votre empreinte digitale."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Configurer le Déverrouillage par reconnaissance faciale à nouveau"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Votre modèle facial ne fonctionnait pas bien et a été supprimé. Configurez-le à nouveau pour déverrouiller votre téléphone avec votre visage."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configurer"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Plus tard"</string> </resources> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index eda1eb943978..64e3e7a37ba1 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Vous pouvez envoyer et recevoir des messages sans connexion au réseau mobile ou Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Ouvrir Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Fonctionnement"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Reconfigurer le déverrouillage par empreinte digitale"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ne fonctionnait pas correctement et a été supprimée. Configurez-la à nouveau pour déverrouiller votre téléphone à l\'aide votre empreinte digitale."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> et <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ne fonctionnaient pas correctement et ont été supprimées. Configurez-les à nouveau pour déverrouiller votre téléphone à l\'aide de votre empreinte digitale."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Reconfigurer le déverrouillage par reconnaissance faciale"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Votre empreinte faciale ne fonctionnait pas correctement et a été supprimée. Configurez-la à nouveau pour déverrouiller votre téléphone à l\'aide votre visage."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configuration"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Pas maintenant"</string> </resources> diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml index 5eca7f554587..043d4b0ea11f 100644 --- a/core/res/res/values-gl/strings.xml +++ b/core/res/res/values-gl/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Podes enviar e recibir mensaxes sen unha rede de telefonía móbil ou wifi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abrir Mensaxes"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Como funciona?"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Configura de novo o desbloqueo dactilar"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"A <xliff:g id="FINGERPRINT">%s</xliff:g> non funcionaba correctamente, polo que se eliminou. Configúraa de novo para desbloquear o teléfono usando a impresión dixital."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"As impresións dixitais <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> e <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> non funcionaban correctamente, polo que se eliminaron. Configúraas de novo para desbloquear o teléfono usando a impresión dixital."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Configura de novo o desbloqueo facial"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"O teu modelo facial non funcionaba correctamente, polo que se eliminou. Configúrao de novo para desbloquear o teléfono usando a cara."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configurar"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Agora non"</string> </resources> diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml index 2de186de782d..1ab1948a0eb8 100644 --- a/core/res/res/values-gu/strings.xml +++ b/core/res/res/values-gu/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"તમે મોબાઇલ અથવા વાઇ-ફાઇ નેટવર્ક વિના મેસેજ મોકલી અને પ્રાપ્ત કરી શકો છો"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ખોલો"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"તેની કામ કરવાની રીત"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ફિંગરપ્રિન્ટ અનલૉક સુવિધાનું ફરી સેટઅપ કરો"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> બરાબર કામ કરતી ન હતી અને તેને ડિલીટ કરવામાં આવી હતી. તમારા ફોનને ફિંગરપ્રિન્ટ વડે અનલૉક કરવા માટે, તેનું ફરીથી સેટઅપ કરો."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> અને <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> બરાબર કામ કરતી ન હતી અને તેને ડિલીટ કરવામાં આવી હતી. તમારા ફોનને તમારી ફિંગરપ્રિન્ટ વડે અનલૉક કરવા માટે, તેનું ફરીથી સેટઅપ કરો."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ફેસ અનલૉક સુવિધાનું ફરી સેટઅપ કરો"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"તમારા ચહેરાનું મૉડલ બરાબર કામ કરતું ન હતું અને તેને ડિલીટ કરવામાં આવ્યું હતું. તમારા ફોનને ચહેરા વડે અનલૉક કરવા માટે, તેનું ફરીથી સેટઅપ કરો."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"સેટઅપ કરો"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"હમણાં નહીં"</string> </resources> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index 647e61f47001..d093a41222f1 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -662,7 +662,7 @@ </string-array> <string name="fingerprint_error_not_match" msgid="4599441812893438961">"फ़िंगरप्रिंट की पहचान नहीं हो पाई"</string> <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"फ़िंगरप्रिंट की पहचान नहीं हो पाई"</string> - <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5590293588784953188">"चेहरा नहीं पहचाना गया. फ़िंगरप्रिंट इस्तेमाल करें."</string> + <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5590293588784953188">"चेहरा की पहचान नहीं हो पाई. फ़िंगरप्रिंट का इस्तेमाल करें."</string> <string name="fingerprint_authenticated" msgid="2024862866860283100">"फ़िंगरप्रिंट की पुष्टि हो गई"</string> <string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"चेहरे की पहचान की गई"</string> <string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"चेहरे की पहचान की गई, कृपया पुष्टि बटन दबाएं"</string> @@ -2383,7 +2383,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"कीबोर्ड का लेआउट <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… पर सेट कर दिया गया है. इसे बदलने के लिए टैप करें."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"फ़िज़िकल कीबोर्ड कॉन्फ़िगर किए गए"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"कीबोर्ड देखने के लिए टैप करें"</string> - <string name="profile_label_private" msgid="6463418670715290696">"निजी"</string> + <string name="profile_label_private" msgid="6463418670715290696">"प्राइवेट"</string> <string name="profile_label_clone" msgid="769106052210954285">"क्लोन"</string> <string name="profile_label_work" msgid="3495359133038584618">"ऑफ़िस"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"ऑफ़िस 2"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"मोबाइल या वाई-फ़ाई नेटवर्क के बिना भी मैसेज भेजे और पाए जा सकते हैं"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ऐप्लिकेशन खोलें"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"यह सेटिंग कैसे काम करती है"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"फ़िंगरप्रिंट अनलॉक की सुविधा दोबारा सेट अप करें"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"अच्छे से काम न करने की वजह से <xliff:g id="FINGERPRINT">%s</xliff:g> को मिटा दिया गया. फ़िंगरप्रिंट की मदद से फ़ोन अनलॉक करने के लिए, फ़िंगरप्रिंट अनलॉक की सुविधा को दोबारा सेट अप करें."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"अच्छे से काम न करने की वजह से, <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> और <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> को मिटा दिया गया. फ़िंगरप्रिंट की मदद से फ़ोन अनलॉक करने के लिए, फ़िंगरप्रिंट अनलॉक की सुविधा दोबारा सेट अप करें."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"फ़ेस अनलॉक की सुविधा को दोबारा सेट अप करें"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"अच्छे से काम न करने की वजह से, चेहरे का मॉडल मिटा दिया गया. फ़ेस अनलॉक की सुविधा की मदद से फ़ोन अनलॉक करने के लिए, इस सुविधा को दोबारा सेट अप करें."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"सेट अप करें"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"अभी नहीं"</string> </resources> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index 1c3ace95bb66..c6d6da774bcd 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Možete slati i primati poruke bez mobilne mreže ili Wi-Fi mreže"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otvori Poruke"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Kako to funkcionira"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Ponovno postavite otključavanje otiskom prsta"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Otisak prsta <xliff:g id="FINGERPRINT">%s</xliff:g> nije dobro funkcionirao i izbrisan je. Ponovno ga postavite da biste otključali telefon otiskom prsta."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Otisci prstiju <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> i <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nisu dobro funkcionirali i izbrisani su. Ponovno ih postavite da biste otključali telefon otiskom prsta."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Ponovno postavite otključavanje licem"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Model vašeg lica nije dobro funkcionirao i izbrisan je. Ponovno ga postavite da biste otključali telefon licem."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Postavi"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ne sad"</string> </resources> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 2f96c6f1490f..f9db3e02a6a6 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -1988,7 +1988,7 @@ <string name="work_mode_emergency_call_button" msgid="6818855962881612322">"Vészhelyzet"</string> <string name="set_up_screen_lock_title" msgid="8346083801616474030">"Állítson be képernyőzárat"</string> <string name="set_up_screen_lock_action_label" msgid="2687634803649209367">"Képernyőzár beállítása"</string> - <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"A magánterület használatához állítson be képernyőzárat"</string> + <string name="private_space_set_up_screen_lock_message" msgid="1109956797005149814">"A privát terület használatához állítson be képernyőzárat"</string> <string name="app_blocked_title" msgid="7353262160455028160">"Az alkalmazás nem hozzáférhető"</string> <string name="app_blocked_message" msgid="542972921087873023">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> jelenleg nem hozzáférhető."</string> <string name="app_streaming_blocked_title" msgid="6090945835898766139">"A(z) <xliff:g id="ACTIVITY">%1$s</xliff:g> nem áll rendelkezése"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Küldhet és fogadhat üzeneteket mobil- és Wi-Fi-hálózat nélkül is"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"A Messages megnyitása"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Hogyan működik?"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"A Feloldás ujjlenyomattal funkció újbóli beállítása"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"A(z) <xliff:g id="FINGERPRINT">%s</xliff:g> nem működött megfelelően, ezért törölve lett. Állítsa be újra, hogy feloldhassa a telefonját az ujjlenyomata segítségével."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"A(z) <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> és a(z) <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nem működtek megfelelően, ezért törölve lettek. Állítsa be őket újra, hogy feloldhassa a telefonját az ujjlenyomata segítségével."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Állítsa be újra az Arcalapú feloldást"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Az arcmodellje nem működött megfelelően, ezért törölve lett. Állítsa be újra, hogy feloldhassa a telefonját az arca segítségével."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Beállítás"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Most nem"</string> </resources> diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml index 14776698a89d..e64725133c11 100644 --- a/core/res/res/values-hy/strings.xml +++ b/core/res/res/values-hy/strings.xml @@ -2383,7 +2383,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Ստեղնաշարի համար կարգավորված են <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> դասավորությունները։ Հպեք փոխելու համար։"</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Ֆիզիկական ստեղնաշարերը կարգավորված են"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Հպեք՝ ստեղնաշարերը դիտելու համար"</string> - <string name="profile_label_private" msgid="6463418670715290696">"Անձնական"</string> + <string name="profile_label_private" msgid="6463418670715290696">"Մասնավոր"</string> <string name="profile_label_clone" msgid="769106052210954285">"Կլոն"</string> <string name="profile_label_work" msgid="3495359133038584618">"Աշխատանքային"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"Աշխատանքային 2"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Դուք կարող եք ուղարկել և ստանալ հաղորդագրություններ՝ առանց բջջային կամ Wi-Fi կապի"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Բացել Messages-ը"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Ինչպես է դա աշխատում"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Նորից կարգավորեք մատնահետքով ապակողպումը"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"«<xliff:g id="FINGERPRINT">%s</xliff:g>» մատնահետքը հեռացվել է, քանի որ լավ չէր աշխատում։ Նորից կարգավորեք այն՝ ձեր հեռախոսը մատնահետքով ապակողպելու համար։"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"«<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>» և «<xliff:g id="FINGERPRINT_1">%2$s</xliff:g>» մատնահետքերը հեռացվել են, քանի որ լավ չէին աշխատում։ Նորից կարգավորեք դրանք՝ ձեր հեռախոսը մատնահետքով ապակողպելու համար։"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Նորից կարգավորեք դեմքով ապակողպումը"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Ձեր դեմքի նմուշը հեռացվել է, քանի որ լավ չէր աշխատում։ Նորից կարգավորեք այն՝ ձեր հեռախոսը դեմքով ապակողպելու համար։"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Կարգավորել"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ոչ հիմա"</string> </resources> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index 1c11b800dd00..3782e8271fa5 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Anda dapat mengirim dan menerima pesan tanpa jaringan seluler atau Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Buka Message"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Cara kerjanya"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Siapkan Buka dengan Sidik Jari lagi"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> tidak berfungsi dengan baik dan telah dihapus. Siapkan lagi untuk membuka kunci ponsel Anda dengan sidik jari."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> dan <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> tidak berfungsi dengan baik dan telah dihapus. Siapkan lagi untuk membuka kunci ponsel Anda dengan sidik jari."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Siapkan Buka dengan Wajah lagi"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Model wajah Anda tidak berfungsi dengan baik dan telah dihapus. Siapkan lagi untuk membuka kunci ponsel Anda dengan wajah."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Penyiapan"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Lain kali"</string> </resources> diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml index 934ab82504b9..fca3a6058a3b 100644 --- a/core/res/res/values-is/strings.xml +++ b/core/res/res/values-is/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Þú getur sent og móttekið skilaboð án tengingar við farsímakerfi eða Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Opna Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Svona virkar þetta"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Setja upp fingrafarskenni aftur"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> virkaði illa og var eytt. Settu það upp aftur til að taka símann úr lás með fingrafari."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> og <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> virkuðu illa og var eytt. Settu þau upp aftur til að taka símann úr lás með fingrafarinu þínu."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Setja upp andlitskenni aftur"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Andlitslíkanið þitt virkaði illa og var eytt. Settu það upp aftur til að taka símann úr lás með andlitinu."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Setja upp"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ekki núna"</string> </resources> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index 9aecf2a29122..33ec74137064 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Puoi inviare e ricevere messaggi senza una rete mobile o Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Apri Messaggi"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Come funziona"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Riconfigura lo Sblocco con l\'Impronta"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> non funzionava bene ed è stata eliminata. Riconfigurala per sbloccare lo smartphone con l\'impronta."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> e <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> non funzionavano bene e sono state eliminate. Riconfigurale per sbloccare lo smartphone con l\'impronta."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Riconfigura lo Sblocco con il Volto"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Il tuo modello del volto non funzionava bene ed è stato eliminato. Riconfiguralo per sbloccare lo smartphone con il volto."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configura"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Non ora"</string> </resources> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index 9ab3b765ee25..a23adb82077f 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -2384,7 +2384,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"פריסת המקלדת מוגדרת ל<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… אפשר להקיש כדי לשנות את ההגדרה הזו."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"הוגדרו מקלדות פיזיות"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"יש להקיש כדי להציג את המקלדות"</string> - <string name="profile_label_private" msgid="6463418670715290696">"פרטי"</string> + <string name="profile_label_private" msgid="6463418670715290696">"פרופיל פרטי"</string> <string name="profile_label_clone" msgid="769106052210954285">"שכפול"</string> <string name="profile_label_work" msgid="3495359133038584618">"פרופיל עבודה"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"פרופיל עבודה 2"</string> @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"אפשר לשלוח ולקבל הודעות ללא רשת סלולרית או רשת Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"לפתיחת Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"איך זה עובד"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"הגדרה חוזרת של \'ביטול הנעילה בטביעת אצבע\'"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> לא פעלה היטב ולכן היא נמחקה. עליך להגדיר אותה שוב כדי שתהיה לך אפשרות לבטל את הנעילה של הטלפון באמצעות טביעת אצבע."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ו<xliff:g id="FINGERPRINT_1">%2$s</xliff:g> לא פעלו היטב ולכן הן נמחקו. עליך להגדיר אותן שוב כדי שתהיה לך אפשרות לבטל את הנעילה של הטלפון באמצעות טביעת אצבע."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"הגדרה חוזרת של \'פתיחה ע\"י זיהוי הפנים\'"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"התבנית לזיהוי הפנים לא פעלה היטב ולכן היא נמחקה. עליך להגדיר אותה שוב כדי שתהיה לך אפשרות לבטל את הנעילה של הטלפון באמצעות זיהוי הפנים."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"הגדרה"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"לא עכשיו"</string> </resources> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index a5c27ab7abc4..058a06df0bbe 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"モバイル ネットワークや Wi-Fi ネットワークを使わずにメッセージを送受信できます"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"メッセージ アプリを開く"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"仕組み"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"指紋認証をもう一度設定してください"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> が正常に機能せず、削除されました。指紋認証でスマートフォンのロックを解除するには、設定し直してください。"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> と <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> が正常に機能せず、削除されました。指紋認証でスマートフォンのロックを解除するには、設定し直してください。"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"顔認証をもう一度設定してください"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"顔モデルが正常に機能せず、削除されました。顔認証でスマートフォンのロックを解除するには、設定し直してください。"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"設定"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"後で"</string> </resources> diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml index 5ecb271b589a..40cc868734b6 100644 --- a/core/res/res/values-ka/strings.xml +++ b/core/res/res/values-ka/strings.xml @@ -2383,7 +2383,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"დაყენდა კლავიატურის განლაგება: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… შეეხეთ შესაცვლელად."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ფიზიკური კლავიატურები კონფიგურირებულია"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"შეეხეთ კლავიატურების სანახავად"</string> - <string name="profile_label_private" msgid="6463418670715290696">"პირადი"</string> + <string name="profile_label_private" msgid="6463418670715290696">"კერძო"</string> <string name="profile_label_clone" msgid="769106052210954285">"კლონი"</string> <string name="profile_label_work" msgid="3495359133038584618">"სამსახური"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"სამსახური 2"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"შეგიძლიათ გაგზავნოთ და მიიღოთ შეტყობინებები მობილური ან Wi-Fi ქსელის გარეშე"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages-ის გახსნა"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"მუშაობის პრინციპი"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ანაბეჭდით განბლოკვის ხელახლა დაყენება"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> კარგად არ მუშაობდა და წაიშალა. თავიდან დააყენეთ, რათა თქვენი ტელეფონი თითის ანაბეჭდის საშუალებით განბლოკოთ."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> და <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> კარგად არ მუშაობდნენ და წაიშალა. თავიდან დააყენეთ, რათა თქვენი ტელეფონი თითის ანაბეჭდის საშუალებით განბლოკოთ."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"დააყენეთ სახით განბლოკვა ხელახლა"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"თქვენი სახის მოდელი კარგად არ მუშაობდა და წაიშალა. თავიდან დააყენეთ, რათა თქვენი ტელეფონი სახის საშუალებით განბლოკოთ."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"დაყენება"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ახლა არა"</string> </resources> diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml index 5d4e64a650f8..8a0d24883900 100644 --- a/core/res/res/values-kk/strings.xml +++ b/core/res/res/values-kk/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Мобильдік не Wi-Fi желісіне қосылмастан хабар жібере аласыз және ала аласыз."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages қолданбасын ашу"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Бұл қалай орындалады?"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Саусақ ізімен ашу функциясын қайта реттеу"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> саусақ ізі дұрыс істемегендіктен жойылды. Телефонды саусақ ізімен ашу үшін оны қайта реттеңіз."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Саусақ іздері (<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> және <xliff:g id="FINGERPRINT_1">%2$s</xliff:g>) дұрыс істемегендіктен жойылды. Телефонды саусақ ізімен ашу үшін оларды қайта реттеңіз."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Бет тану функциясын қайта реттеу"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Бет үлгісі дұрыс істемегендіктен жойылды. Телефонды бетпен ашу үшін оны қайта реттеңіз."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Реттеу"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Қазір емес"</string> </resources> diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml index 3c81f0c45c93..9ceb10d2b66a 100644 --- a/core/res/res/values-km/strings.xml +++ b/core/res/res/values-km/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"អ្នកអាចផ្ញើ និងទទួលសារដោយមិនប្រើបណ្តាញទូរសព្ទចល័ត ឬ Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"បើកកម្មវិធី Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"របៀបដែលវាដំណើរការ"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"រៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃម្ដងទៀត"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> មិនដំណើរការល្អទេ ហើយត្រូវបានលុបចេញហើយ។ រៀបចំវាម្ដងទៀត ដើម្បីដោះសោទូរសព្ទរបស់អ្នកដោយប្រើស្នាមម្រាមដៃ។"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> និង <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> មិនដំណើរការល្អទេ ហើយត្រូវបានលុបចេញហើយ។ រៀបចំវាម្ដងទៀត ដើម្បីដោះសោទូរសព្ទរបស់អ្នកដោយប្រើស្នាមម្រាមដៃ។"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"រៀបចំការដោះសោដោយស្កេនមុខម្ដងទៀត"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"គំរូមុខរបស់អ្នកមិនដំណើរការល្អទេ ហើយត្រូវបានលុបចេញហើយ។ រៀបចំវាម្ដងទៀត ដើម្បីដោះសោទូរសព្ទរបស់អ្នកដោយប្រើមុខ។"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"រៀបចំ"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"កុំទាន់"</string> </resources> diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml index 51a522ac7cc3..21e6a7aa8474 100644 --- a/core/res/res/values-kn/strings.xml +++ b/core/res/res/values-kn/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"ನೀವು ಮೊಬೈಲ್ ಅಥವಾ ವೈ-ಫೈ ನೆಟ್ವರ್ಕ್ ಇಲ್ಲದೆಯೇ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಬಹುದು ಮತ್ತು ಸ್ವೀಕರಿಸಬಹುದು"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ಅನ್ನು ತೆರೆಯಿರಿ"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಮತ್ತೊಮ್ಮೆ ಸೆಟಪ್ ಮಾಡಿ"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿಲ್ಲ ಹಾಗೂ ಅದನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಮೂಲಕ ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲು ಅದನ್ನು ಪುನಃ ಸೆಟಪ್ ಮಾಡಿ."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ಮತ್ತು <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿಲ್ಲ ಹಾಗೂ ಅವುಗಳನ್ನು ಅಳಿಸಲಾಗಿದೆ. ನಿಮ್ಮ ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಮೂಲಕ ನಿಮ್ಮ ಫೋನ್ ಅನ್ಲಾಕ್ ಮಾಡಲು ಅವುಗಳನ್ನು ಪುನಃ ಸೆಟಪ್ ಮಾಡಿ."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಮತ್ತೊಮ್ಮೆ ಸೆಟಪ್ ಮಾಡಿ"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"ನಿಮ್ಮ ಫೇಸ್ ಮಾಡೆಲ್ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿಲ್ಲ ಹಾಗೂ ಅದನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಫೇಸ್ ಮೂಲಕ ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲು ಅದನ್ನು ಪುನಃ ಸೆಟಪ್ ಮಾಡಿ."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"ಸೆಟಪ್ ಮಾಡಿ"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ಈಗ ಬೇಡ"</string> </resources> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index 517e82cf974e..6450a97b637d 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -1382,7 +1382,7 @@ <string name="no_permissions" msgid="5729199278862516390">"권한 필요 없음"</string> <string name="perm_costs_money" msgid="749054595022779685">"비용이 부과될 수 있습니다."</string> <string name="dlg_ok" msgid="5103447663504839312">"확인"</string> - <string name="usb_charging_notification_title" msgid="1674124518282666955">"이 기기를 USB로 충전 중."</string> + <string name="usb_charging_notification_title" msgid="1674124518282666955">"이 기기를 USB로 충전 중"</string> <string name="usb_supplying_notification_title" msgid="5378546632408101811">"USB를 통해 연결된 기기 충전"</string> <string name="usb_mtp_notification_title" msgid="1065989144124499810">"USB 파일 전송 사용 설정됨"</string> <string name="usb_ptp_notification_title" msgid="5043437571863443281">"USB를 통해 PTP 사용 설정됨"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"모바일 또는 Wi-Fi 네트워크 없이 메시지를 주고 받을 수 있습니다"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"메시지 열기"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"작동 방식"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"지문 잠금 해제 다시 설정"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g>이(가) 제대로 작동하지 않아 삭제되었습니다. 지문으로 휴대전화를 잠금 해제하려면 다시 설정하세요."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> 및 <xliff:g id="FINGERPRINT_1">%2$s</xliff:g>이(가) 제대로 작동하지 않아 삭제되었습니다. 지문으로 휴대전화를 잠금 해제하려면 다시 설정하세요."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"얼굴 인식 잠금 해제 다시 설정"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"얼굴 모델이 제대로 작동하지 않아 삭제되었습니다. 얼굴로 휴대전화를 잠금 해제하려면 다시 설정하세요."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"설정"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"나중에"</string> </resources> diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml index 6ff0e19ba7d5..dbf5edbbd8ac 100644 --- a/core/res/res/values-ky/strings.xml +++ b/core/res/res/values-ky/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Сиз мобилдик же Wi-Fi тармагы жок эле билдирүүлөрдү жөнөтүп, ала аласыз"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Жазышуулар колдонмосун ачуу"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Ал кантип иштейт"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Манжа изи менен ачуу функциясын кайра тууралаңыз"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ойдогудай иштебегендиктен, жок кылынды. Телефондо Манжа изи менен ачуу функциясын колдонуу үчүн аны кайра тууралаңыз."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> жана <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ойдогудай иштебегендиктен, жок кылынды. Телефонду манжа изи менен ачуу үчүн аларды кайра тууралаңыз."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Жүзүнөн таанып ачуу функциясын кайрадан тууралаңыз"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Жүзүңүздүн үлгүсү ойдогудай иштебегендиктен, жок кылынды. Телефондо Жүзүнөн таанып ачуу функциясын колдонуу үчүн аны кайра тууралаңыз."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Тууралоо"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Азыр эмес"</string> </resources> diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml index d22f99af9de5..f84fa09c5ad3 100644 --- a/core/res/res/values-lo/strings.xml +++ b/core/res/res/values-lo/strings.xml @@ -2383,7 +2383,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"ຕັ້ງໂຄງຮ່າງແປ້ນພິມເປັນ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… ແຕະເພື່ອປ່ຽນແປງ."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ຕັ້ງຄ່າແປ້ນພິມແທ້ແລ້ວ"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"ແຕະເພື່ອເບິ່ງແປ້ນພິມ"</string> - <string name="profile_label_private" msgid="6463418670715290696">"ສ່ວນຕົວ"</string> + <string name="profile_label_private" msgid="6463418670715290696">"ສ່ວນບຸກຄົນ"</string> <string name="profile_label_clone" msgid="769106052210954285">"ໂຄລນ"</string> <string name="profile_label_work" msgid="3495359133038584618">"ວຽກ"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"ວຽກ 2"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"ທ່ານສາມາດສົ່ງ ແລະ ຮັບຂໍ້ຄວາມໂດຍບໍ່ຕ້ອງໃຊ້ເຄືອຂ່າຍມືຖື ຫຼື Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"ເປີດ Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"ມັນເຮັດວຽກແນວໃດ"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ຕັ້ງຄ່າການປົດລັອກດ້ວຍລາຍນິ້ວມືຄືນໃໝ່"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ເຮັດວຽກໄດ້ບໍ່ດີ ແລະ ຖືກລຶບອອກແລ້ວ. ໃຫ້ຕັ້ງຄ່າມັນຄືນໃໝ່ເພື່ອປົດລັອກໂທລະສັບຂອງທ່ານດ້ວຍລາຍນິ້ວມື."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ແລະ <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ເຮັດວຽກໄດ້ບໍ່ດີ ແລະ ຖືກລຶບອອກແລ້ວ. ໃຫ້ຕັ້ງຄ່າພວກມັນຄືນໃໝ່ເພື່ອປົດລັອກໂທລະສັບຂອງທ່ານດ້ວຍລາຍນິ້ວມື."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າຄືນໃໝ່"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"ຮູບແບບໃບໜ້າຂອງທ່ານເຮັດວຽກໄດ້ບໍ່ດີ ແລະ ຖືກລຶບອອກແລ້ວ. ໃຫ້ຕັ້ງຄ່າມັນຄືນໃໝ່ເພື່ອປົດລັອກໂທລະສັບຂອງທ່ານດ້ວຍໃບໜ້າ."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"ຕັ້ງຄ່າ"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ບໍ່ຟ້າວເທື່ອ"</string> </resources> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index 9b72bc03abb7..b858502372b6 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -2397,22 +2397,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Galite siųsti ir gauti pranešimus be mobiliojo ryšio ar „Wi-Fi“ tinklo"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Atidaryti programą „Messages“"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Kaip tai veikia"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Atrakinimo piršto atspaudu nustatymas dar kartą"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> neveikė tinkamai ir buvo ištrintas. Nustatykite jį dar kartą, kad atrakintumėte telefoną piršto atspaudu."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ir <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> neveikė tinkamai ir buvo ištrinti. Nustatykite juos dar kartą, kad atrakintumėte telefoną piršto atspaudu."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Atrakinimo pagal veidą nustatymas iš naujo"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Jūsų veido modelis neveikė tinkamai ir buvo ištrintas. Nustatykite jį dar kartą, kad atrakintumėte telefoną pagal veidą."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Nustatyti"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ne dabar"</string> </resources> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index 13f77f7261f3..11703e84d6a0 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Varat sūtīt un saņemt ziņojumus bez mobilā vai Wi-Fi tīkla."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Atvērt lietotni Ziņojumi"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Darbības principi"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Vēlreiz iestatiet autorizāciju ar pirksta nospiedumu"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> nedarbojās pareizi un tika izdzēsts. Iestatiet to atkal, lai varētu atbloķēt tālruni ar pirksta nospiedumu."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> un <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nedarbojās pareizi un tika izdzēsti. Iestatiet tos atkal, lai varētu atbloķētu tālruni ar pirksta nospiedumu."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Vēlreiz iestatiet autorizāciju pēc sejas"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Jūsu sejas modelis nedarbojās pareizi un tika izdzēsts. Iestatiet to atkal, lai varētu atbloķēt tālruni ar seju."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Iestatīt"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ne tagad"</string> </resources> diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml index 63ed58fc151b..06815f89a8e5 100644 --- a/core/res/res/values-mk/strings.xml +++ b/core/res/res/values-mk/strings.xml @@ -338,7 +338,7 @@ <string name="permgrouplab_phone" msgid="570318944091926620">"Телефон"</string> <string name="permgroupdesc_phone" msgid="270048070781478204">"упатува и управува со телефонски повици"</string> <string name="permgrouplab_sensors" msgid="9134046949784064495">"Телесни сензори"</string> - <string name="permgroupdesc_sensors" msgid="2610631290633747752">"пристапува до податоците од сензорите за виталните знаци"</string> + <string name="permgroupdesc_sensors" msgid="2610631290633747752">"пристапува до податоците од сензорите за виталните функции"</string> <string name="permgrouplab_notifications" msgid="5472972361980668884">"Известувања"</string> <string name="permgroupdesc_notifications" msgid="4608679556801506580">"да прикажува известувања"</string> <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"да ги вчитува содржините од прозорците"</string> @@ -2383,9 +2383,9 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Распоредот на тастатурата е поставен на <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Допрете за да промените."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Физичките тастатури се конфигурирани"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Допрете за да ги видите тастатурите"</string> - <string name="profile_label_private" msgid="6463418670715290696">"Приватен профил"</string> + <string name="profile_label_private" msgid="6463418670715290696">"Приватно"</string> <string name="profile_label_clone" msgid="769106052210954285">"Клониран профил"</string> - <string name="profile_label_work" msgid="3495359133038584618">"Работен профил"</string> + <string name="profile_label_work" msgid="3495359133038584618">"Работно"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"Работен профил 2"</string> <string name="profile_label_work_3" msgid="4834572253956798917">"Работен профил 3"</string> <string name="profile_label_test" msgid="9168641926186071947">"Профил за тестирање"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Може да испраќате и примате пораки без мобилна или Wi-Fi мрежа"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Отворете ја Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Дознајте како функционира"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Поставете „Отклучување со отпечаток“ повторно"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> не функционираше добро, па се избриша. Поставете го повторно за да го отклучувате телефонот со отпечаток."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> и <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> не функционираа добро, па се избришаа. Поставете ги повторно за да го отклучувате телефонот со отпечаток."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Поставете „Отклучување со лик“ повторно"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Вашиот модел на лик не функционираше добро, па се избриша. Поставете го повторно за да го отклучите телефонот со лик."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Поставете"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Не сега"</string> </resources> diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml index d14529b0d28b..3c32ac881e96 100644 --- a/core/res/res/values-ml/strings.xml +++ b/core/res/res/values-ml/strings.xml @@ -1898,8 +1898,8 @@ <string name="package_updated_device_owner" msgid="7560272363805506941">"നിങ്ങളുടെ അഡ്മിൻ അപ്ഡേറ്റ് ചെയ്യുന്നത്"</string> <string name="package_deleted_device_owner" msgid="2292335928930293023">"നിങ്ങളുടെ അഡ്മിൻ ഇല്ലാതാക്കുന്നത്"</string> <string name="confirm_battery_saver" msgid="5247976246208245754">"ശരി"</string> - <string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"\'ബാറ്ററി ലാഭിക്കൽ\' ഡാർക്ക് തീം ഓണാക്കുന്നു, ഒപ്പം പശ്ചാത്തല ആക്റ്റിവിറ്റിയും ചില വിഷ്വൽ ഇഫക്റ്റുകളും ചില ഫീച്ചറുകളും ചില നെറ്റ്വർക്ക് കണക്ഷനുകളും പരിമിതപ്പെടുത്തുകയോ ഓഫാക്കുകയോ ചെയ്യുന്നു."</string> - <string name="battery_saver_description" msgid="8518809702138617167">"ബാറ്ററി ലാഭിക്കൽ ഡാർക്ക് തീം ഓണാക്കുന്നു, പശ്ചാത്തല ആക്റ്റിവിറ്റിയും ചില വിഷ്വൽ ഇഫക്റ്റുകളും ചില ഫീച്ചറുകളും ചില നെറ്റ്വർക്ക് കണക്ഷനുകളും അത് പരിമിതപ്പെടുത്തുകയോ ഓഫാക്കുകയോ ചെയ്യുന്നു."</string> + <string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"\'ബാറ്ററി സേവർ\' ഡാർക്ക് തീം ഓണാക്കുന്നു, ഒപ്പം പശ്ചാത്തല ആക്റ്റിവിറ്റിയും ചില വിഷ്വൽ ഇഫക്റ്റുകളും ചില ഫീച്ചറുകളും ചില നെറ്റ്വർക്ക് കണക്ഷനുകളും പരിമിതപ്പെടുത്തുകയോ ഓഫാക്കുകയോ ചെയ്യുന്നു."</string> + <string name="battery_saver_description" msgid="8518809702138617167">"ബാറ്ററി സേവർ ഡാർക്ക് തീം ഓണാക്കുന്നു, പശ്ചാത്തല ആക്റ്റിവിറ്റിയും ചില വിഷ്വൽ ഇഫക്റ്റുകളും ചില ഫീച്ചറുകളും ചില നെറ്റ്വർക്ക് കണക്ഷനുകളും അത് പരിമിതപ്പെടുത്തുകയോ ഓഫാക്കുകയോ ചെയ്യുന്നു."</string> <string name="data_saver_description" msgid="4995164271550590517">"ഡാറ്റാ ഉപയോഗം കുറയ്ക്കാൻ സഹായിക്കുന്നതിനായി പശ്ചാത്തലത്തിൽ ഡാറ്റ അയയ്ക്കുകയോ സ്വീകരിക്കുകയോ ചെയ്യുന്നതിൽ നിന്ന് ചില ആപ്പുകളെ ഡാറ്റാ സേവർ തടയുന്നു. നിങ്ങൾ നിലവിൽ ഉപയോഗിക്കുന്ന ഒരു ആപ്പിന് ഡാറ്റ ആക്സസ് ചെയ്യാനാകും, എന്നാൽ വല്ലപ്പോഴും മാത്രമെ സംഭവിക്കുന്നുള്ളു. ഇതിനർത്ഥം, ഉദാഹരണമായി നിങ്ങൾ ടാപ്പ് ചെയ്യുന്നത് വരെ ചിത്രങ്ങൾ പ്രദർശിപ്പിക്കുകയില്ല എന്നാണ്."</string> <string name="data_saver_enable_title" msgid="7080620065745260137">"ഡാറ്റാ സേവർ ഓണാക്കണോ?"</string> <string name="data_saver_enable_button" msgid="4399405762586419726">"ഓണാക്കുക"</string> @@ -2138,7 +2138,7 @@ <string name="dynamic_mode_notification_title_v2" msgid="5072385242078021152">"ബാറ്ററി സേവർ ഓണാണ്"</string> <string name="dynamic_mode_notification_summary_v2" msgid="2142444344663147938">"ബാറ്ററി ലൈഫ് വർദ്ധിപ്പിക്കാൻ ബാറ്ററി സേവർ ഓണാക്കിയിരിക്കുന്നു"</string> <string name="battery_saver_notification_channel_name" msgid="3918243458067916913">"ബാറ്ററി ലാഭിക്കൽ"</string> - <string name="battery_saver_off_notification_title" msgid="7637255960468032515">"ബാറ്ററി ലാഭിക്കൽ ഓഫാക്കിയിരിക്കുന്നു"</string> + <string name="battery_saver_off_notification_title" msgid="7637255960468032515">"ബാറ്ററി സേവർ ഓഫാക്കിയിരിക്കുന്നു"</string> <string name="battery_saver_charged_notification_summary" product="default" msgid="5544457317418624367">"ഫോണിൽ വേണ്ടത്ര ചാർജ് ഉണ്ട്. ഫീച്ചറുകൾക്ക് ഇനി നിയന്ത്രണമില്ല."</string> <string name="battery_saver_charged_notification_summary" product="tablet" msgid="4426317048139996888">"ടാബ്ലെറ്റിൽ വേണ്ടത്ര ചാർജ് ഉണ്ട്. ഫീച്ചറുകൾക്ക് ഇനി നിയന്ത്രണമില്ല."</string> <string name="battery_saver_charged_notification_summary" product="device" msgid="1031562417867646649">"ഉപകരണത്തിൽ വേണ്ടത്ര ചാർജ് ഉണ്ട്. ഫീച്ചറുകൾക്ക് ഇനി നിയന്ത്രണമില്ല."</string> @@ -2373,7 +2373,7 @@ <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ഉപകരണത്തിന് ചൂട് കൂടുതലാണ്"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"നിങ്ങളുടെ ഫോൺ വളരെയധികം ചൂടാകുന്നതിനാൽ ഡ്യുവൽ സ്ക്രീൻ ലഭ്യമല്ല"</string> <string name="concurrent_display_notification_power_save_title" msgid="1794569070730736281">"ഡ്യുവൽ സ്ക്രീൻ ലഭ്യമല്ല"</string> - <string name="concurrent_display_notification_power_save_content" msgid="2198116070583851493">"ബാറ്ററി ലാഭിക്കൽ ഓണായതിനാൽ ഡ്യുവൽ സ്ക്രീൻ ലഭ്യമല്ല. നിങ്ങൾക്ക് ഇത് ക്രമീകരണത്തിൽ ഓഫാക്കാം."</string> + <string name="concurrent_display_notification_power_save_content" msgid="2198116070583851493">"ബാറ്ററി സേവർ ഓണായതിനാൽ ഡ്യുവൽ സ്ക്രീൻ ലഭ്യമല്ല. നിങ്ങൾക്ക് ഇത് ക്രമീകരണത്തിൽ ഓഫാക്കാം."</string> <string name="device_state_notification_settings_button" msgid="691937505741872749">"ക്രമീകരണത്തിലേക്ക് പോകുക"</string> <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ഓഫാക്കുക"</string> <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> കോൺഫിഗർ ചെയ്തു"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"മൊബൈലോ വൈഫൈ നെറ്റ്വർക്കോ ഇല്ലാതെ തന്നെ സന്ദേശങ്ങൾ അയയ്ക്കാനും സ്വീകരിക്കാനും നിങ്ങൾക്ക് കഴിയും"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages തുറക്കുക"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"ഇത് പ്രവർത്തിക്കുന്നത് എങ്ങനെയാണ്"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ഫിംഗർപ്രിന്റ് അൺലോക്ക് വീണ്ടും സജ്ജീകരിക്കുക"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ശരിയായി പ്രവർത്തിക്കാത്തതിനാൽ അത് ഇല്ലാതാക്കി. നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് ഉപയോഗിച്ച് ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിനായി വീണ്ടും സജ്ജീകരിക്കുക."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>, <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> എന്നിവ ശരിയായി പ്രവർത്തിക്കാത്തതിനാൽ അവ ഇല്ലാതാക്കി. നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് ഉപയോഗിച്ച് ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിനായി അവ വീണ്ടും സജ്ജീകരിക്കുക."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ഫെയ്സ് അൺലോക്ക് വീണ്ടും സജ്ജീകരിക്കുക"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"നിങ്ങളുടെ മുഖ മോഡൽ ശരിയായി പ്രവർത്തിക്കാത്തതിനാൽ അത് ഇല്ലാതാക്കി. നിങ്ങളുടെ മുഖം ഉപയോഗിച്ച് ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിനായി വീണ്ടും സജ്ജീകരിക്കുക."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"സജ്ജീകരിക്കുക"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ഇപ്പോൾ വേണ്ട"</string> </resources> diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml index 1e20b5fc400c..c627c2902974 100644 --- a/core/res/res/values-mn/strings.xml +++ b/core/res/res/values-mn/strings.xml @@ -2383,7 +2383,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Гарын бүдүүвчийг <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> болгож тохируулсан… Өөрчлөхийн тулд товшино уу."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Биет гарыг тохируулсан"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Гарыг харахын тулд товшино уу"</string> - <string name="profile_label_private" msgid="6463418670715290696">"Хувийн"</string> + <string name="profile_label_private" msgid="6463418670715290696">"Хаалттай"</string> <string name="profile_label_clone" msgid="769106052210954285">"Клон"</string> <string name="profile_label_work" msgid="3495359133038584618">"Ажил"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"Ажил 2"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Та мобайл эсвэл Wi-Fi сүлжээгүйгээр мессеж илгээх болон хүлээн авах боломжтой"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Мессежийг нээх"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Энэ хэрхэн ажилладаг вэ?"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Хурууны хээгээр түгжээ тайлахыг дахин тохируулна уу"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> сайн ажиллахгүй байсан тул үүнийг устгасан. Утасныхаа түгжээг хурууны хээгээр тайлахын тулд хурууны хээг дахин тохируулна уу."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>, <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> сайн ажиллахгүй байсан тул эдгээрийг устгасан. Утасныхаа түгжээг хурууныхаа хээгээр тайлахын тулд хоёр хурууны хээг дахин тохируулна уу."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Царайгаар түгжээ тайлахыг дахин тохируулна уу"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Таны нүүрний загвар сайн ажиллахгүй байсан бөгөөд үүнийг устгасан. Утасныхаа түгжээг царайгаар тайлахын тулд нүүрний загварыг дахин тохируулна уу."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Тохируулах"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Одоо биш"</string> </resources> diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml index 7f3eb29ff546..17064d9aa2d7 100644 --- a/core/res/res/values-mr/strings.xml +++ b/core/res/res/values-mr/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"तुम्ही मोबाइल किंवा वाय-फाय नेटवर्कशिवाय मेसेज पाठवू आणि मिळवू शकता"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages उघडा"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"ते कसे काम करते"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"फिंगरप्रिंट अनलॉक पुन्हा सेट करा"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"योग्यरीत्या काम करत नसल्यामुळे <xliff:g id="FINGERPRINT">%s</xliff:g> हटवले गेले आहे. तुमचे फिंगरप्रिंट वापरून फोन अनलॉक करण्यासाठी ते पुन्हा सेट करा."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"परफॉर्मन्समध्ये सुधारणा करण्यासाठी आणि योग्यरीत्या काम करत नसल्यामुळे <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> व <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> हटवली गेली आहेत. तुमचे फिंगरप्रिंट वापरून फोन अनलॉक करण्यासाठी ते पुन्हा सेट करा."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"फेस अनलॉक पुन्हा सेट करा"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"तुमचे फेस मॉडेल योग्यरीत्या काम करत नसल्यामुळे ते हटवले गेले आहे. तुमचा चेहरा वापरून फोन अनलॉक करण्यासाठी ते पुन्हा सेट करा."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"सेट करा"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"आताच नको"</string> </resources> diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml index d92fbec0b209..c74ceeb19bd0 100644 --- a/core/res/res/values-ms/strings.xml +++ b/core/res/res/values-ms/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Anda boleh menghantar dan menerima mesej tanpa rangkaian mudah alih atau Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Buka Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Cara ciri ini berfungsi"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Sediakan Buka Kunci Cap Jari sekali lagi"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> tidak berfungsi dengan baik dan telah dipadamkan. Sediakan cap jari sekali lagi untuk membuka kunci telefon anda menggunakan cap jari."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> dan <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> tidak berfungsi dengan baik dan telah dipadamkan. Sediakan kedua-dua cap jari tersebut sekali lagi untuk membuka kunci telefon anda menggunakan cap jari anda."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Sediakan semula Buka Kunci Wajah"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Model wajah anda tidak berfungsi dengan baik dan telah dipadamkan. Sediakan model wajah sekali lagi untuk membuka kunci telefon anda menggunakan wajah."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Sediakan"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Bukan sekarang"</string> </resources> diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml index 700b1de28964..67e7b3988310 100644 --- a/core/res/res/values-my/strings.xml +++ b/core/res/res/values-my/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"မိုဘိုင်း (သို့) Wi-Fi ကွန်ရက်မရှိဘဲ မက်ဆေ့ဂျ်များကို ပို့နိုင်၊ လက်ခံနိုင်သည်"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ဖွင့်ရန်"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"အလုပ်လုပ်ပုံ"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို စနစ်ထပ်မံထည့်သွင်းပါ"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> သိပ်အဆင်မပြေသဖြင့် ဖျက်ထားသည်။ သင့်ဖုန်းကို လက်ဗွေဖြင့်လော့ခ်ဖွင့်ရန် ၎င်းကို စနစ်ထပ်မံထည့်သွင်းပါ။"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> နှင့် <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> တို့ သိပ်အဆင်မပြေသဖြင့် ဖျက်ထားသည်။ သင့်ဖုန်းကို လက်ဗွေဖြင့်လော့ခ်ဖွင့်ရန် ၎င်းတို့ကို စနစ်ထပ်မံထည့်သွင်းပါ။"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို စနစ်ထပ်မံထည့်သွင်းပါ"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"သင့်မျက်နှာနမူနာ သိပ်အဆင်မပြေသဖြင့် ဖျက်ထားသည်။ သင့်ဖုန်းကို မျက်နှာဖြင့်လော့ခ်ဖွင့်ရန် ၎င်းကို စနစ်ထပ်မံထည့်သွင်းပါ။"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"စနစ်ထည့်သွင်းရန်"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ယခုမလုပ်ပါ"</string> </resources> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index 7e6fd877ab27..4402d426ad62 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Du kan sende og motta meldinger uten mobil- eller wifi-nettverk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Åpne Meldinger"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Slik fungerer det"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Konfigurer opplåsingen med fingeravtrykk på nytt"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> fungerte ikke skikkelig og ble slettet. Du kan konfigurere det på nytt for å låse opp telefonen med fingeravtrykket."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> og <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> fungerte ikke skikkelig og ble slettet. Du kan konfigurere dem på nytt for å låse opp telefonen med fingeravtrykket."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Konfigurer ansiktslåsen på nytt"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Ansiktsmodellen din fungerte ikke skikkelig og ble slettet. Du kan konfigurere den på nytt for å låse opp telefonen med ansiktet."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Konfigurer"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ikke nå"</string> </resources> diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml index 025678c27c44..cc670f4a9cb8 100644 --- a/core/res/res/values-ne/strings.xml +++ b/core/res/res/values-ne/strings.xml @@ -477,7 +477,7 @@ <string name="permdesc_writeCallLog" product="tv" msgid="3934939195095317432">"एपलाई तपाईंको Android टिभी डिभाइसको आगमन र बहिर्गमन कलसम्बन्धी डेटासहित कल लग परिमार्जन गर्ने अनुमति दिन्छ। हानिकारक एपहरूले यसलाई तपाईंको कल लग मेटाउन वा परिमार्जन गर्न प्रयोग गर्न सक्छन्।"</string> <string name="permdesc_writeCallLog" product="default" msgid="5903033505665134802">"एपलाई तपाईंको फोनको आउने र बाहिर जाने कलहरूको बारेको डेटा सहित कल लग परिमार्जन गर्न अनुमति दिन्छ। खराब एपहरूले यसलाई तपाईंको कल लग मेटाउन वा परिमार्जन गर्न प्रयोग गर्न सक्दछ।"</string> <string name="permlab_bodySensors" msgid="662918578601619569">"प्रयोग गरिएका बेला हृदयको गति जस्ता बडी सेन्सरसम्बन्धी डेटा हेरियोस् र प्रयोग गर्नुहोस्"</string> - <string name="permdesc_bodySensors" product="default" msgid="7652650410295512140">"यसले यो एप प्रयोग गरिँदै गरेका बेला यसलाई हृदयको गति, शरीरको तापक्रम तथा रगतमा रहेको अक्सिजनको प्रतिशत जस्ता बडी सेन्सरसम्बन्धी डेटा हेर्ने तथा प्रयोग गर्ने अनुमति दिन्छ।"</string> + <string name="permdesc_bodySensors" product="default" msgid="7652650410295512140">"यसले यो एप प्रयोग गरिरहेका बेला यसलाई हृदयको गति, शरीरको तापक्रम तथा रगतमा रहेको अक्सिजनको प्रतिशत जस्ता बडी सेन्सरसम्बन्धी डेटा हेर्ने तथा प्रयोग गर्ने अनुमति दिन्छ।"</string> <string name="permlab_bodySensors_background" msgid="4912560779957760446">"ब्याकग्राउन्डमा चलेका बेला हृदयको गति जस्ता बडी सेन्सरसम्बन्धी डेटा हेरियोस् र प्रयोग गर्नुहोस्"</string> <string name="permdesc_bodySensors_background" product="default" msgid="8870726027557749417">"यसले यो एप ब्याकग्राउन्डमा चलेका बेला यसलाई हृदयको गति, शरीरको तापक्रम तथा रगतमा रहेको अक्सिजनको प्रतिशत जस्ता बडी सेन्सरसम्बन्धी डेटा हेर्ने तथा प्रयोग गर्ने अनुमति दिन्छ।"</string> <string name="permlab_readCalendar" msgid="6408654259475396200">"पात्रोका कार्यक्रम र विवरणहरू पढ्ने"</string> @@ -869,30 +869,30 @@ <item msgid="4537253139152229577">"घरको फ्याक्स"</item> <item msgid="6751245029698664340">"पेजर"</item> <item msgid="1692790665884224905">"अन्य"</item> - <item msgid="6216981255272016212">"आफू अनुकूल"</item> + <item msgid="6216981255272016212">" कस्टम"</item> </string-array> <string-array name="emailAddressTypes"> <item msgid="7786349763648997741">"गृह"</item> <item msgid="435564470865989199">"काम"</item> <item msgid="4199433197875490373">"अन्य"</item> - <item msgid="3233938986670468328">"आफू अनुकूल"</item> + <item msgid="3233938986670468328">" कस्टम"</item> </string-array> <string-array name="postalAddressTypes"> <item msgid="3861463339764243038">"गृह"</item> <item msgid="5472578890164979109">"काम"</item> <item msgid="5718921296646594739">"अन्य"</item> - <item msgid="5523122236731783179">"आफू अनुकूल"</item> + <item msgid="5523122236731783179">" कस्टम"</item> </string-array> <string-array name="imAddressTypes"> <item msgid="588088543406993772">"गृह"</item> <item msgid="5503060422020476757">"काम"</item> <item msgid="2530391194653760297">"अन्य"</item> - <item msgid="7640927178025203330">"आफू अनुकूल"</item> + <item msgid="7640927178025203330">" कस्टम"</item> </string-array> <string-array name="organizationTypes"> <item msgid="6144047813304847762">"काम गर्नुहोस्"</item> <item msgid="7402720230065674193">"अन्य"</item> - <item msgid="808230403067569648">"आफू अनुकूल"</item> + <item msgid="808230403067569648">" कस्टम"</item> </string-array> <string-array name="imProtocols"> <item msgid="7535761744432206400">"AIM"</item> @@ -904,7 +904,7 @@ <item msgid="4717545739447438044">"ICQ"</item> <item msgid="8293711853624033835">"Jabber"</item> </string-array> - <string name="phoneTypeCustom" msgid="5120365721260686814">"आफू अनुकूल"</string> + <string name="phoneTypeCustom" msgid="5120365721260686814">" कस्टम"</string> <string name="phoneTypeHome" msgid="3880132427643623588">"गृह"</string> <string name="phoneTypeMobile" msgid="1178852541462086735">"मोबाइल"</string> <string name="phoneTypeWork" msgid="6604967163358864607">"काम"</string> @@ -925,24 +925,24 @@ <string name="phoneTypeWorkPager" msgid="3748332310638505234">"कार्य पेजर"</string> <string name="phoneTypeAssistant" msgid="757550783842231039">"सहायक"</string> <string name="phoneTypeMms" msgid="1799747455131365989">"MMS"</string> - <string name="eventTypeCustom" msgid="3257367158986466481">"आफू अनुकूल"</string> + <string name="eventTypeCustom" msgid="3257367158986466481">" कस्टम"</string> <string name="eventTypeBirthday" msgid="7770026752793912283">"जन्मदिन"</string> <string name="eventTypeAnniversary" msgid="4684702412407916888">"वार्षिक समारोह"</string> <string name="eventTypeOther" msgid="530671238533887997">"अन्य"</string> - <string name="emailTypeCustom" msgid="1809435350482181786">"आफू अनुकूल"</string> + <string name="emailTypeCustom" msgid="1809435350482181786">" कस्टम"</string> <string name="emailTypeHome" msgid="1597116303154775999">"गृह"</string> <string name="emailTypeWork" msgid="2020095414401882111">"काम"</string> <string name="emailTypeOther" msgid="5131130857030897465">"अन्य"</string> <string name="emailTypeMobile" msgid="787155077375364230">"मोबाइल"</string> - <string name="postalTypeCustom" msgid="5645590470242939129">"आफू अनुकूल"</string> + <string name="postalTypeCustom" msgid="5645590470242939129">" कस्टम"</string> <string name="postalTypeHome" msgid="7562272480949727912">"गृह"</string> <string name="postalTypeWork" msgid="8553425424652012826">"काम"</string> <string name="postalTypeOther" msgid="7094245413678857420">"अन्य"</string> - <string name="imTypeCustom" msgid="5653384545085765570">"आफू अनुकूल"</string> + <string name="imTypeCustom" msgid="5653384545085765570">" कस्टम"</string> <string name="imTypeHome" msgid="6996507981044278216">"गृह"</string> <string name="imTypeWork" msgid="2099668940169903123">"काम"</string> <string name="imTypeOther" msgid="8068447383276219810">"अन्य"</string> - <string name="imProtocolCustom" msgid="4437878287653764692">"आफू अनुकूल"</string> + <string name="imProtocolCustom" msgid="4437878287653764692">" कस्टम"</string> <string name="imProtocolAim" msgid="4050198236506604378">"AIM"</string> <string name="imProtocolMsn" msgid="2257148557766499232">"Windows Live"</string> <string name="imProtocolYahoo" msgid="5373338758093392231">"Yahoo"</string> @@ -954,8 +954,8 @@ <string name="imProtocolNetMeeting" msgid="4985002408136148256">"NetMeeting"</string> <string name="orgTypeWork" msgid="8684458700669564172">"काम"</string> <string name="orgTypeOther" msgid="5450675258408005553">"अन्य"</string> - <string name="orgTypeCustom" msgid="1126322047677329218">"आफू अनुकूल"</string> - <string name="relationTypeCustom" msgid="282938315217441351">"आफू अनुकूल"</string> + <string name="orgTypeCustom" msgid="1126322047677329218">" कस्टम"</string> + <string name="relationTypeCustom" msgid="282938315217441351">" कस्टम"</string> <string name="relationTypeAssistant" msgid="4057605157116589315">"सहायक"</string> <string name="relationTypeBrother" msgid="7141662427379247820">"भाइ"</string> <string name="relationTypeChild" msgid="9076258911292693601">"सन्तान"</string> @@ -970,7 +970,7 @@ <string name="relationTypeRelative" msgid="3396498519818009134">"आफन्त"</string> <string name="relationTypeSister" msgid="3721676005094140671">"बहिनी"</string> <string name="relationTypeSpouse" msgid="6916682664436031703">"पति-पत्नी"</string> - <string name="sipAddressTypeCustom" msgid="6283889809842649336">"आफू अनुकूल"</string> + <string name="sipAddressTypeCustom" msgid="6283889809842649336">" कस्टम"</string> <string name="sipAddressTypeHome" msgid="5918441930656878367">"गृह"</string> <string name="sipAddressTypeWork" msgid="7873967986701216770">"काम गर्नुहोस्"</string> <string name="sipAddressTypeOther" msgid="6317012577345187275">"अन्य"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"तपाईं मोबाइल वा Wi-Fi नेटवर्कविनै म्यासेज पठाउन र प्राप्त गर्न सक्नुहुन्छ"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages खोल्नुहोस्"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"यसले काम गर्ने तरिका"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"फिंगरप्रिन्ट अनलक फेरि सेटअप गर्नुहोस्"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ले काम गरिरहेको थिएन र त्यसलाई मेटाइयो। फिंगरप्रिन्ट प्रयोग गरी आफ्नो फोन अनलक गर्न त्यसलाई फेरि सेट अप गर्नुहोस्।"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> र <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ले राम्ररी काम गरिरहेका थिएनन् र तिनलाई मेटाइयो। फिंगरप्रिन्ट प्रयोग गरी आफ्नो फोन अनलक गर्न तिनलाई फेरि सेट अप गर्नुहोस्।"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"फेस अनलक फेरि सेटअप गर्नुहोस्"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"तपाईंको फेस मोडेलले राम्ररी काम गरिरहेको थिएन र त्यसलाई मेटाइयो। अनुहार प्रयोग गरी आफ्नो फोन अनलक गर्न फेस मोडेल फेरि सेट अप गर्नुहोस्।"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"सेटअप गर्नुहोस्"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"अहिले होइन"</string> </resources> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index 3ae86a880f35..788f99514301 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Je kunt berichten sturen en krijgen zonder een mobiel of wifi-netwerk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Berichten openen"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Hoe het werkt"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Ontgrendelen met vingerafdruk weer instellen"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> werkte niet goed en is verwijderd. Stel deze opnieuw in om de telefoon met je vingerafdruk te ontgrendelen."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> en <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> werkten niet goed en zijn verwijderd. Stel ze opnieuw in om de telefoon met je vingerafdruk te ontgrendelen."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Ontgrendelen via gezichtsherkenning weer instellen"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Je gezichtsmodel werkte niet goed en is verwijderd. Stel het opnieuw in om de telefoon met je gezicht te ontgrendelen."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Instellen"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Niet nu"</string> </resources> diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml index dce56dd28f63..b7500f3cd0e9 100644 --- a/core/res/res/values-or/strings.xml +++ b/core/res/res/values-or/strings.xml @@ -2135,7 +2135,7 @@ <string name="dynamic_mode_notification_channel_name" msgid="2986926422100223328">"ନିୟମିତ ମୋଡ୍ ସୂଚନା ବିଜ୍ଞପ୍ତି"</string> <string name="dynamic_mode_notification_title" msgid="1388718452788985481">"ବେଟେରୀ ସେଭର ଚାଲୁ କରାଯାଇଛି"</string> <string name="dynamic_mode_notification_summary" msgid="1639031262484979689">"ବ୍ୟାଟେରୀ ଲାଇଫ ବଢ଼ାଇବା ପାଇଁ ବ୍ୟାଟେରୀ ବ୍ୟବହାର କମ୍ କରିବା"</string> - <string name="dynamic_mode_notification_title_v2" msgid="5072385242078021152">"ବ୍ୟାଟେରୀ ସେଭର୍ ଚାଲୁ ଅଛି"</string> + <string name="dynamic_mode_notification_title_v2" msgid="5072385242078021152">"ବେଟେରୀ ସେଭର ଚାଲୁ ଅଛି"</string> <string name="dynamic_mode_notification_summary_v2" msgid="2142444344663147938">"ବେଟେରୀ ଲାଇଫକୁ ବଢ଼ାଇବା ପାଇଁ ବେଟେରୀ ସେଭରକୁ ଚାଲୁ କରାଯାଇଛି"</string> <string name="battery_saver_notification_channel_name" msgid="3918243458067916913">"ବେଟେରୀ ସେଭର"</string> <string name="battery_saver_off_notification_title" msgid="7637255960468032515">"ବ୍ୟାଟେରୀ ସେଭର୍ ବନ୍ଦ ଅଛି"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"ଏକ ମୋବାଇଲ କିମ୍ବା ୱାଇ-ଫାଇ ନେଟୱାର୍କ ବିନା ଆପଣ ମେସେଜ ପଠାଇପାରିବେ ଏବଂ ପାଇପାରିବେ"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ଖୋଲନ୍ତୁ"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"ଏହା କିପରି କାମ କରେ"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ପୁଣି ସେଟ ଅପ କରନ୍ତୁ"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ସଠିକ ଭାବେ କାମ କରୁନାହିଁ ଏବଂ ଏହାକୁ ଡିଲିଟ କରାଯାଇଛି। ଟିପଚିହ୍ନ ମାଧ୍ୟମରେ ଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ କରିବାକୁ ଏହାକୁ ପୁଣି ସେଟ ଅପ କରନ୍ତୁ।"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ଏବଂ <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ସଠିକ ଭାବେ କାମ କରୁନାହିଁ ଏବଂ ଏଗୁଡ଼ିକୁ ଡିଲିଟ କରାଯାଇଛି। ଆପଣଙ୍କ ଟିପଚିହ୍ନ ମାଧ୍ୟମରେ ଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ କରିବାକୁ ଏଗୁଡ଼ିକୁ ପୁଣି ସେଟ ଅପ କରନ୍ତୁ।"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ଫେସ୍ ଅନଲକ୍ ପୁଣି ସେଟ୍ ଅପ୍ କରନ୍ତୁ"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"ଆପଣଙ୍କ ଫେସ ମଡେଲ ସଠିକ ଭାବେ କାମ କରୁନାହିଁ ଏବଂ ଏହାକୁ ଡିଲିଟ କରାଯାଇଛି। ଫେସ ମାଧ୍ୟମରେ ଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ କରିବାକୁ ଏହାକୁ ପୁଣି ସେଟ ଅପ କରନ୍ତୁ।"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"ସେଟ ଅପ କରନ୍ତୁ"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ବର୍ତ୍ତମାନ ନୁହେଁ"</string> </resources> diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml index 69668ccfa4be..5ca51255a86d 100644 --- a/core/res/res/values-pa/strings.xml +++ b/core/res/res/values-pa/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"ਤੁਸੀਂ ਮੋਬਾਈਲ ਜਾਂ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਤੋਂ ਬਿਨਾਂ ਸੁਨੇਹੇ ਭੇਜ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ਐਪ ਖੋਲ੍ਹੋ"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਦੁਬਾਰਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਨਹੀਂ ਕਰ ਰਿਹਾ ਸੀ ਅਤੇ ਉਸਨੂੰ ਮਿਟਾਇਆ ਗਿਆ ਸੀ। ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਅਣਲਾਕ ਕਰਨ ਲਈ ਇਸਦਾ ਦੁਬਾਰਾ ਸੈੱਟਅੱਪ ਕਰੋ।"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ਅਤੇ <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਨਹੀਂ ਕਰ ਰਹੇ ਸੀ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਮਿਟਾਇਆ ਗਿਆ ਸੀ। ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਆਪਣੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਅਣਲਾਕ ਕਰਨ ਲਈ ਇਨ੍ਹਾਂ ਦਾ ਦੁਬਾਰਾ ਸੈੱਟਅੱਪ ਕਰੋ।"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਦੁਬਾਰਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"ਤੁਹਾਡਾ ਚਿਹਰੇ ਦਾ ਮਾਡਲ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਨਹੀਂ ਕਰ ਰਿਹਾ ਸੀ ਅਤੇ ਉਸਨੂੰ ਮਿਟਾਇਆ ਗਿਆ ਸੀ। ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਚਿਹਰੇ ਨਾਲ ਅਣਲਾਕ ਕਰਨ ਲਈ ਇਸਦਾ ਦੁਬਾਰਾ ਸੈੱਟਅੱਪ ਕਰੋ।"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"ਸੈੱਟਅੱਪ ਕਰੋ"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ਹੁਣੇ ਨਹੀਂ"</string> </resources> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index f3c029e711f8..ccf571f7a1b3 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -2397,22 +2397,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Możesz wymieniać wiadomości bez dostępu do sieci komórkowej lub Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otwórz Wiadomości"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Jak to działa"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Skonfiguruj ponownie odblokowywanie odciskiem palca"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Odcisk palca <xliff:g id="FINGERPRINT">%s</xliff:g> nie sprawdzał się dobrze i został usunięty. Skonfiguruj go ponownie, aby odblokowywać telefon odciskiem palca."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Odciski palca <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> i <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nie sprawdzały się dobrze i zostały usunięte. Skonfiguruj je ponownie, aby odblokowywać telefon odciskiem palca."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Skonfiguruj ponownie rozpoznawanie twarzy"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Twój model twarzy nie sprawdzał się dobrze i został usunięty. Skonfiguruj go ponownie, aby odblokowywać telefon za pomocą skanu twarzy."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Skonfiguruj"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Nie teraz"</string> </resources> diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml index f909fd06a684..4f76a8fbf482 100644 --- a/core/res/res/values-pt-rBR/strings.xml +++ b/core/res/res/values-pt-rBR/strings.xml @@ -2384,7 +2384,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Toque para mudar."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Teclados físicos configurados"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Toque para conferir os teclados"</string> - <string name="profile_label_private" msgid="6463418670715290696">"Particular"</string> + <string name="profile_label_private" msgid="6463418670715290696">"Privado"</string> <string name="profile_label_clone" msgid="769106052210954285">"Clone"</string> <string name="profile_label_work" msgid="3495359133038584618">"Trabalho"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"Trabalho 2"</string> @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Você pode enviar e receber mensagens sem um dispositivo móvel ou uma rede Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abrir o app Mensagens"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Como funciona"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Configurar o Desbloqueio por impressão digital de novo"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"A impressão digital <xliff:g id="FINGERPRINT">%s</xliff:g> não estava funcionando bem e foi excluída. Configure de novo para desbloquear o smartphone com a impressão digital."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"As impressões digitais <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> e <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> não estavam funcionando bem e foram excluídas. Configure de novo para desbloquear o smartphone com a impressão digital."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Configure o Desbloqueio facial de novo"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Seu modelo de rosto não estava funcionando bem e foi excluído. Configure de novo para desbloquear o smartphone com o rosto."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configuração"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Agora não"</string> </resources> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index 703ec8190bc6..589428ef9525 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -324,7 +324,7 @@ <string name="permgroupdesc_storage" msgid="5378659041354582769">"aceder aos ficheiros no seu dispositivo"</string> <string name="permgrouplab_readMediaAural" msgid="1858331312624942053">"Música e áudio"</string> <string name="permgroupdesc_readMediaAural" msgid="7565467343667089595">"aceder a música e áudio no seu dispositivo"</string> - <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"fotos e vídeos"</string> + <string name="permgrouplab_readMediaVisual" msgid="4724874717811908660">"Fotos e vídeos"</string> <string name="permgroupdesc_readMediaVisual" msgid="4080463241903508688">"aceder a fotos e vídeos no seu dispositivo"</string> <string name="permgrouplab_microphone" msgid="2480597427667420076">"Microfone"</string> <string name="permgroupdesc_microphone" msgid="1047786732792487722">"gravar áudio"</string> @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Pode enviar e receber mensagens sem uma rede móvel ou Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abre a app Mensagens"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Como funciona"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Configure o Desbloqueio por impressão digital novamente"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"A <xliff:g id="FINGERPRINT">%s</xliff:g> não estava a funcionar bem e foi eliminada. Configure-a novamente para desbloquear o telemóvel com a impressão digital."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"A <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> e a <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> não estavam a funcionar bem e foram eliminadas. Configure-as novamente para desbloquear o telemóvel com a sua impressão digital."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Configure o Desbloqueio facial novamente"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"O seu modelo de rosto não estava a funcionar bem e foi eliminado. Configure-o novamente para desbloquear o telemóvel com o rosto."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configurar"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Agora não"</string> </resources> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index f909fd06a684..4f76a8fbf482 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -2384,7 +2384,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Toque para mudar."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Teclados físicos configurados"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Toque para conferir os teclados"</string> - <string name="profile_label_private" msgid="6463418670715290696">"Particular"</string> + <string name="profile_label_private" msgid="6463418670715290696">"Privado"</string> <string name="profile_label_clone" msgid="769106052210954285">"Clone"</string> <string name="profile_label_work" msgid="3495359133038584618">"Trabalho"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"Trabalho 2"</string> @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Você pode enviar e receber mensagens sem um dispositivo móvel ou uma rede Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Abrir o app Mensagens"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Como funciona"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Configurar o Desbloqueio por impressão digital de novo"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"A impressão digital <xliff:g id="FINGERPRINT">%s</xliff:g> não estava funcionando bem e foi excluída. Configure de novo para desbloquear o smartphone com a impressão digital."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"As impressões digitais <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> e <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> não estavam funcionando bem e foram excluídas. Configure de novo para desbloquear o smartphone com a impressão digital."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Configure o Desbloqueio facial de novo"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Seu modelo de rosto não estava funcionando bem e foi excluído. Configure de novo para desbloquear o smartphone com o rosto."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configuração"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Agora não"</string> </resources> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index 0b0a007111e4..d5799c2805dd 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Poți să trimiți și să primești mesaje fără o rețea mobilă sau Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Deschide Mesaje"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Cum funcționează"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Configurează din nou Deblocarea cu amprenta"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> nu funcționa bine și s-a șters. Configureaz-o din nou pentru a-ți debloca telefonul cu amprenta."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> și <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nu funcționau bine și s-au șters. Configurează-le din nou pentru a-ți debloca telefonul cu amprenta."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Reconfigurează Deblocarea facială"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Modelul tău facial nu funcționa bine și s-a șters. Configurează-l din nou pentru a-ți debloca telefonul folosindu-ți chipul."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Configurează"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Nu acum"</string> </resources> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index d927c6a99e9c..06e1a3bfbbf7 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -664,7 +664,7 @@ </string-array> <string name="fingerprint_error_not_match" msgid="4599441812893438961">"Отпечаток не распознан."</string> <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Отпечаток не распознан."</string> - <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5590293588784953188">"Лицо не распознано. Используйте отпечаток."</string> + <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5590293588784953188">"Лицо не распознано. Сканируйте отпечаток пальца."</string> <string name="fingerprint_authenticated" msgid="2024862866860283100">"Отпечаток пальца проверен"</string> <string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Лицо распознано"</string> <string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Лицо распознано, нажмите кнопку \"Подтвердить\""</string> @@ -2385,7 +2385,7 @@ <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Настроены раскладки клавиатуры для яз.: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> и др. Нажмите, чтобы изменить."</string> <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Физические клавиатуры настроены"</string> <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Нажмите, чтобы посмотреть подключенные клавиатуры."</string> - <string name="profile_label_private" msgid="6463418670715290696">"Личный"</string> + <string name="profile_label_private" msgid="6463418670715290696">"Частный"</string> <string name="profile_label_clone" msgid="769106052210954285">"Клон"</string> <string name="profile_label_work" msgid="3495359133038584618">"Рабочий"</string> <string name="profile_label_work_2" msgid="4691533661598632135">"Рабочий 2"</string> @@ -2397,22 +2397,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Вы можете отправлять и получать сообщения без доступа к мобильной сети или Wi-Fi."</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Открыть Сообщения"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Узнать принцип работы"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Настройте разблокировку по отпечатку пальца заново"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Отпечаток пальца \"<xliff:g id="FINGERPRINT">%s</xliff:g>\" оказался неудачным и был удален. Чтобы использовать разблокировку с помощью отпечатка пальца, настройте ее заново."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Отпечатки пальцев \"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>\" и \"<xliff:g id="FINGERPRINT_1">%2$s</xliff:g>\" оказались неудачными и были удалены. Чтобы использовать разблокировку с помощью отпечатка пальца, настройте ее заново."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Настройте фейсконтроль заново"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Модель лица оказалась неудачной и была удалена. Чтобы пользоваться фейсконтролем, настройте его заново."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Настроить"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Не сейчас"</string> </resources> diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml index 2cdff40a3d89..106a5c7c49e5 100644 --- a/core/res/res/values-si/strings.xml +++ b/core/res/res/values-si/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"ඔබට ජංගම හෝ Wi-Fi ජාලයක් නොමැතිව පණිවිඩ යැවීමට සහ ලැබීමට හැක"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages විවෘත කරන්න"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"එය ක්රියා කරන ආකාරය"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ඇඟිලි සලකුණු අගුලු හැරීම නැවත සකසන්න"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> හොඳින් ක්රියා නොකළේය, එය මකන ලදි ඇඟිලි සලකුණ මගින් ඔබේ දුරකථනය අගුලු හැරීමට එය නැවත සකසන්න."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> සහ <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> හොඳින් ක්රියා නොකළේය, කාර්යසාධනය දියුණූ කිරීමට ඒවා මකන ලදි. ඔබේ ඇඟිලි සලකුණ මගින් ඔබේ දුරකථනය අගුලු හැරීමට ඒවා නැවත සකසන්න."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"මුහුණෙන් අගුලු හැරීම නැවත සකසන්න"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"ඔබේ මුහුණු මාදිලිය හොඳින් ක්රියා නොකරයි, එය මකන ලදි. මුහුණ මගින් ඔබේ දුරකථනය අගුලු හැරීමට එය නැවත සකසන්න."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"සකසන්න"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"දැන් නොවේ"</string> </resources> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index c67213981b82..c3399c0cfe95 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -2397,22 +2397,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Správy môžete odosielať a prijímať bez mobilnej siete či siete Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Otvoriť Správy"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Ako to funguje"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Znova nastavte odomknutie odtlačkom prsta"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Odtlačok <xliff:g id="FINGERPRINT">%s</xliff:g> nefungoval správne a bol odstránený. Ak chcete odomykať telefón odtlačkom prsta, nastavte ho znova."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Odtlačky <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> a <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nefungovali správne a boli odstránené. Ak chcete odomykať telefón odtlačkom prsta, nastavte ich znova."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Znova nastavte odomknutie tvárou"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Váš model tváre nefungoval správne a bol odstránený. Ak chcete odomykať telefón tvárou, nastavte ho znova."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Nastaviť"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Teraz nie"</string> </resources> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index b5b6cc96ad28..582f208c299f 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -1727,7 +1727,7 @@ <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Ogledovanje in upravljanje zaslona"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Bere lahko vso vsebino na zaslonu ter prikaže vsebino prek drugih aplikacij."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Ogledovanje in izvajanje dejanj"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Spremlja lahko vaše interakcije z aplikacijo ali tipalom strojne opreme ter komunicira z aplikacijami v vašem imenu."</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Spremlja lahko vaše interakcije z aplikacijo ali tipalom ter komunicira z aplikacijami v vašem imenu."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Dovoli"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"Zavrni"</string> <string name="accessibility_dialog_button_uninstall" msgid="2952465517671708108">"Odmesti"</string> @@ -2397,22 +2397,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Sporočila SMS lahko pošiljate in prejemate brez mobilnega omrežja ali omrežja Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Odpri Sporočila"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Kako deluje"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Vnovična nastavitev odklepanja s prstnim odtisom"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> ni deloval pravilno in je bil izbrisan. Znova ga nastavite, če želite telefon odklepati s prstnim odtisom."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> in <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nista delovala pravilno in sta bila izbrisana. Znova ju nastavite, če želite telefon odklepati s prstnim odtisom."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Vnovična nastavitev odklepanja z obrazom"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Model obraza ni deloval pravilno in je bil izbrisan. Znova ga nastavite, če želite telefon odklepati z obrazom."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Nastavi"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Ne zdaj"</string> </resources> diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml index 0057a43a6378..32c79d6f2b50 100644 --- a/core/res/res/values-sq/strings.xml +++ b/core/res/res/values-sq/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Mund të dërgosh dhe të marrësh mesazhe pa një rrjet celular apo rrjet Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Hap \"Mesazhet\""</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Si funksionon"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Konfiguro përsëri \"Shkyçjen me gjurmën e gishtit\""</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> nuk po funksiononte mirë dhe u fshi. Konfiguroje përsëri për ta shkyçur telefonin tënd me gjurmën e gishtit."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> dhe <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> nuk po funksiononin mirë dhe u fshinë. Konfiguroji përsëri për ta shkyçur telefonin tënd me gjurmën e gishtit."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Konfiguro \"Shkyçjen me fytyrë\" përsëri"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Modeli yt i fytyrës nuk po funksiononte mirë dhe u fshi. Konfiguroje përsëri për ta shkyçur telefonin tënd me fytyrën."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Konfiguro"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Jo tani"</string> </resources> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index 1efa08f60836..745c190985bd 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -831,11 +831,11 @@ <string name="policylab_watchLogin" msgid="7599669460083719504">"Надзор покушаја откључавања екрана"</string> <string name="policydesc_watchLogin" product="tablet" msgid="2388436408621909298">"Прати број нетачно унетих лозинки приликом откључавања екрана и закључава таблет или брише податке са таблета ако је нетачна лозинка унета превише пута."</string> <string name="policydesc_watchLogin" product="tv" msgid="2140588224468517507">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава Android TV уређај или брише све податке са Android TV уређаја ако се унесе превише нетачних лозинки."</string> - <string name="policydesc_watchLogin" product="automotive" msgid="7011438994051251521">"Прати број нетачно унетих лозинки при откључавању екрана и закључава систем за инфо-забаву или брише све податке са система за инфо-забаву ако је нетачна лозинка унета превише пута."</string> + <string name="policydesc_watchLogin" product="automotive" msgid="7011438994051251521">"Прати број нетачно унетих лозинки при откључавању екрана и закључава систем за информације и забаву или брише све податке са система за информације и забаву ако је нетачна лозинка унета превише пута."</string> <string name="policydesc_watchLogin" product="default" msgid="4885030206253600299">"Прати број нетачно унетих лозинки при откључавању екрана и закључава телефон или брише све податке са телефона ако је нетачна лозинка унета превише пута."</string> <string name="policydesc_watchLogin_secondaryUser" product="tablet" msgid="2049038943004297474">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава таблет или брише све податке овог корисника ако се унесе превише нетачних лозинки."</string> <string name="policydesc_watchLogin_secondaryUser" product="tv" msgid="8965224107449407052">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава Android TV уређај или брише све податке овог корисника ако се унесе превише нетачних лозинки."</string> - <string name="policydesc_watchLogin_secondaryUser" product="automotive" msgid="7180857406058327941">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава систем за инфо-забаву или брише све податке овог профила ако се унесе превише нетачних лозинки."</string> + <string name="policydesc_watchLogin_secondaryUser" product="automotive" msgid="7180857406058327941">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава систем за информације и забаву или брише све податке овог профила ако се унесе превише нетачних лозинки."</string> <string name="policydesc_watchLogin_secondaryUser" product="default" msgid="9177645136475155924">"Надгледа број нетачних лозинки унетих при откључавању екрана и закључава телефон или брише све податке овог корисника ако се унесе превише нетачних лозинки."</string> <string name="policylab_resetPassword" msgid="214556238645096520">"Промена закључавања екрана"</string> <string name="policydesc_resetPassword" msgid="4626419138439341851">"Мења откључавање екрана."</string> @@ -844,13 +844,13 @@ <string name="policylab_wipeData" msgid="1359485247727537311">"Брисање свих података"</string> <string name="policydesc_wipeData" product="tablet" msgid="7245372676261947507">"Брисање података на таблету без упозорења ресетовањем на фабричка подешавања."</string> <string name="policydesc_wipeData" product="tv" msgid="513862488950801261">"Брише податке Android TV уређаја без упозорења помоћу ресетовања на фабричка подешавања."</string> - <string name="policydesc_wipeData" product="automotive" msgid="660804547737323300">"Брише податке на систему за инфо-забаву без упозорења ресетовањем на фабричка подешавања."</string> + <string name="policydesc_wipeData" product="automotive" msgid="660804547737323300">"Брише податке на систему за информације и забаву без упозорења ресетовањем на фабричка подешавања."</string> <string name="policydesc_wipeData" product="default" msgid="8036084184768379022">"Брисање података на телефону без упозорења ресетовањем на фабричка подешавања."</string> <string name="policylab_wipeData_secondaryUser" product="automotive" msgid="115034358520328373">"Брисање података профила"</string> <string name="policylab_wipeData_secondaryUser" product="default" msgid="413813645323433166">"Обриши податке корисника"</string> <string name="policydesc_wipeData_secondaryUser" product="tablet" msgid="2336676480090926470">"Брише податке овог корисника на овом таблету без упозорења."</string> <string name="policydesc_wipeData_secondaryUser" product="tv" msgid="2293713284515865200">"Брише податке овог корисника на овом Android TV уређају без упозорења."</string> - <string name="policydesc_wipeData_secondaryUser" product="automotive" msgid="4658832487305780879">"Брише податке овог профила на овом систему за инфо-забаву без упозорења."</string> + <string name="policydesc_wipeData_secondaryUser" product="automotive" msgid="4658832487305780879">"Брише податке овог профила на овом систему за информације и забаву без упозорења."</string> <string name="policydesc_wipeData_secondaryUser" product="default" msgid="2788325512167208654">"Брише податке овог корисника на овом телефону без упозорења."</string> <string name="policylab_setGlobalProxy" msgid="215332221188670221">"Подесите глобални прокси сервер уређаја"</string> <string name="policydesc_setGlobalProxy" msgid="7149665222705519604">"Подешава глобални прокси уређаја који ће се користити док су смернице омогућене. Само власник уређаја може да подеси глобални прокси."</string> @@ -2396,22 +2396,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Можете да шаљете и примате поруке без мобилне или WiFi мреже"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Отвори Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Принцип рада"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Поново подесите откључавање отиском прста"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> није функционисао и избрисали смо га. Поново га подесите да бисте телефон откључавали отиском прста."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> и <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> нису функционисали и избрисали смо их. Поново их подесите да бисте телефон откључавали отиском прста."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Поново подесите откључавање лицем"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Ваш модел лица није функционисао и избрисали смо га. Поново га подесите да бисте телефон откључавали лицем."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Подеси"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Не сада"</string> </resources> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index dd449fbba645..c01a65f7cb56 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -619,12 +619,12 @@ <string name="permdesc_postNotification" msgid="5974977162462877075">"Tillåter att appen visar aviseringar"</string> <string name="permlab_turnScreenOn" msgid="219344053664171492">"Slå på skärmen"</string> <string name="permdesc_turnScreenOn" msgid="4394606875897601559">"Tillåter att appen slår på skärmen."</string> - <string name="permlab_useBiometric" msgid="6314741124749633786">"använd biometrisk maskinvara"</string> - <string name="permdesc_useBiometric" msgid="7502858732677143410">"Tillåter att appen använder biometrisk maskinvara vid autentisering"</string> - <string name="permlab_manageFingerprint" msgid="7432667156322821178">"hantera maskinvara för fingeravtryck"</string> + <string name="permlab_useBiometric" msgid="6314741124749633786">"använd biometrisk hårdvara"</string> + <string name="permdesc_useBiometric" msgid="7502858732677143410">"Tillåter att appen använder biometrisk hårdvara vid autentisering"</string> + <string name="permlab_manageFingerprint" msgid="7432667156322821178">"hantera hårdvara för fingeravtryck"</string> <string name="permdesc_manageFingerprint" msgid="2025616816437339865">"Tillåter att appen anropar metoder för att lägga till och radera fingeravtrycksmallar."</string> - <string name="permlab_useFingerprint" msgid="1001421069766751922">"använda maskinvara för fingeravtryck"</string> - <string name="permdesc_useFingerprint" msgid="412463055059323742">"Tillåter att appen använder maskinvara för fingeravtryck vid autentisering"</string> + <string name="permlab_useFingerprint" msgid="1001421069766751922">"använda hårdvara för fingeravtryck"</string> + <string name="permdesc_useFingerprint" msgid="412463055059323742">"Tillåter att appen använder hårdvara för fingeravtryck vid autentisering"</string> <string name="permlab_audioWrite" msgid="8501705294265669405">"göra ändringar i din musiksamling"</string> <string name="permdesc_audioWrite" msgid="8057399517013412431">"Tillåter att appen gör ändringar i din musiksamling."</string> <string name="permlab_videoWrite" msgid="5940738769586451318">"göra ändringar i din videosamling"</string> @@ -638,7 +638,7 @@ <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifiera din identitet"</string> <string name="biometric_dialog_default_subtitle" msgid="8457232339298571992">"Fortsätt med hjälp av din biometriska data"</string> <string name="biometric_or_screen_lock_dialog_default_subtitle" msgid="159539678371552009">"Fortsätt med hjälp av din biometriska data eller skärmlåset"</string> - <string name="biometric_error_hw_unavailable" msgid="2494077380540615216">"Biometrisk maskinvara är inte tillgänglig"</string> + <string name="biometric_error_hw_unavailable" msgid="2494077380540615216">"Biometrisk hårdvara är inte tillgänglig"</string> <string name="biometric_error_user_canceled" msgid="6732303949695293730">"Autentiseringen avbröts"</string> <string name="biometric_not_recognized" msgid="5106687642694635888">"Identifierades inte"</string> <string name="biometric_face_not_recognized" msgid="5535599455744525200">"Ansiktet känns inte igen"</string> @@ -666,7 +666,7 @@ <string name="fingerprint_authenticated" msgid="2024862866860283100">"Fingeravtrycket har autentiserats"</string> <string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Ansiktet har autentiserats"</string> <string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Ansiktet har autentiserats. Tryck på Bekräfta"</string> - <string name="fingerprint_error_hw_not_available" msgid="7755729484334001137">"Det finns ingen maskinvara för fingeravtryck"</string> + <string name="fingerprint_error_hw_not_available" msgid="7755729484334001137">"Det finns ingen hårdvara för fingeravtryck"</string> <string name="fingerprint_error_no_space" msgid="7285481581905967580">"Det gick inte att konfigurera fingeravtryck"</string> <string name="fingerprint_error_timeout" msgid="7361192266621252164">"Tiden för fingeravtrycksinställning gick ut. Försök igen."</string> <string name="fingerprint_error_canceled" msgid="5541771463159727513">"Fingeravtrycksåtgärden avbröts"</string> @@ -728,7 +728,7 @@ <string name="face_acquired_mouth_covering_detected_alt" msgid="1122294982850589766">"Något täcker ansiktet. Hela ansiktet måste synas."</string> <string-array name="face_acquired_vendor"> </string-array> - <string name="face_error_hw_not_available" msgid="5085202213036026288">"Ansiktsverifiering går ej. Otillgänglig maskinvara."</string> + <string name="face_error_hw_not_available" msgid="5085202213036026288">"Ansiktsverifiering går ej. Otillgänglig hårdvara."</string> <string name="face_error_timeout" msgid="2598544068593889762">"Försök att använda ansiktslåset igen"</string> <string name="face_error_no_space" msgid="5649264057026021723">"Kan inte lagra ny ansiktsdata. Radera först gammal data."</string> <string name="face_error_canceled" msgid="2164434737103802131">"Ansiktsåtgärden har avbrutits."</string> @@ -1725,7 +1725,7 @@ <string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Visa och styra skärmen"</string> <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"Den kan läsa allt innehåll på skärmen och visa innehåll över andra appar."</string> <string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Visa och vidta åtgärder"</string> - <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Den kan registrera din användning av en app eller maskinvarusensor och interagera med appar åt dig."</string> + <string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"Den kan registrera din användning av en app eller hårdvarusensor och interagera med appar åt dig."</string> <string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Tillåt"</string> <string name="accessibility_dialog_button_deny" msgid="4129575637812472671">"Neka"</string> <string name="accessibility_dialog_button_uninstall" msgid="2952465517671708108">"Avinstallera"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Du kan skicka och ta emot meddelanden utan mobil- eller wifi-nätverk"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Öppna Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Så fungerar det"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Konfigurera fingeravtryckslås igen"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> fungerade inte bra och har raderats. Konfigurera det igen för att låsa upp telefonen med fingeravtryck."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> och <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> fungerade inte bra och har raderats. Konfigurera dem igen för att låsa upp telefonen med fingeravtryck."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Konfigurera ansiktslås igen"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Ansiktsmodellen fungerade inte bra och har raderats. Konfigurera den igen för att låsa upp telefonen med ansiktet."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Ställ in"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Inte nu"</string> </resources> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index 9ebca969cea4..935d354b7a59 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Unaweza kutuma na kupokea ujumbe bila mtandao wa simu au Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Fungua Programu ya Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Utaratibu wake"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Weka tena mipangilio ya Kufungua kwa Alama ya Kidole"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Alama ya <xliff:g id="FINGERPRINT">%s</xliff:g> ilikuwa na hitilafu na imefutwa. Iweke tena ili ufungue simu yako kwa alama ya kidole."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Alama za <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> na <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> zilikuwa na hitilafu na zimefutwa. Ziweke tena ili ufungue simu yako kwa alama ya kidole."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Weka tena mipangilio ya Kufungua kwa Uso"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Muundo wako wa uso ulikuwa na hitilafu na umefutwa. Uweke tena ili ufungue simu yako kwa uso."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Weka mipangilio"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Si sasa"</string> </resources> diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml index f3b5d66179b7..ec90d0283116 100644 --- a/core/res/res/values-ta/strings.xml +++ b/core/res/res/values-ta/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"மொபைல்/வைஃபை நெட்வொர்க் இல்லாமல் நீங்கள் மெசேஜ்களை அனுப்பலாம் பெறலாம்"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messages ஆப்ஸைத் திறக்கவும்"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"இது செயல்படும் விதம்"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"கைரேகை அன்லாக் அம்சத்தை மீண்டும் அமையுங்கள்"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> சரியாகச் செயல்படவில்லை என்பதால் அது நீக்கபட்டது. கைரேகை மூலம் உங்கள் மொபைலை அன்லாக் செய்ய அதை மீண்டும் அமையுங்கள்."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> மற்றும் <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> சரியாகச் செயல்படவில்லை என்பதால் அவை நீக்கப்பட்டன. கைரேகை மூலம் உங்கள் மொபைலை அன்லாக் செய்ய அவற்றை மீண்டும் அமையுங்கள்."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"\'முகம் காட்டித் திறத்தல்\' அம்சத்தை மீண்டும் அமையுங்கள்"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"உங்கள் முகத் தோற்றப் பதிவு சரியாகச் செயல்படவில்லை என்பதால் அது நீக்கப்பட்டது. உங்கள் முகத்தைப் பயன்படுத்தி மொபைலை அன்லாக் செய்ய அதை மீண்டும் அமையுங்கள்."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"அமை"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"இப்போது வேண்டாம்"</string> </resources> diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml index fdebd1475379..61b9beec7704 100644 --- a/core/res/res/values-te/strings.xml +++ b/core/res/res/values-te/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"మీరు మొబైల్ లేదా Wi-Fi నెట్వర్క్ లేకుండా మెసేజ్లను పంపవచ్చు, స్వీకరించవచ్చు"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Messagesను తెరవండి"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"ఇది ఎలా పని చేస్తుంది"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"వేలిముద్ర అన్లాక్ను మళ్లీ సెటప్ చేయండి"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> సరిగ్గా పని చేయడం లేదు, తొలగించబడింది. వేలిముద్రతో మీ ఫోన్ను అన్లాక్ చేయడానికి దాన్ని మళ్లీ సెటప్ చేయండి."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>, <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> బాగా పని చేయడం లేదు, తొలగించబడ్డాయి. మీ వేలిముద్రతో మీ ఫోన్ను అన్లాక్ చేయడానికి వాటిని మళ్లీ సెటప్ చేయండి."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ఫేస్ అన్లాక్ను మళ్లీ సెటప్ చేయండి"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"మీ ఫేస్ మోడల్ సరిగ్గా పని చేయడం లేదు, తొలగించబడింది. ఫేస్తో మీ ఫోన్ను అన్లాక్ చేయడానికి దాన్ని మళ్లీ సెటప్ చేయండి."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"సెటప్ చేయండి"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ఇప్పుడు కాదు"</string> </resources> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 3574173155ea..2cb4b1429229 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"คุณรับส่งข้อความผ่านดาวเทียมได้โดยไม่ต้องใช้เครือข่ายมือถือหรือ Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"เปิด Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"วิธีการทำงาน"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"ตั้งค่าการปลดล็อกด้วยลายนิ้วมืออีกครั้ง"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g>ทำงานได้ไม่ดีและถูกลบออกไปแล้ว ตั้งค่าอีกครั้งเพื่อปลดล็อกโทรศัพท์ด้วยลายนิ้วมือ"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> และ <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ทำงานได้ไม่ดีและถูกลบออกไปแล้ว ตั้งค่าอีกครั้งเพื่อปลดล็อกโทรศัพท์ด้วยลายนิ้วมือ"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"ตั้งค่าการปลดล็อกด้วยใบหน้าอีกครั้ง"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"รูปแบบใบหน้าของคุณทำงานได้ไม่ดีและถูกลบออกไปแล้ว ตั้งค่าอีกครั้งเพื่อปลดล็อกโทรศัพท์ด้วยใบหน้า"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"ตั้งค่า"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ไว้ทีหลัง"</string> </resources> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 5305892b5106..063884d6840b 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Puwede kang magpadala at tumanggap ng mga mensahe nang walang mobile o Wi-Fi network"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Buksan ang Messages"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Paano ito gumagana"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"I-set up ulit ang Pag-unlock Gamit ang Fingerprint"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Hindi gumagana nang maayos ang <xliff:g id="FINGERPRINT">%s</xliff:g> at na-delete na ito. I-set up ulit ito para ma-unlock ang iyong telepono sa pamamagitan ng fingerprint."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Hindi gumagana nang maayos ang <xliff:g id="FINGERPRINT_0">%1$s</xliff:g> at <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> at na-delete na ang mga ito. I-set up ulit ang mga ito para ma-unlock ang iyong telepono gamit ang fingerprint mo."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"I-set up ulit ang Pag-unlock Gamit ang Mukha"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Hindi gumagana nang maayos ang iyong face model at na-delete na ito. I-set up ulit ito para ma-unlock ang iyong telepono sa pamamagitan ng mukha."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"I-set up"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Huwag muna"</string> </resources> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index cfdc947a325d..bd83d30207db 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Mobil veya kablosuz ağa bağlı olmadan mesaj alıp gönderebilirsiniz"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Mesajlar\'ı aç"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"İşleyiş şekli"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Parmak İzi Kilidi\'ni tekrar kurun"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> iyi çalışmadığı için silindi. Telefonunuzun kilidini parmak iziyle açmak için tekrar kurun."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> ve <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> iyi çalışmadığı için silindi. Telefonunuzun kilidini parmak izinizle açmak için tekrar kurun."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Yüz Tanıma Kilidi\'ni tekrar kurun"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Yüz modeliniz iyi çalışmadığı için silindi. Telefonunuzun kilidini yüzünüzle açmak için tekrar kurun."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Ayarla"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Şimdi değil"</string> </resources> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index b3b4f54c142c..9dc5718454a2 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -2397,22 +2397,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Ви можете надсилати й отримувати повідомлення, не використовуючи Wi-Fi або мобільну мережу"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Відкрийте Повідомлення"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Як це працює"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Налаштуйте розблокування відбитком пальця повторно"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"Відбиток \"<xliff:g id="FINGERPRINT">%s</xliff:g>\" працював неналежним чином, і його видалено. Налаштуйте його ще раз, щоб розблоковувати телефон за допомогою відбитка пальця."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"Відбитки \"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>\" і \"<xliff:g id="FINGERPRINT_1">%2$s</xliff:g>\" працювали неналежним чином, і їх видалено. Налаштуйте їх ще раз, щоб розблоковувати телефон за допомогою відбитка пальця."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Налаштуйте фейс-контроль повторно"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Модель обличчя працювала неналежним чином, і її видалено. Налаштуйте її ще раз, щоб розблоковувати телефон за допомогою фейс-контролю."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Налаштувати"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Не зараз"</string> </resources> diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml index ba714620ac30..13becc099295 100644 --- a/core/res/res/values-ur/strings.xml +++ b/core/res/res/values-ur/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"آپ موبائل یا Wi-Fi نیٹ ورک کے بغیر پیغامات بھیج اور موصول کر سکتے ہیں"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"پیغامات ایپ کو کھولیں"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"اس کے کام کرنے کا طریقہ"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"فنگر پرنٹ اَن لاک کو دوبارہ سیٹ اپ کریں"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> اچھی طرح کام نہیں کر رہا تھا اور حذف کر دیا گیا تھا۔ اپنے فون کو فنگر پرنٹ سے غیر مقفل کرنے کے لیے، اسے دوبارہ سیٹ اپ کریں۔"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> اور <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> اچھی طرح کام نہیں کر رہے تھے اور انہیں حذف کر دیا گیا تھا۔ اپنے فون کو اپنے فنگر پرنٹ سے غیر مقفل کرنے کے لیے انہیں دوبارہ سیٹ اپ کریں۔"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"فیس اَن لاک کو دوبارہ سیٹ اپ کریں"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"آپ کے چہرے کا ماڈل اچھی طرح کام نہیں کر رہا تھا اور حذف کر دیا گیا تھا۔ اپنے فون کو چہرے سے غیر مقفل کرنے کے لیے، اسے دوبارہ سیٹ اپ کریں۔"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"سیٹ اپ کریں"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"ابھی نہیں"</string> </resources> diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml index 87ec24e948ed..bf723fc25d5e 100644 --- a/core/res/res/values-uz/strings.xml +++ b/core/res/res/values-uz/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Mobil yoki Wi-Fi tarmoqsiz xabarlarni yuborishingiz va qabul qilishingiz mumkin"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Xabarlar ilovasini ochish"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Ishlash tartibi"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Barmoq izi bilan ochish funksiyasini qayta sozlang"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> yaxshi ishlamadi va oʻchirib tashlandi. Telefonni barmoq izi bilan ochish uchun uni qayta sozlang."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> va <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> yaxshi ishlamadi va oʻchirib tashlandi. Telefonni barmoq izi bilan ochish uchun ularni qayta sozlang."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Yuz bilan ochishni qayta sozlash"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Yuzingiz mobeli yaxshi ishlamadi va oʻchirib tashlandi. Telefonni yuz bilan ochish uchun uni qayta sozlang."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Sozlash"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Hozir emas"</string> </resources> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 9f732eb9d129..69c1e807967c 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Bạn có thể gửi và nhận tin nhắn mà không cần có mạng di động hoặc mạng Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Mở ứng dụng Tin nhắn"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Cách hoạt động"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Thiết lập lại tính năng Mở khoá bằng vân tay"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"<xliff:g id="FINGERPRINT">%s</xliff:g> không dùng được và đã bị xoá. Hãy thiết lập lại để mở khoá điện thoại bằng vân tay."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> và <xliff:g id="FINGERPRINT_1">%2$s</xliff:g> không dùng được và đã bị xoá. Hãy thiết lập lại để mở khoá điện thoại bằng vân tay."</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Thiết lập lại tính năng Mở khoá bằng khuôn mặt"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Mẫu khuôn mặt của bạn không dùng được và đã bị xoá. Hãy thiết lập lại để mở khoá điện thoại bằng khuôn mặt."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Thiết lập"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Để sau"</string> </resources> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 987b17087ad0..29afa502f5b9 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"您无需使用移动网络或 WLAN 网络便能收发消息"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"打开“信息”应用"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"运作方式"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"重新设置指纹解锁功能"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"“<xliff:g id="FINGERPRINT">%s</xliff:g>”无法正常使用,系统已将其删除。如要通过指纹解锁功能来解锁手机,请重新设置。"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"“<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>”和“<xliff:g id="FINGERPRINT_1">%2$s</xliff:g>”无法正常使用,系统已将它们删除。如要通过指纹解锁功能来解锁手机,请重新设置。"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"重新设置“人脸解锁”功能"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"您的脸部模型无法正常使用,系统已将其删除。如要通过人脸解锁功能来解锁手机,请重新设置。"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"设置"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"以后再说"</string> </resources> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index 855020fd880d..203ec83c1150 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -647,11 +647,11 @@ <string name="biometric_error_generic" msgid="6784371929985434439">"驗證時發生錯誤"</string> <string name="screen_lock_app_setting_name" msgid="6054944352976789228">"使用螢幕鎖定"</string> <string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"如要繼續操作,請輸入螢幕鎖定解鎖憑證"</string> - <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"請用力按住感應器"</string> + <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"請按住感應器"</string> <string name="fingerprint_acquired_insufficient" msgid="2410176550915730974">"無法辨識指紋,請再試一次。"</string> <string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"請清潔指紋感應器,然後再試一次"</string> <string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"請清潔感應器,然後再試一次"</string> - <string name="fingerprint_acquired_too_fast" msgid="1628459767349116104">"請用力按住感應器"</string> + <string name="fingerprint_acquired_too_fast" msgid="1628459767349116104">"請按住感應器"</string> <string name="fingerprint_acquired_too_slow" msgid="6683510291554497580">"手指移動太慢,請重試。"</string> <string name="fingerprint_acquired_already_enrolled" msgid="2285166003936206785">"改用其他指紋"</string> <string name="fingerprint_acquired_too_bright" msgid="3863560181670915607">"太亮"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"你可在沒有流動/Wi-Fi 網絡的情況下收發訊息"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"開啟「訊息」"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"運作方式"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"重新設定「指紋解鎖」功能"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"由於「<xliff:g id="FINGERPRINT">%s</xliff:g>」無法正常運作,因此系統已將其刪除。請重新設定,才能使用指紋解鎖手機。"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"由於「<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>」和「<xliff:g id="FINGERPRINT_1">%2$s</xliff:g>」無法正常運作,因此系統已將其刪除。請重新設定,才能使用指紋解鎖手機。"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"重新設定「面孔解鎖」功能"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"由於面部模型無法正常運作,因此系統已將其刪除。請重新設定,才能使用面孔解鎖手機。"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"設定"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"暫時不要"</string> </resources> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 38ff5634e8be..d762a7e634eb 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -267,7 +267,7 @@ <string name="bugreport_option_full_title" msgid="7681035745950045690">"完整報告"</string> <string name="bugreport_option_full_summary" msgid="1975130009258435885">"如果你的裝置沒有回應或運行速度過慢,或是當你需要所有區段的報告時,建議你使用這個選項來減少系統干擾。這個選項不支援你輸入更多資訊,也不會擷取其他螢幕畫面。"</string> <string name="bugreport_countdown" msgid="6418620521782120755">"{count,plural, =1{系統將在 # 秒後擷取錯誤報告的螢幕截圖。}other{系統將在 # 秒後擷取錯誤報告的螢幕截圖。}}"</string> - <string name="bugreport_screenshot_success_toast" msgid="7986095104151473745">"已拍攝錯誤報告的螢幕截圖"</string> + <string name="bugreport_screenshot_success_toast" msgid="7986095104151473745">"已擷取錯誤報告的螢幕截圖"</string> <string name="bugreport_screenshot_failure_toast" msgid="6736320861311294294">"無法拍攝錯誤報告的螢幕截圖"</string> <string name="global_action_toggle_silent_mode" msgid="8464352592860372188">"靜音模式"</string> <string name="global_action_silent_mode_on_status" msgid="2371892537738632013">"音效已關閉"</string> @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"你可以收發訊息,沒有行動/Wi-Fi 網路也無妨"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"開啟「訊息」應用程式"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"運作方式"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"重新設定指紋解鎖"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"「<xliff:g id="FINGERPRINT">%s</xliff:g>」無法正常運作,因此系統已將其刪除。請重新設定,才能用指紋解鎖手機。"</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"「<xliff:g id="FINGERPRINT_0">%1$s</xliff:g>」和「<xliff:g id="FINGERPRINT_1">%2$s</xliff:g>」無法正常運作,因此系統已將其刪除。請重新設定,才能用指紋解鎖手機。"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"重新設定人臉解鎖"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"臉部模型無法正常運作,因此系統已將其刪除。請重新設定,才能用臉解鎖手機。"</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"設定"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"暫時不要"</string> </resources> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 258a3cdce085..1df5d9ea459d 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -2395,22 +2395,15 @@ <string name="satellite_notification_summary" msgid="5207364139430767162">"Ungathumela futhi wamukele imilayezo ngaphandle kwenethiwekhi yeselula noma ye-Wi-Fi"</string> <string name="satellite_notification_open_message" msgid="4149234979688273729">"Vula Imilayezo"</string> <string name="satellite_notification_how_it_works" msgid="3132069321977520519">"Indlela esebenza ngayo"</string> - <!-- no translation found for fingerprint_dangling_notification_title (7362075195588639989) --> + <string name="fingerprint_dangling_notification_title" msgid="7362075195588639989">"Setha Ukuvula ngesigxivizo somunwe futhi"</string> + <!-- no translation found for fingerprint_dangling_notification_msg_1 (8517140433796229725) --> <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_1 (6261149111900787302) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_2 (7688302770424064884) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_1 (2927018569542316055) --> - <skip /> - <!-- no translation found for fingerprint_dangling_notification_msg_all_deleted_2 (6897989352716156176) --> - <skip /> - <!-- no translation found for face_dangling_notification_title (947852541060975473) --> - <skip /> - <!-- no translation found for face_dangling_notification_msg (8806849376915541655) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_set_up (8246885009807817961) --> - <skip /> - <!-- no translation found for biometric_dangling_notification_action_not_now (8095249216864443491) --> + <!-- no translation found for fingerprint_dangling_notification_msg_2 (7578829498452127613) --> <skip /> + <string name="fingerprint_dangling_notification_msg_all_deleted_1" msgid="2927018569542316055">"I-<xliff:g id="FINGERPRINT">%s</xliff:g> ibingasebenzi kahle futhi isuliwe. Phinde uyisethe ukuze uvule ifoni yakho ngesigxivizo somunwe."</string> + <string name="fingerprint_dangling_notification_msg_all_deleted_2" msgid="6897989352716156176">"I-<xliff:g id="FINGERPRINT_0">%1$s</xliff:g> kanye ne-<xliff:g id="FINGERPRINT_1">%2$s</xliff:g> ibingasebenzi kahle futhi isuliwe. Phinde uyisethe ukuze uvule ifoni yakho ngesigxivizo somunwe wakho"</string> + <string name="face_dangling_notification_title" msgid="947852541060975473">"Setha Ukuvula Ngobuso futhi"</string> + <string name="face_dangling_notification_msg" msgid="8806849376915541655">"Imodeli yobuso yakho ibingasebenzi kahle futhi isuliwe. Phinde uyisethe ukuze uvule ifoni yakho ngobuso."</string> + <string name="biometric_dangling_notification_action_set_up" msgid="8246885009807817961">"Setha"</string> + <string name="biometric_dangling_notification_action_not_now" msgid="8095249216864443491">"Hhayi manje"</string> </resources> diff --git a/core/res/res/values/config_telephony.xml b/core/res/res/values/config_telephony.xml index 564af7a815ee..ce1881a55dc1 100644 --- a/core/res/res/values/config_telephony.xml +++ b/core/res/res/values/config_telephony.xml @@ -355,4 +355,22 @@ </string-array> <java-symbol type="array" name="config_force_cellular_transport_capabilities" /> + <!-- The time duration in millis after which DemoSimulator will move to CONNECTED state from + NOT_CONNECTED state if the device is aligned to satellite. + --> + <integer name="config_demo_pointing_aligned_duration_millis">15000</integer> + <java-symbol type="integer" name="config_demo_pointing_aligned_duration_millis" /> + + <!-- The time duration in millis after which DemoSimulator will move to NOT_CONNECTED state from + CONNECTED state if the device is not aligned to satellite. + --> + <integer name="config_demo_pointing_not_aligned_duration_millis">30000</integer> + <java-symbol type="integer" name="config_demo_pointing_not_aligned_duration_millis" /> + + <!-- Boolean indicating whether Telephony should wait for device alignment with satellite + before sending or receiving datagrams in demo mode. + --> + <bool name="config_wait_for_device_alignment_in_demo_datagram">false</bool> + <java-symbol type="bool" name="config_wait_for_device_alignment_in_demo_datagram" /> + </resources> diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java index 1e3d7fb06da2..659be79111c4 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/pip/Pip1Module.java @@ -60,6 +60,7 @@ import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; +import com.android.wm.shell.transition.HomeTransitionObserver; import com.android.wm.shell.transition.Transitions; import dagger.Module; @@ -192,11 +193,12 @@ public abstract class Pip1Module { PipBoundsState pipBoundsState, PipDisplayLayoutState pipDisplayLayoutState, PipTransitionState pipTransitionState, PhonePipMenuController pipMenuController, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, + HomeTransitionObserver homeTransitionObserver, Optional<SplitScreenController> splitScreenOptional) { return new PipTransition(context, shellInit, shellTaskOrganizer, transitions, pipBoundsState, pipDisplayLayoutState, pipTransitionState, pipMenuController, pipBoundsAlgorithm, pipAnimationController, pipSurfaceTransactionHelper, - splitScreenOptional); + homeTransitionObserver, splitScreenOptional); } @WMSingleton diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java index d60f5a631044..79b107997a08 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java @@ -76,6 +76,7 @@ import com.android.wm.shell.shared.TransitionUtil; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.transition.CounterRotatorHelper; +import com.android.wm.shell.transition.HomeTransitionObserver; import com.android.wm.shell.transition.Transitions; import java.io.PrintWriter; @@ -108,6 +109,7 @@ public class PipTransition extends PipTransitionController { private final PipDisplayLayoutState mPipDisplayLayoutState; private final int mEnterExitAnimationDuration; private final PipSurfaceTransactionHelper mSurfaceTransactionHelper; + private final HomeTransitionObserver mHomeTransitionObserver; private final Optional<SplitScreenController> mSplitScreenOptional; private final PipAnimationController mPipAnimationController; private @PipAnimationController.AnimationType int mEnterAnimationType = ANIM_TYPE_BOUNDS; @@ -165,6 +167,7 @@ public class PipTransition extends PipTransitionController { PipBoundsAlgorithm pipBoundsAlgorithm, PipAnimationController pipAnimationController, PipSurfaceTransactionHelper pipSurfaceTransactionHelper, + HomeTransitionObserver homeTransitionObserver, Optional<SplitScreenController> splitScreenOptional) { super(shellInit, shellTaskOrganizer, transitions, pipBoundsState, pipMenuController, pipBoundsAlgorithm); @@ -175,6 +178,7 @@ public class PipTransition extends PipTransitionController { mEnterExitAnimationDuration = context.getResources() .getInteger(R.integer.config_pipResizeAnimationDuration); mSurfaceTransactionHelper = pipSurfaceTransactionHelper; + mHomeTransitionObserver = homeTransitionObserver; mSplitScreenOptional = splitScreenOptional; } @@ -197,6 +201,9 @@ public class PipTransition extends PipTransitionController { animator.cancel(); } mExitTransition = mTransitions.startTransition(type, out, this); + if (mPipOrganizer.getOutPipWindowingMode() == WINDOWING_MODE_UNDEFINED) { + mHomeTransitionObserver.notifyHomeVisibilityChanged(false /* isVisible */); + } } @Override diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java index 274183dd9e2e..5ac99cf2625f 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java @@ -31,7 +31,6 @@ import static android.view.WindowManager.fixScale; import static android.window.TransitionInfo.FLAG_BACK_GESTURE_ANIMATED; import static android.window.TransitionInfo.FLAG_IS_BEHIND_STARTING_WINDOW; import static android.window.TransitionInfo.FLAG_IS_OCCLUDED; -import static android.window.TransitionInfo.FLAG_MOVED_TO_TOP; import static android.window.TransitionInfo.FLAG_NO_ANIMATION; import static android.window.TransitionInfo.FLAG_STARTING_WINDOW_TRANSFER_RECIPIENT; @@ -538,15 +537,15 @@ public class Transitions implements RemoteCallable<Transitions>, final int mode = change.getMode(); // Put all the OPEN/SHOW on top if (mode == TRANSIT_OPEN || mode == TRANSIT_TO_FRONT) { - if (isOpening - // This is for when an activity launches while a different transition is - // collecting. - || change.hasFlags(FLAG_MOVED_TO_TOP)) { + if (isOpening) { // put on top return zSplitLine + numChanges - i; - } else { + } else if (isClosing) { // put on bottom return zSplitLine - i; + } else { + // maintain relative ordering (put all changes in the animating layer) + return zSplitLine + numChanges - i; } } else if (mode == TRANSIT_CLOSE || mode == TRANSIT_TO_BACK) { if (isOpening) { diff --git a/packages/CompanionDeviceManager/res/values-ar/strings.xml b/packages/CompanionDeviceManager/res/values-ar/strings.xml index 961c63bd2b11..7bab1d17148d 100644 --- a/packages/CompanionDeviceManager/res/values-ar/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ar/strings.xml @@ -65,7 +65,7 @@ <string name="permission_contacts_summary" msgid="2840800622763086808">"الوصول إلى جهات اتصالك"</string> <string name="permission_calendar_summary" msgid="8430353935747336165">"الوصول إلى تقويمك"</string> <string name="permission_microphone_summary" msgid="4862628553869973259">"تسجيل الصوت"</string> - <string name="permission_nearby_devices_summary" msgid="1306752848196464817">"يمكن العثور على الموضع النسبي للأجهزة المجاورة والربط بها وتحديدها."</string> + <string name="permission_nearby_devices_summary" msgid="1306752848196464817">"يمكن العثور على الأجهزة المجاورة والربط بها وتحديد موقعها النسبي."</string> <string name="permission_notification_listener_access_summary" msgid="7856071768185367749">"يمكن لهذا الملف الشخصي قراءة جميع الإشعارات، بما في ذلك المعلومات، مثل جهات الاتصال والرسائل والصور."</string> <string name="permission_notifications_summary" msgid="2272810466047367030">"• قراءة كل الإشعارات بما فيها المعلومات، مثل جهات الاتصال والرسائل والصور<br/>• إرسال الإشعارات<br/><br/>يمكنك إدارة الإذن الممنوح لهذا التطبيق بقراءة الإشعارات وإرسالها في أي وقت من خلال الإعدادات > الإشعارات."</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"بث تطبيقات هاتفك"</string> diff --git a/packages/CredentialManager/res/values-fr-rCA/strings.xml b/packages/CredentialManager/res/values-fr-rCA/strings.xml index 61f2204e233a..2afcfe154267 100644 --- a/packages/CredentialManager/res/values-fr-rCA/strings.xml +++ b/packages/CredentialManager/res/values-fr-rCA/strings.xml @@ -48,7 +48,7 @@ <string name="passwords" msgid="5419394230391253816">"mots de passe"</string> <string name="sign_ins" msgid="4710739369149469208">"connexions"</string> <string name="sign_in_info" msgid="2627704710674232328">"renseignements de connexion"</string> - <string name="save_credential_to_title" msgid="3172811692275634301">"Enregistrer la <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> dans"</string> + <string name="save_credential_to_title" msgid="3172811692275634301">"Enregistrer le <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> dans"</string> <string name="create_passkey_in_other_device_title" msgid="2360053098931886245">"Créer une clé d\'accès sur un autre appareil?"</string> <string name="save_password_on_other_device_title" msgid="5829084591948321207">"Enregistrer le mot de passe sur un autre appareil?"</string> <string name="save_sign_in_on_other_device_title" msgid="2827990118560134692">"Enregistrer l\'authentifiant de connexion sur un autre appareil?"</string> @@ -57,9 +57,9 @@ <string name="set_as_default" msgid="4415328591568654603">"Définir par défaut"</string> <string name="settings" msgid="6536394145760913145">"Paramètres"</string> <string name="use_once" msgid="9027366575315399714">"Utiliser une fois"</string> - <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> mots de passe • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> clés d\'accès"</string> - <string name="more_options_usage_passwords" msgid="1632047277723187813">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> mots de passe"</string> - <string name="more_options_usage_passkeys" msgid="5390320437243042237">"<xliff:g id="PASSKEYSNUMBER">%1$s</xliff:g> clés d\'accès"</string> + <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> mot(s) de passe • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> clé(s) d\'accès"</string> + <string name="more_options_usage_passwords" msgid="1632047277723187813">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> mot(s) de passe"</string> + <string name="more_options_usage_passkeys" msgid="5390320437243042237">"<xliff:g id="PASSKEYSNUMBER">%1$s</xliff:g> clé(s) d\'accès"</string> <string name="more_options_usage_credentials" msgid="1785697001787193984">"<xliff:g id="TOTALCREDENTIALSNUMBER">%1$s</xliff:g> authentifiants"</string> <string name="passkey_before_subtitle" msgid="2448119456208647444">"Clé d\'accès"</string> <string name="another_device" msgid="5147276802037801217">"Un autre appareil"</string> diff --git a/packages/CredentialManager/res/values-hy/strings.xml b/packages/CredentialManager/res/values-hy/strings.xml index 61b076a3ad5a..5de99734fc69 100644 --- a/packages/CredentialManager/res/values-hy/strings.xml +++ b/packages/CredentialManager/res/values-hy/strings.xml @@ -24,15 +24,15 @@ <string name="string_learn_more" msgid="4541600451688392447">"Իմանալ ավելին"</string> <string name="content_description_show_password" msgid="3283502010388521607">"Ցուցադրել գաղտնաբառը"</string> <string name="content_description_hide_password" msgid="6841375971631767996">"Թաքցնել գաղտնաբառը"</string> - <string name="passkey_creation_intro_title" msgid="4251037543787718844">"Անցաբառերի հետ ավելի ապահով է"</string> - <string name="passkey_creation_intro_body_password" msgid="8825872426579958200">"Անցաբառերի շնորհիվ դուք բարդ գաղտնաբառեր ստեղծելու կամ հիշելու անհրաժեշտություն չեք ունենա"</string> - <string name="passkey_creation_intro_body_fingerprint" msgid="7331338631826254055">"Անցաբառերը գաղտնագրված թվային բանալիներ են, որոնք ստեղծվում են մատնահետքի, դեմքով ապակողպման կամ էկրանի կողպման օգտագործմամբ"</string> + <string name="passkey_creation_intro_title" msgid="4251037543787718844">"Մուտքի բանալիների հետ ավելի ապահով է"</string> + <string name="passkey_creation_intro_body_password" msgid="8825872426579958200">"Մուտքի բանալիների շնորհիվ դուք բարդ գաղտնաբառեր ստեղծելու կամ հիշելու անհրաժեշտություն չեք ունենա"</string> + <string name="passkey_creation_intro_body_fingerprint" msgid="7331338631826254055">"Մուտքի բանալիները գաղտնագրված թվային բանալիներ են, որոնք ստեղծվում են մատնահետքի, դեմքով ապակողպման կամ էկրանի կողպման օգտագործմամբ"</string> <string name="passkey_creation_intro_body_device" msgid="1203796455762131631">"Դուք կարող եք մուտք գործել այլ սարքերում, քանի որ մուտքի բանալիները պահվում են գաղտնաբառերի կառավարիչում"</string> <string name="more_about_passkeys_title" msgid="7797903098728837795">"Ավելին՝ մուտքի բանալիների մասին"</string> <string name="passwordless_technology_title" msgid="2497513482056606668">"Գաղտնաբառեր չպահանջող տեխնոլոգիա"</string> <string name="passwordless_technology_detail" msgid="6853928846532955882">"Մուտքի բանալիները ձեզ թույլ են տալիս մուտք գործել առանց գաղտնաբառերի։ Ձեզ պարզապես հարկավոր է օգտագործել ձեր մատնահետքը, դիմաճանաչումը, PIN կոդը կամ նախշը՝ ձեր ինքնությունը հաստատելու և մուտքի բանալի ստեղծելու համար։"</string> <string name="public_key_cryptography_title" msgid="6751970819265298039">"Բաց բանալու կրիպտոգրաֆիա"</string> - <string name="public_key_cryptography_detail" msgid="6937631710280562213">"Ըստ FIDO դաշինքի (որը ներառում է Google-ը, Apple-ը, Microsoft-ը և այլ ընկերություններ) և W3C ստանդարտների՝ անցաբառերն օգտագործում են կրիպտոգրաֆիկ բանալիների զույգ։ Օգտանվան և գաղտնաբառի փոխարեն հավելվածի կամ կայքի համար մենք ստեղծում ենք բաց-փակ բանալիների զույգ։ Փակ բանալին ապահով պահվում է ձեր սարքում կամ գաղտնաբառերի կառավարիչում և հաստատում է ձեր ինքնությունը։ Բաց բանալին փոխանցվում է հավելվածի կամ կայքի սերվերին։ Համապատասխան բանալիների միջոցով կարող եք ակնթարթորեն գրանցվել և մուտք գործել։"</string> + <string name="public_key_cryptography_detail" msgid="6937631710280562213">"Ըստ FIDO դաշինքի (որը ներառում է Google-ը, Apple-ը, Microsoft-ը և այլ ընկերություններ) և W3C ստանդարտների՝ մուտքի բանալիներն օգտագործում են կրիպտոգրաֆիկ բանալիների զույգ։ Օգտանվան և գաղտնաբառի փոխարեն հավելվածի կամ կայքի համար մենք ստեղծում ենք բաց-փակ բանալիների զույգ։ Փակ բանալին ապահով պահվում է ձեր սարքում կամ գաղտնաբառերի կառավարիչում և հաստատում է ձեր ինքնությունը։ Բաց բանալին փոխանցվում է հավելվածի կամ կայքի սերվերին։ Համապատասխան բանալիների միջոցով կարող եք ակնթարթորեն գրանցվել և մուտք գործել։"</string> <string name="improved_account_security_title" msgid="1069841917893513424">"Հաշվի բարելավված անվտանգություն"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Յուրաքանչյուր բանալի բացառապես կապված է հավելվածի կամ կայքի հետ, որի համար այն ստեղծվել է, ուստի դուք երբեք չեք կարող սխալմամբ մուտք գործել կեղծ հավելված կամ կայք։ Բացի այդ՝ սերվերներում պահվում են միայն բաց բանալիներ, ինչը զգալիորեն դժվարացնում է կոտրումը։"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Սահուն անցում"</string> @@ -61,14 +61,14 @@ <string name="more_options_usage_passwords" msgid="1632047277723187813">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> գաղտնաբառ"</string> <string name="more_options_usage_passkeys" msgid="5390320437243042237">"<xliff:g id="PASSKEYSNUMBER">%1$s</xliff:g> մուտքի բանալի"</string> <string name="more_options_usage_credentials" msgid="1785697001787193984">"Մուտքի տվյալներ (<xliff:g id="TOTALCREDENTIALSNUMBER">%1$s</xliff:g>)"</string> - <string name="passkey_before_subtitle" msgid="2448119456208647444">"Անցաբառ"</string> + <string name="passkey_before_subtitle" msgid="2448119456208647444">"Մուտքի բանալի"</string> <string name="another_device" msgid="5147276802037801217">"Այլ սարք"</string> <string name="other_password_manager" msgid="565790221427004141">"Գաղտնաբառերի այլ կառավարիչներ"</string> <string name="close_sheet" msgid="1393792015338908262">"Փակել թերթը"</string> <string name="accessibility_back_arrow_button" msgid="3233198183497842492">"Անցնել նախորդ էջ"</string> <string name="accessibility_close_button" msgid="1163435587545377687">"Փակել"</string> <string name="accessibility_snackbar_dismiss" msgid="3456598374801836120">"Փակել"</string> - <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"Օգտագործե՞լ պահված անցաբառը <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի համար"</string> + <string name="get_dialog_title_use_passkey_for" msgid="6236608872708021767">"Օգտագործե՞լ պահված մուտքի բանալին <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի համար"</string> <string name="get_dialog_title_use_password_for" msgid="625828023234318484">"Օգտագործե՞լ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի համար պահված ձեր գաղտնաբառը"</string> <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"Օգտագործե՞լ այս տվյալները <xliff:g id="APP_NAME">%1$s</xliff:g> հավելված մուտք գործելու համար"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"Ապակողպե՞լ մուտքի տարբերակներ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի համար"</string> diff --git a/packages/CredentialManager/res/values-ka/strings.xml b/packages/CredentialManager/res/values-ka/strings.xml index c089f4a33788..83be8874976c 100644 --- a/packages/CredentialManager/res/values-ka/strings.xml +++ b/packages/CredentialManager/res/values-ka/strings.xml @@ -73,7 +73,7 @@ <string name="get_dialog_title_use_sign_in_for" msgid="790049858275131785">"გსურთ შესვლის <xliff:g id="APP_NAME">%1$s</xliff:g>-ისთვის გამოყენება?"</string> <string name="get_dialog_title_unlock_options_for" msgid="7605568190597632433">"გსურთ შესვლის ვარიანტების განბლოკვა <xliff:g id="APP_NAME">%1$s</xliff:g>-სთვის?"</string> <string name="get_dialog_title_choose_passkey_for" msgid="9175997688078538490">"აირჩიეთ შენახული წვდომის გასაღები <xliff:g id="APP_NAME">%1$s</xliff:g>-სთვის"</string> - <string name="get_dialog_title_choose_password_for" msgid="1724435823820819221">"აირჩიეთ შენახული პაროლი <xliff:g id="APP_NAME">%1$s</xliff:g>-სთვის"</string> + <string name="get_dialog_title_choose_password_for" msgid="1724435823820819221">"აირჩიეთ შენახული პაროლი <xliff:g id="APP_NAME">%1$s</xliff:g>-ისთვის"</string> <string name="get_dialog_title_choose_saved_sign_in_for" msgid="2420298653461652728">"აირჩიეთ სისტემაში შესვლის ინფორმაცია <xliff:g id="APP_NAME">%1$s</xliff:g>-სთვის"</string> <string name="get_dialog_title_choose_sign_in_for" msgid="3048870756117876514">"აირჩიეთ შესვლა <xliff:g id="APP_NAME">%1$s</xliff:g>-ისთვის"</string> <string name="get_dialog_title_choose_option_for" msgid="4976380044745029107">"გსურთ აირჩიოთ ვარიანტი <xliff:g id="APP_NAME">%1$s</xliff:g>-ისთვის?"</string> diff --git a/packages/CredentialManager/res/values-kk/strings.xml b/packages/CredentialManager/res/values-kk/strings.xml index ce5c084633a3..cf88a2196109 100644 --- a/packages/CredentialManager/res/values-kk/strings.xml +++ b/packages/CredentialManager/res/values-kk/strings.xml @@ -89,7 +89,7 @@ <string name="locked_credential_entry_label_subtext_no_sign_in" msgid="8131725029983174901">"Кіру ақпараты жоқ."</string> <string name="no_sign_in_info_in" msgid="2641118151920288356">"<xliff:g id="SOURCE">%1$s</xliff:g> аккаунтында кіру туралы ешқандай ақпарат жоқ."</string> <string name="get_dialog_heading_manage_sign_ins" msgid="3522556476480676782">"Кіру әрекеттерін басқару"</string> - <string name="get_dialog_heading_from_another_device" msgid="1166697017046724072">"Басқа құрылғыдан жасау"</string> + <string name="get_dialog_heading_from_another_device" msgid="1166697017046724072">"Басқа құрылғыдан"</string> <string name="get_dialog_option_headline_use_a_different_device" msgid="8201578814988047549">"Басқа құрылғыны пайдалану"</string> <string name="request_cancelled_by" msgid="3735222326886267820">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасы сұрауды тоқтатты."</string> <string name="dropdown_presentation_more_sign_in_options_text" msgid="1693727354272417902">"Кіру опциялары"</string> diff --git a/packages/CredentialManager/res/values-ne/strings.xml b/packages/CredentialManager/res/values-ne/strings.xml index 2120fc3676c5..efa12fbdcb80 100644 --- a/packages/CredentialManager/res/values-ne/strings.xml +++ b/packages/CredentialManager/res/values-ne/strings.xml @@ -90,7 +90,7 @@ <string name="no_sign_in_info_in" msgid="2641118151920288356">"<xliff:g id="SOURCE">%1$s</xliff:g> मा साइन इन गर्नेसम्बन्धी कुनै पनि जानकारी छैन"</string> <string name="get_dialog_heading_manage_sign_ins" msgid="3522556476480676782">"साइन इनसम्बन्धी विकल्पहरू व्यवस्थापन गर्नुहोस्"</string> <string name="get_dialog_heading_from_another_device" msgid="1166697017046724072">"अर्को डिभाइसका लागि"</string> - <string name="get_dialog_option_headline_use_a_different_device" msgid="8201578814988047549">"अर्कै डिभाइस प्रयोग गरी हेर्नुहोस्"</string> + <string name="get_dialog_option_headline_use_a_different_device" msgid="8201578814988047549">"अर्कै डिभाइस प्रयोग गर्नुहोस्"</string> <string name="request_cancelled_by" msgid="3735222326886267820">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले अनुरोध रद्द गरेको छ"</string> <string name="dropdown_presentation_more_sign_in_options_text" msgid="1693727354272417902">"साइन इनसम्बन्धी विकल्पहरू"</string> <string name="more_options_content_description" msgid="1323427365788198808">"थप"</string> diff --git a/packages/CredentialManager/res/values-pt-rPT/strings.xml b/packages/CredentialManager/res/values-pt-rPT/strings.xml index ef7cd6d759cc..135a0e27f238 100644 --- a/packages/CredentialManager/res/values-pt-rPT/strings.xml +++ b/packages/CredentialManager/res/values-pt-rPT/strings.xml @@ -90,7 +90,7 @@ <string name="no_sign_in_info_in" msgid="2641118151920288356">"Sem informações de início de sessão em <xliff:g id="SOURCE">%1$s</xliff:g>"</string> <string name="get_dialog_heading_manage_sign_ins" msgid="3522556476480676782">"Faça a gestão dos inícios de sessão"</string> <string name="get_dialog_heading_from_another_device" msgid="1166697017046724072">"De outro dispositivo"</string> - <string name="get_dialog_option_headline_use_a_different_device" msgid="8201578814988047549">"Use um dispositivo diferente"</string> + <string name="get_dialog_option_headline_use_a_different_device" msgid="8201578814988047549">"Use outro diferente"</string> <string name="request_cancelled_by" msgid="3735222326886267820">"Pedido cancelado pela app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="dropdown_presentation_more_sign_in_options_text" msgid="1693727354272417902">"Opções de início de sessão"</string> <string name="more_options_content_description" msgid="1323427365788198808">"Mais"</string> diff --git a/packages/PackageInstaller/res/values-de/strings.xml b/packages/PackageInstaller/res/values-de/strings.xml index 21651ba1a42c..4fa9855e03d5 100644 --- a/packages/PackageInstaller/res/values-de/strings.xml +++ b/packages/PackageInstaller/res/values-de/strings.xml @@ -63,7 +63,7 @@ <string name="archive_application_text_all_users" msgid="3151229641681672580">"Diese App für alle Nutzer archivieren? Deine personenbezogenen Daten werden gespeichert."</string> <string name="archive_application_text_current_user_work_profile" msgid="1450487362134779752">"Diese in deinem Arbeitsprofil befindliche App archivieren? Deine personenbezogenen Daten werden gespeichert."</string> <string name="archive_application_text_user" msgid="2586558895535581451">"Diese App für <xliff:g id="USERNAME">%1$s</xliff:g> archivieren? Deine personenbezogenen Daten werden gespeichert."</string> - <string name="archive_application_text_current_user_private_profile" msgid="1958423158655599132">"Möchtest du diese in deinem privaten Bereich befindliche App archivieren? Deine personenbezogenen Daten werden gespeichert."</string> + <string name="archive_application_text_current_user_private_profile" msgid="1958423158655599132">"Möchtest du diese in deinem vertraulichen Profil befindliche App archivieren? Deine personenbezogenen Daten werden gespeichert."</string> <string name="uninstall_application_text_all_users" msgid="575491774380227119">"Möchtest du diese App für "<b>"alle"</b>" Nutzer entfernen? Die App und alle zugehörigen Daten werden für "<b>"alle"</b>" Nutzer des Geräts entfernt."</string> <string name="uninstall_application_text_user" msgid="498072714173920526">"Möchtest du diese App für den Nutzer <xliff:g id="USERNAME">%1$s</xliff:g> deinstallieren?"</string> <string name="uninstall_application_text_current_user_work_profile" msgid="8788387739022366193">"Möchtest du diese App aus deinem Arbeitsprofil deinstallieren?"</string> @@ -72,7 +72,7 @@ <string name="uninstall_keep_data" msgid="7002379587465487550">"<xliff:g id="SIZE">%1$s</xliff:g> an App-Daten behalten."</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"Möchtest du diese App löschen?"</string> <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Möchtest du diese App deinstallieren? Der <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-Klon wird ebenfalls gelöscht."</string> - <string name="uninstall_application_text_current_user_private_profile" msgid="867004464945674674">"Möchtest du diese App deinstallieren und damit aus deinem vertraulichen Bereich entfernen?"</string> + <string name="uninstall_application_text_current_user_private_profile" msgid="867004464945674674">"Möchtest du diese App deinstallieren und damit aus deinem vertraulichen Profil entfernen?"</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"Laufende Deinstallationen"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"Fehlgeschlagene Deinstallationen"</string> <string name="uninstalling" msgid="8709566347688966845">"Wird deinstalliert..."</string> diff --git a/packages/PackageInstaller/res/values-el/strings.xml b/packages/PackageInstaller/res/values-el/strings.xml index 6f7a433e7ac9..acacc7ff9eb8 100644 --- a/packages/PackageInstaller/res/values-el/strings.xml +++ b/packages/PackageInstaller/res/values-el/strings.xml @@ -63,7 +63,7 @@ <string name="archive_application_text_all_users" msgid="3151229641681672580">"Αρχειοθέτηση αυτής της εφαρμογής για όλους τους χρήστες; Τα προσωπικά δεδομένα σας θα αποθηκευτούν"</string> <string name="archive_application_text_current_user_work_profile" msgid="1450487362134779752">"Αρχειοθέτηση αυτής της εφαρμογής στο προφίλ εργασίας σας; Τα προσωπικά δεδομένα σας θα αποθηκευτούν"</string> <string name="archive_application_text_user" msgid="2586558895535581451">"Αρχειοθέτηση αυτής της εφαρμογής για τον χρήστη <xliff:g id="USERNAME">%1$s</xliff:g>; Τα προσωπικά δεδομένα σας θα αποθηκευτούν"</string> - <string name="archive_application_text_current_user_private_profile" msgid="1958423158655599132">"Θέλετε να αρχειοθετήσετε αυτή την εφαρμογή από τον απόρρητο χώρο σας; Τα προσωπικά δεδομένα σας θα αποθηκευτούν"</string> + <string name="archive_application_text_current_user_private_profile" msgid="1958423158655599132">"Θέλετε να αρχειοθετήσετε αυτή την εφαρμογή από τον ιδιωτικό χώρο σας; Τα προσωπικά δεδομένα σας θα αποθηκευτούν"</string> <string name="uninstall_application_text_all_users" msgid="575491774380227119">"Θέλετε να απεγκαταστήσετε αυτή την εφαρμογή για "<b>"όλους"</b>" τους χρήστες; Η εφαρμογή και τα δεδομένα της θα καταργηθούν από "<b>"όλους"</b>" τους χρήστες στη συσκευή."</string> <string name="uninstall_application_text_user" msgid="498072714173920526">"Θέλετε να απεγκαταστήσετε αυτή την εφαρμογή για τον χρήστη <xliff:g id="USERNAME">%1$s</xliff:g>;"</string> <string name="uninstall_application_text_current_user_work_profile" msgid="8788387739022366193">"Θέλετε να καταργήσετε την εγκατάσταση αυτής της εφαρμογής από το προφίλ εργασίας σας;"</string> diff --git a/packages/PackageInstaller/res/values-hu/strings.xml b/packages/PackageInstaller/res/values-hu/strings.xml index 436d6ce3a192..8595ae2a6c3c 100644 --- a/packages/PackageInstaller/res/values-hu/strings.xml +++ b/packages/PackageInstaller/res/values-hu/strings.xml @@ -46,7 +46,7 @@ <string name="ok" msgid="7871959885003339302">"OK"</string> <string name="archive" msgid="4447791830199354721">"Archiválás"</string> <string name="update_anyway" msgid="8792432341346261969">"Frissítés"</string> - <string name="manage_applications" msgid="5400164782453975580">"Alkalmazáskezelés"</string> + <string name="manage_applications" msgid="5400164782453975580">"Appok kezelése"</string> <string name="out_of_space_dlg_title" msgid="4156690013884649502">"Nincs elég hely"</string> <string name="out_of_space_dlg_text" msgid="8727714096031856231">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> alkalmazást nem lehet telepíteni. Szabadítson fel egy kis helyet, és próbálkozzon újra."</string> <string name="app_not_found_dlg_title" msgid="5107924008597470285">"Az alkalmazás nem található"</string> diff --git a/packages/PackageInstaller/res/values-sl/strings.xml b/packages/PackageInstaller/res/values-sl/strings.xml index 69d954d8cda4..c4702ddcab4d 100644 --- a/packages/PackageInstaller/res/values-sl/strings.xml +++ b/packages/PackageInstaller/res/values-sl/strings.xml @@ -16,7 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="7488448184431507488">"Namest. program za paket"</string> + <string name="app_name" msgid="7488448184431507488">"Namestitvena aplikacija za paket"</string> <string name="install" msgid="711829760615509273">"Namesti"</string> <string name="update" msgid="3932142540719227615">"Posodobi"</string> <string name="done" msgid="6632441120016885253">"Končano"</string> diff --git a/packages/SettingsLib/Color/res/values/colors.xml b/packages/SettingsLib/Color/res/values/colors.xml index b0b9b10952b8..ef0dd1b654b9 100644 --- a/packages/SettingsLib/Color/res/values/colors.xml +++ b/packages/SettingsLib/Color/res/values/colors.xml @@ -17,6 +17,7 @@ <resources> <!-- Dynamic colors--> + <color name="settingslib_color_blue700">#0B57D0</color> <color name="settingslib_color_blue600">#1a73e8</color> <color name="settingslib_color_blue400">#669df6</color> <color name="settingslib_color_blue300">#8ab4f8</color> diff --git a/packages/SettingsLib/IllustrationPreference/src/com/android/settingslib/widget/LottieColorUtils.java b/packages/SettingsLib/IllustrationPreference/src/com/android/settingslib/widget/LottieColorUtils.java index 0447ef8357eb..bc3488fc31fb 100644 --- a/packages/SettingsLib/IllustrationPreference/src/com/android/settingslib/widget/LottieColorUtils.java +++ b/packages/SettingsLib/IllustrationPreference/src/com/android/settingslib/widget/LottieColorUtils.java @@ -56,6 +56,9 @@ public class LottieColorUtils { ".black", android.R.color.white); map.put( + ".blue200", + R.color.settingslib_color_blue700); + map.put( ".blue400", R.color.settingslib_color_blue600); map.put( diff --git a/packages/SettingsLib/ProfileSelector/res/values-ar/strings.xml b/packages/SettingsLib/ProfileSelector/res/values-ar/strings.xml index cae1f0032420..6577fd05bf17 100644 --- a/packages/SettingsLib/ProfileSelector/res/values-ar/strings.xml +++ b/packages/SettingsLib/ProfileSelector/res/values-ar/strings.xml @@ -17,6 +17,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="settingslib_category_personal" msgid="1142302328104700620">"شخصي"</string> + <string name="settingslib_category_personal" msgid="1142302328104700620">"المساحة الشخصية"</string> <string name="settingslib_category_work" msgid="4867750733682444676">"للعمل"</string> </resources> diff --git a/packages/SettingsLib/ProfileSelector/res/values-pl/strings.xml b/packages/SettingsLib/ProfileSelector/res/values-pl/strings.xml index 8300df826b83..f685f40476cf 100644 --- a/packages/SettingsLib/ProfileSelector/res/values-pl/strings.xml +++ b/packages/SettingsLib/ProfileSelector/res/values-pl/strings.xml @@ -17,6 +17,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="settingslib_category_personal" msgid="1142302328104700620">"Osobiste"</string> + <string name="settingslib_category_personal" msgid="1142302328104700620">"Osobisty"</string> <string name="settingslib_category_work" msgid="4867750733682444676">"Służbowe"</string> </resources> diff --git a/packages/SettingsLib/ProfileSelector/res/values-sk/strings.xml b/packages/SettingsLib/ProfileSelector/res/values-sk/strings.xml index 5e882b50da13..5c1afa35b8c9 100644 --- a/packages/SettingsLib/ProfileSelector/res/values-sk/strings.xml +++ b/packages/SettingsLib/ProfileSelector/res/values-sk/strings.xml @@ -17,6 +17,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="settingslib_category_personal" msgid="1142302328104700620">"Osobné"</string> + <string name="settingslib_category_personal" msgid="1142302328104700620">"Osobný"</string> <string name="settingslib_category_work" msgid="4867750733682444676">"Pracovné"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt index 6e9bde45e061..8276e18898c6 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt @@ -29,36 +29,46 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map interface IAppOpsController { - val mode: Flow<Int> + val modeFlow: Flow<Int> val isAllowed: Flow<Boolean> - get() = mode.map { it == MODE_ALLOWED } + get() = modeFlow.map { it == MODE_ALLOWED } fun setAllowed(allowed: Boolean) @Mode fun getMode(): Int } +data class AppOps( + val op: Int, + val modeForNotAllowed: Int = MODE_ERRORED, + + /** + * Use AppOpsManager#setUidMode() instead of AppOpsManager#setMode() when set allowed. + * + * Security or privacy related app-ops should be set with setUidMode() instead of setMode(). + */ + val setModeByUid: Boolean = false, +) + class AppOpsController( context: Context, private val app: ApplicationInfo, - private val op: Int, - private val modeForNotAllowed: Int = MODE_ERRORED, - private val setModeByUid: Boolean = false, + private val appOps: AppOps, ) : IAppOpsController { private val appOpsManager = context.appOpsManager private val packageManager = context.packageManager - override val mode = appOpsManager.opModeFlow(op, app) + override val modeFlow = appOpsManager.opModeFlow(appOps.op, app) override fun setAllowed(allowed: Boolean) { - val mode = if (allowed) MODE_ALLOWED else modeForNotAllowed + val mode = if (allowed) MODE_ALLOWED else appOps.modeForNotAllowed - if (setModeByUid) { - appOpsManager.setUidMode(op, app.uid, mode) + if (appOps.setModeByUid) { + appOpsManager.setUidMode(appOps.op, app.uid, mode) } else { - appOpsManager.setMode(op, app.uid, app.packageName, mode) + appOpsManager.setMode(appOps.op, app.uid, app.packageName, mode) } - val permission = AppOpsManager.opToPermission(op) + val permission = AppOpsManager.opToPermission(appOps.op) if (permission != null) { packageManager.updatePermissionFlags(permission, app.packageName, PackageManager.FLAG_PERMISSION_USER_SET, @@ -67,5 +77,6 @@ class AppOpsController( } } - @Mode override fun getMode(): Int = appOpsManager.getOpMode(op, app) + @Mode + override fun getMode(): Int = appOpsManager.getOpMode(appOps.op, app) } diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsPermissionController.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsPermissionController.kt new file mode 100644 index 000000000000..9350f98841a4 --- /dev/null +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsPermissionController.kt @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spaprivileged.model.app + +import android.app.AppOpsManager +import android.content.Context +import android.content.pm.ApplicationInfo +import android.util.Log +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.onEach + +interface IAppOpsPermissionController { + val isAllowedFlow: Flow<Boolean> + fun setAllowed(allowed: Boolean) +} + +class AppOpsPermissionController( + context: Context, + private val app: ApplicationInfo, + appOps: AppOps, + private val permission: String, + private val packageManagers: IPackageManagers = PackageManagers, + private val appOpsController: IAppOpsController = AppOpsController(context, app, appOps), +) : IAppOpsPermissionController { + override val isAllowedFlow: Flow<Boolean> = appOpsController.modeFlow.map { mode -> + when (mode) { + AppOpsManager.MODE_ALLOWED -> true + + AppOpsManager.MODE_DEFAULT -> { + with(packageManagers) { app.hasGrantPermission(permission) } + } + + else -> false + } + }.conflate().onEach { Log.d(TAG, "isAllowed: $it") }.flowOn(Dispatchers.Default) + + override fun setAllowed(allowed: Boolean) { + appOpsController.setAllowed(allowed) + } + + private companion object { + private const val TAG = "AppOpsPermissionControl" + } +} diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppList.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppList.kt index 5db5eae22745..120b75ecb666 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppList.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppList.kt @@ -20,12 +20,14 @@ import android.app.AppOpsManager import android.content.Context import android.content.pm.ApplicationInfo import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.android.settingslib.spa.framework.util.asyncMapItem import com.android.settingslib.spa.framework.util.filterItem -import com.android.settingslib.spaprivileged.model.app.AppOpsController +import com.android.settingslib.spaprivileged.model.app.AppOps +import com.android.settingslib.spaprivileged.model.app.AppOpsPermissionController import com.android.settingslib.spaprivileged.model.app.AppRecord -import com.android.settingslib.spaprivileged.model.app.IAppOpsController +import com.android.settingslib.spaprivileged.model.app.IAppOpsPermissionController import com.android.settingslib.spaprivileged.model.app.IPackageManagers import com.android.settingslib.spaprivileged.model.app.PackageManagers import kotlinx.coroutines.flow.Flow @@ -36,7 +38,7 @@ data class AppOpPermissionRecord( override val app: ApplicationInfo, val hasRequestBroaderPermission: Boolean, val hasRequestPermission: Boolean, - var appOpsController: IAppOpsController, + var appOpsPermissionController: IAppOpsPermissionController, ) : AppRecord abstract class AppOpPermissionListModel( @@ -44,11 +46,11 @@ abstract class AppOpPermissionListModel( private val packageManagers: IPackageManagers = PackageManagers, ) : TogglePermissionAppListModel<AppOpPermissionRecord> { - abstract val appOp: Int + abstract val appOps: AppOps abstract val permission: String override val enhancedConfirmationKey: String? - get() = AppOpsManager.opToPublicName(appOp) + get() = AppOpsManager.opToPublicName(appOps.op) /** * When set, specifies the broader permission who trumps the [permission]. @@ -65,27 +67,12 @@ abstract class AppOpPermissionListModel( */ open val permissionHasAppOpFlag: Boolean = true - open val modeForNotAllowed: Int = AppOpsManager.MODE_ERRORED - - /** - * Use AppOpsManager#setUidMode() instead of AppOpsManager#setMode() when set allowed. - * - * Security or privacy related app-ops should be set with setUidMode() instead of setMode(). - */ - open val setModeByUid = false - /** These not changeable packages will also be hidden from app list. */ private val notChangeablePackages = setOf("android", "com.android.systemui", context.packageName) - private fun createAppOpsController(app: ApplicationInfo) = - AppOpsController( - context = context, - app = app, - op = appOp, - setModeByUid = setModeByUid, - modeForNotAllowed = modeForNotAllowed, - ) + private fun createAppOpsPermissionController(app: ApplicationInfo) = + AppOpsPermissionController(context, app, appOps, permission) private fun createRecord( app: ApplicationInfo, @@ -98,7 +85,7 @@ abstract class AppOpPermissionListModel( app.hasRequestPermission(it) } ?: false, hasRequestPermission = hasRequestPermission, - appOpsController = createAppOpsController(app), + appOpsPermissionController = createAppOpsPermissionController(app), ) } @@ -131,14 +118,20 @@ abstract class AppOpPermissionListModel( override fun filter(userIdFlow: Flow<Int>, recordListFlow: Flow<List<AppOpPermissionRecord>>) = recordListFlow.filterItem(::isChangeable) + /** + * Defining the default behavior as permissible as long as the package requested this permission + * (This means pre-M gets approval during install time; M apps gets approval during runtime). + */ @Composable - override fun isAllowed(record: AppOpPermissionRecord): () -> Boolean? = - isAllowed( - record = record, - appOpsController = record.appOpsController, - permission = permission, - packageManagers = packageManagers, - ) + override fun isAllowed(record: AppOpPermissionRecord): () -> Boolean? { + if (record.hasRequestBroaderPermission) { + // Broader permission trumps the specific permission. + return { true } + } + val isAllowed by record.appOpsPermissionController.isAllowedFlow + .collectAsStateWithLifecycle(initialValue = null) + return { isAllowed } + } override fun isChangeable(record: AppOpPermissionRecord) = record.hasRequestPermission && @@ -146,36 +139,6 @@ abstract class AppOpPermissionListModel( record.app.packageName !in notChangeablePackages override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) { - record.appOpsController.setAllowed(newAllowed) - } -} - -/** - * Defining the default behavior as permissible as long as the package requested this permission - * (This means pre-M gets approval during install time; M apps gets approval during runtime). - */ -@Composable -internal fun isAllowed( - record: AppOpPermissionRecord, - appOpsController: IAppOpsController, - permission: String, - packageManagers: IPackageManagers = PackageManagers, -): () -> Boolean? { - if (record.hasRequestBroaderPermission) { - // Broader permission trumps the specific permission. - return { true } - } - - val mode = appOpsController.mode.collectAsStateWithLifecycle(initialValue = null) - return { - when (mode.value) { - null -> null - AppOpsManager.MODE_ALLOWED -> true - AppOpsManager.MODE_DEFAULT -> { - with(packageManagers) { record.app.hasGrantPermission(permission) } - } - - else -> false - } + record.appOpsPermissionController.setAllowed(newAllowed) } } diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/model/app/AppOpsControllerTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/model/app/AppOpsControllerTest.kt index 91bbd9f9a5c1..74a7c146b2ab 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/model/app/AppOpsControllerTest.kt +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/model/app/AppOpsControllerTest.kt @@ -27,16 +27,14 @@ import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settingslib.spaprivileged.framework.common.appOpsManager import com.google.common.truth.Truth.assertThat -import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith -import org.mockito.Mock -import org.mockito.Spy import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoRule -import org.mockito.kotlin.any -import org.mockito.kotlin.doNothing +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.mock +import org.mockito.kotlin.spy import org.mockito.kotlin.verify import org.mockito.kotlin.whenever @@ -44,28 +42,18 @@ import org.mockito.kotlin.whenever class AppOpsControllerTest { @get:Rule val mockito: MockitoRule = MockitoJUnit.rule() - @Spy private val context: Context = ApplicationProvider.getApplicationContext() + private val appOpsManager = mock<AppOpsManager>() - @Mock private lateinit var appOpsManager: AppOpsManager + private val packageManager = mock<PackageManager>() - @Mock private lateinit var packageManager: PackageManager - - @Before - fun setUp() { - whenever(context.appOpsManager).thenReturn(appOpsManager) - whenever(context.packageManager).thenReturn(packageManager) - doNothing().whenever(packageManager) - .updatePermissionFlags(any(), any(), any(), any(), any()) + private val context: Context = spy(ApplicationProvider.getApplicationContext()) { + on { appOpsManager } doReturn appOpsManager + on { packageManager } doReturn packageManager } @Test fun setAllowed_setToTrue() { - val controller = - AppOpsController( - context = context, - app = APP, - op = OP, - ) + val controller = AppOpsController(context = context, app = APP, appOps = AppOps(OP)) controller.setAllowed(true) @@ -74,12 +62,7 @@ class AppOpsControllerTest { @Test fun setAllowed_setToFalse() { - val controller = - AppOpsController( - context = context, - app = APP, - op = OP, - ) + val controller = AppOpsController(context = context, app = APP, appOps = AppOps(OP)) controller.setAllowed(false) @@ -88,13 +71,11 @@ class AppOpsControllerTest { @Test fun setAllowed_setToFalseWithModeForNotAllowed() { - val controller = - AppOpsController( - context = context, - app = APP, - op = OP, - modeForNotAllowed = MODE_IGNORED, - ) + val controller = AppOpsController( + context = context, + app = APP, + appOps = AppOps(op = OP, modeForNotAllowed = MODE_IGNORED), + ) controller.setAllowed(false) @@ -103,13 +84,11 @@ class AppOpsControllerTest { @Test fun setAllowed_setToTrueByUid() { - val controller = - AppOpsController( - context = context, - app = APP, - op = OP, - setModeByUid = true, - ) + val controller = AppOpsController( + context = context, + app = APP, + appOps = AppOps(op = OP, setModeByUid = true), + ) controller.setAllowed(true) @@ -118,13 +97,11 @@ class AppOpsControllerTest { @Test fun setAllowed_setToFalseByUid() { - val controller = - AppOpsController( - context = context, - app = APP, - op = OP, - setModeByUid = true, - ) + val controller = AppOpsController( + context = context, + app = APP, + appOps = AppOps(op = OP, setModeByUid = true), + ) controller.setAllowed(false) @@ -135,12 +112,7 @@ class AppOpsControllerTest { fun getMode() { whenever(appOpsManager.checkOpNoThrow(OP, APP.uid, APP.packageName)) .thenReturn(MODE_ALLOWED) - val controller = - AppOpsController( - context = context, - app = APP, - op = OP, - ) + val controller = AppOpsController(context = context, app = APP, appOps = AppOps(OP)) val mode = controller.getMode() diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/model/app/AppOpsPermissionControllerTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/model/app/AppOpsPermissionControllerTest.kt new file mode 100644 index 000000000000..9f80b92548d2 --- /dev/null +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/model/app/AppOpsPermissionControllerTest.kt @@ -0,0 +1,167 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spaprivileged.model.app + +import android.app.AppOpsManager +import android.content.Context +import android.content.pm.ApplicationInfo +import android.content.pm.PackageManager +import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull +import com.android.settingslib.spaprivileged.framework.common.appOpsManager +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.runBlocking +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.mock +import org.mockito.kotlin.spy +import org.mockito.kotlin.stub +import org.mockito.kotlin.verify + +@RunWith(AndroidJUnit4::class) +class AppOpsPermissionControllerTest { + + private val appOpsManager = mock<AppOpsManager>() + private val packageManager = mock<PackageManager>() + private val packageManagers = mock<IPackageManagers>() + private val appOpsController = mock<IAppOpsController>() + + private val context: Context = spy(ApplicationProvider.getApplicationContext()) { + on { appOpsManager } doReturn appOpsManager + on { packageManager } doReturn packageManager + } + + @Test + fun isAllowedFlow_appOpsAllowed_returnTrue() = runBlocking { + appOpsController.stub { + on { modeFlow } doReturn flowOf(AppOpsManager.MODE_ALLOWED) + } + val controller = AppOpsPermissionController( + context = context, + app = APP, + appOps = AppOps(op = OP), + permission = PERMISSION, + appOpsController = appOpsController, + ) + + val isAllowed = controller.isAllowedFlow.firstWithTimeoutOrNull() + + assertThat(isAllowed).isTrue() + } + + @Test + fun isAllowedFlow_appOpsDefaultAndPermissionGranted_returnTrue() = runBlocking { + appOpsController.stub { + on { modeFlow } doReturn flowOf(AppOpsManager.MODE_DEFAULT) + } + packageManagers.stub { + on { APP.hasGrantPermission(PERMISSION) } doReturn true + } + val controller = AppOpsPermissionController( + context = context, + app = APP, + appOps = AppOps(op = OP), + permission = PERMISSION, + packageManagers = packageManagers, + appOpsController = appOpsController, + ) + + val isAllowed = controller.isAllowedFlow.firstWithTimeoutOrNull() + + assertThat(isAllowed).isTrue() + } + + @Test + fun isAllowedFlow_appOpsDefaultAndPermissionNotGranted_returnFalse() = runBlocking { + appOpsController.stub { + on { modeFlow } doReturn flowOf(AppOpsManager.MODE_DEFAULT) + } + packageManagers.stub { + on { APP.hasGrantPermission(PERMISSION) } doReturn false + } + val controller = AppOpsPermissionController( + context = context, + app = APP, + appOps = AppOps(op = OP), + permission = PERMISSION, + packageManagers = packageManagers, + appOpsController = appOpsController, + ) + + val isAllowed = controller.isAllowedFlow.firstWithTimeoutOrNull() + + assertThat(isAllowed).isFalse() + } + + @Test + fun isAllowedFlow_appOpsError_returnFalse() = runBlocking { + appOpsController.stub { + on { modeFlow } doReturn flowOf(AppOpsManager.MODE_ERRORED) + } + val controller = AppOpsPermissionController( + context = context, + app = APP, + appOps = AppOps(op = OP), + permission = PERMISSION, + appOpsController = appOpsController, + ) + + val isAllowed = controller.isAllowedFlow.firstWithTimeoutOrNull() + + assertThat(isAllowed).isFalse() + } + + @Test + fun setAllowed_notSetModeByUid() { + val controller = AppOpsPermissionController( + context = context, + app = APP, + appOps = AppOps(op = OP, setModeByUid = false), + permission = PERMISSION, + ) + + controller.setAllowed(true) + + verify(appOpsManager).setMode(OP, APP.uid, APP.packageName, AppOpsManager.MODE_ALLOWED) + } + + @Test + fun setAllowed_setModeByUid() { + val controller = AppOpsPermissionController( + context = context, + app = APP, + appOps = AppOps(op = OP, setModeByUid = true), + permission = PERMISSION, + ) + + controller.setAllowed(true) + + verify(appOpsManager).setUidMode(OP, APP.uid, AppOpsManager.MODE_ALLOWED) + } + + private companion object { + const val OP = 1 + const val PERMISSION = "Permission" + val APP = ApplicationInfo().apply { + packageName = "package.name" + uid = 123 + } + } +} diff --git a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppListTest.kt b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppListTest.kt index bb25cf3b6d48..9d12fc7611cb 100644 --- a/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppListTest.kt +++ b/packages/SettingsLib/SpaPrivileged/tests/src/com/android/settingslib/spaprivileged/template/app/AppOpPermissionAppListTest.kt @@ -25,7 +25,8 @@ import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull import com.android.settingslib.spaprivileged.framework.common.appOpsManager -import com.android.settingslib.spaprivileged.model.app.IAppOpsController +import com.android.settingslib.spaprivileged.model.app.AppOps +import com.android.settingslib.spaprivileged.model.app.IAppOpsPermissionController import com.android.settingslib.spaprivileged.model.app.IPackageManagers import com.android.settingslib.spaprivileged.test.R import com.google.common.truth.Truth.assertThat @@ -39,7 +40,6 @@ import org.mockito.kotlin.doNothing import org.mockito.kotlin.doReturn import org.mockito.kotlin.mock import org.mockito.kotlin.spy -import org.mockito.kotlin.verify import org.mockito.kotlin.whenever @RunWith(AndroidJUnit4::class) @@ -119,7 +119,7 @@ class AppOpPermissionAppListTest { app = APP, hasRequestBroaderPermission = false, hasRequestPermission = false, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT), + appOpsPermissionController = FakeAppOpsPermissionController(false), ) val recordListFlow = listModel.filter(flowOf(USER_ID), flowOf(listOf(record))) @@ -135,7 +135,7 @@ class AppOpPermissionAppListTest { app = APP, hasRequestBroaderPermission = false, hasRequestPermission = true, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_ALLOWED), + appOpsPermissionController = FakeAppOpsPermissionController(true), ) val isAllowed = getIsAllowed(record) @@ -144,38 +144,6 @@ class AppOpPermissionAppListTest { } @Test - fun isAllowed_defaultAndHasGrantPermission() { - with(packageManagers) { whenever(APP.hasGrantPermission(PERMISSION)).thenReturn(true) } - val record = - AppOpPermissionRecord( - app = APP, - hasRequestBroaderPermission = false, - hasRequestPermission = true, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT), - ) - - val isAllowed = getIsAllowed(record) - - assertThat(isAllowed).isTrue() - } - - @Test - fun isAllowed_defaultAndNotGrantPermission() { - with(packageManagers) { whenever(APP.hasGrantPermission(PERMISSION)).thenReturn(false) } - val record = - AppOpPermissionRecord( - app = APP, - hasRequestBroaderPermission = false, - hasRequestPermission = true, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT), - ) - - val isAllowed = getIsAllowed(record) - - assertThat(isAllowed).isFalse() - } - - @Test fun isAllowed_broaderPermissionTrumps() { listModel.broaderPermission = BROADER_PERMISSION with(packageManagers) { @@ -187,7 +155,7 @@ class AppOpPermissionAppListTest { app = APP, hasRequestBroaderPermission = true, hasRequestPermission = false, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_ERRORED), + appOpsPermissionController = FakeAppOpsPermissionController(false), ) val isAllowed = getIsAllowed(record) @@ -202,7 +170,7 @@ class AppOpPermissionAppListTest { app = APP, hasRequestBroaderPermission = false, hasRequestPermission = true, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_ERRORED), + appOpsPermissionController = FakeAppOpsPermissionController(false), ) val isAllowed = getIsAllowed(record) @@ -217,7 +185,7 @@ class AppOpPermissionAppListTest { app = APP, hasRequestBroaderPermission = false, hasRequestPermission = false, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT), + appOpsPermissionController = FakeAppOpsPermissionController(false), ) val isChangeable = listModel.isChangeable(record) @@ -232,7 +200,7 @@ class AppOpPermissionAppListTest { app = NOT_CHANGEABLE_APP, hasRequestBroaderPermission = false, hasRequestPermission = true, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT), + appOpsPermissionController = FakeAppOpsPermissionController(false), ) val isChangeable = listModel.isChangeable(record) @@ -247,7 +215,7 @@ class AppOpPermissionAppListTest { app = APP, hasRequestBroaderPermission = false, hasRequestPermission = true, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT), + appOpsPermissionController = FakeAppOpsPermissionController(false), ) val isChangeable = listModel.isChangeable(record) @@ -263,7 +231,7 @@ class AppOpPermissionAppListTest { app = APP, hasRequestBroaderPermission = true, hasRequestPermission = true, - appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT), + appOpsPermissionController = FakeAppOpsPermissionController(false), ) val isChangeable = listModel.isChangeable(record) @@ -273,28 +241,18 @@ class AppOpPermissionAppListTest { @Test fun setAllowed() { - val appOpsController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT) + val appOpsPermissionController = FakeAppOpsPermissionController(false) val record = AppOpPermissionRecord( app = APP, hasRequestBroaderPermission = false, hasRequestPermission = true, - appOpsController = appOpsController, + appOpsPermissionController = appOpsPermissionController, ) listModel.setAllowed(record = record, newAllowed = true) - assertThat(appOpsController.setAllowedCalledWith).isTrue() - } - - @Test - fun setAllowed_setModeByUid() { - listModel.setModeByUid = true - val record = listModel.transformItem(APP) - - listModel.setAllowed(record = record, newAllowed = true) - - verify(appOpsManager).setUidMode(listModel.appOp, APP.uid, AppOpsManager.MODE_ALLOWED) + assertThat(appOpsPermissionController.setAllowedCalledWith).isTrue() } private fun getIsAllowed(record: AppOpPermissionRecord): Boolean? { @@ -309,11 +267,9 @@ class AppOpPermissionAppListTest { override val switchTitleResId = R.string.test_app_op_permission_switch_title override val footerResId = R.string.test_app_op_permission_footer - override val appOp = AppOpsManager.OP_MANAGE_MEDIA + override val appOps = AppOps(AppOpsManager.OP_MANAGE_MEDIA) override val permission = PERMISSION override var broaderPermission: String? = null - - override var setModeByUid = false } private companion object { @@ -326,14 +282,12 @@ class AppOpPermissionAppListTest { } } -private class FakeAppOpsController(private val fakeMode: Int) : IAppOpsController { +private class FakeAppOpsPermissionController(allowed: Boolean) : IAppOpsPermissionController { var setAllowedCalledWith: Boolean? = null - override val mode = flowOf(fakeMode) + override val isAllowedFlow = flowOf(allowed) override fun setAllowed(allowed: Boolean) { setAllowedCalledWith = allowed } - - override fun getMode() = fakeMode } diff --git a/packages/SettingsLib/res/values-bg/arrays.xml b/packages/SettingsLib/res/values-bg/arrays.xml index 31d24c1f7d74..ce497f3d8c8c 100644 --- a/packages/SettingsLib/res/values-bg/arrays.xml +++ b/packages/SettingsLib/res/values-bg/arrays.xml @@ -186,11 +186,11 @@ </string-array> <string-array name="select_logd_size_summaries"> <item msgid="409235464399258501">"Изключено"</item> - <item msgid="4195153527464162486">"Рег. буфер – 64 КБ"</item> - <item msgid="7464037639415220106">"Рег. буфер – 256 КБ"</item> + <item msgid="4195153527464162486">"Рег. буфер – 64 хил."</item> + <item msgid="7464037639415220106">"Рег. буфер – 256 хил."</item> <item msgid="8539423820514360724">"Рег. буфер – 1 млн."</item> - <item msgid="1984761927103140651">"Рег. буфер – 4 МБ"</item> - <item msgid="2983219471251787208">"Регистрационен буфер – 8 МБ"</item> + <item msgid="1984761927103140651">"Рег. буфер – 4 млн."</item> + <item msgid="2983219471251787208">"Регистрационен буфер – 8 млн."</item> </string-array> <string-array name="select_logpersist_titles"> <item msgid="704720725704372366">"Изкл."</item> diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml index 3ab8eb5b45c0..4589ab5cea49 100644 --- a/packages/SettingsLib/res/values-bs/strings.xml +++ b/packages/SettingsLib/res/values-bs/strings.xml @@ -479,10 +479,10 @@ <string name="power_charging_duration" msgid="6127154952524919719">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="TIME">%2$s</xliff:g> do potpune napunjenosti"</string> <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> – punjenje je optimizirano"</string> <string name="power_charging_future_paused" msgid="1809543660923642799">"<xliff:g id="LEVEL">%1$s</xliff:g> – punjenje"</string> - <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g> – Napunjeno do <xliff:g id="TIME">%3$s</xliff:g>"</string> + <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g> – Napunit će se do <xliff:g id="TIME">%3$s</xliff:g>"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> – Potpuno napunjeno do <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"Potpuno napunjeno do <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Napunjeno do <xliff:g id="TIME">%1$s</xliff:g>"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Napunit će se do <xliff:g id="TIME">%1$s</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Nepoznato"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"Punjenje"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Brzo punjenje"</string> diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml index 4c5e6db5d1aa..d50675436613 100644 --- a/packages/SettingsLib/res/values-ca/strings.xml +++ b/packages/SettingsLib/res/values-ca/strings.xml @@ -194,11 +194,11 @@ <string name="tts_install_data_title" msgid="1829942496472751703">"Instal·la dades de veu"</string> <string name="tts_install_data_summary" msgid="3608874324992243851">"Instal·la les dades de veu necessàries per a la síntesi de veu"</string> <string name="tts_engine_security_warning" msgid="3372432853837988146">"Pot ser que aquest motor de síntesi de parla pugui recopilar tot el text que s\'enunciarà, incloses les dades personals, com ara les contrasenyes i els números de les targetes de crèdit. Ve del motor <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Vols activar l\'ús d\'aquest motor de síntesi de parla?"</string> - <string name="tts_engine_network_required" msgid="8722087649733906851">"Aquest idioma requereix una connexió a la xarxa activa per a la sortida de text a parla."</string> + <string name="tts_engine_network_required" msgid="8722087649733906851">"Aquest idioma requereix una connexió de xarxa activa per a la sortida de text a parla."</string> <string name="tts_default_sample_string" msgid="6388016028292967973">"Això és un exemple de síntesi de veu"</string> <string name="tts_status_title" msgid="8190784181389278640">"Estat de l\'idioma predeterminat"</string> <string name="tts_status_ok" msgid="8583076006537547379">"<xliff:g id="LOCALE">%1$s</xliff:g> és totalment compatible"</string> - <string name="tts_status_requires_network" msgid="8327617638884678896">"Es necessita una connexió a la xarxa per a <xliff:g id="LOCALE">%1$s</xliff:g>"</string> + <string name="tts_status_requires_network" msgid="8327617638884678896">"Es necessita una connexió de xarxa per a <xliff:g id="LOCALE">%1$s</xliff:g>"</string> <string name="tts_status_not_supported" msgid="2702997696245523743">"<xliff:g id="LOCALE">%1$s</xliff:g> no és compatible"</string> <string name="tts_status_checking" msgid="8026559918948285013">"S\'està comprovant…"</string> <string name="tts_engine_settings_title" msgid="7849477533103566291">"Configuració de: <xliff:g id="TTS_ENGINE_NAME">%s</xliff:g>"</string> diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml index 007081e4dc61..e3e09fb62c1a 100644 --- a/packages/SettingsLib/res/values-de/strings.xml +++ b/packages/SettingsLib/res/values-de/strings.xml @@ -482,7 +482,7 @@ <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g> – Vollständig geladen in <xliff:g id="TIME">%3$s</xliff:g>"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> – Vollständig geladen in <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"Vollständig geladen in <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Vollständig geladen in <xliff:g id="TIME">%1$s</xliff:g>"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Vollständig geladen bis <xliff:g id="TIME">%1$s</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Unbekannt"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"Wird aufgeladen"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Schnelles Aufladen"</string> diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml index 673bfd06cffd..fdcb217d8fcd 100644 --- a/packages/SettingsLib/res/values-eu/strings.xml +++ b/packages/SettingsLib/res/values-eu/strings.xml @@ -106,7 +106,7 @@ <string name="bluetooth_hearing_aid_left_active" msgid="7084887715570971441">"Aktibo, ezkerrekoa soilik"</string> <string name="bluetooth_hearing_aid_right_active" msgid="8574683234077567230">"Aktibo, eskuinekoa soilik"</string> <string name="bluetooth_hearing_aid_left_and_right_active" msgid="407704460573163973">"Aktibo, ezkerreko eta eskuineko audifonoak"</string> - <string name="bluetooth_profile_a2dp" msgid="4632426382762851724">"Euskarriaren audioa"</string> + <string name="bluetooth_profile_a2dp" msgid="4632426382762851724">"Multimedia-audioa"</string> <string name="bluetooth_profile_headset" msgid="5395952236133499331">"Telefono-deiak"</string> <string name="bluetooth_profile_opp" msgid="6692618568149493430">"Fitxategi-transferentzia"</string> <string name="bluetooth_profile_hid" msgid="2969922922664315866">"Sarrera-gailua"</string> diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml index 4c8125e0ff0a..104b1fab661d 100644 --- a/packages/SettingsLib/res/values-fr-rCA/strings.xml +++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml @@ -111,7 +111,7 @@ <string name="bluetooth_profile_opp" msgid="6692618568149493430">"Transfert de fichier"</string> <string name="bluetooth_profile_hid" msgid="2969922922664315866">"Périphérique d\'entrée"</string> <string name="bluetooth_profile_pan" msgid="1006235139308318188">"Accès Internet"</string> - <string name="bluetooth_profile_pbap" msgid="2103406516858653017">"Autoriser accès : contacts et hist. d\'app."</string> + <string name="bluetooth_profile_pbap" msgid="2103406516858653017">"Autoriser accès : contacts et hist. d\'appels"</string> <string name="bluetooth_profile_pbap_summary" msgid="402819589201138227">"Ces infos seront utilisées pour les annonces d\'appels et plus"</string> <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"Partage de connexion Internet"</string> <string name="bluetooth_profile_map" msgid="8907204701162107271">"Messages texte"</string> diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml index e19d8cc23a3e..023ca109603d 100644 --- a/packages/SettingsLib/res/values-fr/strings.xml +++ b/packages/SettingsLib/res/values-fr/strings.xml @@ -479,10 +479,10 @@ <string name="power_charging_duration" msgid="6127154952524919719">"<xliff:g id="LEVEL">%1$s</xliff:g> - chargée à 100 %% dans <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> - Recharge optimisée"</string> <string name="power_charging_future_paused" msgid="1809543660923642799">"<xliff:g id="LEVEL">%1$s</xliff:g> - En charge"</string> - <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - Complètement chargé dans <xliff:g id="TIME">%3$s</xliff:g>"</string> + <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - Complètement chargé d\'ici <xliff:g id="TIME">%3$s</xliff:g>"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> - Complètement chargé dans <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"Complètement chargé dans <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Complètement chargé dans <xliff:g id="TIME">%1$s</xliff:g>"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Complètement chargé d\'ici <xliff:g id="TIME">%1$s</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Inconnu"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"Batterie en charge"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Charge rapide"</string> diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml index e73adf92f1c7..4bfa9756fbbc 100644 --- a/packages/SettingsLib/res/values-hi/strings.xml +++ b/packages/SettingsLib/res/values-hi/strings.xml @@ -482,7 +482,7 @@ <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - बैटरी <xliff:g id="TIME">%3$s</xliff:g> में पूरी चार्ज हो जाएगी"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> - बैटरी <xliff:g id="TIME">%2$s</xliff:g> में पूरी चार्ज हो जाएगी"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"बैटरी <xliff:g id="TIME">%1$s</xliff:g> में पूरी चार्ज हो जाएगी"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"बैटरी <xliff:g id="TIME">%1$s</xliff:g> में पूरी चार्ज हो जाएगी"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"बैटरी <xliff:g id="TIME">%1$s</xliff:g> तक पूरी चार्ज हो जाएगी"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"अज्ञात"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"चार्ज हो रही है"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"तेज़ चार्ज हो रही है"</string> diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml index cf52c8266383..fca0ad168735 100644 --- a/packages/SettingsLib/res/values-hy/strings.xml +++ b/packages/SettingsLib/res/values-hy/strings.xml @@ -145,7 +145,7 @@ <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"Չեղարկել"</string> <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"Զուգակցում է մուտքի թույլտվությունը դեպի ձեր կոնտակտները և զանգերի պատմությունը, երբ միացված է:"</string> <string name="bluetooth_pairing_error_message" msgid="6626399020672335565">"Չհաջողվեց զուգակցել <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ:"</string> - <string name="bluetooth_pairing_pin_error_message" msgid="264422127613704940">"Չհաջողվեց զուգակցել <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ՝ սխալ PIN-ի կամ անցաբառի պատճառով:"</string> + <string name="bluetooth_pairing_pin_error_message" msgid="264422127613704940">"Չհաջողվեց զուգակցել <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ՝ սխալ PIN-ի կամ մուտքի բանալու պատճառով:"</string> <string name="bluetooth_pairing_device_down_error_message" msgid="2554424863101358857">"Հնարավոր չէ կապ հաստատել <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի հետ:"</string> <string name="bluetooth_pairing_rejected_error_message" msgid="5943444352777314442">"Զուգավորումը մերժվեց <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ի կողմից:"</string> <string name="bluetooth_talkback_computer" msgid="3736623135703893773">"Համակարգիչ"</string> @@ -244,7 +244,7 @@ <string name="adb_pair_method_code_summary" msgid="6370414511333685185">"Զուգակցեք նոր սարքեր՝ օգտագործելով վեցանիշ կոդը"</string> <string name="adb_paired_devices_title" msgid="5268997341526217362">"Զուգակցված սարքեր"</string> <string name="adb_wireless_device_connected_summary" msgid="3039660790249148713">"Միացված է"</string> - <string name="adb_wireless_device_details_title" msgid="7129369670526565786">"Սարքի տվյալները"</string> + <string name="adb_wireless_device_details_title" msgid="7129369670526565786">"Սարքի տվյալներ"</string> <string name="adb_device_forget" msgid="193072400783068417">"Հեռացնել"</string> <string name="adb_device_fingerprint_title_format" msgid="291504822917843701">"Սարքի մատնահետք՝ <xliff:g id="FINGERPRINT_PARAM">%1$s</xliff:g>"</string> <string name="adb_wireless_connection_failed_title" msgid="664211177427438438">"Չհաջողվեց միացնել"</string> diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml index d0e475aff09a..8e1be16ca201 100644 --- a/packages/SettingsLib/res/values-in/strings.xml +++ b/packages/SettingsLib/res/values-in/strings.xml @@ -479,10 +479,10 @@ <string name="power_charging_duration" msgid="6127154952524919719">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> lagi sampai penuh"</string> <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> - Pengisian daya dioptimalkan"</string> <string name="power_charging_future_paused" msgid="1809543660923642799">"<xliff:g id="LEVEL">%1$s</xliff:g> - Mengisi daya"</string> - <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - Penuh dalam <xliff:g id="TIME">%3$s</xliff:g>"</string> + <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - Penuh pukul <xliff:g id="TIME">%3$s</xliff:g>"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> - Baterai terisi penuh dalam <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"Baterai terisi penuh dalam <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Penuh dalam <xliff:g id="TIME">%1$s</xliff:g>"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Penuh pukul <xliff:g id="TIME">%1$s</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Tidak diketahui"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"Mengisi daya"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Mengisi daya cepat"</string> diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml index 9607b55e7ece..e63b2ef5f68e 100644 --- a/packages/SettingsLib/res/values-it/strings.xml +++ b/packages/SettingsLib/res/values-it/strings.xml @@ -482,7 +482,7 @@ <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - Ricarica completa entro <xliff:g id="TIME">%3$s</xliff:g>"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> - Batteria completamente carica entro <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"Batteria completamente carica entro <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Ricarica completa entro <xliff:g id="TIME">%1$s</xliff:g>"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Ricarica completa entro le ore <xliff:g id="TIME">%1$s</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Sconosciuta"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"In carica"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Ricarica veloce"</string> diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml index 4f6a3c5fd8f7..70e482f6ab3d 100644 --- a/packages/SettingsLib/res/values-ka/strings.xml +++ b/packages/SettingsLib/res/values-ka/strings.xml @@ -558,7 +558,7 @@ <string name="zen_mode_forever" msgid="3339224497605461291">"გამორთვამდე"</string> <string name="time_unit_just_now" msgid="3006134267292728099">"ახლახან"</string> <string name="media_transfer_this_device_name" msgid="2357329267148436433">"ეს ტელეფონი"</string> - <string name="media_transfer_this_device_name_tablet" msgid="2975593806278422086">"ეს ტაბლეტი"</string> + <string name="media_transfer_this_device_name_tablet" msgid="2975593806278422086">"ამ ტაბლეტზე"</string> <!-- no translation found for media_transfer_this_device_name_tv (5285685336836896535) --> <skip /> <string name="media_transfer_dock_speaker_device_name" msgid="2856219597113881950">"სამაგრის დინამიკი"</string> diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml index 29db7b6e8922..a7d47c145d70 100644 --- a/packages/SettingsLib/res/values-ko/strings.xml +++ b/packages/SettingsLib/res/values-ko/strings.xml @@ -482,7 +482,7 @@ <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - <xliff:g id="TIME">%3$s</xliff:g>에 완전히 충전됨"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>에 완전히 충전됨"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"<xliff:g id="TIME">%1$s</xliff:g>에 완전히 충전됨"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"<xliff:g id="TIME">%1$s</xliff:g>에 완전히 충전됨"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"<xliff:g id="TIME">%1$s</xliff:g>까지 완전히 충전됨"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"알 수 없음"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"충전 중"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"고속 충전 중"</string> diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml index 046bad13414c..64f39b166cf9 100644 --- a/packages/SettingsLib/res/values-lo/strings.xml +++ b/packages/SettingsLib/res/values-lo/strings.xml @@ -106,7 +106,7 @@ <string name="bluetooth_hearing_aid_left_active" msgid="7084887715570971441">"ນຳໃຊ້ຢູ່, ຊ້າຍເທົ່ານັ້ນ"</string> <string name="bluetooth_hearing_aid_right_active" msgid="8574683234077567230">"ນຳໃຊ້ຢູ່, ຂວາເທົ່ານັ້ນ"</string> <string name="bluetooth_hearing_aid_left_and_right_active" msgid="407704460573163973">"ນຳໃຊ້ຢູ່, ຊ້າຍ ແລະ ຂວາ"</string> - <string name="bluetooth_profile_a2dp" msgid="4632426382762851724">"ສຽງ"</string> + <string name="bluetooth_profile_a2dp" msgid="4632426382762851724">"ສຽງມີເດຍ"</string> <string name="bluetooth_profile_headset" msgid="5395952236133499331">"ການໂທ"</string> <string name="bluetooth_profile_opp" msgid="6692618568149493430">"ການໂອນຍ້າຍໄຟລ໌"</string> <string name="bluetooth_profile_hid" msgid="2969922922664315866">"ອຸປະກອນປ້ອນຂໍ້ມູນ"</string> diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml index 89681e3c548e..326fb6b9c0d5 100644 --- a/packages/SettingsLib/res/values-ne/strings.xml +++ b/packages/SettingsLib/res/values-ne/strings.xml @@ -515,7 +515,7 @@ <string name="screen_zoom_summary_large" msgid="4706951482598978984">"ठुलो"</string> <string name="screen_zoom_summary_very_large" msgid="7317423942896999029">"अझ ठुलो"</string> <string name="screen_zoom_summary_extremely_large" msgid="1438045624562358554">"सबैभन्दा ठुलो"</string> - <string name="screen_zoom_summary_custom" msgid="3468154096832912210">"आफू अनुकूल (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> + <string name="screen_zoom_summary_custom" msgid="3468154096832912210">" कस्टम (<xliff:g id="DENSITYDPI">%d</xliff:g>)"</string> <string name="content_description_menu_button" msgid="6254844309171779931">"मेनु"</string> <string name="retail_demo_reset_message" msgid="5392824901108195463">"डेमो मोडमा फ्याक्ट्री रिसेट गर्न पासवर्ड प्रविष्टि गर्नुहोस्"</string> <string name="retail_demo_reset_next" msgid="3688129033843885362">"अर्को"</string> diff --git a/packages/SettingsLib/res/values-or/arrays.xml b/packages/SettingsLib/res/values-or/arrays.xml index 28a8db6da837..37e5071fa85f 100644 --- a/packages/SettingsLib/res/values-or/arrays.xml +++ b/packages/SettingsLib/res/values-or/arrays.xml @@ -186,11 +186,11 @@ </string-array> <string-array name="select_logd_size_summaries"> <item msgid="409235464399258501">"ବନ୍ଦ"</item> - <item msgid="4195153527464162486">"64K ପିଛା ଲଗ୍ ବଫର୍"</item> - <item msgid="7464037639415220106">"256K ଲଗ୍ ପ୍ରତି ବଫର୍"</item> - <item msgid="8539423820514360724">"ପ୍ରତି ଲଗ ବଫର ପାଇଁ 1M"</item> - <item msgid="1984761927103140651">"ଲଗ୍ ବଫର୍ ପ୍ରତି 4M"</item> - <item msgid="2983219471251787208">"ଲଗ୍ ବଫର୍ ପ୍ରତି 8M"</item> + <item msgid="4195153527464162486">"ପ୍ରତି ଲଗ ବଫର 64K"</item> + <item msgid="7464037639415220106">"ପ୍ରତି ଲଗ ବଫର 256K"</item> + <item msgid="8539423820514360724">"ପ୍ରତି ଲଗ ବଫର 1M"</item> + <item msgid="1984761927103140651">"ପ୍ରତି ଲଗ ବଫର 4M"</item> + <item msgid="2983219471251787208">"ପ୍ରତି ଲଗ ବଫର 8M"</item> </string-array> <string-array name="select_logpersist_titles"> <item msgid="704720725704372366">"ବନ୍ଦ"</item> diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml index 3901f0a840b8..f8242e25abdb 100644 --- a/packages/SettingsLib/res/values-or/strings.xml +++ b/packages/SettingsLib/res/values-or/strings.xml @@ -107,7 +107,7 @@ <string name="bluetooth_hearing_aid_right_active" msgid="8574683234077567230">"ସକ୍ରିୟ, କେବଳ ଡାହାଣ"</string> <string name="bluetooth_hearing_aid_left_and_right_active" msgid="407704460573163973">"ସକ୍ରିୟ, ବାମ ଏବଂ ଡାହାଣ"</string> <string name="bluetooth_profile_a2dp" msgid="4632426382762851724">"ମିଡିଆ ଅଡିଓ"</string> - <string name="bluetooth_profile_headset" msgid="5395952236133499331">"ଫୋନ୍ କଲ୍ଗୁଡ଼ିକ"</string> + <string name="bluetooth_profile_headset" msgid="5395952236133499331">"ଫୋନ କଲ"</string> <string name="bluetooth_profile_opp" msgid="6692618568149493430">"ଫାଇଲ୍ ଟ୍ରାନ୍ସଫର୍"</string> <string name="bluetooth_profile_hid" msgid="2969922922664315866">"ଇନ୍ପୁଟ୍ ଡିଭାଇସ୍"</string> <string name="bluetooth_profile_pan" msgid="1006235139308318188">"ଇଣ୍ଟରନେଟ ଆକ୍ସେସ"</string> diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml index caa1e0e0c439..01e0b62f756c 100644 --- a/packages/SettingsLib/res/values-ro/strings.xml +++ b/packages/SettingsLib/res/values-ro/strings.xml @@ -482,7 +482,7 @@ <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - Timp rămas <xliff:g id="TIME">%3$s</xliff:g>"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> - Complet încărcat în <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"Complet încărcat în <xliff:g id="TIME">%1$s</xliff:g>"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Timp rămas <xliff:g id="TIME">%1$s</xliff:g>"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"Încărcare completă la <xliff:g id="TIME">%1$s</xliff:g>"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Necunoscut"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"Se încarcă"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Se încarcă rapid"</string> diff --git a/packages/SettingsLib/res/values-sl/arrays.xml b/packages/SettingsLib/res/values-sl/arrays.xml index 301e3776a7cb..bd35c825e138 100644 --- a/packages/SettingsLib/res/values-sl/arrays.xml +++ b/packages/SettingsLib/res/values-sl/arrays.xml @@ -190,7 +190,7 @@ <item msgid="7464037639415220106">"256 K/medpomnilnik dnevnika"</item> <item msgid="8539423820514360724">"1 M/medpomnilnik dnevnika"</item> <item msgid="1984761927103140651">"4 M/medpomnilnik dnevnika"</item> - <item msgid="2983219471251787208">"8M/medpomnilnik dnevnika"</item> + <item msgid="2983219471251787208">"8 M/medpomnilnik dnevnika"</item> </string-array> <string-array name="select_logpersist_titles"> <item msgid="704720725704372366">"Izklopljeno"</item> diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml index fecaac85d107..9df99c9bbe1f 100644 --- a/packages/SettingsLib/res/values-sv/strings.xml +++ b/packages/SettingsLib/res/values-sv/strings.xml @@ -280,7 +280,7 @@ <string name="wifi_scan_throttling" msgid="2985624788509913617">"Begränsning av wifi-sökning"</string> <string name="wifi_non_persistent_mac_randomization" msgid="7482769677894247316">"Slumpgenerering av icke-beständig MAC för wifi"</string> <string name="mobile_data_always_on" msgid="8275958101875563572">"Mobildata alltid aktiverad"</string> - <string name="tethering_hardware_offload" msgid="4116053719006939161">"Maskinvaruacceleration för internetdelning"</string> + <string name="tethering_hardware_offload" msgid="4116053719006939161">"Hårdvaruacceleration för internetdelning"</string> <string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"Visa namnlösa Bluetooth-enheter"</string> <string name="bluetooth_disable_absolute_volume" msgid="1452342324349203434">"Inaktivera Absolute volume"</string> <string name="bluetooth_enable_gabeldorsche" msgid="9131730396242883416">"Aktivera Gabeldorsche"</string> diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml index d071139fe0aa..ec8ba11d7504 100644 --- a/packages/SettingsLib/res/values-th/strings.xml +++ b/packages/SettingsLib/res/values-th/strings.xml @@ -112,7 +112,7 @@ <string name="bluetooth_profile_hid" msgid="2969922922664315866">"อุปกรณ์อินพุต"</string> <string name="bluetooth_profile_pan" msgid="1006235139308318188">"การเข้าถึงอินเทอร์เน็ต"</string> <string name="bluetooth_profile_pbap" msgid="2103406516858653017">"ให้เข้าถึงรายชื่อติดต่อและประวัติการโทร"</string> - <string name="bluetooth_profile_pbap_summary" msgid="402819589201138227">"จะมีการใช้ข้อมูลเพื่อประกาศการโทรและอื่นๆ"</string> + <string name="bluetooth_profile_pbap_summary" msgid="402819589201138227">"ข้อมูลนี้จะถูกใช้เพื่อแจ้งการโทรและอื่นๆ"</string> <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"การแชร์การเชื่อมต่ออินเทอร์เน็ต"</string> <string name="bluetooth_profile_map" msgid="8907204701162107271">"ข้อความ"</string> <string name="bluetooth_profile_sap" msgid="8304170950447934386">"การเข้าถึงซิม"</string> @@ -357,7 +357,7 @@ <string name="media_category" msgid="8122076702526144053">"สื่อ"</string> <string name="debug_monitoring_category" msgid="1597387133765424994">"การตรวจสอบ"</string> <string name="strict_mode" msgid="889864762140862437">"เปิดใช้งานโหมดเข้มงวด"</string> - <string name="strict_mode_summary" msgid="1838248687233554654">"กะพริบหน้าจอเมื่อแอปทำงานในชุดข้อความหลักนาน"</string> + <string name="strict_mode_summary" msgid="1838248687233554654">"กะพริบหน้าจอเมื่อแอปทำงานในเทรดหลักนาน"</string> <string name="pointer_location" msgid="7516929526199520173">"ตำแหน่งของตัวชี้"</string> <string name="pointer_location_summary" msgid="957120116989798464">"การวางซ้อนหน้าจอที่แสดงข้อมูลการแตะในปัจจุบัน"</string> <string name="show_touches" msgid="8437666942161289025">"แสดงการแตะ"</string> diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml index 44702500bf45..25be6c06bdd6 100644 --- a/packages/SettingsLib/res/values-tr/strings.xml +++ b/packages/SettingsLib/res/values-tr/strings.xml @@ -482,7 +482,7 @@ <string name="power_fast_charging_duration_v2" msgid="3797735998640359490">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g> - <xliff:g id="TIME">%3$s</xliff:g> içinde tamamen dolacak"</string> <string name="power_charging_duration_v2" msgid="2938998284074003248">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> içinde tamamen şarj olacak"</string> <string name="power_remaining_charging_duration_only_v2" msgid="5358176435722950193">"<xliff:g id="TIME">%1$s</xliff:g> içinde tamamen şarj olacak"</string> - <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"<xliff:g id="TIME">%1$s</xliff:g> içinde tamamen dolacak"</string> + <string name="power_remaining_fast_charging_duration_only_v2" msgid="6270950195810579563">"<xliff:g id="TIME">%1$s</xliff:g> itibarıyla tamamen dolacak"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Bilinmiyor"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"Şarj oluyor"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Hızlı şarj oluyor"</string> diff --git a/packages/SettingsLib/src/com/android/settingslib/satellite/SatelliteDialogUtils.kt b/packages/SettingsLib/src/com/android/settingslib/satellite/SatelliteDialogUtils.kt new file mode 100644 index 000000000000..e17948f10f2c --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/satellite/SatelliteDialogUtils.kt @@ -0,0 +1,145 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.satellite + +import android.content.ComponentName +import android.content.Context +import android.content.Intent +import android.os.OutcomeReceiver +import android.telephony.satellite.SatelliteManager +import android.util.Log +import android.view.WindowManager +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.lifecycleScope +import com.android.settingslib.wifi.WifiUtils +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.Dispatchers.Default +import kotlinx.coroutines.Job +import kotlinx.coroutines.asExecutor +import kotlinx.coroutines.launch +import kotlinx.coroutines.suspendCancellableCoroutine +import kotlinx.coroutines.withContext +import java.util.concurrent.ExecutionException +import java.util.concurrent.TimeoutException +import kotlin.coroutines.resume + +/** A util for Satellite dialog */ +object SatelliteDialogUtils { + + /** + * Uses to start Satellite dialog to prevent users from using the BT, Airplane Mode, and + * Wifi during the satellite mode is on. + */ + @JvmStatic + fun mayStartSatelliteWarningDialog( + context: Context, + lifecycleOwner: LifecycleOwner, + type: Int, + allowClick: (isAllowed: Boolean) -> Unit + ): Job { + return mayStartSatelliteWarningDialog( + context, lifecycleOwner.lifecycleScope, type, allowClick) + } + + /** + * Uses to start Satellite dialog to prevent users from using the BT, Airplane Mode, and + * Wifi during the satellite mode is on. + */ + @JvmStatic + fun mayStartSatelliteWarningDialog( + context: Context, + coroutineScope: CoroutineScope, + type: Int, + allowClick: (isAllowed: Boolean) -> Unit + ): Job = + coroutineScope.launch { + var isSatelliteModeOn = false + try { + isSatelliteModeOn = requestIsEnabled(context) + } catch (e: InterruptedException) { + Log.w(TAG, "Error to get satellite status : $e") + } catch (e: ExecutionException) { + Log.w(TAG, "Error to get satellite status : $e") + } catch (e: TimeoutException) { + Log.w(TAG, "Error to get satellite status : $e") + } + + if (isSatelliteModeOn) { + startSatelliteWarningDialog(context, type) + } + withContext(Dispatchers.Main) { + allowClick(!isSatelliteModeOn) + } + } + + private fun startSatelliteWarningDialog(context: Context, type: Int) { + context.startActivity(Intent(Intent.ACTION_MAIN).apply { + component = ComponentName( + "com.android.settings", + "com.android.settings.network.SatelliteWarningDialogActivity" + ) + putExtra(WifiUtils.DIALOG_WINDOW_TYPE, + WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG) + putExtra(EXTRA_TYPE_OF_SATELLITE_WARNING_DIALOG, type) + addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_SINGLE_TOP) + }) + } + + /** + * Checks if the satellite modem is enabled. + * + * @param executor The executor to run the asynchronous operation on + * @return A ListenableFuture that will resolve to `true` if the satellite modem enabled, + * `false` otherwise. + */ + private suspend fun requestIsEnabled( + context: Context, + ): Boolean = withContext(Default) { + val satelliteManager: SatelliteManager? = + context.getSystemService(SatelliteManager::class.java) + if (satelliteManager == null) { + Log.w(TAG, "SatelliteManager is null") + return@withContext false + } + + suspendCancellableCoroutine {continuation -> + satelliteManager?.requestIsEnabled(Default.asExecutor(), + object : OutcomeReceiver<Boolean, SatelliteManager.SatelliteException> { + override fun onResult(result: Boolean) { + Log.i(TAG, "Satellite modem enabled status: $result") + continuation.resume(result) + } + + override fun onError(error: SatelliteManager.SatelliteException) { + super.onError(error) + Log.w(TAG, "Can't get satellite modem enabled status", error) + continuation.resume(false) + } + }) + } + } + + const val TAG = "SatelliteDialogUtils" + + const val EXTRA_TYPE_OF_SATELLITE_WARNING_DIALOG: String = + "extra_type_of_satellite_warning_dialog" + const val TYPE_IS_UNKNOWN = -1 + const val TYPE_IS_WIFI = 0 + const val TYPE_IS_BLUETOOTH = 1 + const val TYPE_IS_AIRPLANE_MODE = 2 +} diff --git a/packages/SettingsLib/tests/robotests/Android.bp b/packages/SettingsLib/tests/robotests/Android.bp index f4ddd0ac59df..916e57190b97 100644 --- a/packages/SettingsLib/tests/robotests/Android.bp +++ b/packages/SettingsLib/tests/robotests/Android.bp @@ -41,7 +41,10 @@ android_app { //########################################################### android_robolectric_test { name: "SettingsLibRoboTests", - srcs: ["src/**/*.java"], + srcs: [ + "src/**/*.java", + "src/**/*.kt", + ], static_libs: [ "Settings_robolectric_meta_service_file", "Robolectric_shadows_androidx_fragment_upstream", diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/satellite/SatelliteDialogUtilsTest.kt b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/satellite/SatelliteDialogUtilsTest.kt new file mode 100644 index 000000000000..aeda1ed66d16 --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/satellite/SatelliteDialogUtilsTest.kt @@ -0,0 +1,162 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.satellite + +import android.content.Context +import android.content.Intent +import android.os.OutcomeReceiver +import android.platform.test.annotations.RequiresFlagsEnabled +import android.telephony.satellite.SatelliteManager +import android.telephony.satellite.SatelliteManager.SatelliteException +import android.util.AndroidRuntimeException +import androidx.test.core.app.ApplicationProvider +import com.android.internal.telephony.flags.Flags +import com.android.settingslib.satellite.SatelliteDialogUtils.TYPE_IS_WIFI +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.runBlocking +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.Mockito.any +import org.mockito.Mockito.`when` +import org.mockito.Spy +import org.mockito.junit.MockitoJUnit +import org.mockito.junit.MockitoRule +import org.mockito.Mockito.verify +import org.mockito.internal.verification.Times +import org.robolectric.RobolectricTestRunner + +@RunWith(RobolectricTestRunner::class) +class SatelliteDialogUtilsTest { + @JvmField + @Rule + val mockitoRule: MockitoRule = MockitoJUnit.rule() + + @Spy + var context: Context = ApplicationProvider.getApplicationContext() + @Mock + private lateinit var satelliteManager: SatelliteManager + + private val coroutineScope = CoroutineScope(Dispatchers.Main) + + @Before + fun setUp() { + `when`(context.getSystemService(SatelliteManager::class.java)) + .thenReturn(satelliteManager) + } + + @Test + @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun mayStartSatelliteWarningDialog_satelliteIsOn_showWarningDialog() = runBlocking { + `when`( + satelliteManager.requestIsEnabled( + any(), any<OutcomeReceiver<Boolean, SatelliteManager.SatelliteException>>() + ) + ) + .thenAnswer { invocation -> + val receiver = invocation + .getArgument< + OutcomeReceiver<Boolean, SatelliteManager.SatelliteException>>( + 1 + ) + receiver.onResult(true) + null + } + + try { + SatelliteDialogUtils.mayStartSatelliteWarningDialog( + context, coroutineScope, TYPE_IS_WIFI, allowClick = { + assertTrue(it) + }) + } catch (e: AndroidRuntimeException) { + // Catch exception of starting activity . + } + } + + @Test + @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun mayStartSatelliteWarningDialog_satelliteIsOff_notShowWarningDialog() = runBlocking { + `when`( + satelliteManager.requestIsEnabled( + any(), any<OutcomeReceiver<Boolean, SatelliteManager.SatelliteException>>() + ) + ) + .thenAnswer { invocation -> + val receiver = invocation + .getArgument< + OutcomeReceiver<Boolean, SatelliteManager.SatelliteException>>( + 1 + ) + receiver.onResult(false) + null + } + + + SatelliteDialogUtils.mayStartSatelliteWarningDialog( + context, coroutineScope, TYPE_IS_WIFI, allowClick = { + assertFalse(it) + }) + + verify(context, Times(0)).startActivity(any<Intent>()) + } + + @Test + @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun mayStartSatelliteWarningDialog_noSatelliteManager_notShowWarningDialog() = runBlocking { + `when`(context.getSystemService(SatelliteManager::class.java)) + .thenReturn(null) + + SatelliteDialogUtils.mayStartSatelliteWarningDialog( + context, coroutineScope, TYPE_IS_WIFI, allowClick = { + assertFalse(it) + }) + + verify(context, Times(0)).startActivity(any<Intent>()) + } + + @Test + @RequiresFlagsEnabled(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun mayStartSatelliteWarningDialog_satelliteErrorResult_notShowWarningDialog() = runBlocking { + `when`( + satelliteManager.requestIsEnabled( + any(), any<OutcomeReceiver<Boolean, SatelliteManager.SatelliteException>>() + ) + ) + .thenAnswer { invocation -> + val receiver = invocation + .getArgument< + OutcomeReceiver<Boolean, SatelliteManager.SatelliteException>>( + 1 + ) + receiver.onError(SatelliteException(SatelliteManager.SATELLITE_RESULT_ERROR)) + null + } + + + SatelliteDialogUtils.mayStartSatelliteWarningDialog( + context, coroutineScope, TYPE_IS_WIFI, allowClick = { + assertFalse(it) + }) + + verify(context, Times(0)).startActivity(any<Intent>()) + } +} diff --git a/packages/SoundPicker/res/values-ne/strings.xml b/packages/SoundPicker/res/values-ne/strings.xml index 0a2bceb23e19..79725fdcda77 100644 --- a/packages/SoundPicker/res/values-ne/strings.xml +++ b/packages/SoundPicker/res/values-ne/strings.xml @@ -23,7 +23,7 @@ <string name="add_alarm_text" msgid="3545497316166999225">"अलार्म थप्नुहोस्"</string> <string name="add_notification_text" msgid="4431129543300614788">"सूचना थप्नुहोस्"</string> <string name="delete_ringtone_text" msgid="201443984070732499">"मेट्नुहोस्"</string> - <string name="unable_to_add_ringtone" msgid="4583511263449467326">"आफू अनुकूल रिङटोन थप्न सकिएन"</string> - <string name="unable_to_delete_ringtone" msgid="6792301380142859496">"आफू अनुकूल रिङटोनलाई मेट्न सकिएन"</string> + <string name="unable_to_add_ringtone" msgid="4583511263449467326">" कस्टम रिङटोन थप्न सकिएन"</string> + <string name="unable_to_delete_ringtone" msgid="6792301380142859496">" कस्टम रिङटोनलाई मेट्न सकिएन"</string> <string name="app_label" msgid="3091611356093417332">"ध्वनिहरू"</string> </resources> diff --git a/packages/SystemUI/accessibility/accessibilitymenu/res/values-nl/strings.xml b/packages/SystemUI/accessibility/accessibilitymenu/res/values-nl/strings.xml index 3f72d955cc99..7535c2b0f538 100644 --- a/packages/SystemUI/accessibility/accessibilitymenu/res/values-nl/strings.xml +++ b/packages/SystemUI/accessibility/accessibilitymenu/res/values-nl/strings.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="accessibility_menu_service_name" msgid="730136711554740131">"Toegankelijkheidsmenu"</string> + <string name="accessibility_menu_service_name" msgid="730136711554740131">"toegankelijkheidsmenu"</string> <string name="accessibility_menu_intro" msgid="3164193281544042394">"Het toegankelijkheidsmenu is een groot menu op het scherm waarmee je je apparaat kunt bedienen. Je kunt onder meer je apparaat vergrendelen, het volume en de helderheid aanpassen en screenshots maken."</string> <string name="assistant_label" msgid="6796392082252272356">"Assistent"</string> <string name="assistant_utterance" msgid="65509599221141377">"Assistent"</string> diff --git a/packages/SystemUI/res-keyguard/values-ar/strings.xml b/packages/SystemUI/res-keyguard/values-ar/strings.xml index 3cd7cc4fc2bc..28d9f0b62a80 100644 --- a/packages/SystemUI/res-keyguard/values-ar/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ar/strings.xml @@ -69,8 +69,8 @@ <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"افتح القفل بكلمة مرور أو ببصمة إصبع."</string> <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"افتح بالنقش أو بصمة الإصبع"</string> <string name="kg_prompt_after_dpm_lock" msgid="6002804765868345917">"لمزيد من الأمان، تم قفل الجهاز وفقًا لسياسة العمل."</string> - <string name="kg_prompt_after_user_lockdown_pin" msgid="5374732179740050373">"يجب إدخال رقم التعريف الشخصي بعد إلغاء التأمين."</string> - <string name="kg_prompt_after_user_lockdown_password" msgid="9097968458291129795">"يجب إدخال كلمة المرور بعد إلغاء التأمين."</string> + <string name="kg_prompt_after_user_lockdown_pin" msgid="5374732179740050373">"يجب إدخال رقم التعريف الشخصي بعد إلغاء الفتح الذكي."</string> + <string name="kg_prompt_after_user_lockdown_password" msgid="9097968458291129795">"يجب إدخال كلمة المرور بعد إلغاء الفتح الذكي."</string> <string name="kg_prompt_after_user_lockdown_pattern" msgid="215072203613597906">"يجب رسم النقش بعد إلغاء التأمين."</string> <string name="kg_prompt_unattended_update" msgid="4366635751738712452">"سيتم تثبيت التحديث عندما لا يكون الجهاز قيد الاستخدام."</string> <string name="kg_prompt_pin_auth_timeout" msgid="5868644725126275245">"يجب تعزيز الأمان. لم يُستخدَم رقم PIN لبعض الوقت."</string> diff --git a/packages/SystemUI/res-keyguard/values-iw/strings.xml b/packages/SystemUI/res-keyguard/values-iw/strings.xml index 0021d0a87e30..06ee5918d3b7 100644 --- a/packages/SystemUI/res-keyguard/values-iw/strings.xml +++ b/packages/SystemUI/res-keyguard/values-iw/strings.xml @@ -20,7 +20,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="keyguard_enter_your_pin" msgid="5429932527814874032">"צריך להזין קוד אימות"</string> + <string name="keyguard_enter_your_pin" msgid="5429932527814874032">"מה קוד האימות שלך?"</string> <string name="keyguard_enter_pin" msgid="8114529922480276834">"צריך להזין קוד אימות"</string> <string name="keyguard_enter_your_pattern" msgid="351503370332324745">"יש להזין קו ביטול נעילה"</string> <string name="keyguard_enter_pattern" msgid="7616595160901084119">"צריך לצייר קו ביטול נעילה"</string> diff --git a/packages/SystemUI/res-keyguard/values-ne/strings.xml b/packages/SystemUI/res-keyguard/values-ne/strings.xml index 6f5fb8b8da96..cc5fb5d00c3e 100644 --- a/packages/SystemUI/res-keyguard/values-ne/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ne/strings.xml @@ -28,7 +28,7 @@ <string name="keyguard_enter_password" msgid="6483623792371009758">"पासवर्ड हाल्नुहोस्"</string> <string name="keyguard_sim_error_message_short" msgid="633630844240494070">"अमान्य कार्ड।"</string> <string name="keyguard_charged" msgid="5478247181205188995">"चार्ज भयो"</string> - <string name="keyguard_plugged_in_wireless" msgid="2537874724955057383">"<xliff:g id="PERCENTAGE">%s</xliff:g> • तारविनै चार्ज गर्दै"</string> + <string name="keyguard_plugged_in_wireless" msgid="2537874724955057383">"<xliff:g id="PERCENTAGE">%s</xliff:g> • वायरलेस तरिकाले चार्ज गरिँदै छ"</string> <string name="keyguard_plugged_in_dock" msgid="2122073051904360987">"<xliff:g id="PERCENTAGE">%s</xliff:g> • चार्ज हुँदै छ"</string> <string name="keyguard_plugged_in" msgid="8169926454348380863">"<xliff:g id="PERCENTAGE">%s</xliff:g> • चार्ज गरिँदै"</string> <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • द्रुत गतिमा चार्ज गरिँदै छ"</string> diff --git a/packages/SystemUI/res-product/values-ne/strings.xml b/packages/SystemUI/res-product/values-ne/strings.xml index 274b72a7fbc7..9bb0b6d16dbd 100644 --- a/packages/SystemUI/res-product/values-ne/strings.xml +++ b/packages/SystemUI/res-product/values-ne/strings.xml @@ -20,7 +20,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="dock_alignment_slow_charging" product="default" msgid="6997633396534416792">"अझ छिटो चार्ज गर्न फोनलाई फेरि मिलाउनुहोस्"</string> - <string name="dock_alignment_not_charging" product="default" msgid="3980752926226749808">"तारविनै चार्ज गर्न फोनलाई फेरि मिलाउनुहोस्"</string> + <string name="dock_alignment_not_charging" product="default" msgid="3980752926226749808">"वायरलेस तरिकाले चार्ज गर्न फोन फेरि मिलाउनुहोस्"</string> <string name="inattentive_sleep_warning_message" product="tv" msgid="6844464574089665063">"Android टिभी यन्त्र चाँडै निष्क्रिय हुने छ; सक्रिय राख्न कुनै बटन थिच्नुहोस्।"</string> <string name="inattentive_sleep_warning_message" product="default" msgid="5693904520452332224">"यो डिभाइस चाँडै निष्क्रिय हुने छ; सक्रिय राख्न थिच्नुहोस्।"</string> <string name="keyguard_missing_sim_message" product="tablet" msgid="408124574073032188">"ट्याब्लेटमा SIM कार्ड हालिएको छैन।"</string> diff --git a/packages/SystemUI/res/drawable/shelf_action_chip_container_background.xml b/packages/SystemUI/res/drawable/shelf_action_chip_container_background.xml index bb8cece9203b..ad6c154692ec 100644 --- a/packages/SystemUI/res/drawable/shelf_action_chip_container_background.xml +++ b/packages/SystemUI/res/drawable/shelf_action_chip_container_background.xml @@ -14,10 +14,14 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> -<shape +<inset xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" - android:shape="rectangle"> - <solid android:color="?androidprv:attr/materialColorSurfaceBright"/> - <corners android:radius="10000dp"/> <!-- fully-rounded radius --> -</shape> + android:insetLeft="@dimen/overlay_action_container_minimum_edge_spacing" + android:insetRight="@dimen/overlay_action_container_minimum_edge_spacing"> + <shape + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" + android:shape="rectangle"> + <solid android:color="?androidprv:attr/materialColorSurfaceBright"/> + <corners android:radius="10000dp"/> <!-- fully-rounded radius --> + </shape> +</inset>
\ No newline at end of file diff --git a/packages/SystemUI/res/layout/clipboard_overlay2.xml b/packages/SystemUI/res/layout/clipboard_overlay2.xml index 521369e56652..65005f840598 100644 --- a/packages/SystemUI/res/layout/clipboard_overlay2.xml +++ b/packages/SystemUI/res/layout/clipboard_overlay2.xml @@ -24,6 +24,16 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@string/clipboard_overlay_window_name"> + <!-- Min edge spacing guideline off of which the preview and actions can be anchored (without + this we'd need to express margins as the sum of two different dimens). --> + <androidx.constraintlayout.widget.Guideline + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/min_edge_guideline" + app:layout_constraintGuide_begin="@dimen/overlay_action_container_minimum_edge_spacing" + android:orientation="vertical"/> + <!-- Negative horizontal margin because this container background must render beyond the thing + it's constrained by (the actions themselves). --> <FrameLayout android:id="@+id/actions_container_background" android:visibility="gone" @@ -31,11 +41,12 @@ android:layout_width="0dp" android:elevation="4dp" android:background="@drawable/shelf_action_chip_container_background" - android:layout_marginStart="@dimen/overlay_action_container_minimum_edge_spacing" + android:layout_marginStart="@dimen/negative_overlay_action_container_minimum_edge_spacing" + android:layout_marginEnd="@dimen/negative_overlay_action_container_minimum_edge_spacing" android:layout_marginBottom="@dimen/overlay_action_container_margin_bottom" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/actions_container" - app:layout_constraintEnd_toEndOf="@+id/actions_container" + app:layout_constraintStart_toStartOf="@id/min_edge_guideline" + app:layout_constraintTop_toTopOf="@id/actions_container" + app:layout_constraintEnd_toEndOf="@id/actions_container" app:layout_constraintBottom_toBottomOf="parent"/> <HorizontalScrollView android:id="@+id/actions_container" @@ -76,7 +87,7 @@ android:layout_marginBottom="@dimen/overlay_preview_container_margin" android:elevation="7dp" android:background="@drawable/overlay_border" - app:layout_constraintStart_toStartOf="@id/actions_container_background" + app:layout_constraintStart_toStartOf="@id/min_edge_guideline" app:layout_constraintTop_toTopOf="@id/clipboard_preview" app:layout_constraintEnd_toEndOf="@id/clipboard_preview" app:layout_constraintBottom_toBottomOf="@id/actions_container_background"/> diff --git a/packages/SystemUI/res/layout/screenshot_shelf.xml b/packages/SystemUI/res/layout/screenshot_shelf.xml index 49d3a8ec8ad8..f3f472bf4d24 100644 --- a/packages/SystemUI/res/layout/screenshot_shelf.xml +++ b/packages/SystemUI/res/layout/screenshot_shelf.xml @@ -19,43 +19,15 @@ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:clipChildren="false" + android:clipToPadding="false"> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/screenshot_static" android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false" android:clipToPadding="false"> - <FrameLayout - android:id="@+id/actions_container_background" - android:visibility="gone" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:elevation="4dp" - android:background="@drawable/shelf_action_chip_container_background" - android:layout_marginHorizontal="@dimen/overlay_action_container_minimum_edge_spacing" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintBottom_toTopOf="@id/guideline" - > - <HorizontalScrollView - android:id="@+id/actions_container" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginVertical="@dimen/overlay_action_container_padding_vertical" - android:layout_marginHorizontal="@dimen/overlay_action_chip_margin_start" - android:background="@drawable/shelf_action_container_clipping_shape" - android:clipToOutline="true" - android:scrollbars="none"> - <LinearLayout - android:id="@+id/screenshot_actions" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:showDividers="middle" - android:divider="@drawable/shelf_action_chip_divider" - android:animateLayoutChanges="true" - /> - </HorizontalScrollView> - </FrameLayout> <View android:id="@+id/screenshot_preview_border" android:layout_width="0dp" @@ -101,6 +73,36 @@ android:visibility="invisible" app:layout_constraintStart_toStartOf="@id/screenshot_preview_border" app:layout_constraintBottom_toBottomOf="@id/screenshot_preview_border"/> + <!-- Action bar should be drawn on top of the thumbnail --> + <FrameLayout + android:id="@+id/actions_container_background" + android:visibility="gone" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:elevation="4dp" + android:background="@drawable/shelf_action_chip_container_background" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintBottom_toTopOf="@id/guideline" + > + <HorizontalScrollView + android:id="@+id/actions_container" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginVertical="@dimen/overlay_action_container_padding_vertical" + android:layout_marginHorizontal="@dimen/overlay_action_chip_margin_start" + android:background="@drawable/shelf_action_container_clipping_shape" + android:clipToOutline="true" + android:scrollbars="none"> + <LinearLayout + android:id="@+id/screenshot_actions" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:showDividers="middle" + android:divider="@drawable/shelf_action_chip_divider" + android:animateLayoutChanges="true" + android:orientation="horizontal" /> + </HorizontalScrollView> + </FrameLayout> <ImageView android:id="@+id/screenshot_badge" android:layout_width="56dp" diff --git a/packages/SystemUI/res/raw/face_dialog_authenticating.json b/packages/SystemUI/res/raw/face_dialog_authenticating.json new file mode 100644 index 000000000000..4e25e6d933c4 --- /dev/null +++ b/packages/SystemUI/res/raw/face_dialog_authenticating.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":60,"ip":0,"op":61,"w":64,"h":64,"nm":"face_scanning 3","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue200","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[32,32,0],"ix":2,"l":2},"a":{"a":0,"k":[27.25,27.25,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":30,"s":[95,95,100]},{"t":60,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.243],[-1.244,0],[0,1.243],[1.242,0]],"o":[[0,1.243],[1.242,0],[0,-1.243],[-1.244,0]],"v":[[-2.249,0.001],[0.001,2.251],[2.249,0.001],[0.001,-2.251]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.658823529412,0.780392216701,0.980392216701,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[60]},{"t":60,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[15.1,20.495],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.243],[-1.242,0],[0,1.243],[1.242,0]],"o":[[0,1.243],[1.242,0],[0,-1.243],[-1.242,0]],"v":[[-2.249,0],[0.001,2.25],[2.249,0],[0.001,-2.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.658823529412,0.780392216701,0.980392216701,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[60]},{"t":60,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[39.4,20.495],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[2.814,3.523],[-2.814,3.523],[-2.814,1.363],[0.652,1.363],[0.652,-3.523],[2.814,-3.523]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.658823529412,0.780392216701,0.980392216701,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[60]},{"t":60,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[27.791,28.479],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.154,0.15],[0,0],[0.117,-0.095],[0,0],[0.228,-0.121],[0.358,-0.103],[0.922,0.261],[0.3,0.16],[0.24,0.185],[0.14,0.139],[0.178,0.261],[0.143,0.451],[0,0],[0,0.494],[0,0],[-0.214,-0.676],[-0.392,-0.572],[-0.323,-0.317],[-0.228,-0.177],[-0.333,-0.179],[-0.503,-0.145],[-0.662,0],[-0.653,0.184],[-0.437,0.233],[-0.336,0.258],[0,0],[0,0]],"o":[[0,0],[-0.107,0.106],[0,0],[-0.24,0.185],[-0.301,0.16],[-0.92,0.261],[-0.357,-0.103],[-0.228,-0.121],[-0.158,-0.122],[-0.225,-0.221],[-0.272,-0.393],[0,0],[-0.147,-0.466],[0,0],[0,0.716],[0.206,0.656],[0.256,0.372],[0.204,0.201],[0.336,0.258],[0.436,0.233],[0.655,0.184],[0.662,0],[0.503,-0.145],[0.332,-0.179],[0,0],[0,0],[0.165,-0.136]],"v":[[6.094,1.465],[4.579,-0.076],[4.242,0.225],[4.124,0.315],[3.43,0.771],[2.439,1.165],[-0.342,1.165],[-1.331,0.771],[-2.027,0.315],[-2.48,-0.075],[-3.087,-0.801],[-3.712,-2.075],[-3.712,-2.075],[-3.934,-3.523],[-6.094,-3.523],[-5.771,-1.424],[-4.868,0.424],[-3.995,1.465],[-3.344,2.027],[-2.35,2.676],[-0.934,3.243],[1.049,3.523],[3.031,3.243],[4.449,2.676],[5.441,2.027],[5.482,1.997],[5.615,1.895]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.658823529412,0.780392216701,0.980392216701,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[60]},{"t":60,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[26.201,40.411],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-13.398,0],[0,-13.4],[13.398,0],[0,13.4]],"o":[[13.398,0],[0,13.4],[-13.398,0],[0,-13.4]],"v":[[0,-24.3],[24.3,0],[0,24.3],[-24.3,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[14.904,0],[0,-14.904],[-14.904,0],[0,14.904]],"o":[[-14.904,0],[0,14.904],[14.904,0],[0,-14.904]],"v":[[0,-27],[-27,0],[0,27],[27,0]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.658823529412,0.780392216701,0.980392216701,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":30,"s":[60]},{"t":60,"s":[100]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[27.25,27.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":4,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1200,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index 431955d4df42..36f0232dceb1 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -163,7 +163,7 @@ <string name="biometric_dialog_tap_confirm_with_face_alt_3" msgid="2192670471930606539">"Lice prepoznato. Pritisnite ikonu otključavanja za nastavak."</string> <string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Identitet je potvrđen"</string> <string name="biometric_dialog_cancel_authentication" msgid="981316588773442637">"Otkažite potvrdu identiteta"</string> - <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Koristite PIN"</string> + <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Koristi PIN"</string> <string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Koristite šablon"</string> <string name="biometric_dialog_use_password" msgid="3445033859393474779">"Koristite lozinku"</string> <string name="biometric_dialog_wrong_pin" msgid="1878539073972762803">"Pogrešan PIN"</string> diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml index f5c570ec56f7..a09d94f4197b 100644 --- a/packages/SystemUI/res/values-bn/strings.xml +++ b/packages/SystemUI/res/values-bn/strings.xml @@ -196,7 +196,7 @@ <string name="face_re_enroll_dialog_title" msgid="6392173708176069994">"\'ফেস আনলক\' সেট-আপ করুন"</string> <string name="face_re_enroll_dialog_content" msgid="7353502359464038511">"\'ফেস আনলক\' আবার সেট-আপ করতে, বর্তমানে থাকা আপনার ফেস মডেলটি মুছে ফেলা হবে।\n\nফেস ব্যবহার করে আপনার ফোন আনলক করার জন্য আপনাকে আবার এই ফিচার সেট-আপ করতে হবে।"</string> <string name="face_reenroll_failure_dialog_content" msgid="7073947334397236935">"\'ফেস আনলক\' সেট-আপ করা যায়নি। আবার চেষ্টা করতে সেটিংসে যান।"</string> - <string name="fingerprint_dialog_touch_sensor" msgid="2817887108047658975">"আঙ্গুলের ছাপের সেন্সর স্পর্শ করুন"</string> + <string name="fingerprint_dialog_touch_sensor" msgid="2817887108047658975">"ফিঙ্গারপ্রিন্ট সেন্সর টাচ করুন"</string> <string name="fingerprint_dialog_authenticated_confirmation" msgid="1603899612957562862">"চালিয়ে যেতে \'আনলক করুন\' আইকনে প্রেস করুন"</string> <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5542430577183894219">"মুখ চেনা যায়নি। পরিবর্তে ফিঙ্গারপ্রিন্ট ব্যবহার করুন।"</string> <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml index 72591d40d6d9..302ea86175a5 100644 --- a/packages/SystemUI/res/values-bs/strings.xml +++ b/packages/SystemUI/res/values-bs/strings.xml @@ -163,7 +163,7 @@ <string name="biometric_dialog_tap_confirm_with_face_alt_3" msgid="2192670471930606539">"Lice prepoznato. Pritisnite ikonu za otklj. da nastavite."</string> <string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autentificirano"</string> <string name="biometric_dialog_cancel_authentication" msgid="981316588773442637">"Otkažite autentifikaciju"</string> - <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Koristi PIN"</string> + <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Koristite PIN"</string> <string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Koristi uzorak"</string> <string name="biometric_dialog_use_password" msgid="3445033859393474779">"Koristi lozinku"</string> <string name="biometric_dialog_wrong_pin" msgid="1878539073972762803">"Pogrešan PIN kôd"</string> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index 483aac82c648..c58d8fc17c2c 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -198,7 +198,7 @@ <string name="face_reenroll_failure_dialog_content" msgid="7073947334397236935">"«قفلگشایی با چهره» راهاندازی نشد. برای امتحان مجدد، به «تنظیمات» بروید."</string> <string name="fingerprint_dialog_touch_sensor" msgid="2817887108047658975">"حسگر اثر انگشت را لمس کنید"</string> <string name="fingerprint_dialog_authenticated_confirmation" msgid="1603899612957562862">"برای ادامه، نماد قفلگشایی را فشار دهید"</string> - <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5542430577183894219">"چهره شناسایی نشد. درعوض از اثر انگشت استفاده کنید."</string> + <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5542430577183894219">"چهره شناسایی نشد، از اثر انگشت استفاده کنید."</string> <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> <skip /> <string name="keyguard_face_failed" msgid="2346762871330729634">"چهره شناسایی نشد"</string> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index 70ec9c11c7c7..0f14c29257cc 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -163,7 +163,7 @@ <string name="biometric_dialog_tap_confirm_with_face_alt_3" msgid="2192670471930606539">"चेहरे की पहचान हो गई. जारी रखने के लिए अनलॉक आइकॉन को टैप करें."</string> <string name="biometric_dialog_authenticated" msgid="7337147327545272484">"पुष्टि हो गई"</string> <string name="biometric_dialog_cancel_authentication" msgid="981316588773442637">"पुष्टि करने की प्रोसेस को रद्द करें"</string> - <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"पिन इस्तेमाल करें"</string> + <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"पिन का इस्तेमाल करें"</string> <string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"पैटर्न इस्तेमाल करें"</string> <string name="biometric_dialog_use_password" msgid="3445033859393474779">"पासवर्ड इस्तेमाल करें"</string> <string name="biometric_dialog_wrong_pin" msgid="1878539073972762803">"गलत पिन"</string> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 2f25de55b2de..a85f68284f07 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -838,10 +838,10 @@ <string name="accessibility_quick_settings_page" msgid="7506322631645550961">"Stranica <xliff:g id="ID_1">%1$d</xliff:g> od <xliff:g id="ID_2">%2$d</xliff:g>"</string> <string name="tuner_lock_screen" msgid="2267383813241144544">"Zaključani zaslon"</string> <string name="thermal_shutdown_dialog_help_text" msgid="6413474593462902901">"Pročitajte upute za održavanje"</string> - <string name="high_temp_dialog_help_text" msgid="7380171287943345858">"Pročitajte upute za održavanje"</string> + <string name="high_temp_dialog_help_text" msgid="7380171287943345858">"Pročitajte što trebate učiniti"</string> <string name="high_temp_alarm_title" msgid="8654754369605452169">"Iskopčajte uređaj"</string> <string name="high_temp_alarm_notify_message" msgid="3917622943609118956">"Vaš se uređaj zagrijava u blizini priključka za punjenje. Ako je priključen u punjač ili USB uređaj, iskopčajte ga. Pazite jer se i kabel možda zagrijao."</string> - <string name="high_temp_alarm_help_care_steps" msgid="5017002218341329566">"Pogledajte upute za održavanje"</string> + <string name="high_temp_alarm_help_care_steps" msgid="5017002218341329566">"Pogledajte što trebate učiniti"</string> <string name="lockscreen_shortcut_left" msgid="1238765178956067599">"Lijevi prečac"</string> <string name="lockscreen_shortcut_right" msgid="4138414674531853719">"Desni prečac"</string> <string name="lockscreen_unlock_left" msgid="1417801334370269374">"Lijevi prečac također otključava"</string> diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml index f683b9166735..94b5da6d3e50 100644 --- a/packages/SystemUI/res/values-km/strings.xml +++ b/packages/SystemUI/res/values-km/strings.xml @@ -196,7 +196,7 @@ <string name="face_re_enroll_dialog_title" msgid="6392173708176069994">"រៀបចំការដោះសោដោយស្កេនមុខ"</string> <string name="face_re_enroll_dialog_content" msgid="7353502359464038511">"ដើម្បីរៀបចំដោះសោតាមទម្រង់មុខម្ដងទៀត គំរូមុខបច្ចុប្បន្នរបស់អ្នកនឹងត្រូវបានលុប។\n\nអ្នកនឹងត្រូវរៀបចំមុខងារនេះម្ដងទៀត ដើម្បីប្រើមុខរបស់អ្នកសម្រាប់ដោះសោទូរសព្ទរបស់អ្នក។"</string> <string name="face_reenroll_failure_dialog_content" msgid="7073947334397236935">"មិនអាចរៀបចំការដោះសោតាមទម្រង់មុខបានទេ។ សូមចូលទៅកាន់ការកំណត់ ដើម្បីព្យាយាមម្ដងទៀត។"</string> - <string name="fingerprint_dialog_touch_sensor" msgid="2817887108047658975">"ប៉ះឧបករណ៍ចាប់ស្នាមម្រាមដៃ"</string> + <string name="fingerprint_dialog_touch_sensor" msgid="2817887108047658975">"ប៉ះសេនស័រចាប់ស្នាមម្រាមដៃ"</string> <string name="fingerprint_dialog_authenticated_confirmation" msgid="1603899612957562862">"សូមចុចរូបដោះសោ ដើម្បីបន្ត"</string> <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5542430577183894219">"មិនស្គាល់មុខទេ។ សូមប្រើស្នាមម្រាមដៃជំនួសវិញ។"</string> <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml index eda8ae655b09..8625158354c6 100644 --- a/packages/SystemUI/res/values-ky/strings.xml +++ b/packages/SystemUI/res/values-ky/strings.xml @@ -47,7 +47,7 @@ <string name="label_view" msgid="6815442985276363364">"Карап көрүү"</string> <string name="always_use_device" msgid="210535878779644679">"<xliff:g id="USB_DEVICE">%2$s</xliff:g> туташып турганда, <xliff:g id="APPLICATION">%1$s</xliff:g> ар дайым ачык болсун"</string> <string name="always_use_accessory" msgid="1977225429341838444">"<xliff:g id="USB_ACCESSORY">%2$s</xliff:g> туташып турганда, <xliff:g id="APPLICATION">%1$s</xliff:g> ар дайым ачык болсун"</string> - <string name="usb_debugging_title" msgid="8274884945238642726">"USB аркылуу жөндөөгө уруксат берилсинби?"</string> + <string name="usb_debugging_title" msgid="8274884945238642726">"USB аркылуу жөндөөгө уруксат бересизби?"</string> <string name="usb_debugging_message" msgid="5794616114463921773">"Компүтердин RSA ачкычынын контролдук суммасы:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string> <string name="usb_debugging_always" msgid="4003121804294739548">"Бул компүтерден дайыма уруксат берилсин"</string> <string name="usb_debugging_allow" msgid="1722643858015321328">"Ооба"</string> @@ -890,7 +890,7 @@ <string name="auto_data_switch_dialog_negative_button" msgid="2370876875999891444">"Жок, рахмат"</string> <string name="auto_data_switch_dialog_positive_button" msgid="8531782041263087564">"Ооба, которулам"</string> <string name="touch_filtered_warning" msgid="8119511393338714836">"Уруксат берүү сурамыңыз көрүнбөй калгандыктан, Параметрлер жообуңузду ырастай албай жатат."</string> - <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_0">%1$s</xliff:g> колдонмосуна <xliff:g id="APP_2">%2$s</xliff:g> үлгүлөрүн көрсөтүүгө уруксат берилсинби?"</string> + <string name="slice_permission_title" msgid="3262615140094151017">"<xliff:g id="APP_0">%1$s</xliff:g> колдонмосуна <xliff:g id="APP_2">%2$s</xliff:g> үлгүлөрүн көрсөтүүгө уруксат бересизби?"</string> <string name="slice_permission_text_1" msgid="6675965177075443714">"- <xliff:g id="APP">%1$s</xliff:g> колдонмосунун маалыматын окуйт"</string> <string name="slice_permission_text_2" msgid="6758906940360746983">"- <xliff:g id="APP">%1$s</xliff:g> колдонмосунда аракеттерди аткарат"</string> <string name="slice_permission_checkbox" msgid="4242888137592298523">"<xliff:g id="APP">%1$s</xliff:g> бардык колдонмолордун үлгүлөрүн көрсөтүүгө уруксат берүү"</string> diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml index 4b1feaf3d8cb..c077f5d40a90 100644 --- a/packages/SystemUI/res/values-ml/strings.xml +++ b/packages/SystemUI/res/values-ml/strings.xml @@ -20,9 +20,9 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="4811759950673118541">"സിസ്റ്റം UI"</string> - <string name="battery_low_title" msgid="5319680173344341779">"ബാറ്ററി ലാഭിക്കൽ ഓണാക്കണോ?"</string> - <string name="battery_low_description" msgid="3282977755476423966">"നിങ്ങളുടെ ബാറ്ററിയിൽ <xliff:g id="PERCENTAGE">%s</xliff:g> ചാർജ് ശേഷിക്കുന്നു. ബാറ്ററി ലാഭിക്കൽ, ഡാർക്ക് തീം ഓണാക്കുകയും പശ്ചാത്തല ആക്റ്റിവിറ്റി നിയന്ത്രിക്കുകയും അറിയിപ്പുകൾ വെെകിപ്പിക്കുകയും ചെയ്യുന്നു."</string> - <string name="battery_low_intro" msgid="5148725009653088790">"ബാറ്ററി ലാഭിക്കൽ, ഡാർക്ക് തീം ഓണാക്കുകയും പശ്ചാത്തല ആക്റ്റിവിറ്റി നിയന്ത്രിക്കുകയും അറിയിപ്പുകൾ വെെകിപ്പിക്കുകയും ചെയ്യുന്നു."</string> + <string name="battery_low_title" msgid="5319680173344341779">"ബാറ്ററി സേവർ ഓണാക്കണോ?"</string> + <string name="battery_low_description" msgid="3282977755476423966">"നിങ്ങളുടെ ബാറ്ററിയിൽ <xliff:g id="PERCENTAGE">%s</xliff:g> ചാർജ് ശേഷിക്കുന്നു. ബാറ്ററി സേവർ, ഡാർക്ക് തീം ഓണാക്കുകയും പശ്ചാത്തല ആക്റ്റിവിറ്റി നിയന്ത്രിക്കുകയും അറിയിപ്പുകൾ വെെകിപ്പിക്കുകയും ചെയ്യുന്നു."</string> + <string name="battery_low_intro" msgid="5148725009653088790">"ബാറ്ററി സേവർ, ഡാർക്ക് തീം ഓണാക്കുകയും പശ്ചാത്തല ആക്റ്റിവിറ്റി നിയന്ത്രിക്കുകയും അറിയിപ്പുകൾ വെെകിപ്പിക്കുകയും ചെയ്യുന്നു."</string> <string name="battery_low_percent_format" msgid="4276661262843170964">"<xliff:g id="PERCENTAGE">%s</xliff:g> ശേഷിക്കുന്നു"</string> <string name="invalid_charger_title" msgid="938685362320735167">"USB വഴി ചാർജ് ചെയ്യാനാകില്ല"</string> <string name="invalid_charger_text" msgid="2339310107232691577">"ഉപകരണത്തിനൊപ്പം ലഭിച്ച ചാർജർ ഉപയോഗിക്കുക"</string> @@ -329,7 +329,7 @@ <string name="quick_settings_night_secondary_label_on_at" msgid="3584738542293528235">"<xliff:g id="TIME">%s</xliff:g>-ന്"</string> <string name="quick_settings_secondary_label_until" msgid="1883981263191927372">"<xliff:g id="TIME">%s</xliff:g> വരെ"</string> <string name="quick_settings_ui_mode_night_label" msgid="1398928270610780470">"ഡാർക്ക് തീം"</string> - <string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ബാറ്ററി ലാഭിക്കൽ"</string> + <string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ബാറ്ററി സേവർ"</string> <string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"സൂര്യാസ്തമയത്തിന്"</string> <string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"സൂര്യോദയം വരെ"</string> <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>-ന്"</string> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 0861ab809eef..d4b16a75c32a 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -837,8 +837,8 @@ <string name="accessibility_quick_settings_power_menu" msgid="6820426108301758412">"På/av-meny"</string> <string name="accessibility_quick_settings_page" msgid="7506322631645550961">"Side <xliff:g id="ID_1">%1$d</xliff:g> av <xliff:g id="ID_2">%2$d</xliff:g>"</string> <string name="tuner_lock_screen" msgid="2267383813241144544">"Låseskjerm"</string> - <string name="thermal_shutdown_dialog_help_text" msgid="6413474593462902901">"Se vedlikeholdstrinnene"</string> - <string name="high_temp_dialog_help_text" msgid="7380171287943345858">"Se vedlikeholdstrinnene"</string> + <string name="thermal_shutdown_dialog_help_text" msgid="6413474593462902901">"Se hva du kan gjøre"</string> + <string name="high_temp_dialog_help_text" msgid="7380171287943345858">"Se hva du kan gjøre"</string> <string name="high_temp_alarm_title" msgid="8654754369605452169">"Koble fra enheten"</string> <string name="high_temp_alarm_notify_message" msgid="3917622943609118956">"Enheten begynner å bli varm nær ladeporten. Hvis den er koblet til en lader eller et USB-tilbehør, må du koble den fra. Vær forsiktig da kabelen også kan være varm."</string> <string name="high_temp_alarm_help_care_steps" msgid="5017002218341329566">"Se vedlikeholdstrinnene"</string> diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml index 2eb36e551fa6..79fb575ba930 100644 --- a/packages/SystemUI/res/values-ne/strings.xml +++ b/packages/SystemUI/res/values-ne/strings.xml @@ -388,7 +388,7 @@ <string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"परिदृश्य टगल गर्नुहोस्"</string> <string name="zen_priority_introduction" msgid="3159291973383796646">"तपाईंलाई अलार्म, रिमाइन्डर, कार्यक्रम र तपाईंले निर्दिष्ट गर्नुभएका कलरहरू बाहेकका ध्वनि र कम्पनहरूले बाधा पुऱ्याउने छैनन्। तपाईंले अझै सङ्गीत, भिडियो र खेलहरू लगायत आफूले प्ले गर्न छनौट गरेका जुनसुकै कुरा सुन्न सक्नुहुनेछ।"</string> <string name="zen_alarms_introduction" msgid="3987266042682300470">"तपाईंलाई अलार्महरू बाहेकका ध्वनि र कम्पनहरूले बाधा पुऱ्याउने छैनन्। तपाईंले अझै सङ्गीत, भिडियो र खेलहरू लगायत आफूले प्ले गर्न छनौट गरेका जुनसुकै कुरा सुन्न सक्नुहुनेछ।"</string> - <string name="zen_priority_customize_button" msgid="4119213187257195047">"आफू अनुकूल बनाउनुहोस्"</string> + <string name="zen_priority_customize_button" msgid="4119213187257195047">" कस्टम बनाउनुहोस्"</string> <string name="zen_silence_introduction_voice" msgid="853573681302712348">"यसले अलार्म, सङ्गीत, भिडियो, र खेलहरू लगायत सबैका ध्वनि र कम्पनहरूमाथि रोक लगाउँछ। तपाईं अझै पनि फोन कलहरू गर्न सक्नुहुनेछ।"</string> <string name="zen_silence_introduction" msgid="6117517737057344014">"यसले अलार्म, सङ्गीत, भिडियोहरू र खेलहरूसहित सबै ध्वनिहरू र कम्पनहरूलाई रोक्छ।"</string> <string name="notification_tap_again" msgid="4477318164947497249">"खोल्न पुनः ट्याप गर्नुहोस्"</string> @@ -418,7 +418,7 @@ <string name="interruption_level_none_twoline" msgid="8579382742855486372">"पूरै\nशान्त"</string> <string name="interruption_level_priority_twoline" msgid="8523482736582498083">"प्राथमिकता \nमात्र"</string> <string name="interruption_level_alarms_twoline" msgid="2045067991335708767">"अलार्महरू \nमात्र"</string> - <string name="keyguard_indication_charging_time_wireless" msgid="577856646141738675">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • तारविनै चार्ज हुँदै छ • <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g> मा पूरै चार्ज हुन्छ"</string> + <string name="keyguard_indication_charging_time_wireless" msgid="577856646141738675">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • वायरलेस तरिकाले चार्ज हुँदै छ • <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g> मा पूरा चार्ज हुन्छ"</string> <string name="keyguard_indication_charging_time" msgid="6492711711891071502">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • चार्ज हुँदै छ • <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g> मा पूरै चार्ज हुन्छ"</string> <string name="keyguard_indication_charging_time_fast" msgid="8390311020603859480">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • छिटो चार्ज हुँदै छ • <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g> मा पूरै चार्ज हुन्छ"</string> <string name="keyguard_indication_charging_time_slowly" msgid="301936949731705417">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • बिस्तारै चार्ज हुँदै छ • <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g> मा पूरै चार्ज हुन्छ"</string> @@ -621,7 +621,7 @@ <string name="satellite_connected_carrier_text" msgid="118524195198532589">"स्याटलाइट SOS"</string> <string name="accessibility_managed_profile" msgid="4703836746209377356">"कार्य प्रोफाइल"</string> <string name="tuner_warning_title" msgid="7721976098452135267">"केहीका लागि रमाइलो हुन्छ तर सबैका लागि होइन"</string> - <string name="tuner_warning" msgid="1861736288458481650">"सिस्टम UI ट्युनरले तपाईँलाई Android प्रयोगकर्ता इन्टरफेस आफू अनुकूल गर्न र ट्विक गर्न थप तरिकाहरू प्रदान गर्छ। यी प्रयोगात्मक सुविधाहरू भावी विमोचनमा परिवर्तन हुन, बिग्रिन वा हराउन सक्ने छन्। सावधानीपूर्वक अगाडि बढ्नुहोस्।"</string> + <string name="tuner_warning" msgid="1861736288458481650">"सिस्टम UI ट्युनरले तपाईँलाई Android प्रयोगकर्ता इन्टरफेस कस्टम गर्न र ट्विक गर्न थप तरिकाहरू प्रदान गर्छ। यी प्रयोगात्मक सुविधाहरू भावी विमोचनमा परिवर्तन हुन, बिग्रिन वा हराउन सक्ने छन्। सावधानीपूर्वक अगाडि बढ्नुहोस्।"</string> <string name="tuner_persistent_warning" msgid="230466285569307806">"यी प्रयोगात्मक सुविधाहरू भावी विमोचनहरूमा परिवर्तन हुन, बिग्रन वा हराउन सक्छन्। सावधानीपूर्वक अगाडि बढ्नुहोस्।"</string> <string name="got_it" msgid="477119182261892069">"बुझेँ"</string> <string name="tuner_toast" msgid="3812684836514766951">"बधाईँ छ! सेटिङहरूमा सिस्टम UI ट्युनर थप गरिएको छ"</string> @@ -666,7 +666,7 @@ <string name="notification_channel_controls_opened_accessibility" msgid="6111817750774381094">"<xliff:g id="APP_NAME">%1$s</xliff:g> का सूचना सम्बन्धी नियन्त्रणहरूलाई खोलियो"</string> <string name="notification_channel_controls_closed_accessibility" msgid="1561909368876911701">"<xliff:g id="APP_NAME">%1$s</xliff:g> का सूचना सम्बन्धी नियन्त्रणहरूलाई बन्द गरियो"</string> <string name="notification_more_settings" msgid="4936228656989201793">"थप सेटिङहरू"</string> - <string name="notification_app_settings" msgid="8963648463858039377">"आफू अनुकूल पार्नुहोस्"</string> + <string name="notification_app_settings" msgid="8963648463858039377">" कस्टम पार्नुहोस्"</string> <string name="notification_conversation_bubble" msgid="2242180995373949022">"बबल देखाउनुहोस्"</string> <string name="notification_conversation_unbubble" msgid="6908427185031099868">"बबलहरू हटाउनुहोस्"</string> <string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 5e4562138272..a2222e60de97 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -196,7 +196,7 @@ <string name="face_re_enroll_dialog_title" msgid="6392173708176069994">"Configure o Desbloqueio facial"</string> <string name="face_re_enroll_dialog_content" msgid="7353502359464038511">"Para configurar o Desbloqueio facial novamente, o seu modelo de rosto atual vai ser eliminado.\n\nVai ter de configurar novamente esta funcionalidade para desbloquear o telemóvel com o rosto."</string> <string name="face_reenroll_failure_dialog_content" msgid="7073947334397236935">"Não foi possível configurar o Desbloqueio facial. Aceda às Definições para tentar novamente."</string> - <string name="fingerprint_dialog_touch_sensor" msgid="2817887108047658975">"Toque no sensor de impressões digitais."</string> + <string name="fingerprint_dialog_touch_sensor" msgid="2817887108047658975">"Toque no sensor de impressões digitais"</string> <string name="fingerprint_dialog_authenticated_confirmation" msgid="1603899612957562862">"Prima o ícone de desbloqueio para continuar"</string> <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5542430577183894219">"Rosto não reconhecido. Use a impressão digital."</string> <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index 38a7d69f229e..580e3346109e 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -163,7 +163,7 @@ <string name="biometric_dialog_tap_confirm_with_face_alt_3" msgid="2192670471930606539">"Лице препознато. Притисните икону откључавања за наставак."</string> <string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Идентитет је потврђен"</string> <string name="biometric_dialog_cancel_authentication" msgid="981316588773442637">"Откажите потврду идентитета"</string> - <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Користите PIN"</string> + <string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Користи PIN"</string> <string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Користите шаблон"</string> <string name="biometric_dialog_use_password" msgid="3445033859393474779">"Користите лозинку"</string> <string name="biometric_dialog_wrong_pin" msgid="1878539073972762803">"Погрешан PIN"</string> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index c9abcaa1a457..f418502c4a41 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -442,8 +442,12 @@ <dimen name="overlay_preview_container_margin">8dp</dimen> <dimen name="overlay_action_container_margin_horizontal">8dp</dimen> <dimen name="overlay_action_container_margin_bottom">6dp</dimen> - <!-- minimum distance to the left, right or bottom edges. --> + <!-- + minimum distance to the left, right or bottom edges. Keep in sync with + negative_overlay_action_container_minimum_edge_spacing. --> <dimen name="overlay_action_container_minimum_edge_spacing">12dp</dimen> + <!-- Keep in sync with overlay_action_container_minimum_edge_spacing --> + <dimen name="negative_overlay_action_container_minimum_edge_spacing">-12dp</dimen> <dimen name="overlay_bg_protection_height">242dp</dimen> <dimen name="overlay_action_container_corner_radius">20dp</dimen> <dimen name="overlay_action_container_padding_vertical">8dp</dimen> diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/PromptIconViewBinder.kt b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/PromptIconViewBinder.kt index e457601a6d52..d360e32f8c5e 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/PromptIconViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/ui/binder/PromptIconViewBinder.kt @@ -18,9 +18,7 @@ package com.android.systemui.biometrics.ui.binder import android.graphics.Rect -import android.graphics.drawable.Animatable2 import android.graphics.drawable.AnimatedVectorDrawable -import android.graphics.drawable.Drawable import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintSet import androidx.lifecycle.Lifecycle @@ -32,8 +30,8 @@ import com.android.systemui.biometrics.ui.viewmodel.PromptIconViewModel import com.android.systemui.biometrics.ui.viewmodel.PromptIconViewModel.AuthType import com.android.systemui.biometrics.ui.viewmodel.PromptViewModel import com.android.systemui.lifecycle.repeatWhenAttached +import com.android.systemui.res.R import com.android.systemui.util.kotlin.Utils.Companion.toQuad -import com.android.systemui.util.kotlin.Utils.Companion.toQuint import com.android.systemui.util.kotlin.Utils.Companion.toTriple import com.android.systemui.util.kotlin.sample import kotlinx.coroutines.flow.combine @@ -63,29 +61,11 @@ object PromptIconViewBinder { iconOverlayView.layoutParams.width = iconViewLayoutParamSizeOverride.first iconOverlayView.layoutParams.height = iconViewLayoutParamSizeOverride.second - } else { - iconView.layoutParams.width = viewModel.fingerprintIconWidth.first() - iconView.layoutParams.height = viewModel.fingerprintIconWidth.first() - - iconOverlayView.layoutParams.width = viewModel.fingerprintIconWidth.first() - iconOverlayView.layoutParams.height = viewModel.fingerprintIconWidth.first() } var faceIcon: AnimatedVectorDrawable? = null - val faceIconCallback = - object : Animatable2.AnimationCallback() { - override fun onAnimationStart(drawable: Drawable) { - viewModel.onAnimationStart() - } - - override fun onAnimationEnd(drawable: Drawable) { - viewModel.onAnimationEnd() - } - } launch { - var width = 0 - var height = 0 combine(promptViewModel.size, viewModel.activeAuthType, ::Pair).collect { (_, activeAuthType) -> // Every time after bp shows, [isIconViewLoaded] is set to false in @@ -95,6 +75,17 @@ object PromptIconViewBinder { when (activeAuthType) { AuthType.Fingerprint, AuthType.Coex -> { + if (iconViewLayoutParamSizeOverride == null) { + iconView.layoutParams.width = + viewModel.fingerprintIconWidth.first() + iconView.layoutParams.height = + viewModel.fingerprintIconHeight.first() + + iconOverlayView.layoutParams.width = + viewModel.fingerprintIconWidth.first() + iconOverlayView.layoutParams.height = + viewModel.fingerprintIconHeight.first() + } /** * View is only set visible in BiometricViewSizeBinder once * PromptSize is determined that accounts for iconView size, to @@ -109,8 +100,10 @@ object PromptIconViewBinder { } } AuthType.Face -> { - width = viewModel.faceIconWidth - height = viewModel.faceIconHeight + if (iconViewLayoutParamSizeOverride == null) { + iconView.layoutParams.width = viewModel.faceIconWidth + iconView.layoutParams.height = viewModel.faceIconHeight + } /** * Set to true by default since face icon is a drawable, which * doesn't have a LottieOnCompositionLoadedListener equivalent. @@ -121,13 +114,6 @@ object PromptIconViewBinder { promptViewModel.setIsIconViewLoaded(true) } } - - if (width != 0 && height != 0) { - iconView.layoutParams.width = width - iconView.layoutParams.height = height - iconOverlayView.layoutParams.width = width - iconOverlayView.layoutParams.height = height - } } } @@ -155,19 +141,13 @@ object PromptIconViewBinder { combine( viewModel.activeAuthType, viewModel.shouldAnimateIconView, - viewModel.shouldRepeatAnimation, viewModel.showingError, - ::toQuad + ::Triple ), - ::toQuint + ::toQuad ) - .collect { - ( - iconAsset, - activeAuthType, - shouldAnimateIconView, - shouldRepeatAnimation, - showingError) -> + .collect { (iconAsset, activeAuthType, shouldAnimateIconView, showingError) + -> if (iconAsset != -1) { when (activeAuthType) { AuthType.Fingerprint, @@ -180,21 +160,27 @@ object PromptIconViewBinder { } } AuthType.Face -> { - faceIcon?.apply { - unregisterAnimationCallback(faceIconCallback) - stop() - } - faceIcon = - iconView.context.getDrawable(iconAsset) - as AnimatedVectorDrawable - faceIcon?.apply { - iconView.setImageDrawable(this) + // TODO(b/318569643): Consolidate logic once all face auth + // assets are migrated from drawable to json + if (iconAsset == R.raw.face_dialog_authenticating) { + iconView.setAnimation(iconAsset) + iconView.frame = 0 + if (shouldAnimateIconView) { - forceAnimationOnUI() - if (shouldRepeatAnimation) { - registerAnimationCallback(faceIconCallback) + iconView.playAnimation() + iconView.loop(true) + } + } else { + faceIcon?.apply { stop() } + faceIcon = + iconView.context.getDrawable(iconAsset) + as AnimatedVectorDrawable + faceIcon?.apply { + iconView.setImageDrawable(this) + if (shouldAnimateIconView) { + forceAnimationOnUI() + start() } - start() } } } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptIconViewModel.kt b/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptIconViewModel.kt index 257eb4a60328..c59fdcf59d60 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptIconViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/ui/viewmodel/PromptIconViewModel.kt @@ -31,12 +31,10 @@ import com.android.systemui.res.R import com.android.systemui.util.kotlin.combine import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf -import kotlinx.coroutines.flow.map /** * Models UI of [BiometricPromptLayout.iconView] and [BiometricPromptLayout.biometric_icon_overlay] @@ -57,11 +55,8 @@ constructor( } /** - * Indicates what auth type the UI currently displays. - * Fingerprint-only auth -> Fingerprint - * Face-only auth -> Face - * Co-ex auth, implicit flow -> Face - * Co-ex auth, explicit flow -> Coex + * Indicates what auth type the UI currently displays. Fingerprint-only auth -> Fingerprint + * Face-only auth -> Face Co-ex auth, implicit flow -> Face Co-ex auth, explicit flow -> Coex */ val activeAuthType: Flow<AuthType> = combine( @@ -129,35 +124,6 @@ constructor( _previousIconOverlayWasError.value = previousIconOverlayWasError } - /** Called when iconView begins animating. */ - fun onAnimationStart() { - _animationEnded.value = false - } - - /** Called when iconView ends animating. */ - fun onAnimationEnd() { - _animationEnded.value = true - } - - private val _animationEnded: MutableStateFlow<Boolean> = MutableStateFlow(false) - - /** - * Whether a face iconView should pulse (i.e. while isAuthenticating and previous animation - * ended). - */ - val shouldPulseAnimation: Flow<Boolean> = - combine(_animationEnded, promptViewModel.isAuthenticating) { - animationEnded, - isAuthenticating -> - animationEnded && isAuthenticating - } - .distinctUntilChanged() - - private val _lastPulseLightToDark: MutableStateFlow<Boolean> = MutableStateFlow(false) - - /** Tracks whether a face iconView last pulsed light to dark (vs. dark to light) */ - val lastPulseLightToDark: Flow<Boolean> = _lastPulseLightToDark.asStateFlow() - /** Layout params for fingerprint iconView */ val fingerprintIconWidth: Flow<Int> = promptViewModel.fingerprintSensorDiameter val fingerprintIconHeight: Flow<Int> = promptViewModel.fingerprintSensorDiameter @@ -199,35 +165,22 @@ constructor( } } AuthType.Face -> - shouldPulseAnimation.flatMapLatest { shouldPulseAnimation: Boolean -> - if (shouldPulseAnimation) { - val iconAsset = - if (_lastPulseLightToDark.value) { - R.drawable.face_dialog_pulse_dark_to_light - } else { - R.drawable.face_dialog_pulse_light_to_dark - } - _lastPulseLightToDark.value = !_lastPulseLightToDark.value - flowOf(iconAsset) - } else { - combine( - promptViewModel.isAuthenticated.distinctUntilChanged(), - promptViewModel.isAuthenticating.distinctUntilChanged(), - promptViewModel.isPendingConfirmation.distinctUntilChanged(), - promptViewModel.showingError.distinctUntilChanged() - ) { - authState: PromptAuthState, - isAuthenticating: Boolean, - isPendingConfirmation: Boolean, - showingError: Boolean -> - getFaceIconViewAsset( - authState, - isAuthenticating, - isPendingConfirmation, - showingError - ) - } - } + combine( + promptViewModel.isAuthenticated.distinctUntilChanged(), + promptViewModel.isAuthenticating.distinctUntilChanged(), + promptViewModel.isPendingConfirmation.distinctUntilChanged(), + promptViewModel.showingError.distinctUntilChanged() + ) { + authState: PromptAuthState, + isAuthenticating: Boolean, + isPendingConfirmation: Boolean, + showingError: Boolean -> + getFaceIconViewAsset( + authState, + isAuthenticating, + isPendingConfirmation, + showingError + ) } AuthType.Coex -> combine( @@ -331,8 +284,7 @@ constructor( } else if (authState.isAuthenticated) { R.drawable.face_dialog_dark_to_checkmark } else if (isAuthenticating) { - _lastPulseLightToDark.value = false - R.drawable.face_dialog_pulse_dark_to_light + R.raw.face_dialog_authenticating } else if (showingError) { R.drawable.face_dialog_dark_to_error } else if (_previousIconWasError.value) { @@ -707,16 +659,6 @@ constructor( } } - /** Whether the current BiometricPromptLayout.iconView asset animation should be repeated. */ - val shouldRepeatAnimation: Flow<Boolean> = - activeAuthType.flatMapLatest { activeAuthType: AuthType -> - when (activeAuthType) { - AuthType.Fingerprint, - AuthType.Coex -> flowOf(false) - AuthType.Face -> promptViewModel.isAuthenticating.map { it } - } - } - /** Called on configuration changes */ fun onConfigurationChanged(newConfig: Configuration) { displayStateInteractor.onConfigurationChanged(newConfig) diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java index b3b7bceea0e0..fd08daf733f6 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java @@ -1188,9 +1188,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback, } boolean isVolumeControlEnabled(@NonNull MediaDevice device) { - return (isPlayBackInfoLocal() - || device.getDeviceType() != MediaDevice.MediaDeviceType.TYPE_CAST_GROUP_DEVICE) - && !device.isVolumeFixed(); + return !device.isVolumeFixed(); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java index 17251c37473f..f96bc0401c2a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java @@ -16,6 +16,8 @@ package com.android.systemui.qs.tiles; +import static com.android.settingslib.satellite.SatelliteDialogUtils.TYPE_IS_AIRPLANE_MODE; + import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -33,9 +35,12 @@ import android.view.View; import android.widget.Switch; import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; +import com.android.internal.telephony.flags.Flags; +import com.android.settingslib.satellite.SatelliteDialogUtils; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; @@ -56,6 +61,8 @@ import dagger.Lazy; import javax.inject.Inject; +import kotlinx.coroutines.Job; + /** Quick settings tile: Airplane mode **/ public class AirplaneModeTile extends QSTileImpl<BooleanState> { @@ -66,6 +73,9 @@ public class AirplaneModeTile extends QSTileImpl<BooleanState> { private final Lazy<ConnectivityManager> mLazyConnectivityManager; private boolean mListening; + @Nullable + @VisibleForTesting + Job mClickJob; @Inject public AirplaneModeTile( @@ -111,6 +121,21 @@ public class AirplaneModeTile extends QSTileImpl<BooleanState> { new Intent(TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS), 0); return; } + + if (Flags.oemEnabledSatelliteFlag()) { + if (mClickJob != null && !mClickJob.isCompleted()) { + return; + } + mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog( + mContext, this, TYPE_IS_AIRPLANE_MODE, isAllowClick -> { + if (isAllowClick) { + setEnabled(!airplaneModeEnabled); + } + return null; + }); + return; + } + setEnabled(!airplaneModeEnabled); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java index b0707db0d02d..a351b071c906 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java @@ -16,6 +16,7 @@ package com.android.systemui.qs.tiles; +import static com.android.settingslib.satellite.SatelliteDialogUtils.TYPE_IS_BLUETOOTH; import static com.android.systemui.util.PluralMessageFormaterKt.icuMessageFormat; import android.annotation.Nullable; @@ -34,11 +35,14 @@ import android.util.Log; import android.view.View; import android.widget.Switch; +import androidx.annotation.VisibleForTesting; + import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.Utils; import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.CachedBluetoothDevice; +import com.android.settingslib.satellite.SatelliteDialogUtils; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.flags.FeatureFlags; @@ -60,6 +64,8 @@ import java.util.concurrent.Executor; import javax.inject.Inject; +import kotlinx.coroutines.Job; + /** Quick settings tile: Bluetooth **/ public class BluetoothTile extends QSTileImpl<BooleanState> { @@ -78,6 +84,9 @@ public class BluetoothTile extends QSTileImpl<BooleanState> { private final BluetoothTileDialogViewModel mDialogViewModel; private final FeatureFlags mFeatureFlags; + @Nullable + @VisibleForTesting + Job mClickJob; @Inject public BluetoothTile( @@ -110,6 +119,24 @@ public class BluetoothTile extends QSTileImpl<BooleanState> { @Override protected void handleClick(@Nullable View view) { + if (com.android.internal.telephony.flags.Flags.oemEnabledSatelliteFlag()) { + if (mClickJob != null && !mClickJob.isCompleted()) { + return; + } + mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog( + mContext, this, TYPE_IS_BLUETOOTH, isAllowClick -> { + if (!isAllowClick) { + return null; + } + handleClickEvent(view); + return null; + }); + return; + } + handleClickEvent(view); + } + + private void handleClickEvent(@Nullable View view) { if (mFeatureFlags.isEnabled(Flags.BLUETOOTH_QS_TILE_DIALOG)) { mDialogViewModel.showDialog(view); } else { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java index dd40b7f55d64..1d14a8fd906c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegate.java @@ -15,6 +15,7 @@ */ package com.android.systemui.qs.tiles.dialog; +import static com.android.settingslib.satellite.SatelliteDialogUtils.TYPE_IS_WIFI; import static com.android.systemui.Prefs.Key.QS_HAS_TURNED_OFF_MOBILE_DATA; import static com.android.systemui.qs.tiles.dialog.InternetDialogController.MAX_WIFI_ENTRY_COUNT; @@ -57,6 +58,8 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.internal.logging.UiEvent; import com.android.internal.logging.UiEventLogger; +import com.android.internal.telephony.flags.Flags; +import com.android.settingslib.satellite.SatelliteDialogUtils; import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils; import com.android.systemui.Prefs; import com.android.systemui.accessibility.floatingmenu.AnnotationLinkSpan; @@ -68,13 +71,16 @@ import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.wifitrackerlib.WifiEntry; -import java.util.List; -import java.util.concurrent.Executor; - import dagger.assisted.Assisted; import dagger.assisted.AssistedFactory; import dagger.assisted.AssistedInject; +import java.util.List; +import java.util.concurrent.Executor; + +import kotlinx.coroutines.CoroutineScope; +import kotlinx.coroutines.Job; + /** * Dialog for showing mobile network, connected Wi-Fi network and Wi-Fi networks. */ @@ -159,13 +165,17 @@ public class InternetDialogDelegate implements // Wi-Fi scanning progress bar protected boolean mIsProgressBarVisible; private SystemUIDialog mDialog; + private final CoroutineScope mCoroutineScope; + @Nullable + private Job mClickJob; @AssistedFactory public interface Factory { InternetDialogDelegate create( @Assisted(ABOVE_STATUS_BAR) boolean aboveStatusBar, @Assisted(CAN_CONFIG_MOBILE_DATA) boolean canConfigMobileData, - @Assisted(CAN_CONFIG_WIFI) boolean canConfigWifi); + @Assisted(CAN_CONFIG_WIFI) boolean canConfigWifi, + @Assisted CoroutineScope coroutineScope); } @AssistedInject @@ -176,6 +186,7 @@ public class InternetDialogDelegate implements @Assisted(ABOVE_STATUS_BAR) boolean canConfigMobileData, @Assisted(CAN_CONFIG_MOBILE_DATA) boolean canConfigWifi, @Assisted(CAN_CONFIG_WIFI) boolean aboveStatusBar, + @Assisted CoroutineScope coroutineScope, UiEventLogger uiEventLogger, DialogTransitionAnimator dialogTransitionAnimator, @Main Handler handler, @@ -199,7 +210,7 @@ public class InternetDialogDelegate implements mCanConfigWifi = canConfigWifi; mCanChangeWifiState = WifiEnterpriseRestrictionUtils.isChangeWifiStateAllowed(context); mKeyguard = keyguardStateController; - + mCoroutineScope = coroutineScope; mUiEventLogger = uiEventLogger; mDialogTransitionAnimator = dialogTransitionAnimator; mAdapter = new InternetAdapter(mInternetDialogController); @@ -384,11 +395,9 @@ public class InternetDialogDelegate implements }); mConnectedWifListLayout.setOnClickListener(this::onClickConnectedWifi); mSeeAllLayout.setOnClickListener(this::onClickSeeMoreButton); - mWiFiToggle.setOnCheckedChangeListener( - (buttonView, isChecked) -> { - if (mInternetDialogController.isWifiEnabled() == isChecked) return; - mInternetDialogController.setWifiEnabled(isChecked); - }); + mWiFiToggle.setOnClickListener(v -> { + handleWifiToggleClicked(mWiFiToggle.isChecked()); + }); mDoneButton.setOnClickListener(v -> dialog.dismiss()); mShareWifiButton.setOnClickListener(v -> { if (mInternetDialogController.mayLaunchShareWifiSettings(mConnectedWifiEntry)) { @@ -400,6 +409,32 @@ public class InternetDialogDelegate implements }); } + private void handleWifiToggleClicked(boolean isChecked) { + if (Flags.oemEnabledSatelliteFlag()) { + if (mClickJob != null && !mClickJob.isCompleted()) { + return; + } + mClickJob = SatelliteDialogUtils.mayStartSatelliteWarningDialog( + mDialog.getContext(), mCoroutineScope, TYPE_IS_WIFI, isAllowClick -> { + if (isAllowClick) { + setWifiEnable(isChecked); + } else { + mWiFiToggle.setChecked(!isChecked); + } + return null; + }); + return; + } + setWifiEnable(isChecked); + } + + private void setWifiEnable(boolean isChecked) { + if (mInternetDialogController.isWifiEnabled() == isChecked) { + return; + } + mInternetDialogController.setWifiEnabled(isChecked); + } + @MainThread private void updateEthernet() { mEthernetLayout.setVisibility( diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogManager.kt b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogManager.kt index 2a177c791a03..5aef950b6a19 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogManager.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogManager.kt @@ -21,26 +21,35 @@ import com.android.internal.jank.InteractionJankMonitor import com.android.systemui.animation.DialogCuj import com.android.systemui.animation.DialogTransitionAnimator import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.statusbar.phone.SystemUIDialog import javax.inject.Inject +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.cancel private const val TAG = "InternetDialogFactory" private val DEBUG = Log.isLoggable(TAG, Log.DEBUG) -/** - * Factory to create [InternetDialogDelegate] objects. - */ +/** Factory to create [InternetDialogDelegate] objects. */ @SysUISingleton -class InternetDialogManager @Inject constructor( +class InternetDialogManager +@Inject +constructor( private val dialogTransitionAnimator: DialogTransitionAnimator, - private val dialogFactory: InternetDialogDelegate.Factory + private val dialogFactory: InternetDialogDelegate.Factory, + @Background private val bgDispatcher: CoroutineDispatcher, ) { + private lateinit var coroutineScope: CoroutineScope companion object { private const val INTERACTION_JANK_TAG = "internet" var dialog: SystemUIDialog? = null } - /** Creates a [InternetDialogDelegate]. The dialog will be animated from [view] if it is not null. */ + /** + * Creates a [InternetDialogDelegate]. The dialog will be animated from [view] if it is not + * null. + */ fun create( aboveStatusBar: Boolean, canConfigMobileData: Boolean, @@ -53,16 +62,21 @@ class InternetDialogManager @Inject constructor( } return } else { - dialog = dialogFactory.create( - aboveStatusBar, canConfigMobileData, canConfigWifi).createDialog() + coroutineScope = CoroutineScope(bgDispatcher) + dialog = + dialogFactory + .create(aboveStatusBar, canConfigMobileData, canConfigWifi, coroutineScope) + .createDialog() if (view != null) { dialogTransitionAnimator.showFromView( - dialog!!, view, + dialog!!, + view, animateBackgroundBoundsChange = true, - cuj = DialogCuj( - InteractionJankMonitor.CUJ_SHADE_DIALOG_OPEN, - INTERACTION_JANK_TAG - ) + cuj = + DialogCuj( + InteractionJankMonitor.CUJ_SHADE_DIALOG_OPEN, + INTERACTION_JANK_TAG + ) ) } else { dialog!!.show() @@ -74,6 +88,9 @@ class InternetDialogManager @Inject constructor( if (DEBUG) { Log.d(TAG, "destroyDialog") } + if (dialog != null) { + coroutineScope.cancel() + } dialog = null } } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java b/packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java index 12bff499217e..6ff153569ad7 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java @@ -89,9 +89,12 @@ public class AssistContentRequester { // ActivityTaskManager interaction here is synchronous, so call off the main thread. mSystemInteractionExecutor.execute(() -> { try { - mActivityTaskManager.requestAssistDataForTask( + boolean success = mActivityTaskManager.requestAssistDataForTask( new AssistDataReceiver(callback, this), taskId, mPackageName, mAttributionTag); + if (!success) { + callback.onAssistContentAvailable(null); + } } catch (RemoteException e) { Log.e(TAG, "Requesting assist content failed for task: " + taskId, e); } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java index b949741792a8..4916f0baae07 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java @@ -58,6 +58,7 @@ import android.util.Pair; import android.view.Display; import android.view.ScrollCaptureResponse; import android.view.View; +import android.view.ViewGroup; import android.view.ViewRootImpl; import android.view.ViewTreeObserver; import android.view.WindowInsets; @@ -699,6 +700,12 @@ public class ScreenshotController { mBlockAttach = true; mWindowManager.addView(decorView, mWindowLayoutParams); decorView.requestApplyInsets(); + + if (screenshotShelfUi2()) { + ViewGroup layout = decorView.requireViewById(android.R.id.content); + layout.setClipChildren(false); + layout.setClipToPadding(false); + } } void removeWindow() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt index d4b2dbff078b..2e54972c4950 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt @@ -53,6 +53,27 @@ constructor( ) } + fun logTopLevelServiceStateBroadcastEmergencyOnly(subId: Int, serviceState: ServiceState) { + buffer.log( + TAG, + LogLevel.INFO, + { + int1 = subId + bool1 = serviceState.isEmergencyOnly + }, + { "ACTION_SERVICE_STATE for subId=$int1. ServiceState.isEmergencyOnly=$bool1" } + ) + } + + fun logTopLevelServiceStateBroadcastMissingExtras(subId: Int) { + buffer.log( + TAG, + LogLevel.INFO, + { int1 = subId }, + { "ACTION_SERVICE_STATE for subId=$int1. Intent is missing extras. Ignoring" } + ) + } + fun logOnSignalStrengthsChanged(signalStrength: SignalStrength, subId: Int) { buffer.log( TAG, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/ServiceStateModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/ServiceStateModel.kt new file mode 100644 index 000000000000..cce3eb02023b --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/ServiceStateModel.kt @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.statusbar.pipeline.mobile.data.model + +import android.telephony.ServiceState + +/** + * Simplified representation of a [ServiceState] for use in SystemUI. Add any fields that we need to + * extract from service state here for consumption downstream + */ +data class ServiceStateModel(val isEmergencyOnly: Boolean) { + companion object { + fun fromServiceState(serviceState: ServiceState): ServiceStateModel { + return ServiceStateModel(isEmergencyOnly = serviceState.isEmergencyOnly) + } + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileConnectionsRepository.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileConnectionsRepository.kt index 9471574fc755..5ad8bf1652b6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileConnectionsRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileConnectionsRepository.kt @@ -21,6 +21,7 @@ import android.telephony.SubscriptionManager import com.android.settingslib.SignalIcon.MobileIconGroup import com.android.settingslib.mobile.MobileMappings import com.android.settingslib.mobile.MobileMappings.Config +import com.android.systemui.statusbar.pipeline.mobile.data.model.ServiceStateModel import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.StateFlow @@ -92,6 +93,19 @@ interface MobileConnectionsRepository { val defaultMobileIconGroup: Flow<MobileIconGroup> /** + * [deviceServiceState] is equivalent to the last [Intent.ACTION_SERVICE_STATE] broadcast with a + * subscriptionId of -1 (aka [SubscriptionManager.INVALID_SUBSCRIPTION_ID]). + * + * While each [MobileConnectionsRepository] listens for the service state of each subscription, + * there is potentially a service state associated with the device itself. This value can be + * used to calculate e.g., the emergency calling capability of the device (as opposed to the + * emergency calling capability of an individual mobile connection) + * + * Note: this is a [StateFlow] using an eager sharing strategy. + */ + val deviceServiceState: StateFlow<ServiceStateModel?> + + /** * If any active SIM on the device is in * [android.telephony.TelephonyManager.SIM_STATE_PIN_REQUIRED] or * [android.telephony.TelephonyManager.SIM_STATE_PUK_REQUIRED] or diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcher.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcher.kt index 8a8e33efbcef..b0681525a137 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcher.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/MobileRepositorySwitcher.kt @@ -25,6 +25,7 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.demomode.DemoMode import com.android.systemui.demomode.DemoModeController +import com.android.systemui.statusbar.pipeline.mobile.data.model.ServiceStateModel import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.demo.DemoMobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.prod.MobileConnectionsRepositoryImpl @@ -151,6 +152,15 @@ constructor( override val defaultMobileIconGroup: Flow<SignalIcon.MobileIconGroup> = activeRepo.flatMapLatest { it.defaultMobileIconGroup } + override val deviceServiceState: StateFlow<ServiceStateModel?> = + activeRepo + .flatMapLatest { it.deviceServiceState } + .stateIn( + scope, + SharingStarted.WhileSubscribed(), + realRepository.deviceServiceState.value + ) + override val isAnySimSecure: Flow<Boolean> = activeRepo.flatMapLatest { it.isAnySimSecure } override fun getIsAnySimSecure(): Boolean = activeRepo.value.getIsAnySimSecure() diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt index 2b3c6326032c..a944e9133a31 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt @@ -27,6 +27,7 @@ import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.log.table.TableLogBufferFactory import com.android.systemui.statusbar.pipeline.mobile.data.model.ResolvedNetworkType import com.android.systemui.statusbar.pipeline.mobile.data.model.ResolvedNetworkType.DefaultNetworkType +import com.android.systemui.statusbar.pipeline.mobile.data.model.ServiceStateModel import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionsRepository @@ -136,6 +137,9 @@ constructor( override val defaultMobileIconGroup = flowOf(TelephonyIcons.THREE_G) + // TODO(b/339023069): demo command for device-based connectivity state + override val deviceServiceState: StateFlow<ServiceStateModel?> = MutableStateFlow(null) + override val isAnySimSecure: Flow<Boolean> = flowOf(getIsAnySimSecure()) override fun getIsAnySimSecure(): Boolean = false diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt index 962b2229daa9..11071654233b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt @@ -18,8 +18,10 @@ package com.android.systemui.statusbar.pipeline.mobile.data.repository.prod import android.annotation.SuppressLint import android.content.Context +import android.content.Intent import android.content.IntentFilter import android.telephony.CarrierConfigManager +import android.telephony.ServiceState import android.telephony.SubscriptionInfo import android.telephony.SubscriptionManager import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID @@ -44,6 +46,7 @@ import com.android.systemui.statusbar.pipeline.airplane.data.repository.Airplane import com.android.systemui.statusbar.pipeline.dagger.MobileSummaryLog import com.android.systemui.statusbar.pipeline.mobile.data.MobileInputLogger import com.android.systemui.statusbar.pipeline.mobile.data.model.NetworkNameModel +import com.android.systemui.statusbar.pipeline.mobile.data.model.ServiceStateModel import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.util.MobileMappingsProxy @@ -63,6 +66,7 @@ import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.filterNotNull import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.mapLatest @@ -156,6 +160,35 @@ constructor( } .flowOn(bgDispatcher) + /** Note that this flow is eager, so we don't miss any state */ + override val deviceServiceState: StateFlow<ServiceStateModel?> = + broadcastDispatcher + .broadcastFlow(IntentFilter(Intent.ACTION_SERVICE_STATE)) { intent, _ -> + val subId = + intent.getIntExtra( + SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, + INVALID_SUBSCRIPTION_ID + ) + + val extras = intent.extras + if (extras == null) { + logger.logTopLevelServiceStateBroadcastMissingExtras(subId) + return@broadcastFlow null + } + + val serviceState = ServiceState.newFromBundle(extras) + logger.logTopLevelServiceStateBroadcastEmergencyOnly(subId, serviceState) + if (subId == INVALID_SUBSCRIPTION_ID) { + // Assume that -1 here is the device's service state. We don't care about + // other ones. + ServiceStateModel.fromServiceState(serviceState) + } else { + null + } + } + .filterNotNull() + .stateIn(scope, SharingStarted.Eagerly, null) + /** * State flow that emits the set of mobile data subscriptions, each represented by its own * [SubscriptionModel]. diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt index 91d7ca65b30d..cc4d5689c3fb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt @@ -111,6 +111,13 @@ interface MobileIconsInteractor { val isForceHidden: Flow<Boolean> /** + * True if the device-level service state (with -1 subscription id) reports emergency calls + * only. This value is only useful when there are no other subscriptions OR all existing + * subscriptions report that they are not in service. + */ + val isDeviceInEmergencyCallsOnlyMode: Flow<Boolean> + + /** * Vends out a [MobileIconInteractor] tracking the [MobileConnectionRepository] for the given * subId. */ @@ -377,6 +384,9 @@ constructor( .map { it.contains(ConnectivitySlot.MOBILE) } .stateIn(scope, SharingStarted.WhileSubscribed(), false) + override val isDeviceInEmergencyCallsOnlyMode: Flow<Boolean> = + mobileConnectionsRepo.deviceServiceState.map { it?.isEmergencyOnly ?: false } + /** Vends out new [MobileIconInteractor] for a particular subId */ override fun getMobileConnectionInteractorForSubId(subId: Int): MobileIconInteractor = reuseCache[subId]?.get() ?: createMobileConnectionInteractorForSubId(subId) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractor.kt index 51c053ee284a..5b954b272044 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractor.kt @@ -19,6 +19,9 @@ package com.android.systemui.statusbar.pipeline.satellite.domain.interactor import com.android.internal.telephony.flags.Flags import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application +import com.android.systemui.log.LogBuffer +import com.android.systemui.log.core.LogLevel +import com.android.systemui.statusbar.pipeline.dagger.OemSatelliteInputLog import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.MobileIconsInteractor import com.android.systemui.statusbar.pipeline.satellite.data.DeviceBasedSatelliteRepository import com.android.systemui.statusbar.pipeline.satellite.shared.model.SatelliteConnectionState @@ -45,6 +48,7 @@ constructor( deviceProvisioningInteractor: DeviceProvisioningInteractor, wifiInteractor: WifiInteractor, @Application scope: CoroutineScope, + @OemSatelliteInputLog private val logBuffer: LogBuffer, ) { /** Must be observed by any UI showing Satellite iconography */ val isSatelliteAllowed = @@ -79,25 +83,52 @@ constructor( val isWifiActive: Flow<Boolean> = wifiInteractor.wifiNetwork.map { it is WifiNetworkModel.Active } + private val allConnectionsOos = + iconsInteractor.icons.aggregateOver( + selector = { intr -> + combine(intr.isInService, intr.isEmergencyOnly, intr.isNonTerrestrial) { + isInService, + isEmergencyOnly, + isNtn -> + !isInService && !isEmergencyOnly && !isNtn + } + }, + defaultValue = true, // no connections == everything is OOS + ) { isOosAndNotEmergencyAndNotSatellite -> + isOosAndNotEmergencyAndNotSatellite.all { it } + } + /** When all connections are considered OOS, satellite connectivity is potentially valid */ val areAllConnectionsOutOfService = if (Flags.oemEnabledSatelliteFlag()) { - iconsInteractor.icons.aggregateOver( - selector = { intr -> - combine(intr.isInService, intr.isEmergencyOnly, intr.isNonTerrestrial) { - isInService, - isEmergencyOnly, - isNtn -> - !isInService && !(isEmergencyOnly || isNtn) - } - } - ) { isOosAndNotEmergencyOnlyOrSatellite -> - isOosAndNotEmergencyOnlyOrSatellite.all { it } + combine( + allConnectionsOos, + iconsInteractor.isDeviceInEmergencyCallsOnlyMode, + ) { connectionsOos, deviceEmergencyOnly -> + logBuffer.log( + TAG, + LogLevel.INFO, + { + bool1 = connectionsOos + bool2 = deviceEmergencyOnly + }, + { + "Updating OOS status. allConnectionsOOs=$bool1 " + + "deviceEmergencyOnly=$bool2" + }, + ) + // If no connections exist, or all are OOS, then we look to the device-based + // service state to detect if any calls are possible + connectionsOos && !deviceEmergencyOnly } } else { flowOf(false) } .stateIn(scope, SharingStarted.WhileSubscribed(), true) + + companion object { + const val TAG = "DeviceBasedSatelliteInteractor" + } } /** @@ -106,12 +137,22 @@ constructor( * * Provides a way to connect the reactivity of the top-level flow with the reactivity of an * arbitrarily-defined relationship ([selector]) from R to the flow that R exposes. + * + * [defaultValue] allows for a default value to be used if there are no leaf nodes after applying + * [selector]. E.g., if there are no mobile connections, assume that there is no service. */ @OptIn(ExperimentalCoroutinesApi::class) private inline fun <R, reified S, T> Flow<List<R>>.aggregateOver( crossinline selector: (R) -> Flow<S>, - crossinline transform: (Array<S>) -> T + defaultValue: T, + crossinline transform: (Array<S>) -> T, ): Flow<T> { return map { list -> list.map { selector(it) } } - .flatMapLatest { newFlows -> combine(newFlows) { newVals -> transform(newVals) } } + .flatMapLatest { newFlows -> + if (newFlows.isEmpty()) { + flowOf(defaultValue) + } else { + combine(newFlows) { newVals -> transform(newVals) } + } + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt index 5f975ecbcecc..0d89de45a4c8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/ui/viewmodel/PromptViewModelTest.kt @@ -355,25 +355,11 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa } if (testCase.isFaceOnly) { - val shouldRepeatAnimation by collectLastValue(iconViewModel.shouldRepeatAnimation) - val shouldPulseAnimation by collectLastValue(iconViewModel.shouldPulseAnimation) - val lastPulseLightToDark by collectLastValue(iconViewModel.lastPulseLightToDark) - - val expectedIconAsset = - if (shouldPulseAnimation!!) { - if (lastPulseLightToDark!!) { - R.drawable.face_dialog_pulse_dark_to_light - } else { - R.drawable.face_dialog_pulse_light_to_dark - } - } else { - R.drawable.face_dialog_pulse_dark_to_light - } + val expectedIconAsset = R.raw.face_dialog_authenticating assertThat(iconAsset).isEqualTo(expectedIconAsset) assertThat(iconContentDescriptionId) .isEqualTo(R.string.biometric_dialog_face_icon_description_authenticating) assertThat(shouldAnimateIconView).isEqualTo(true) - assertThat(shouldRepeatAnimation).isEqualTo(true) } if (testCase.isCoex) { @@ -395,26 +381,11 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa } } else { // implicit flow - val shouldRepeatAnimation by - collectLastValue(iconViewModel.shouldRepeatAnimation) - val shouldPulseAnimation by collectLastValue(iconViewModel.shouldPulseAnimation) - val lastPulseLightToDark by collectLastValue(iconViewModel.lastPulseLightToDark) - - val expectedIconAsset = - if (shouldPulseAnimation!!) { - if (lastPulseLightToDark!!) { - R.drawable.face_dialog_pulse_dark_to_light - } else { - R.drawable.face_dialog_pulse_light_to_dark - } - } else { - R.drawable.face_dialog_pulse_dark_to_light - } + val expectedIconAsset = R.raw.face_dialog_authenticating assertThat(iconAsset).isEqualTo(expectedIconAsset) assertThat(iconContentDescriptionId) .isEqualTo(R.string.biometric_dialog_face_icon_description_authenticating) assertThat(shouldAnimateIconView).isEqualTo(true) - assertThat(shouldRepeatAnimation).isEqualTo(true) } } } @@ -504,14 +475,9 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa } if (testCase.isFaceOnly) { - val shouldRepeatAnimation by collectLastValue(iconViewModel.shouldRepeatAnimation) - val shouldPulseAnimation by collectLastValue(iconViewModel.shouldPulseAnimation) - - assertThat(shouldPulseAnimation!!).isEqualTo(false) assertThat(iconAsset).isEqualTo(R.drawable.face_dialog_dark_to_error) assertThat(iconContentDescriptionId).isEqualTo(R.string.keyguard_face_failed) assertThat(shouldAnimateIconView).isEqualTo(true) - assertThat(shouldRepeatAnimation).isEqualTo(false) // Clear error, go to idle errorJob.join() @@ -520,7 +486,6 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa assertThat(iconContentDescriptionId) .isEqualTo(R.string.biometric_dialog_face_icon_description_idle) assertThat(shouldAnimateIconView).isEqualTo(true) - assertThat(shouldRepeatAnimation).isEqualTo(false) } if (testCase.isCoex) { @@ -603,15 +568,10 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa // If co-ex, using implicit flow (explicit flow always requires confirmation) if (testCase.isFaceOnly || testCase.isCoex) { - val shouldRepeatAnimation by collectLastValue(iconViewModel.shouldRepeatAnimation) - val shouldPulseAnimation by collectLastValue(iconViewModel.shouldPulseAnimation) - - assertThat(shouldPulseAnimation!!).isEqualTo(false) assertThat(iconAsset).isEqualTo(R.drawable.face_dialog_dark_to_checkmark) assertThat(iconContentDescriptionId) .isEqualTo(R.string.biometric_dialog_face_icon_description_authenticated) assertThat(shouldAnimateIconView).isEqualTo(true) - assertThat(shouldRepeatAnimation).isEqualTo(false) } } } @@ -633,15 +593,10 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa ) if (testCase.isFaceOnly) { - val shouldRepeatAnimation by collectLastValue(iconViewModel.shouldRepeatAnimation) - val shouldPulseAnimation by collectLastValue(iconViewModel.shouldPulseAnimation) - - assertThat(shouldPulseAnimation!!).isEqualTo(false) assertThat(iconAsset).isEqualTo(R.drawable.face_dialog_wink_from_dark) assertThat(iconContentDescriptionId) .isEqualTo(R.string.biometric_dialog_face_icon_description_authenticated) assertThat(shouldAnimateIconView).isEqualTo(true) - assertThat(shouldRepeatAnimation).isEqualTo(false) } // explicit flow because confirmation requested @@ -683,15 +638,10 @@ internal class PromptViewModelTest(private val testCase: TestCase) : SysuiTestCa viewModel.confirmAuthenticated() if (testCase.isFaceOnly) { - val shouldRepeatAnimation by collectLastValue(iconViewModel.shouldRepeatAnimation) - val shouldPulseAnimation by collectLastValue(iconViewModel.shouldPulseAnimation) - - assertThat(shouldPulseAnimation!!).isEqualTo(false) assertThat(iconAsset).isEqualTo(R.drawable.face_dialog_dark_to_checkmark) assertThat(iconContentDescriptionId) .isEqualTo(R.string.biometric_dialog_face_icon_description_confirmed) assertThat(shouldAnimateIconView).isEqualTo(true) - assertThat(shouldRepeatAnimation).isEqualTo(false) } // explicit flow because confirmation requested diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt index e2a3fac60ee8..26eae920e5e3 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt @@ -22,7 +22,7 @@ import android.testing.AndroidTestingRunner import android.testing.TestableLooper import androidx.test.filters.SmallTest import com.android.internal.logging.MetricsLogger -import com.android.systemui.res.R +import com.android.internal.telephony.flags.Flags import com.android.systemui.SysuiTestCase import com.android.systemui.broadcast.BroadcastDispatcher import com.android.systemui.classifier.FalsingManagerFake @@ -33,10 +33,12 @@ import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.res.R import com.android.systemui.settings.UserTracker import com.android.systemui.util.settings.GlobalSettings import com.google.common.truth.Truth.assertThat import dagger.Lazy +import kotlinx.coroutines.Job import org.junit.After import org.junit.Before import org.junit.Test @@ -44,11 +46,15 @@ import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito import org.mockito.MockitoAnnotations +import org.mockito.kotlin.any +import org.mockito.kotlin.times +import org.mockito.kotlin.verify @RunWith(AndroidTestingRunner::class) @TestableLooper.RunWithLooper(setAsMainLooper = true) @SmallTest class AirplaneModeTileTest : SysuiTestCase() { + @Mock private lateinit var mHost: QSHost @Mock @@ -62,13 +68,18 @@ class AirplaneModeTileTest : SysuiTestCase() { @Mock private lateinit var mBroadcastDispatcher: BroadcastDispatcher @Mock - private lateinit var mConnectivityManager: Lazy<ConnectivityManager> + private lateinit var mLazyConnectivityManager: Lazy<ConnectivityManager> + @Mock + private lateinit var mConnectivityManager: ConnectivityManager @Mock private lateinit var mGlobalSettings: GlobalSettings @Mock private lateinit var mUserTracker: UserTracker @Mock private lateinit var mUiEventLogger: QsEventLogger + @Mock + private lateinit var mClickJob: Job + private lateinit var mTestableLooper: TestableLooper private lateinit var mTile: AirplaneModeTile @@ -78,7 +89,7 @@ class AirplaneModeTileTest : SysuiTestCase() { mTestableLooper = TestableLooper.get(this) Mockito.`when`(mHost.context).thenReturn(mContext) Mockito.`when`(mHost.userContext).thenReturn(mContext) - + Mockito.`when`(mLazyConnectivityManager.get()).thenReturn(mConnectivityManager) mTile = AirplaneModeTile( mHost, mUiEventLogger, @@ -90,7 +101,7 @@ class AirplaneModeTileTest : SysuiTestCase() { mActivityStarter, mQsLogger, mBroadcastDispatcher, - mConnectivityManager, + mLazyConnectivityManager, mGlobalSettings, mUserTracker) } @@ -120,4 +131,24 @@ class AirplaneModeTileTest : SysuiTestCase() { assertThat(state.icon) .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_airplane_icon_on)) } + + @Test + fun handleClick_noSatelliteFeature_directSetAirplaneMode() { + mSetFlagsRule.disableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + + mTile.handleClick(null) + + verify(mConnectivityManager).setAirplaneMode(any()) + } + + @Test + fun handleClick_hasSatelliteFeatureButClickIsProcessing_doNothing() { + mSetFlagsRule.enableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + Mockito.`when`(mClickJob.isCompleted).thenReturn(false) + mTile.mClickJob = mClickJob + + mTile.handleClick(null) + + verify(mConnectivityManager, times(0)).setAirplaneMode(any()) + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt index 82ee99a29427..bea6bc7c09c1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt @@ -9,9 +9,9 @@ import android.testing.TestableLooper import android.testing.TestableLooper.RunWithLooper import androidx.test.filters.SmallTest import com.android.internal.logging.MetricsLogger +import com.android.internal.telephony.flags.Flags import com.android.settingslib.Utils import com.android.settingslib.bluetooth.CachedBluetoothDevice -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.flags.FeatureFlagsClassic @@ -24,12 +24,14 @@ import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.qs.tiles.dialog.bluetooth.BluetoothTileDialogViewModel +import com.android.systemui.res.R import com.android.systemui.statusbar.policy.BluetoothController import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.eq import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.Job import org.junit.After import org.junit.Before import org.junit.Test @@ -37,6 +39,7 @@ import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.times import org.mockito.Mockito.verify +import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations @RunWith(AndroidTestingRunner::class) @@ -54,7 +57,7 @@ class BluetoothTileTest : SysuiTestCase() { @Mock private lateinit var uiEventLogger: QsEventLogger @Mock private lateinit var featureFlags: FeatureFlagsClassic @Mock private lateinit var bluetoothTileDialogViewModel: BluetoothTileDialogViewModel - + @Mock private lateinit var clickJob: Job private lateinit var testableLooper: TestableLooper private lateinit var tile: FakeBluetoothTile @@ -191,6 +194,41 @@ class BluetoothTileTest : SysuiTestCase() { } @Test + fun handleClick_hasSatelliteFeatureButNoQsTileDialogAndClickIsProcessing_doNothing() { + mSetFlagsRule.enableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + `when`(featureFlags.isEnabled(com.android.systemui.flags.Flags.BLUETOOTH_QS_TILE_DIALOG)) + .thenReturn(false) + `when`(clickJob.isCompleted).thenReturn(false) + tile.mClickJob = clickJob + + tile.handleClick(null) + + verify(bluetoothController, times(0)).setBluetoothEnabled(any()) + } + + @Test + fun handleClick_noSatelliteFeatureAndNoQsTileDialog_directSetBtEnable() { + mSetFlagsRule.disableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + `when`(featureFlags.isEnabled(com.android.systemui.flags.Flags.BLUETOOTH_QS_TILE_DIALOG)) + .thenReturn(false) + + tile.handleClick(null) + + verify(bluetoothController).setBluetoothEnabled(any()) + } + + @Test + fun handleClick_noSatelliteFeatureButHasQsTileDialog_showDialog() { + mSetFlagsRule.disableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) + `when`(featureFlags.isEnabled(com.android.systemui.flags.Flags.BLUETOOTH_QS_TILE_DIALOG)) + .thenReturn(true) + + tile.handleClick(null) + + verify(bluetoothTileDialogViewModel).showDialog(null) + } + + @Test fun testMetadataListener_whenDisconnected_isUnregistered() { val state = QSTile.BooleanState() val cachedDevice = mock<CachedBluetoothDevice>() diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java index f3351a26e64d..56e0c359355e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetDialogDelegateTest.java @@ -1,7 +1,9 @@ package com.android.systemui.qs.tiles.dialog; import static com.android.systemui.qs.tiles.dialog.InternetDialogController.MAX_WIFI_ENTRY_COUNT; + import static com.google.common.truth.Truth.assertThat; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; @@ -50,6 +52,8 @@ import org.mockito.MockitoSession; import java.util.List; +import kotlinx.coroutines.CoroutineScope; + @Ignore("b/257089187") @SmallTest @RunWith(AndroidTestingRunner.class) @@ -64,6 +68,8 @@ public class InternetDialogDelegateTest extends SysuiTestCase { @Mock private Handler mHandler; @Mock + CoroutineScope mScope; + @Mock private TelephonyManager mTelephonyManager; @Mock private WifiEntry mInternetWifiEntry; @@ -133,6 +139,7 @@ public class InternetDialogDelegateTest extends SysuiTestCase { true, true, true, + mScope, mock(UiEventLogger.class), mDialogTransitionAnimator, mHandler, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt index 5152d6b1f8a9..f59bc2bc3207 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryTest.kt @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.pipeline.mobile.data.repository.prod +import android.annotation.SuppressLint import android.content.Intent import android.net.ConnectivityManager import android.net.Network @@ -26,8 +27,10 @@ import android.net.NetworkCapabilities.TRANSPORT_ETHERNET import android.net.NetworkCapabilities.TRANSPORT_WIFI import android.net.vcn.VcnTransportInfo import android.net.wifi.WifiInfo +import android.os.Bundle import android.os.ParcelUuid import android.telephony.CarrierConfigManager +import android.telephony.ServiceState import android.telephony.SubscriptionInfo import android.telephony.SubscriptionManager import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID @@ -50,6 +53,7 @@ import com.android.systemui.log.table.TableLogBuffer import com.android.systemui.log.table.TableLogBufferFactory import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository import com.android.systemui.statusbar.pipeline.mobile.data.MobileInputLogger +import com.android.systemui.statusbar.pipeline.mobile.data.model.ServiceStateModel import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.CarrierConfigRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository @@ -572,6 +576,51 @@ class MobileConnectionsRepositoryTest : SysuiTestCase() { assertThat(mobileRepo.getIsCarrierMerged()).isFalse() } + @SuppressLint("UnspecifiedRegisterReceiverFlag") + @Test + fun testDeviceServiceStateFromBroadcast_eagerlyWatchesBroadcast() = + testScope.runTest { + // Value starts out empty (null) + assertThat(underTest.deviceServiceState.value).isNull() + + // WHEN an appropriate intent gets sent out + val intent = serviceStateIntent(subId = -1, emergencyOnly = false) + fakeBroadcastDispatcher.sendIntentToMatchingReceiversOnly( + context, + intent, + ) + runCurrent() + + // THEN the repo's state is updated + val expected = ServiceStateModel(isEmergencyOnly = false) + assertThat(underTest.deviceServiceState.value).isEqualTo(expected) + } + + @Test + fun testDeviceServiceStateFromBroadcast_followsSubIdNegativeOne() = + testScope.runTest { + // device based state tracks -1 + val intent = serviceStateIntent(subId = -1, emergencyOnly = false) + fakeBroadcastDispatcher.sendIntentToMatchingReceiversOnly( + context, + intent, + ) + runCurrent() + + val deviceBasedState = ServiceStateModel(isEmergencyOnly = false) + assertThat(underTest.deviceServiceState.value).isEqualTo(deviceBasedState) + + // ... and ignores any other subId + val intent2 = serviceStateIntent(subId = 1, emergencyOnly = true) + fakeBroadcastDispatcher.sendIntentToMatchingReceiversOnly( + context, + intent2, + ) + runCurrent() + + assertThat(underTest.deviceServiceState.value).isEqualTo(deviceBasedState) + } + @Test fun testConnectionCache_clearsInvalidSubscriptions() = testScope.runTest { @@ -1402,5 +1451,24 @@ class MobileConnectionsRepositoryTest : SysuiTestCase() { whenever(it.transportInfo).thenReturn(WIFI_INFO_ACTIVE) whenever(it.hasCapability(NET_CAPABILITY_VALIDATED)).thenReturn(true) } + + /** + * To properly mimic telephony manager, create a service state, and then turn it into an + * intent + */ + private fun serviceStateIntent( + subId: Int, + emergencyOnly: Boolean = false, + ): Intent { + val serviceState = ServiceState().apply { isEmergencyOnly = emergencyOnly } + + val bundle = Bundle() + serviceState.fillInNotifierBundle(bundle) + + return Intent(Intent.ACTION_SERVICE_STATE).apply { + putExtras(bundle) + putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, subId) + } + } } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt index 0f9cbfa66b5b..58d9ee3935fd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt @@ -28,6 +28,7 @@ import com.android.systemui.coroutines.collectLastValue import com.android.systemui.flags.FakeFeatureFlagsClassic import com.android.systemui.flags.Flags import com.android.systemui.log.table.TableLogBuffer +import com.android.systemui.statusbar.pipeline.mobile.data.model.ServiceStateModel import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeMobileConnectionRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeMobileConnectionsRepository @@ -888,6 +889,22 @@ class MobileIconsInteractorTest : SysuiTestCase() { assertThat(interactor1).isSameInstanceAs(interactor2) } + @Test + fun deviceBasedEmergencyMode_emergencyCallsOnly_followsDeviceServiceStateFromRepo() = + testScope.runTest { + val latest by collectLastValue(underTest.isDeviceInEmergencyCallsOnlyMode) + + connectionsRepository.deviceServiceState.value = + ServiceStateModel(isEmergencyOnly = true) + + assertThat(latest).isTrue() + + connectionsRepository.deviceServiceState.value = + ServiceStateModel(isEmergencyOnly = false) + + assertThat(latest).isFalse() + } + /** * Convenience method for creating a pair of subscriptions to test the filteredSubscriptions * flow. diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractorTest.kt index 405e3ed807d5..d303976612c1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/satellite/domain/interactor/DeviceBasedSatelliteInteractorTest.kt @@ -22,6 +22,7 @@ import androidx.test.filters.SmallTest import com.android.internal.telephony.flags.Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue +import com.android.systemui.log.core.FakeLogBuffer import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.FakeMobileIconsInteractor import com.android.systemui.statusbar.pipeline.mobile.util.FakeMobileMappingsProxy import com.android.systemui.statusbar.pipeline.satellite.data.prod.FakeDeviceBasedSatelliteRepository @@ -71,6 +72,7 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { deviceProvisioningInteractor, wifiInteractor, testScope.backgroundScope, + FakeLogBuffer.Factory.create(), ) } @@ -114,6 +116,7 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { deviceProvisioningInteractor, wifiInteractor, testScope.backgroundScope, + FakeLogBuffer.Factory.create(), ) val latest by collectLastValue(underTest.isSatelliteAllowed) @@ -162,6 +165,7 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { deviceProvisioningInteractor, wifiInteractor, testScope.backgroundScope, + FakeLogBuffer.Factory.create(), ) val latest by collectLastValue(underTest.connectionState) @@ -218,6 +222,7 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { deviceProvisioningInteractor, wifiInteractor, testScope.backgroundScope, + FakeLogBuffer.Factory.create(), ) val latest by collectLastValue(underTest.signalStrength) @@ -238,25 +243,97 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { @Test @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) - fun areAllConnectionsOutOfService_noConnections_yes() = + fun areAllConnectionsOutOfService_noConnections_noDeviceEmergencyCalls_yes() = testScope.runTest { val latest by collectLastValue(underTest.areAllConnectionsOutOfService) // GIVEN, 0 connections + // GIVEN, device is not in emergency calls only mode + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = false + // THEN the value is propagated to this interactor assertThat(latest).isTrue() } @Test @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) - fun areAllConnectionsOutOfService_twoConnectionsOos_nonNtn_yes() = + fun areAllConnectionsOutOfService_noConnections_deviceEmergencyCalls_yes() = + testScope.runTest { + val latest by collectLastValue(underTest.areAllConnectionsOutOfService) + + // GIVEN, 0 connections + + // GIVEN, device is in emergency calls only mode + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = true + + // THEN the value is propagated to this interactor + assertThat(latest).isFalse() + } + + @Test + @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun areAllConnectionsOutOfService_oneConnectionInService_thenLost_noDeviceEmergencyCalls_yes() = + testScope.runTest { + val latest by collectLastValue(underTest.areAllConnectionsOutOfService) + + // GIVEN, 1 connections + val i1 = iconsInteractor.getMobileConnectionInteractorForSubId(1) + // GIVEN, no device-based emergency calls + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = false + + // WHEN connection is in service + i1.isInService.value = true + i1.isEmergencyOnly.value = false + i1.isNonTerrestrial.value = false + + // THEN we are considered NOT to be OOS + assertThat(latest).isFalse() + + // WHEN the connection disappears + iconsInteractor.icons.value = listOf() + + // THEN we are back to OOS + assertThat(latest).isTrue() + } + + @Test + @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun areAllConnectionsOutOfService_oneConnectionInService_thenLost_deviceEmergencyCalls_no() = + testScope.runTest { + val latest by collectLastValue(underTest.areAllConnectionsOutOfService) + + // GIVEN, 1 connections + val i1 = iconsInteractor.getMobileConnectionInteractorForSubId(1) + // GIVEN, device-based emergency calls + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = true + + // WHEN one connection is in service + i1.isInService.value = true + i1.isEmergencyOnly.value = false + i1.isNonTerrestrial.value = false + + // THEN we are considered NOT to be OOS + assertThat(latest).isFalse() + + // WHEN the connection disappears + iconsInteractor.icons.value = listOf() + + // THEN we are still NOT in OOS, due to device-based emergency calls + assertThat(latest).isFalse() + } + + @Test + @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun areAllConnectionsOutOfService_twoConnectionsOos_nonNtn_noDeviceEmergencyCalls_yes() = testScope.runTest { val latest by collectLastValue(underTest.areAllConnectionsOutOfService) // GIVEN, 2 connections val i1 = iconsInteractor.getMobileConnectionInteractorForSubId(1) val i2 = iconsInteractor.getMobileConnectionInteractorForSubId(2) + // GIVEN, no device-based emergency calls + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = false // WHEN all of the connections are OOS and none are NTN i1.isInService.value = false @@ -272,13 +349,39 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { @Test @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) - fun areAllConnectionsOutOfService_twoConnectionsOos_oneNtn_no() = + fun areAllConnectionsOutOfService_twoConnectionsOos_nonNtn_deviceEmergencyCalls_no() = + testScope.runTest { + val latest by collectLastValue(underTest.areAllConnectionsOutOfService) + + // GIVEN, 2 connections + val i1 = iconsInteractor.getMobileConnectionInteractorForSubId(1) + val i2 = iconsInteractor.getMobileConnectionInteractorForSubId(2) + // GIVEN, device-based emergency calls + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = true + + // WHEN all of the connections are OOS and none are NTN + i1.isInService.value = false + i1.isEmergencyOnly.value = false + i1.isNonTerrestrial.value = false + i2.isInService.value = false + i2.isEmergencyOnly.value = false + i2.isNonTerrestrial.value = false + + // THEN we are not considered OOS due to device based emergency calling + assertThat(latest).isFalse() + } + + @Test + @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun areAllConnectionsOutOfService_twoConnectionsOos_noDeviceEmergencyCalls_oneNtn_no() = testScope.runTest { val latest by collectLastValue(underTest.areAllConnectionsOutOfService) // GIVEN, 2 connections val i1 = iconsInteractor.getMobileConnectionInteractorForSubId(1) val i2 = iconsInteractor.getMobileConnectionInteractorForSubId(2) + // GIVEN, no device-based emergency calls + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = false // WHEN all of the connections are OOS and one is NTN i1.isInService.value = false @@ -296,12 +399,14 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { @Test @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) - fun areAllConnectionsOutOfService_oneConnectionOos_nonNtn_yes() = + fun areAllConnectionsOutOfService_oneConnectionOos_noDeviceEmergencyCalls_nonNtn_yes() = testScope.runTest { val latest by collectLastValue(underTest.areAllConnectionsOutOfService) // GIVEN, 1 connection val i1 = iconsInteractor.getMobileConnectionInteractorForSubId(1) + // GIVEN, no device-based emergency calls + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = false // WHEN all of the connections are OOS i1.isInService.value = false @@ -314,7 +419,27 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { @Test @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) - fun areAllConnectionsOutOfService_oneConnectionOos_ntn_yes() = + fun areAllConnectionsOutOfService_oneConnectionOos_nonNtn_no() = + testScope.runTest { + val latest by collectLastValue(underTest.areAllConnectionsOutOfService) + + // GIVEN, 1 connection + val i1 = iconsInteractor.getMobileConnectionInteractorForSubId(1) + // GIVEN, device-based emergency calls + iconsInteractor.isDeviceInEmergencyCallsOnlyMode.value = true + + // WHEN all of the connections are OOS + i1.isInService.value = false + i1.isEmergencyOnly.value = false + i1.isNonTerrestrial.value = false + + // THEN the value is propagated to this interactor + assertThat(latest).isFalse() + } + + @Test + @EnableFlags(FLAG_OEM_ENABLED_SATELLITE_FLAG) + fun areAllConnectionsOutOfService_oneConnectionOos_ntn_no() = testScope.runTest { val latest by collectLastValue(underTest.areAllConnectionsOutOfService) @@ -416,6 +541,7 @@ class DeviceBasedSatelliteInteractorTest : SysuiTestCase() { deviceProvisioningInteractor, wifiInteractor, testScope.backgroundScope, + FakeLogBuffer.Factory.create(), ) val latest by collectLastValue(underTest.areAllConnectionsOutOfService) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/satellite/ui/viewmodel/DeviceBasedSatelliteViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/satellite/ui/viewmodel/DeviceBasedSatelliteViewModelTest.kt index ceaae9e02e87..43b95688729c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/satellite/ui/viewmodel/DeviceBasedSatelliteViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/satellite/ui/viewmodel/DeviceBasedSatelliteViewModelTest.kt @@ -75,6 +75,7 @@ class DeviceBasedSatelliteViewModelTest : SysuiTestCase() { deviceProvisioningInteractor, wifiInteractor, testScope.backgroundScope, + FakeLogBuffer.Factory.create(), ) underTest = diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/FakeMobileConnectionsRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/FakeMobileConnectionsRepository.kt index cce038f4ffc1..8229575a128f 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/FakeMobileConnectionsRepository.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/FakeMobileConnectionsRepository.kt @@ -23,6 +23,7 @@ import com.android.settingslib.SignalIcon import com.android.settingslib.mobile.MobileMappings import com.android.settingslib.mobile.TelephonyIcons import com.android.systemui.log.table.TableLogBuffer +import com.android.systemui.statusbar.pipeline.mobile.data.model.ServiceStateModel import com.android.systemui.statusbar.pipeline.mobile.data.model.SubscriptionModel import com.android.systemui.statusbar.pipeline.mobile.util.FakeMobileMappingsProxy import com.android.systemui.statusbar.pipeline.mobile.util.MobileMappingsProxy @@ -93,6 +94,8 @@ class FakeMobileConnectionsRepository( private val _defaultMobileIconGroup = MutableStateFlow(DEFAULT_ICON) override val defaultMobileIconGroup = _defaultMobileIconGroup + override val deviceServiceState = MutableStateFlow<ServiceStateModel?>(null) + override val isAnySimSecure = MutableStateFlow(false) override fun getIsAnySimSecure(): Boolean = isAnySimSecure.value diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt index de6c87c2b515..3a4bf8e48d33 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt @@ -81,6 +81,8 @@ class FakeMobileIconsInteractor( override val isForceHidden = MutableStateFlow(false) + override val isDeviceInEmergencyCallsOnlyMode = MutableStateFlow(false) + /** Always returns a new fake interactor */ override fun getMobileConnectionInteractorForSubId(subId: Int): FakeMobileIconInteractor { return FakeMobileIconInteractor(tableLogBuffer).also { diff --git a/services/core/java/com/android/server/wm/AsyncRotationController.java b/services/core/java/com/android/server/wm/AsyncRotationController.java index 7116b0aca168..24d4be83c82b 100644 --- a/services/core/java/com/android/server/wm/AsyncRotationController.java +++ b/services/core/java/com/android/server/wm/AsyncRotationController.java @@ -653,7 +653,7 @@ class AsyncRotationController extends FadeAnimationController implements Consume // by drawing the rotated content before applying projection transaction of display. // And it will fade in after the display transition is finished. if (mTransitionOp == OP_APP_SWITCH && !mIsStartTransactionCommitted - && canBeAsync(w.mToken)) { + && canBeAsync(w.mToken) && !mDisplayContent.hasFixedRotationTransientLaunch()) { hideImmediately(w.mToken, Operation.ACTION_FADE); if (DEBUG) Slog.d(TAG, "Hide on finishDrawing " + w.mToken.getTopChild()); } diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 3bb898042a67..2cadc244cbf7 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -1958,6 +1958,12 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp && mFixedRotationLaunchingApp != mFixedRotationTransitionListener.mAnimatingRecents; } + /** It usually means whether the recents activity is launching with a different rotation. */ + boolean hasFixedRotationTransientLaunch() { + return mFixedRotationLaunchingApp != null + && mTransitionController.isTransientLaunch(mFixedRotationLaunchingApp); + } + boolean isFixedRotationLaunchingApp(ActivityRecord r) { return mFixedRotationLaunchingApp == r; } @@ -7006,9 +7012,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp boolean shouldDeferRotation() { ActivityRecord source = null; if (mTransitionController.isShellTransitionsEnabled()) { - final ActivityRecord r = mFixedRotationLaunchingApp; - if (r != null && mTransitionController.isTransientLaunch(r)) { - source = r; + if (hasFixedRotationTransientLaunch()) { + source = mFixedRotationLaunchingApp; } } else if (mAnimatingRecents != null && !hasTopFixedRotationLaunchingApp()) { source = mAnimatingRecents; diff --git a/services/core/java/com/android/server/wm/LetterboxUiController.java b/services/core/java/com/android/server/wm/LetterboxUiController.java index 18225285a4a8..691176a794ae 100644 --- a/services/core/java/com/android/server/wm/LetterboxUiController.java +++ b/services/core/java/com/android/server/wm/LetterboxUiController.java @@ -1131,6 +1131,17 @@ final class LetterboxUiController { } boolean shouldApplyUserFullscreenOverride() { + // Do not override orientation to fullscreen for camera activities. + // Fixed-orientation activities are rarely tested in other orientations, and it often + // results in sideways or stretched previews. As the camera compat treatment targets + // fixed-orientation activities, overriding the orientation disables the treatment. + final DisplayContent displayContent = mActivityRecord.mDisplayContent; + if (displayContent != null && displayContent.mDisplayRotationCompatPolicy != null + && displayContent.mDisplayRotationCompatPolicy + .isCameraActive(mActivityRecord, /* mustBeFullscreen= */ true)) { + return false; + } + if (isUserFullscreenOverrideEnabled()) { mUserAspectRatio = getUserMinAspectRatioOverrideCode(); diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java index 503f925bf557..1e34ad9dd094 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -493,6 +493,27 @@ class TransitionController { return false; } + /** Returns {@code true} if the display contains a transient-launch transition. */ + boolean hasTransientLaunch(@NonNull DisplayContent dc) { + if (mCollectingTransition != null && mCollectingTransition.hasTransientLaunch() + && mCollectingTransition.isOnDisplay(dc)) { + return true; + } + for (int i = mWaitingTransitions.size() - 1; i >= 0; --i) { + final Transition transition = mWaitingTransitions.get(i); + if (transition.hasTransientLaunch() && transition.isOnDisplay(dc)) { + return true; + } + } + for (int i = mPlayingTransitions.size() - 1; i >= 0; --i) { + final Transition transition = mPlayingTransitions.get(i); + if (transition.hasTransientLaunch() && transition.isOnDisplay(dc)) { + return true; + } + } + return false; + } + boolean isTransientHide(@NonNull Task task) { if (mCollectingTransition != null && mCollectingTransition.isInTransientHide(task)) { return true; diff --git a/services/core/java/com/android/server/wm/WallpaperController.java b/services/core/java/com/android/server/wm/WallpaperController.java index c2b847cd08d7..1ac46efe05ba 100644 --- a/services/core/java/com/android/server/wm/WallpaperController.java +++ b/services/core/java/com/android/server/wm/WallpaperController.java @@ -166,7 +166,7 @@ class WallpaperController { || (w.mActivityRecord != null && !w.mActivityRecord.fillsParent()); } } else if (w.hasWallpaper() && mService.mPolicy.isKeyguardHostWindow(w.mAttrs) - && w.mTransitionController.isTransitionOnDisplay(mDisplayContent)) { + && w.mTransitionController.hasTransientLaunch(mDisplayContent)) { // If we have no candidates at all, notification shade is allowed to be the target // of last resort even if it has not been made visible yet. if (DEBUG_WALLPAPER) Slog.v(TAG, "Found keyguard as wallpaper target: " + w); diff --git a/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java index f559de8838a6..80f2ada34197 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java @@ -867,6 +867,24 @@ public class LetterboxUiControllerTest extends WindowTestsBase { /* candidate */ SCREEN_ORIENTATION_UNSPECIFIED)); } @Test + public void testOverrideOrientationIfNeeded_fullscreenOverride_cameraActivity_unchanged() { + doReturn(true).when(mLetterboxConfiguration).isCameraCompatTreatmentEnabled(); + doReturn(true).when(mLetterboxConfiguration) + .isCameraCompatTreatmentEnabledAtBuildTime(); + + // Recreate DisplayContent with DisplayRotationCompatPolicy + mActivity = setUpActivityWithComponent(); + mController = new LetterboxUiController(mWm, mActivity); + spyOn(mDisplayContent.mDisplayRotationCompatPolicy); + + doReturn(false).when(mDisplayContent.mDisplayRotationCompatPolicy) + .isCameraActive(mActivity, /* mustBeFullscreen= */ true); + + assertEquals(SCREEN_ORIENTATION_PORTRAIT, mController.overrideOrientationIfNeeded( + /* candidate */ SCREEN_ORIENTATION_PORTRAIT)); + } + + @Test public void testOverrideOrientationIfNeeded_respectOrientationRequestOverUserFullScreen() { spyOn(mController); doReturn(true).when(mController).shouldApplyUserFullscreenOverride(); diff --git a/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java index 72bedf2da21f..69f33d4f1965 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java @@ -314,6 +314,18 @@ public class WallpaperControllerTests extends WindowTestsBase { // Wallpaper is invisible because the lowest show-when-locked activity is opaque. assertNull(wallpaperController.getWallpaperTarget()); + // Only transient-launch transition will make notification shade as last resort target. + // This verifies that regular transition won't choose invisible keyguard as the target. + final WindowState keyguard = createWindow(null /* parent */, + WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE, "keyguard"); + keyguard.mAttrs.flags |= FLAG_SHOW_WALLPAPER; + registerTestTransitionPlayer(); + final Transition transition = wallpaperWindow.mTransitionController.createTransition( + WindowManager.TRANSIT_CHANGE); + transition.collect(keyguard); + wallpaperController.adjustWallpaperWindows(); + assertNull(wallpaperController.getWallpaperTarget()); + // A show-when-locked wallpaper is used for lockscreen. So the top wallpaper should // be the one that is not show-when-locked. final WindowState wallpaperWindow2 = createWallpaperWindow(mDisplayContent); diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index ccc68bcef582..5dfd781d4acb 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -3366,4 +3366,13 @@ interface ITelephony { + "android.Manifest.permission.SATELLITE_COMMUNICATION)") void unregisterForCommunicationAllowedStateChanged(int subId, in ISatelliteCommunicationAllowedStateCallback callback); + + /** + * This API can be used by only CTS to override the boolean configs used by the + * DatagramController module. + * + * @param enable Whether to enable boolean config. + * @return {@code true} if the boolean config is set successfully, {@code false} otherwise. + */ + boolean setDatagramControllerBooleanConfig(boolean reset, int booleanType, boolean enable); } |