[automerger skipped] Merge 25Q1 (ab/BP1A.250305.020) to aosp-main-future am: 1b4c94f149 -s ours
am skip reason: Merged-In I686066d2cb99b7ab6cf8b05e3beebb51e0900d36 with SHA-1 6c24742b74 is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Contacts/+/32154085
Change-Id: I350ba5dae6b848d9cdee6c7d34cdc2f3c7fb6ede
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 66d5767..e0d9ece 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -264,17 +264,6 @@
android:theme="@style/ContactsPreferencesTheme"/>
<activity
- android:name=".preference.SetDefaultAccountActivity"
- android:exported="true"
- android:theme="@style/BackgroundOnlyTheme"
- android:excludeFromRecents="true">
- <intent-filter>
- <action android:name="android.provider.action.SET_DEFAULT_ACCOUNT"/>
- <category android:name="android.intent.category.DEFAULT"/>
- </intent-filter>
- </activity>
-
- <activity
android:name=".activities.LicenseActivity"
android:exported="true"
android:label="@string/activity_title_licenses"
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 60261cf..9d85766 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -115,7 +115,7 @@
<string name="groupSomeContactsNoPhonesToast" msgid="2454029254458875746">"بعض جهات الاتصال ليست لديها أرقام هواتف."</string>
<string name="menu_sendEmailOption" msgid="8600335923636486825">"إرسال رسالة إلكترونية"</string>
<string name="menu_sendMessageOption" msgid="8051852013078110910">"إرسال رسالة"</string>
- <string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"اختيار جهات الاتصال"</string>
+ <string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"يُرجى اختيار جهات الاتصال"</string>
<string name="send_to_selection" msgid="3655197947726443720">"إرسال"</string>
<string name="listFoundAllContactsZero" msgid="1933842282916988563">"ليست هناك جهات اتصال"</string>
<string name="add_contact_dlg_message_fmt" msgid="7498024710169591375">"هل ترغب في إضافة \"<xliff:g id="EMAIL">%s</xliff:g>\" إلى جهات الاتصال؟"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 117e908..192320c 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -41,7 +41,7 @@
<string name="menu_renameGroup" msgid="2685886609399776475">"লেবেলের পুনঃনামকরণ করুন"</string>
<string name="menu_deleteGroup" msgid="1180215594530228294">"লেবেল মুছুন"</string>
<string name="menu_addToGroup" msgid="5034813446697655310">"পরিচিতি যোগ করুন"</string>
- <string name="menu_selectForGroup" msgid="6386553337569514850">"পরিচিতিগুলিকে বেছে নিন"</string>
+ <string name="menu_selectForGroup" msgid="6386553337569514850">"পরিচিতি বেছে নিন"</string>
<string name="menu_addContactsToGroup" msgid="4549318978482280577">"পরিচিতিগুলি যোগ করুন"</string>
<string name="menu_removeFromGroup" msgid="8753799091967887958">"লেবেল থেকে সরান"</string>
<string name="menu_new_group_action_bar" msgid="1670312283925872483">"লেবেল তৈরি করুন"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 639c1f1..d2c58cd 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -20,7 +20,7 @@
<string name="contactsList" msgid="4456188358262700898">"સંપર્કો"</string>
<string name="shortcut_add_contact" msgid="7949342235528657981">"સંપર્ક ઉમેરો"</string>
<string name="shortcutContact" msgid="8009736387364461511">"સંપર્ક"</string>
- <string name="shortcutDialContact" msgid="155367248069127153">"સીધું જ ડાયલ"</string>
+ <string name="shortcutDialContact" msgid="155367248069127153">"ડિરેક્ટ ડાયલ"</string>
<string name="shortcutMessageContact" msgid="9123517151981679277">"ડિરેક્ટ મેસેજ"</string>
<string name="shortcutActivityTitle" msgid="5407832911005090417">"સંપર્ક પસંદ કરો"</string>
<string name="contactInsertOrEditActivityTitle" msgid="1788154962629911262">"સંપર્કમાં ઉમેરો"</string>
@@ -165,8 +165,8 @@
<string name="delete_group_dialog_message" msgid="754082019928025404">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" લેબલ કાઢી નાખીએ? (સંપર્કો સ્વયં કાઢી નાખવામાં આવશે નહીં.)"</string>
<string name="toast_join_with_empty_contact" msgid="3886468280665325350">"બીજા સાથે લિંક કરતાં પહેલાં સંપર્કનું નામ લખો."</string>
<string name="copy_text" msgid="6835250673373028909">"ક્લિપબોર્ડ પર કૉપિ કરો"</string>
- <string name="set_default" msgid="3704074175618702225">"ડિફોલ્ટ સેટ કરો"</string>
- <string name="clear_default" msgid="2055883863621491533">"ડિફોલ્ટ સાફ કરો"</string>
+ <string name="set_default" msgid="3704074175618702225">"ડિફૉલ્ટ સેટ કરો"</string>
+ <string name="clear_default" msgid="2055883863621491533">"ડિફૉલ્ટ સાફ કરો"</string>
<string name="toast_text_copied" msgid="845906090076228771">"ટેક્સ્ટ કૉપિ કર્યો"</string>
<string name="cancel_confirmation_dialog_message" msgid="7486892574762212762">"ફેરફારો નિકાળીએ?"</string>
<string name="cancel_confirmation_dialog_cancel_editing_button" msgid="8280294641821133477">"નિકાળો"</string>
@@ -424,7 +424,7 @@
<string name="display_options_view_given_name_first" msgid="383885125505521383">"પ્રથમ નામ પહેલા"</string>
<string name="display_options_view_family_name_first" msgid="6597077054231296007">"છેલ્લું નામ પહેલા"</string>
<string name="settings_accounts" msgid="119582613811929994">"એકાઉન્ટ્સ"</string>
- <string name="default_editor_account" msgid="4810392921888877149">"નવા સંપર્કો માટે ડિફોલ્ટ એકાઉન્ટ"</string>
+ <string name="default_editor_account" msgid="4810392921888877149">"નવા સંપર્કો માટે ડિફૉલ્ટ એકાઉન્ટ"</string>
<string name="settings_my_info_title" msgid="6236848378653551341">"મારી માહિતી"</string>
<string name="set_up_profile" msgid="3554999219868611431">"તમારી પ્રોફાઇલ સેટ કરો"</string>
<string name="setting_about" msgid="2941859292287597555">"સંપર્કો વિશે"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 84610c2..8d66b5b 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -41,7 +41,7 @@
<string name="menu_renameGroup" msgid="2685886609399776475">"Promjena naziva oznake"</string>
<string name="menu_deleteGroup" msgid="1180215594530228294">"Brisanje oznake"</string>
<string name="menu_addToGroup" msgid="5034813446697655310">"Dodavanje kontakta"</string>
- <string name="menu_selectForGroup" msgid="6386553337569514850">"Odabir kontakata"</string>
+ <string name="menu_selectForGroup" msgid="6386553337569514850">"Odaberite kontakte"</string>
<string name="menu_addContactsToGroup" msgid="4549318978482280577">"Dodavanje kontakata"</string>
<string name="menu_removeFromGroup" msgid="8753799091967887958">"Uklanjanje iz oznake"</string>
<string name="menu_new_group_action_bar" msgid="1670312283925872483">"Izrada oznake"</string>
@@ -115,7 +115,7 @@
<string name="groupSomeContactsNoPhonesToast" msgid="2454029254458875746">"Neki kontakti nemaju telefonske brojeve."</string>
<string name="menu_sendEmailOption" msgid="8600335923636486825">"Slanje e-poruke"</string>
<string name="menu_sendMessageOption" msgid="8051852013078110910">"Slanje poruke"</string>
- <string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"Odabir kontakata"</string>
+ <string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"Odaberite kontakte"</string>
<string name="send_to_selection" msgid="3655197947726443720">"Slanje"</string>
<string name="listFoundAllContactsZero" msgid="1933842282916988563">"Nema kontakata"</string>
<string name="add_contact_dlg_message_fmt" msgid="7498024710169591375">"Dodati \"<xliff:g id="EMAIL">%s</xliff:g>\" kontaktima?"</string>
@@ -470,7 +470,7 @@
<string name="dynamic_shortcut_disabled_message" msgid="8770462908102469878">"Ovaj je prečac onemogućen"</string>
<string name="dynamic_shortcut_contact_removed_message" msgid="8331735243566193974">"Kontakt je uklonjen"</string>
<string name="sim_import_button_text" msgid="2845608246304396009">"Uvezi"</string>
- <string name="sim_import_title_none_selected" msgid="3527680774575468781">"Odabir kontakata"</string>
+ <string name="sim_import_title_none_selected" msgid="3527680774575468781">"Odaberite kontakte"</string>
<string name="sim_import_empty_message" msgid="7238368542566545854">"Nema kontakata na vašoj SIM kartici"</string>
<string name="sim_import_contact_exists_toast" msgid="8423212007841229749">"Kontakt već postoji na vašem popisu"</string>
<string name="sim_import_success_toast_fmt" msgid="7645974841482481503">"{count,plural, =1{Uvezen je # SIM kontakt}one{Uvezen je # SIM kontakt}few{Uvezena su # SIM kontakta}other{Uvezeno je # SIM kontakata}}"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index a087d99..ac41299 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -27,7 +27,7 @@
<string name="contactPickerActivityTitle" msgid="1842634991247618890">"בחר איש קשר"</string>
<string name="groupMemberPickerActivityTitle" msgid="8745419913947478380">"בחר"</string>
<string name="header_entry_contact_list_adapter_header_title" msgid="4098233078586958762">"איש קשר חדש"</string>
- <string name="searchHint" msgid="1487501532610025473">"חפש אנשי קשר"</string>
+ <string name="searchHint" msgid="1487501532610025473">"חיפוש אנשי קשר"</string>
<string name="menu_addStar" msgid="4903812703386825130">"הוספה למועדפים"</string>
<string name="menu_removeStar" msgid="3707373931808303701">"הסרה מהמועדפים"</string>
<string name="description_action_menu_remove_star" msgid="4044390281910122890">"הוסר מהמועדפים"</string>
@@ -439,7 +439,7 @@
<string name="activity_title_contacts_filter" msgid="6340531582631006680">"אנשי קשר להצגה"</string>
<string name="custom_list_filter" msgid="2544327670202891979">"התאמה אישית של התצוגה"</string>
<string name="menu_custom_filter_save" msgid="2412959737200856930">"שמירה"</string>
- <string name="hint_findContacts" msgid="5554298639062659655">"חפש אנשי קשר"</string>
+ <string name="hint_findContacts" msgid="5554298639062659655">"חיפוש אנשי קשר"</string>
<string name="contactsFavoritesLabel" msgid="8339645684721732714">"מועדפים"</string>
<string name="menu_import" msgid="2206768098740726906">"ייבוא"</string>
<string name="menu_export" msgid="1217402092617629429">"ייצוא"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 91e8b33..8640f30 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -17,11 +17,11 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="applicationLabel" msgid="8908212014470937609">"कन्ट्याक्टहरू"</string>
- <string name="contactsList" msgid="4456188358262700898">"सम्पर्क"</string>
+ <string name="contactsList" msgid="4456188358262700898">"कन्ट्याक्टहरू"</string>
<string name="shortcut_add_contact" msgid="7949342235528657981">"सम्पर्क थप्नुहोस्"</string>
- <string name="shortcutContact" msgid="8009736387364461511">"ठेगाना"</string>
+ <string name="shortcutContact" msgid="8009736387364461511">"कन्ट्याक्ट"</string>
<string name="shortcutDialContact" msgid="155367248069127153">"सीधा डायल गर्नुहोस्"</string>
- <string name="shortcutMessageContact" msgid="9123517151981679277">"सीधा सन्देश"</string>
+ <string name="shortcutMessageContact" msgid="9123517151981679277">"डाइरेक्ट म्यासेज"</string>
<string name="shortcutActivityTitle" msgid="5407832911005090417">"सम्पर्क छनौट गर्नुहोस्"</string>
<string name="contactInsertOrEditActivityTitle" msgid="1788154962629911262">"सम्पर्कमा थप्नुहोस्"</string>
<string name="contactPickerActivityTitle" msgid="1842634991247618890">"एउटा सम्पर्क छान्नुहोस्"</string>
@@ -291,7 +291,7 @@
<string name="list_filter_phones" msgid="6839133198968393843">"फोन नम्बर भएका सबै कन्ट्याक्टहरू"</string>
<string name="list_filter_phones_work" msgid="5583425697781385616">"कार्य प्रोफाइलका कन्ट्याक्टहरू"</string>
<string name="view_updates_from_group" msgid="6233444629074835594">"अपडेटहरू हेर्नुहोस्"</string>
- <string name="account_phone" msgid="8044426231251817556">"यन्त्र"</string>
+ <string name="account_phone" msgid="8044426231251817556">"डिभाइस"</string>
<string name="account_sim" msgid="3200457113308694663">"SIM"</string>
<string name="nameLabelsGroup" msgid="513809148312046843">"नाम"</string>
<string name="nicknameLabelsGroup" msgid="794390116782033956">"उपनाम"</string>
@@ -357,7 +357,7 @@
<string name="list_filter_all_accounts" msgid="6173785387972096770">"सबै कन्ट्याक्टहरू"</string>
<string name="list_filter_all_starred" msgid="2582865760150432568">"ताराङ्कित"</string>
<string name="list_filter_customize" msgid="2368900508906139537">" कस्टम बनाउनुहोस्"</string>
- <string name="list_filter_single" msgid="6003845379327432129">"ठेगाना"</string>
+ <string name="list_filter_single" msgid="6003845379327432129">"कन्ट्याक्ट"</string>
<string name="display_ungrouped" msgid="4823012484407759332">"अन्य सबै कन्ट्याक्टहरू"</string>
<string name="display_all_contacts" msgid="1281067776483704512">"सबै कन्ट्याक्टहरू"</string>
<string name="menu_sync_remove" msgid="7523335046562082188">"सिंक समूह हटाउनुहोस्"</string>
@@ -407,7 +407,7 @@
<string name="vcard_import_request_rejected_message" msgid="4754292694777189540">"vCard निर्यात अनुरोध अस्वीकार गरिएको छ । कृपया पछि पर्यास गर्नुहोस्"</string>
<string name="contacts_export_will_start_message" msgid="6428126265599715944">"सम्पर्कहरूलाई चॉंडै निर्यात गरिने छ।"</string>
<string name="vcard_export_request_rejected_message" msgid="6455336845734884740">"vCard निर्यात अनुरोध अस्वीकार गरियो। पछि पुनःप्रयास गर्नुहोस्।"</string>
- <string name="vcard_unknown_filename" msgid="8320954544777782497">"सम्पर्क"</string>
+ <string name="vcard_unknown_filename" msgid="8320954544777782497">"कन्ट्याक्ट"</string>
<string name="caching_vcard_message" msgid="1879339732783666517">"vCard(s) लाई स्थानीय अस्थायी भण्डारणमा क्यास गर्दै। वास्तविक आयात छिट्टै सुरु हुन्छ।"</string>
<string name="vcard_import_failed" msgid="37313715326741013">"VCard इम्पोर्ट गर्न सकेन।"</string>
<string name="nfc_vcard_file_name" msgid="2113518216329123152">"NFCमा सम्पर्क प्राप्त गरियो"</string>
@@ -490,7 +490,7 @@
<string name="importing_sim_failed_title" msgid="1046154274170241788">"इम्पोर्ट गर्न सकिएन"</string>
<string name="importing_sim_failed_message" msgid="55568522164349044">"SIM कार्डबाट कन्ट्याक्टहरू इम्पोर्ट गर्न सकिएन"</string>
<string name="importing_sim_in_progress_title" msgid="7647907413920018595">"SIM आयात गरिँदै"</string>
- <string name="contacts_default_notification_channel" msgid="5116916969874075866">"सूचनाहरू"</string>
+ <string name="contacts_default_notification_channel" msgid="5116916969874075866">"नोटिफिकेसनहरू"</string>
<string name="yes_button" msgid="1120514817091581293">"हुन्छ"</string>
<string name="no_button" msgid="8965841385742548947">"हुँदैन"</string>
<string name="sdn_contacts_directory_search_label" msgid="9146122809408008443">"मोबाइल सेवा प्रदायकका सर्भिस नम्बरहरू"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 056ed35..ee3cb90 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -19,7 +19,7 @@
<string name="applicationLabel" msgid="8908212014470937609">"ଯୋଗାଯୋଗ"</string>
<string name="contactsList" msgid="4456188358262700898">"ଯୋଗାଯୋଗ"</string>
<string name="shortcut_add_contact" msgid="7949342235528657981">"ଯୋଗାଯୋଗକୁ ଯୋଗ କରନ୍ତୁ"</string>
- <string name="shortcutContact" msgid="8009736387364461511">"ଯୋଗାଯୋଗ"</string>
+ <string name="shortcutContact" msgid="8009736387364461511">"କଣ୍ଟାକ୍ଟ"</string>
<string name="shortcutDialContact" msgid="155367248069127153">"ଡାଇରେକ୍ଟ କଲ୍ କରନ୍ତୁ"</string>
<string name="shortcutMessageContact" msgid="9123517151981679277">"ଡାଇରେକ୍ଟ ମେସେଜ୍ ପଠାନ୍ତୁ"</string>
<string name="shortcutActivityTitle" msgid="5407832911005090417">"ଯୋଗାଯୋଗ ଚୟନ କରନ୍ତୁ"</string>
@@ -41,7 +41,7 @@
<string name="menu_renameGroup" msgid="2685886609399776475">"ଲେବଲ୍ର ନାମ ବଦଳାନ୍ତୁ"</string>
<string name="menu_deleteGroup" msgid="1180215594530228294">"ଲେବଲ୍ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
<string name="menu_addToGroup" msgid="5034813446697655310">"ଯୋଗାଯୋଗଙ୍କୁ ଯୋଡ଼ନ୍ତୁ"</string>
- <string name="menu_selectForGroup" msgid="6386553337569514850">"ଯୋଗାଯୋଗ ଚୟନ କରନ୍ତୁ"</string>
+ <string name="menu_selectForGroup" msgid="6386553337569514850">"କଣ୍ଟାକ୍ଟଗୁଡ଼ିକୁ ଚୟନ କରନ୍ତୁ"</string>
<string name="menu_addContactsToGroup" msgid="4549318978482280577">"ଯୋଗାଯୋଗଙ୍କୁ ଯୋଡ଼ନ୍ତୁ"</string>
<string name="menu_removeFromGroup" msgid="8753799091967887958">"ଲେବଲ୍ରୁ କାଢ଼ିଦିଅନ୍ତୁ"</string>
<string name="menu_new_group_action_bar" msgid="1670312283925872483">"ଲେବଲ୍ ତିଆରି କରନ୍ତୁ"</string>
@@ -229,7 +229,7 @@
<string name="menu_title_filters" msgid="349866121417914494">"ଆକାଉଣ୍ଟ"</string>
<string name="hamburger_feature_highlight_header" msgid="1786641424099282909">"ପରାମର୍ଶ"</string>
<string name="hamburger_feature_highlight_body" msgid="782935036630531528">"ନିଜ ଯୋଗାଯୋଗଙ୍କୁ ବ୍ୟବସ୍ଥିତ ଓ ଉପଯୋଗୀ କରି ରଖନ୍ତୁ"</string>
- <string name="undo" msgid="2446931036220975026">"ଅନ୍-ଡୁ କରନ୍ତୁ"</string>
+ <string name="undo" msgid="2446931036220975026">"ଅନଡୁ କରନ୍ତୁ"</string>
<string name="call_custom" msgid="2844900154492073207">"<xliff:g id="CUSTOM_LABEL">%s</xliff:g>ରେ କଲ୍ କରନ୍ତୁ"</string>
<string name="call_home" msgid="2443904771140750492">"ଘର ନମ୍ବର୍କୁ କଲ୍ କରନ୍ତୁ"</string>
<string name="call_mobile" msgid="6504312789160309832">"ମୋବାଇଲ୍କୁ କଲ୍ କରନ୍ତୁ"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 2cc5aba..b966bc9 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -20,7 +20,7 @@
<string name="contactsList" msgid="4456188358262700898">"Contactos"</string>
<string name="shortcut_add_contact" msgid="7949342235528657981">"Adicionar contacto"</string>
<string name="shortcutContact" msgid="8009736387364461511">"Contacto"</string>
- <string name="shortcutDialContact" msgid="155367248069127153">"Reserva direta"</string>
+ <string name="shortcutDialContact" msgid="155367248069127153">"Marcação direta"</string>
<string name="shortcutMessageContact" msgid="9123517151981679277">"Mensagem direta"</string>
<string name="shortcutActivityTitle" msgid="5407832911005090417">"Escolher contacto"</string>
<string name="contactInsertOrEditActivityTitle" msgid="1788154962629911262">"Adicionar ao contacto"</string>
@@ -41,7 +41,7 @@
<string name="menu_renameGroup" msgid="2685886609399776475">"Mudar o nome da etiqueta"</string>
<string name="menu_deleteGroup" msgid="1180215594530228294">"Eliminar etiqueta"</string>
<string name="menu_addToGroup" msgid="5034813446697655310">"Adicionar contacto"</string>
- <string name="menu_selectForGroup" msgid="6386553337569514850">"Selecionar contactos"</string>
+ <string name="menu_selectForGroup" msgid="6386553337569514850">"Selecione os contactos"</string>
<string name="menu_addContactsToGroup" msgid="4549318978482280577">"Adicionar contactos"</string>
<string name="menu_removeFromGroup" msgid="8753799091967887958">"Remover da etiqueta"</string>
<string name="menu_new_group_action_bar" msgid="1670312283925872483">"Criar etiqueta"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index e6cb4f8..e66a87f 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -115,7 +115,7 @@
<string name="groupSomeContactsNoPhonesToast" msgid="2454029254458875746">"Unele persoane de contact nu au numere de telefon."</string>
<string name="menu_sendEmailOption" msgid="8600335923636486825">"Trimiteți un e-mail"</string>
<string name="menu_sendMessageOption" msgid="8051852013078110910">"Trimiteți un mesaj"</string>
- <string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"Alegeți persoane de contact"</string>
+ <string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"Alege persoane de contact"</string>
<string name="send_to_selection" msgid="3655197947726443720">"Trimiteți"</string>
<string name="listFoundAllContactsZero" msgid="1933842282916988563">"Nu există persoane în agendă"</string>
<string name="add_contact_dlg_message_fmt" msgid="7498024710169591375">"Adăugați „<xliff:g id="EMAIL">%s</xliff:g>” în agendă?"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 586207f..aedcf6e 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -20,8 +20,8 @@
<string name="contactsList" msgid="4456188358262700898">"Контакты"</string>
<string name="shortcut_add_contact" msgid="7949342235528657981">"Добавить контакт"</string>
<string name="shortcutContact" msgid="8009736387364461511">"Контакт"</string>
- <string name="shortcutDialContact" msgid="155367248069127153">"Быстрый звонок"</string>
- <string name="shortcutMessageContact" msgid="9123517151981679277">"Быстрое SMS"</string>
+ <string name="shortcutDialContact" msgid="155367248069127153">"Позвонить"</string>
+ <string name="shortcutMessageContact" msgid="9123517151981679277">"Написать"</string>
<string name="shortcutActivityTitle" msgid="5407832911005090417">"Выбрать контакт"</string>
<string name="contactInsertOrEditActivityTitle" msgid="1788154962629911262">"Добавление данных"</string>
<string name="contactPickerActivityTitle" msgid="1842634991247618890">"Выберите контакт"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index a232ab2..0257ed3 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -19,8 +19,8 @@
<string name="applicationLabel" msgid="8908212014470937609">"Stiki"</string>
<string name="contactsList" msgid="4456188358262700898">"Stiki"</string>
<string name="shortcut_add_contact" msgid="7949342235528657981">"Dodaj stik"</string>
- <string name="shortcutContact" msgid="8009736387364461511">"Vizitka"</string>
- <string name="shortcutDialContact" msgid="155367248069127153">"Bližnjice za klicanje"</string>
+ <string name="shortcutContact" msgid="8009736387364461511">"Stik"</string>
+ <string name="shortcutDialContact" msgid="155367248069127153">"Neposredni klic"</string>
<string name="shortcutMessageContact" msgid="9123517151981679277">"Neposredno sporočilo"</string>
<string name="shortcutActivityTitle" msgid="5407832911005090417">"Izbira stika"</string>
<string name="contactInsertOrEditActivityTitle" msgid="1788154962629911262">"Dodajanje v stik"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index df03f15..e03577c 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -19,7 +19,7 @@
<string name="applicationLabel" msgid="8908212014470937609">"รายชื่อติดต่อ"</string>
<string name="contactsList" msgid="4456188358262700898">"รายชื่อติดต่อ"</string>
<string name="shortcut_add_contact" msgid="7949342235528657981">"เพิ่มรายชื่อติดต่อ"</string>
- <string name="shortcutContact" msgid="8009736387364461511">"สมุดโทรศัพท์"</string>
+ <string name="shortcutContact" msgid="8009736387364461511">"รายชื่อติดต่อ"</string>
<string name="shortcutDialContact" msgid="155367248069127153">"สายตรง"</string>
<string name="shortcutMessageContact" msgid="9123517151981679277">"ข้อความส่วนตัว"</string>
<string name="shortcutActivityTitle" msgid="5407832911005090417">"เลือกรายชื่อติดต่อ"</string>
diff --git a/res/xml/preference_display_options.xml b/res/xml/preference_display_options.xml
index 9987250..c969cd2 100644
--- a/res/xml/preference_display_options.xml
+++ b/res/xml/preference_display_options.xml
@@ -26,7 +26,7 @@
android:title="@string/settings_accounts">
</Preference>
- <Preference
+ <com.android.contacts.preference.DefaultAccountPreference
android:icon="@null"
android:key="defaultAccount"
android:title="@string/default_editor_account"
diff --git a/src/com/android/contacts/preference/ContactsPreferences.java b/src/com/android/contacts/preference/ContactsPreferences.java
index e5f0cda..e1a58d3 100644
--- a/src/com/android/contacts/preference/ContactsPreferences.java
+++ b/src/com/android/contacts/preference/ContactsPreferences.java
@@ -16,29 +16,20 @@
package com.android.contacts.preference;
-import static android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS;
-
-import android.accounts.Account;
-import android.annotation.SuppressLint;
import android.app.backup.BackupManager;
import android.content.Context;
-import android.content.pm.PackageManager;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Handler;
import android.os.Looper;
-import android.os.StrictMode;
import android.preference.PreferenceManager;
-import android.provider.ContactsContract;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.text.TextUtils;
import androidx.annotation.NonNull;
-import androidx.annotation.RequiresApi;
import androidx.annotation.VisibleForTesting;
-import androidx.core.os.BuildCompat;
import com.android.contacts.R;
import com.android.contacts.model.account.AccountWithDataSet;
@@ -218,45 +209,23 @@
return mIsDefaultAccountUserChangeable;
}
- @SuppressLint("NewApi")
public AccountWithDataSet getDefaultAccount() {
if (!isDefaultAccountUserChangeable()) {
return mDefaultAccount;
}
if (mDefaultAccount == null) {
- Account cp2DefaultAccount = null;
- if (BuildCompat.isAtLeastT()) {
- cp2DefaultAccount = getDefaultAccountFromCp2();
+ final String accountString = mPreferences
+ .getString(mDefaultAccountKey, null);
+ if (!TextUtils.isEmpty(accountString)) {
+ mDefaultAccount = AccountWithDataSet.unstringify(accountString);
}
-
- mDefaultAccount = cp2DefaultAccount == null
- ? AccountWithDataSet.getNullAccount()
- : new AccountWithDataSet(cp2DefaultAccount.name, cp2DefaultAccount.type, null);
}
return mDefaultAccount;
}
- @RequiresApi(33)
- private Account getDefaultAccountFromCp2() {
- StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy();
- StrictMode.setThreadPolicy(
- new StrictMode.ThreadPolicy.Builder(oldPolicy)
- .permitDiskReads()
- .build());
- try {
- return ContactsContract.Settings.getDefaultAccount(
- mContext.getContentResolver());
- } finally {
- StrictMode.setThreadPolicy(oldPolicy);
- }
- }
-
public void clearDefaultAccount() {
- if (mContext.checkSelfPermission(SET_DEFAULT_ACCOUNT_FOR_CONTACTS)
- == PackageManager.PERMISSION_GRANTED) {
- mDefaultAccount = null;
- setDefaultAccountToCp2(null);
- }
+ mDefaultAccount = null;
+ mPreferences.edit().remove(mDefaultAccountKey).commit();
}
public void setDefaultAccount(@NonNull AccountWithDataSet accountWithDataSet) {
@@ -264,30 +233,12 @@
throw new IllegalArgumentException(
"argument should not be null");
}
- if (mContext.checkSelfPermission(SET_DEFAULT_ACCOUNT_FOR_CONTACTS)
- == PackageManager.PERMISSION_GRANTED) {
- mDefaultAccount = accountWithDataSet;
- setDefaultAccountToCp2(accountWithDataSet);
- }
- }
-
- private void setDefaultAccountToCp2(AccountWithDataSet accountWithDataSet) {
- StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy();
- StrictMode.setThreadPolicy(
- new StrictMode.ThreadPolicy.Builder(oldPolicy)
- .permitDiskWrites()
- .permitDiskReads()
- .build());
- try {
- ContactsContract.Settings.setDefaultAccount(mContext.getContentResolver(),
- accountWithDataSet == null ? null : accountWithDataSet.getAccountOrNull());
- } finally {
- StrictMode.setThreadPolicy(oldPolicy);
- }
+ mDefaultAccount = accountWithDataSet;
+ mPreferences.edit().putString(mDefaultAccountKey, accountWithDataSet.stringify()).commit();
}
public boolean isDefaultAccountSet() {
- return mDefaultAccount != null;
+ return mDefaultAccount != null || mPreferences.contains(mDefaultAccountKey);
}
/**
@@ -440,15 +391,6 @@
setDefaultAccount(accountWithDataSet);
}
}
-
- if (mPreferences.contains(mDefaultAccountKey) && getDefaultAccount() == null) {
- String defaultAccount = mPreferences.getString(mDefaultAccountKey, null);
- if (!TextUtils.isEmpty(defaultAccount)) {
- final AccountWithDataSet accountWithDataSet = AccountWithDataSet.unstringify(
- defaultAccount);
- setDefaultAccount(accountWithDataSet);
- }
- }
}
}
diff --git a/src/com/android/contacts/preference/DefaultAccountPreference.java b/src/com/android/contacts/preference/DefaultAccountPreference.java
new file mode 100644
index 0000000..d43b8d5
--- /dev/null
+++ b/src/com/android/contacts/preference/DefaultAccountPreference.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2015 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.contacts.preference;
+
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.preference.DialogPreference;
+import android.util.AttributeSet;
+import android.view.View;
+
+import com.android.contacts.model.account.AccountInfo;
+import com.android.contacts.model.account.AccountWithDataSet;
+import com.android.contacts.util.AccountsListAdapter;
+
+import java.util.List;
+
+public class DefaultAccountPreference extends DialogPreference {
+ private ContactsPreferences mPreferences;
+ private AccountsListAdapter mListAdapter;
+ private List<AccountInfo> mAccounts;
+ private int mChosenIndex = -1;
+
+ public DefaultAccountPreference(Context context) {
+ super(context);
+ prepare();
+ }
+
+ public DefaultAccountPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ prepare();
+ }
+
+ public void setAccounts(List<AccountInfo> accounts) {
+ mAccounts = accounts;
+ if (mListAdapter != null) {
+ mListAdapter.setAccounts(accounts, null);
+ notifyChanged();
+ }
+ }
+
+ @Override
+ protected View onCreateDialogView() {
+ prepare();
+ return super.onCreateDialogView();
+ }
+
+ private void prepare() {
+ mPreferences = new ContactsPreferences(getContext());
+ mListAdapter = new AccountsListAdapter(getContext());
+ if (mAccounts != null) {
+ mListAdapter.setAccounts(mAccounts, null);
+ }
+ }
+
+ @Override
+ protected boolean shouldPersist() {
+ return false; // This preference takes care of its own storage
+ }
+
+ @Override
+ public CharSequence getSummary() {
+ final AccountWithDataSet defaultAccount = mPreferences.getDefaultAccount();
+ if (defaultAccount == null || mAccounts == null ||
+ !AccountInfo.contains(mAccounts, defaultAccount)) {
+ return null;
+ } else {
+ return AccountInfo.getAccount(mAccounts, defaultAccount).getNameLabel();
+ }
+ }
+
+ @Override
+ protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
+ super.onPrepareDialogBuilder(builder);
+ // UX recommendation is not to show buttons on such lists.
+ builder.setNegativeButton(null, null);
+ builder.setPositiveButton(null, null);
+ builder.setAdapter(mListAdapter, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ mChosenIndex = which;
+ }
+ });
+ }
+
+ @Override
+ protected void onDialogClosed(boolean positiveResult) {
+ final AccountWithDataSet currentDefault = mPreferences.getDefaultAccount();
+
+ if (mChosenIndex != -1) {
+ final AccountWithDataSet chosenAccount = mListAdapter.getItem(mChosenIndex);
+ if (!chosenAccount.equals(currentDefault)) {
+ mPreferences.setDefaultAccount(chosenAccount);
+ notifyChanged();
+ }
+ } // else the user dismissed this dialog so leave the preference unchanged.
+ }
+}
diff --git a/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java b/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java
index 7097be3..fd358aa 100644
--- a/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java
+++ b/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java
@@ -16,7 +16,6 @@
package com.android.contacts.preference;
-import android.accounts.Account;
import android.app.Activity;
import android.app.LoaderManager;
import android.content.BroadcastReceiver;
@@ -26,21 +25,17 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.Loader;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.database.Cursor;
import android.icu.text.MessageFormat;
import android.net.Uri;
import android.os.Bundle;
-import android.os.StrictMode;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.provider.BlockedNumberContract;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.DisplayNameSources;
import android.provider.ContactsContract.Profile;
-import android.provider.ContactsContract.Settings;
import com.google.android.material.snackbar.Snackbar;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.telecom.TelecomManager;
@@ -64,13 +59,11 @@
import com.android.contacts.logging.ScreenEvent.ScreenType;
import com.android.contacts.model.AccountTypeManager;
import com.android.contacts.model.account.AccountInfo;
-import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.model.account.AccountsLoader;
import com.android.contacts.util.AccountFilterUtil;
import com.android.contacts.util.ImplicitIntentsUtil;
import com.android.contactsbind.HelpUtils;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@@ -83,7 +76,6 @@
implements Preference.OnPreferenceClickListener, AccountsLoader.AccountsListener {
private static final int REQUEST_CODE_CUSTOM_CONTACTS_FILTER = 0;
- private static final int REQUEST_CODE_SET_DEFAULT_ACCOUNT_CP2 = 1;
private static final String ARG_CONTACTS_AVAILABLE = "are_contacts_available";
private static final String ARG_NEW_LOCAL_PROFILE = "new_local_profile";
@@ -155,8 +147,6 @@
private ViewGroup mRootView;
private SaveServiceResultListener mSaveServiceListener;
- private List<AccountInfo> accounts = Collections.emptyList();
-
private final LoaderManager.LoaderCallbacks<Cursor> mProfileLoaderListener =
new LoaderManager.LoaderCallbacks<Cursor>() {
@@ -259,12 +249,6 @@
customFilterPreference.setOnPreferenceClickListener(this);
setCustomContactsFilterSummary();
}
-
- final Preference defaultAccountPreference = findPreference(KEY_DEFAULT_ACCOUNT);
- if (defaultAccountPreference != null) {
- defaultAccountPreference.setOnPreferenceClickListener(this);
- defaultAccountPreference.setSummary(getDefaultAccountSummary());
- }
}
@Override
@@ -330,10 +314,9 @@
@Override
public void onAccountsLoaded(List<AccountInfo> accounts) {
// Hide accounts preferences if no writable accounts exist
- this.accounts = accounts;
- final Preference defaultAccountPreference =
- findPreference(KEY_DEFAULT_ACCOUNT);
- defaultAccountPreference.setSummary(getDefaultAccountSummary());
+ final DefaultAccountPreference preference =
+ (DefaultAccountPreference) findPreference(KEY_DEFAULT_ACCOUNT);
+ preference.setAccounts(accounts);
}
@Override
@@ -401,13 +384,6 @@
ContactListFilterController.getInstance(getContext()).getFilter();
AccountFilterUtil.startAccountFilterActivityForResult(
this, REQUEST_CODE_CUSTOM_CONTACTS_FILTER, filter);
- } else if (KEY_DEFAULT_ACCOUNT.equals(prefKey)) {
- String packageName = getSetDefaultAccountActivityPackage();
- Intent intent = new Intent(Settings.ACTION_SET_DEFAULT_ACCOUNT);
- if (packageName != null) {
- intent.setPackage(packageName);
- startActivityForResult(intent, REQUEST_CODE_SET_DEFAULT_ACCOUNT_CP2);
- }
}
return false;
}
@@ -419,12 +395,6 @@
AccountFilterUtil.handleAccountFilterResult(
ContactListFilterController.getInstance(getContext()), resultCode, data);
setCustomContactsFilterSummary();
- } else if (requestCode == REQUEST_CODE_SET_DEFAULT_ACCOUNT_CP2
- && resultCode == Activity.RESULT_OK) {
- final Preference defaultAccountPreference = findPreference(KEY_DEFAULT_ACCOUNT);
- if (defaultAccountPreference != null) {
- defaultAccountPreference.setSummary(getDefaultAccountSummary());
- }
} else {
super.onActivityResult(requestCode, resultCode, data);
}
@@ -448,34 +418,6 @@
}
}
- private CharSequence getDefaultAccountSummary() {
- ContactsPreferences preferences = new ContactsPreferences(getContext());
- AccountWithDataSet defaultAccountWithDataSet = preferences.getDefaultAccount();
- AccountInfo defaultAccountInfo = AccountInfo.getAccount(
- accounts, defaultAccountWithDataSet);
- if (defaultAccountInfo != null) {
- return defaultAccountInfo.getNameLabel();
- } else {
- return null;
- }
- }
-
- private String getSetDefaultAccountActivityPackage() {
- // Only preloaded Contacts App has the permission to call setDefaultAccount.
- Intent intent = new Intent(Settings.ACTION_SET_DEFAULT_ACCOUNT);
- PackageManager packageManager = getContext().getPackageManager();
- List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(intent, 0);
- for (ResolveInfo resolveInfo : resolveInfos) {
- String packageName = resolveInfo.activityInfo.packageName;
- if (packageManager.checkPermission(
- android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS, packageName)
- == PackageManager.PERMISSION_GRANTED) {
- return packageName;
- }
- }
- return null;
- }
-
private class SaveServiceResultListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
diff --git a/src/com/android/contacts/preference/SetDefaultAccountActivity.java b/src/com/android/contacts/preference/SetDefaultAccountActivity.java
deleted file mode 100644
index b636ac3..0000000
--- a/src/com/android/contacts/preference/SetDefaultAccountActivity.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.android.contacts.preference;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-import com.android.contacts.R;
-import com.android.contacts.editor.SelectAccountDialogFragment;
-import com.android.contacts.model.AccountTypeManager.AccountFilter;
-import com.android.contacts.model.account.AccountWithDataSet;
-
-/** Activity to open a dialog for default account selection. */
-public final class SetDefaultAccountActivity extends Activity
- implements SelectAccountDialogFragment.Listener {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- SelectAccountDialogFragment.show(getFragmentManager(),
- R.string.default_editor_account, AccountFilter.CONTACTS_WRITABLE, null);
- }
-
- @Override
- public void onAccountChosen(AccountWithDataSet account, Bundle extraArgs) {
- ContactsPreferences preferences = new ContactsPreferences(this);
- preferences.setDefaultAccount(account);
- setResult(Activity.RESULT_OK);
- finish();
- }
-
- @Override
- public void onAccountSelectorCancelled() {
- setResult(Activity.RESULT_CANCELED);
- finish();
- }
-}