diff --git a/Android.bp b/Android.bp
index de90412..36923ab 100644
--- a/Android.bp
+++ b/Android.bp
@@ -25,6 +25,7 @@
 
     srcs: [
         "src/**/*.java",
+        "src/**/*.kt",
         "src-bind/**/*.java",
     ],
 
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0bd96cd..66d5767 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -20,14 +20,15 @@
           android:versionName="1.7.34">
 
     <uses-sdk
-        android:minSdkVersion="33"
-        android:targetSdkVersion="33"/>
+        android:minSdkVersion="34"
+        android:targetSdkVersion="34"/>
 
     <original-package android:name="com.android.contacts"/>
 
     <!-- Contacts permission listed first because order determines
          order that permissions are requested with some OEMs -->
     <uses-permission android:name="android.permission.READ_CONTACTS"/>
+    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
     <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
     <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
     <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
@@ -56,6 +57,8 @@
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
     <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS" />
     <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
+    <!-- Required in U to run Service.startForeground() under DATA_SYNC type -->
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
 
     <uses-feature
         android:name="android.hardware.telephony"
@@ -630,6 +633,17 @@
             android:name="android.nfc.disable_beam_default"
             android:value="true"/>
 
+        <provider
+            android:name="com.android.contacts.sdn.SdnProvider"
+            android:authorities="@string/contacts_sdn_provider_authority"
+            android:enabled="true"
+            android:exported="true"
+            android:readPermission="android.permission.BIND_DIRECTORY_SEARCH">
+            <meta-data
+                android:name="android.content.ContactDirectory"
+                android:value="true" />
+        </provider>
+
     </application>
 
     <!-- Allows the contacts app to see the activities and services needed
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index d95b2b2..d570a49 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -84,8 +84,8 @@
     <string name="deleteConfirmation" msgid="3727809366015979585">"ይህ እውቂያ ይሰረዝ?"</string>
     <string name="deleteConfirmation_positive_button" msgid="1604511403421785160">"ሰርዝ"</string>
     <string name="invalidContactMessage" msgid="6204402264821083362">"ዕውቅያው የለም።"</string>
-    <string name="createContactShortcutSuccessful_NoName" msgid="532242135930208299">"እውቂያ ወደ መነሻ ማያ ገፅ ታክሏል።"</string>
-    <string name="createContactShortcutSuccessful" msgid="6980032407920515698">"<xliff:g id="NAME">%s</xliff:g> ወደ መነሻ ማያ ገፅ ታክሏል።"</string>
+    <string name="createContactShortcutSuccessful_NoName" msgid="532242135930208299">"እውቂያ ወደ መነሻ ማያ ገጽ ታክሏል።"</string>
+    <string name="createContactShortcutSuccessful" msgid="6980032407920515698">"<xliff:g id="NAME">%s</xliff:g> ወደ መነሻ ማያ ገጽ ታክሏል።"</string>
     <string name="photoPickerNotFoundText" msgid="6535222297923110991">"በመሣሪያው ላይ ፎቶዎች የሉም።"</string>
     <string name="attach_photo_dialog_title" msgid="7948754072673745235">"የዕውቂያ ፎቶ"</string>
     <string name="customLabelPickerTitle" msgid="816694850254307154">"ብጁ መሰየሚያ ስም"</string>
@@ -120,7 +120,7 @@
     <string name="listFoundAllContactsZero" msgid="1933842282916988563">"እውቅያዎች የሉም"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7498024710169591375">"<xliff:g id="EMAIL">%s</xliff:g> ወደ እውቅያዎች ዝርዝር ይታከል"</string>
     <string name="search_settings_description" msgid="5630675648560839920">"የዕውቂያዎችዎ ስሞች"</string>
-    <string name="quickcontact_transparent_view_description" msgid="7783027850792852265">"ወደ ቀዳሚው ማያ ገፅ ለመመለስ ጠቅ ያድርጉ"</string>
+    <string name="quickcontact_transparent_view_description" msgid="7783027850792852265">"ወደ ቀዳሚው ማያ ገጽ ለመመለስ ጠቅ ያድርጉ"</string>
     <string name="quickcontact_add_phone_number" msgid="1683577288080727862">"የስልክ ቁጥር ያክሉ"</string>
     <string name="quickcontact_add_email" msgid="1442894568471116797">"ኢሜይል ያክሉ"</string>
     <string name="missing_app" msgid="5674389915738964148">"ይህን እርምጃ የሚያከናውን ምንም መተግበሪያ አልተገኘም።"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 18c1684..3a77900 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -91,8 +91,8 @@
     <string name="customLabelPickerTitle" msgid="816694850254307154">"উপযোগিতা অনুসৰি লেবেলৰ নাম"</string>
     <string name="removePhoto" msgid="1190099414600730001">"ফট\' আঁতৰাওক"</string>
     <string name="noContacts" msgid="3030512741779213810">"আপোনাৰ সম্পৰ্কসূচী খালী আছে"</string>
-    <string name="emptyGroup" msgid="8598261660865081152">"এই লেবেলত কোনো সম্পৰ্ক ব্যক্তি নাই"</string>
-    <string name="emptyAccount" msgid="7450843210977018582">"এই একাউণ্টত কোনো সম্পৰ্ক ব্যক্তি নাই"</string>
+    <string name="emptyGroup" msgid="8598261660865081152">"এই লেবেলত কোনো সম্পৰ্ক ব্য়ক্তি নাই"</string>
+    <string name="emptyAccount" msgid="7450843210977018582">"এই একাউণ্টত কোনো সম্পৰ্ক ব্য়ক্তি নাই"</string>
     <string name="emptyMainList" msgid="3266182207039677163">"আপোনাৰ সম্পৰ্কসূচী খালী আছে"</string>
     <string name="contactSavedNamedToast" msgid="3067050290584834386">"<xliff:g id="DISPLAY_NAME">%s</xliff:g> ছেভ কৰা হ’ল"</string>
     <string name="contactSavedToast" msgid="4370392215196995301">"সম্পৰ্ক ছেভ কৰা হ’ল"</string>
@@ -192,7 +192,7 @@
     <string name="expanding_entry_card_view_see_more" msgid="6636033205952561590">"অধিক চাওক"</string>
     <string name="expanding_entry_card_view_see_less" msgid="6399603072579278030">"কম চাওক"</string>
     <string name="about_card_title" msgid="6635849009952435700">"ইয়াৰ বিষয়ে"</string>
-    <string name="toast_making_personal_copy" msgid="9053129410039312386">"ব্যক্তিগত প্ৰতিলিপ সৃষ্টি কৰিথকা হৈছে…"</string>
+    <string name="toast_making_personal_copy" msgid="9053129410039312386">"ব্য়ক্তিগত প্ৰতিলিপ সৃষ্টি কৰিথকা হৈছে…"</string>
     <string name="date_time_set" msgid="8526160894146496334">"ছেট কৰক"</string>
     <string name="header_im_entry" msgid="3581797653862294826">"IM"</string>
     <string name="header_organization_entry" msgid="7428066442988227441">"সংস্থা"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index a976a43..dfdefba 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -475,7 +475,7 @@
     <string name="sim_import_success_toast_fmt" msgid="7645974841482481503">"{count,plural, =1{Uvezen je # kontakt sa SIM-a}one{Uvezen je # kontakt sa SIM-a}few{Uvezena su # kontakta sa SIM-a}other{Uvezeno je # kontakata sa SIM-a}}"</string>
     <string name="sim_import_failed_toast" msgid="358117391138073786">"Uvoz kontakata sa SIM kartice nije uspeo"</string>
     <string name="sim_import_title" msgid="8202961146093040684">"Uvezite sa SIM-a"</string>
-    <string name="sim_import_cancel_content_description" msgid="4746065462808862682">"Otkaži"</string>
+    <string name="sim_import_cancel_content_description" msgid="4746065462808862682">"Otkažite"</string>
     <string name="auto_sync_off" msgid="7039314601316227882">"Automatska sinhronizacija je isključena. Dodirnite da biste je uključili."</string>
     <string name="dismiss_sync_alert" msgid="4057176963960104786">"Odbacite"</string>
     <string name="account_sync_off" msgid="6187683798342006021">"Sinhronizacija naloga je isključena. Dodirnite da biste je uključili."</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 3810199..0dc36e0 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -331,7 +331,7 @@
     <string name="postal_region" msgid="6130239447563491435">"Πολιτεία"</string>
     <string name="postal_postcode" msgid="33077708757232659">"Ταχυδρομικός κώδικας"</string>
     <string name="postal_country" msgid="6642804283917549861">"Χώρα"</string>
-    <string name="map_home" msgid="2169053372466501148">"Προβολή διεύθυνσης σπιτιού"</string>
+    <string name="map_home" msgid="2169053372466501148">"Προβολή διεύθυνσης οικίας"</string>
     <string name="map_work" msgid="8296916987749726461">"Προβολή διεύθυνσης εργασίας"</string>
     <string name="map_other" msgid="4009931029322619674">"Προβολή διεύθυνσης"</string>
     <string name="map_custom" msgid="7797812861927817335">"Προβολή διεύθυνσης <xliff:g id="CUSTOM_LABEL">%s</xliff:g>"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 6eefd87..3eebba4 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -45,7 +45,7 @@
     <string name="menu_addContactsToGroup" msgid="4549318978482280577">"ಸಂಪರ್ಕಗಳನ್ನು ಸೇರಿಸಿ"</string>
     <string name="menu_removeFromGroup" msgid="8753799091967887958">"ಲೇಬಲ್‌ನಿಂದ ತೆಗೆದುಹಾಕಿ"</string>
     <string name="menu_new_group_action_bar" msgid="1670312283925872483">"ಲೇಬಲ್‌ ರಚಿಸಿ"</string>
-    <string name="splitConfirmation" msgid="4750158900636307469">"ಬಹು ಸಂಪರ್ಕಗಳಲ್ಲಿನ ಈ ಸಂಪರ್ಕವನ್ನು ಅನ್‌ಲಿಂಕ್ ಮಾಡಬೇಕೆ?"</string>
+    <string name="splitConfirmation" msgid="4750158900636307469">"ಬಹು ಸಂಪರ್ಕಗಳಲ್ಲಿನ ಈ ಸಂಪರ್ಕವನ್ನು ಅನ್‌ಲಿಂಕ್ ಮಾಡುವುದೇ?"</string>
     <string name="splitConfirmation_positive_button" msgid="3109235536045409854">"ಅನ್‌ಲಿಂಕ್‌"</string>
     <string name="splitConfirmationWithPendingChanges" msgid="8617395780141069527">"ನೀವು ಈಗಾಗಲೇ ಮಾಡಲಾದ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಲು ಮತ್ತು ಬಹು ಸಂಪರ್ಕಗಳಲ್ಲಿನ ಈ ಸಂಪರ್ಕವನ್ನು ಲಿಂಕ್ ರದ್ದುಮಾಡಲು ಬಯಸುವಿರಾ?"</string>
     <string name="splitConfirmationWithPendingChanges_positive_button" msgid="131293000921403021">"ಉಳಿಸಿ ಮತ್ತು ಅನ್‌ಲಿಂಕ್‌ ಮಾಡಿ"</string>
@@ -193,7 +193,7 @@
     <string name="expanding_entry_card_view_see_less" msgid="6399603072579278030">"ಕಡಿಮೆ ನೋಡಿ"</string>
     <string name="about_card_title" msgid="6635849009952435700">"ಕುರಿತು"</string>
     <string name="toast_making_personal_copy" msgid="9053129410039312386">"ವೈಯಕ್ತಿಕ ಪ್ರತಿಯನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="date_time_set" msgid="8526160894146496334">"ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="date_time_set" msgid="8526160894146496334">"ಹೊಂದಿಸಿ"</string>
     <string name="header_im_entry" msgid="3581797653862294826">"IM"</string>
     <string name="header_organization_entry" msgid="7428066442988227441">"ಸಂಸ್ಥೆ"</string>
     <string name="header_nickname_entry" msgid="1110276804512795150">"ಅಡ್ಡಹೆಸರು"</string>
@@ -387,7 +387,7 @@
     <string name="fail_reason_not_supported" msgid="6449916670421646290">"ಈ ಫಾರ್ಮ್ಯಾಟ್ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ."</string>
     <string name="exporting_vcard_finished_title" msgid="1984393609140969504">"<xliff:g id="FILENAME">%s</xliff:g> ರಫ್ತು ಮುಗಿದಿದೆ."</string>
     <string name="exporting_vcard_finished_title_fallback" msgid="9029067439586573959">"ಸಂಪರ್ಕಗಳ ರಫ್ತು ಮಾಡುವಿಕೆ ಮುಗಿದಿದೆ."</string>
-    <string name="exporting_vcard_finished_toast" msgid="5463125514187187782">"ಸಂಪರ್ಕಗಳನ್ನು ರಪ್ತು ಮಾಡುವುದನ್ನು ಮುಕ್ತಾಯಗೊಳಿಸಲಾಗಿದೆ, ಸಂಪರ್ಕಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ನೋಟಿಫಿಕೇಶನ್ ಕ್ಲಿಕ್ ಮಾಡಿ."</string>
+    <string name="exporting_vcard_finished_toast" msgid="5463125514187187782">"ಸಂಪರ್ಕಗಳನ್ನು ರಪ್ತು ಮಾಡುವುದನ್ನು ಮುಕ್ತಾಯಗೊಳಿಸಲಾಗಿದೆ, ಸಂಪರ್ಕಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಅಧಿಸೂಚನೆ ಕ್ಲಿಕ್ ಮಾಡಿ."</string>
     <string name="touch_to_share_contacts" msgid="7678194978416052577">"ಸಂಪರ್ಕಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="exporting_vcard_canceled_title" msgid="1287529222628052526">"<xliff:g id="FILENAME">%s</xliff:g> ರಫ್ತು ಮಾಡುವುದನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ."</string>
     <string name="exporting_contact_list_title" msgid="6599904516394311592">"ಸಂಪರ್ಕ ಡೇಟಾವನ್ನು ರಫ್ತುಮಾಡಲಾಗುತ್ತಿದೆ"</string>
@@ -479,7 +479,7 @@
     <string name="auto_sync_off" msgid="7039314601316227882">"ಸ್ವಯಂಚಾಲಿತ ಸಿಂಕ್ ಆಫ್‌ ಆಗಿದೆ. ಆನ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="dismiss_sync_alert" msgid="4057176963960104786">"ವಜಾಗೊಳಿಸಿ"</string>
     <string name="account_sync_off" msgid="6187683798342006021">"ಖಾತೆಯ ಸಿಂಕ್ ಆಫ್‌ ಆಗಿದೆ. ಆನ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
-    <string name="turn_auto_sync_on_dialog_title" msgid="3812155064863594938">"ಸ್ವಯಂ-ಸಿಂಕ್‌ ಆನ್ ಮಾಡಬೇಕೆ?"</string>
+    <string name="turn_auto_sync_on_dialog_title" msgid="3812155064863594938">"ಸ್ವಯಂ-ಸಿಂಕ್‌ ಆನ್ ಮಾಡುವುದೇ?"</string>
     <string name="turn_auto_sync_on_dialog_body" msgid="5386810641905184682">"ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಖಾತೆಗಳಿಗೆ ನೀವು ಮಾಡುವ ಬದಲಾವಣೆಗಳು Google ಸಂಪರ್ಕಗಳಿಗೆ ಮಾತ್ರವಲ್ಲದೇ, ವೆಬ್ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನಗಳ ನಡುವೆ ನವೀಕೃತವಾಗಿ ಇರಿಸಲಾಗುತ್ತದೆ."</string>
     <string name="turn_auto_sync_on_dialog_confirm_btn" msgid="5575717918836806519">"ಆನ್ ಮಾಡಿ"</string>
     <string name="connection_error_message" msgid="7446131881946138093">"ಯಾವುದೇ ಸಂಪರ್ಕವಿಲ್ಲ"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index d623661..0b3c5f4 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -79,7 +79,7 @@
     <string name="single_delete_confirmation" msgid="8260949300855537648">"Бул байланыш жок кылынсынбы?"</string>
     <string name="batch_delete_confirmation" msgid="4149615167210863403">"Тандалган байланыштар жок кылынсынбы?"</string>
     <string name="batch_delete_read_only_contact_confirmation" msgid="381691735715182700">"Окуу үчүн гана арналган аккаунтуңуздан байланыштарды жок кылуу мүмкүн эмес, бирок аларды жашырып койсо болот."</string>
-    <string name="batch_delete_multiple_accounts_confirmation" msgid="4547718538924570984">"Өчүрүлө турган байланыштарда бир нече аккаунтунун чоо-жайы бар. Окуу үчүн гана арналган аккаунттарынын чоо-жайы жашырылып, өчпөйт."</string>
+    <string name="batch_delete_multiple_accounts_confirmation" msgid="4547718538924570984">"Жок кылына турган байланыштарда бир нече аккаунтунун чоо-жайы бар. Окуу үчүн гана арналган аккаунттарынын чоо-жайы жашырылып, өчпөйт."</string>
     <string name="multipleContactDeleteConfirmation" msgid="2970218685653877287">"Бул байланыш өчүрүлсө, анын бир нече аккаунтундагы чоо-жайы өчүп калат."</string>
     <string name="deleteConfirmation" msgid="3727809366015979585">"Бул байланыш жок кылынсынбы?"</string>
     <string name="deleteConfirmation_positive_button" msgid="1604511403421785160">"Жок кылуу"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 1124e11..fc6ed71 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -40,7 +40,7 @@
     <string name="menu_editGroup" msgid="8706562583754054622">"Отстрани контакти"</string>
     <string name="menu_renameGroup" msgid="2685886609399776475">"Преименувај ја етикетата"</string>
     <string name="menu_deleteGroup" msgid="1180215594530228294">"Избриши ја етикетата"</string>
-    <string name="menu_addToGroup" msgid="5034813446697655310">"Додајте контакт"</string>
+    <string name="menu_addToGroup" msgid="5034813446697655310">"Додај контакт"</string>
     <string name="menu_selectForGroup" msgid="6386553337569514850">"Избери контакти"</string>
     <string name="menu_addContactsToGroup" msgid="4549318978482280577">"Додај контакти"</string>
     <string name="menu_removeFromGroup" msgid="8753799091967887958">"Отстрани од етикетата"</string>
@@ -416,7 +416,7 @@
     <string name="display_options_sort_list_by" msgid="4333658089057400431">"Подреди по"</string>
     <string name="display_options_phonetic_name_fields" msgid="1857564544755287298">"Фонетско име"</string>
     <string name="editor_options_always_show_phonetic_names" msgid="3612488836474257715">"Секогаш прикажувај"</string>
-    <string name="editor_options_hide_phonetic_names_if_empty" msgid="2693314301550366143">"Скриј ако е празно"</string>
+    <string name="editor_options_hide_phonetic_names_if_empty" msgid="2693314301550366143">"Сокриј ако е празно"</string>
     <string name="display_options_sort_by_given_name" msgid="893781924536349248">"Име"</string>
     <string name="display_options_sort_by_family_name" msgid="1282763552330910876">"Презиме"</string>
     <string name="display_options_view_names_as" msgid="4060686468465916565">"Формат на име"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index b8dfd3a..fbdf703 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -472,9 +472,9 @@
     <string name="sim_import_title_none_selected" msgid="3527680774575468781">"အဆက်အသွယ်များကို ရွေးပါ"</string>
     <string name="sim_import_empty_message" msgid="7238368542566545854">"ဆင်းမ်ကဒ်ထဲတွင် လိပ်စာ မရှိပါ"</string>
     <string name="sim_import_contact_exists_toast" msgid="8423212007841229749">"အဆက်အသွယ်က သင့်စာရင်းတွင် ရှိနှင့်နေပါပြီ"</string>
-    <string name="sim_import_success_toast_fmt" msgid="7645974841482481503">"{count,plural, =1{ဆင်းမ်ကတ်ထဲရှိ အဆက်အသွယ် # ခုကို ထည့်သွင်းလိုက်ပါပြီ}other{ဆင်းမ်ကတ်ထဲရှိ အဆက်အသွယ် # ခုကို ထည့်သွင်းလိုက်ပါပြီ}}"</string>
+    <string name="sim_import_success_toast_fmt" msgid="7645974841482481503">"{count,plural, =1{ဆင်းမ်ထဲရှိ အဆက်အသွယ် # ခုကို ထည့်သွင်းလိုက်ပါပြီ}other{ဆင်းမ်ထဲရှိ အဆက်အသွယ် # ခုကို ထည့်သွင်းလိုက်ပါပြီ}}"</string>
     <string name="sim_import_failed_toast" msgid="358117391138073786">"ဆင်းမ်အဆက်အသွယ်များကို တင်သွင်း၍မရပါ"</string>
-    <string name="sim_import_title" msgid="8202961146093040684">"ဆင်းမ်ကတ်မှ တင်သွင်းပါ"</string>
+    <string name="sim_import_title" msgid="8202961146093040684">"ဆင်းမ်ကဒ်မှ တင်သွင်းပါ"</string>
     <string name="sim_import_cancel_content_description" msgid="4746065462808862682">"မလုပ်တော့"</string>
     <string name="auto_sync_off" msgid="7039314601316227882">"အလိုအလျောက်စင့်ခ်လုပ်ခြင်းကို ပိတ်ထားသည်။ ဖွင့်ရန်အတွက် တို့ပါ။"</string>
     <string name="dismiss_sync_alert" msgid="4057176963960104786">"ပယ်ရန်"</string>
@@ -487,7 +487,7 @@
     <string name="show_more_content_description" msgid="6298277298495491712">"ပိုပြပါ"</string>
     <string name="importing_sim_finished_title" msgid="6436721150882268416">"ဆင်းမ်ကဒ်ကို တင်သွင်းပြီးပါပြီ"</string>
     <string name="importing_sim_failed_title" msgid="1046154274170241788">"တင်သွင်း၍မရပါ"</string>
-    <string name="importing_sim_failed_message" msgid="55568522164349044">"ဆင်းမ်ကတ်မှ အဆက်အသွယ်များကို တင်သွင်း၍မရပါ"</string>
+    <string name="importing_sim_failed_message" msgid="55568522164349044">"ဆင်းမ်ကဒ်မှ အဆက်အသွယ်များကို တင်သွင်း၍မရပါ"</string>
     <string name="importing_sim_in_progress_title" msgid="7647907413920018595">"ဆင်းမ်ကဒ်ကို တင်သွင်းနေသည်"</string>
     <string name="contacts_default_notification_channel" msgid="5116916969874075866">"အကြောင်းကြားချက်များ"</string>
     <string name="yes_button" msgid="1120514817091581293">"Yes"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index ba033aa..58a89f5 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/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="applicationLabel" msgid="8908212014470937609">"कन्ट्याक्टहरू"</string>
+    <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>
@@ -114,7 +114,7 @@
     <string name="groupSomeContactsNoEmailsToast" msgid="2142963883699535155">"केही सम्पर्कहरूका इमेल ठेगाना छैनन्"</string>
     <string name="groupSomeContactsNoPhonesToast" msgid="2454029254458875746">"केही सम्पर्कहरूका फोन नम्बर छैनन्"</string>
     <string name="menu_sendEmailOption" msgid="8600335923636486825">"इमेल पठाउनुहोस्"</string>
-    <string name="menu_sendMessageOption" msgid="8051852013078110910">"म्यासेज पठाउनुहोस्"</string>
+    <string name="menu_sendMessageOption" msgid="8051852013078110910">"सन्देश पठाउनुहोस्"</string>
     <string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"सम्पर्कहरू छान्नुहोस्"</string>
     <string name="send_to_selection" msgid="3655197947726443720">"पठाउनुहोस्"</string>
     <string name="listFoundAllContactsZero" msgid="1933842282916988563">"कुनै सम्पर्कहरू छैनन्।"</string>
@@ -272,7 +272,7 @@
     <string name="sms_work_pager" msgid="8827367747655005608">"पाठ कार्य पेजर"</string>
     <string name="sms_assistant" msgid="245045451580096547">"पाठ <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
     <string name="sms_mms" msgid="7395133080765833725">"पाठ MMS"</string>
-    <string name="sms_by_shortcut" msgid="4682340916268521006">"<xliff:g id="CONTACT_NAME">%s</xliff:g> (म्यासेज पठाउनुहोस्)"</string>
+    <string name="sms_by_shortcut" msgid="4682340916268521006">"<xliff:g id="CONTACT_NAME">%s</xliff:g> (सन्देश पठाउनुहोस्)"</string>
     <string name="description_video_call" msgid="4956825008907720371">"भिडियो कल बनाउनुहोस्"</string>
     <string name="clearFrequentsConfirmation_title" msgid="9194415661170740437">"प्रायः सम्पर्क गरिएकाहरूलाई हटाउने हो?"</string>
     <string name="clearFrequentsConfirmation" msgid="2120741757522063938">"तपाईंले सम्पर्कहरू र फोन एपहरूमा बारम्बार सम्पर्क गरेको सूची खाली गर्नुहुनेछ र स्क्रयाचबाट तपाईंको ठेगाना प्राथमिकताहरू सिक्नको लागि इमेल एपहरूलाई दबाब दिनुहुनेछ।"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 855fdee..9bf3593 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -221,8 +221,8 @@
     <string name="editor_delete_view_description_short" msgid="6471032197042328181">"<xliff:g id="DATA_KIND">%s</xliff:g> ਹਟਾਓ"</string>
     <string name="menu_assistant" msgid="3980364519724237934">"ਸੁਝਾਅ"</string>
     <string name="menu_assistant_new_badge" msgid="1992049406019853898">"ਨਵਾਂ"</string>
-    <string name="navigation_drawer_open" msgid="3428713515765555712">"ਨੈਵੀਗੇਸ਼ਨ ਡ੍ਰਾਅਰ ਖੋਲ੍ਹੋ"</string>
-    <string name="navigation_drawer_close" msgid="3052989100471689722">"ਨੈਵੀਗੇਸ਼ਨ ਡ੍ਰਾਅਰ ਬੰਦ ਕਰੋ"</string>
+    <string name="navigation_drawer_open" msgid="3428713515765555712">"ਆਵਾਗੌਣ ਦਰਾਜ਼ ਖੋਲ੍ਹੋ"</string>
+    <string name="navigation_drawer_close" msgid="3052989100471689722">"ਆਵਾਗੌਣ ਦਰਾਜ਼ ਬੰਦ ਕਰੋ"</string>
     <string name="navigation_drawer_label" msgid="8391863484838783638">"<xliff:g id="LABEL_NAME">%s</xliff:g> ਲੇਬਲ"</string>
     <string name="menu_title_groups" msgid="3722199658759568221">"ਲੇਬਲ"</string>
     <string name="menu_title_filters" msgid="349866121417914494">"ਖਾਤੇ"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index a39207b..1f1cf0f 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -147,7 +147,7 @@
     <string name="cancel_button_content_description" msgid="7407595608883650004">"Cancelar"</string>
     <string name="back_arrow_content_description" msgid="6727142616775523605">"Voltar"</string>
     <string name="action_menu_back_from_edit_select" msgid="7911226757462657242">"fechar"</string>
-    <string name="aggregation_suggestion_edit_dialog_message" msgid="4339333746086996062">"Mudar para a edição do contato selecionado? As informações inseridas até agora serão copiadas."</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="4339333746086996062">"Alternar para a edição do contato selecionado? As informações inseridas até agora serão copiadas."</string>
     <string name="contact_directory_description" msgid="1773630547110881835">"Diretório <xliff:g id="TYPE">%1$s</xliff:g>"</string>
     <string name="activity_title_settings" msgid="4004290638426915162">"Configurações"</string>
     <string name="menu_settings" msgid="3524924670246877187">"Configurações"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index a39207b..1f1cf0f 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -147,7 +147,7 @@
     <string name="cancel_button_content_description" msgid="7407595608883650004">"Cancelar"</string>
     <string name="back_arrow_content_description" msgid="6727142616775523605">"Voltar"</string>
     <string name="action_menu_back_from_edit_select" msgid="7911226757462657242">"fechar"</string>
-    <string name="aggregation_suggestion_edit_dialog_message" msgid="4339333746086996062">"Mudar para a edição do contato selecionado? As informações inseridas até agora serão copiadas."</string>
+    <string name="aggregation_suggestion_edit_dialog_message" msgid="4339333746086996062">"Alternar para a edição do contato selecionado? As informações inseridas até agora serão copiadas."</string>
     <string name="contact_directory_description" msgid="1773630547110881835">"Diretório <xliff:g id="TYPE">%1$s</xliff:g>"</string>
     <string name="activity_title_settings" msgid="4004290638426915162">"Configurações"</string>
     <string name="menu_settings" msgid="3524924670246877187">"Configurações"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index f1558ac..c9ff95a 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -475,7 +475,7 @@
     <string name="sim_import_success_toast_fmt" msgid="7645974841482481503">"{count,plural, =1{Увезен је # контакт са SIM-а}one{Увезен је # контакт са SIM-а}few{Увезена су # контакта са SIM-а}other{Увезено је # контаката са SIM-а}}"</string>
     <string name="sim_import_failed_toast" msgid="358117391138073786">"Увоз контаката са SIM картице није успео"</string>
     <string name="sim_import_title" msgid="8202961146093040684">"Увезите са SIM-а"</string>
-    <string name="sim_import_cancel_content_description" msgid="4746065462808862682">"Откажи"</string>
+    <string name="sim_import_cancel_content_description" msgid="4746065462808862682">"Откажите"</string>
     <string name="auto_sync_off" msgid="7039314601316227882">"Аутоматска синхронизација је искључена. Додирните да бисте је укључили."</string>
     <string name="dismiss_sync_alert" msgid="4057176963960104786">"Одбаците"</string>
     <string name="account_sync_off" msgid="6187683798342006021">"Синхронизација налога је искључена. Додирните да бисте је укључили."</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 9e5b9ae..d07f2c4 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -116,7 +116,7 @@
     <string name="menu_sendEmailOption" msgid="8600335923636486825">"ఈమెయిల్‌ను పంపు"</string>
     <string name="menu_sendMessageOption" msgid="8051852013078110910">"మెసేజ్‌ను పంపు"</string>
     <string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"కాంటాక్ట్‌లను ఎంచుకోండి"</string>
-    <string name="send_to_selection" msgid="3655197947726443720">"పంపండి"</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>
     <string name="search_settings_description" msgid="5630675648560839920">"మీ కాంటాక్ట్‌ల పేర్లు"</string>
@@ -310,7 +310,7 @@
     <string name="organizationLabelsGroup" msgid="2342482097897299099">"సంస్థ"</string>
     <string name="relationLabelsGroup" msgid="8931615792208307291">"సంబంధం"</string>
     <string name="eventLabelsGroup" msgid="8625868552164376823">"ప్రత్యేక తేదీ"</string>
-    <string name="sms" msgid="4246338112764847384">"టెక్స్ట్ మెసేజ్‌"</string>
+    <string name="sms" msgid="4246338112764847384">"వచన మెసేజ్‌"</string>
     <string name="postal_address" msgid="5031809899673855074">"అడ్రస్‌"</string>
     <string name="ghostData_company" msgid="3873500610390675876">"కంపెనీ"</string>
     <string name="ghostData_department" msgid="8610642449404163799">"విభాగం"</string>
@@ -403,9 +403,9 @@
     <string name="importing_vcard_canceled_title" msgid="8165471996631186776">"<xliff:g id="FILENAME">%s</xliff:g>ని దిగుమతి చేయడం రద్దు చేయబడింది"</string>
     <string name="vcard_import_will_start_message" msgid="4514702035621833178">"<xliff:g id="FILENAME">%s</xliff:g> కొద్దిసేపట్లో దిగుమతి చేయబడుతుంది."</string>
     <string name="vcard_import_will_start_message_with_default_name" msgid="8205422202924103470">"ఫైల్ కొద్దిసేపట్లో దిగుమతి చేయబడుతుంది."</string>
-    <string name="vcard_import_request_rejected_message" msgid="4754292694777189540">"vCard దిగుమతి రిక్వెస్ట్‌ తిరస్కరించబడింది. తర్వాత మళ్లీ ట్రై చేయండి."</string>
+    <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_export_request_rejected_message" msgid="6455336845734884740">"vCard ఎగుమతి రిక్వెస్ట్‌ తిరస్కరించబడింది. తర్వాత మళ్లీ ప్రయత్నించండి."</string>
     <string name="vcard_unknown_filename" msgid="8320954544777782497">"కాంటాక్ట్"</string>
     <string name="caching_vcard_message" msgid="1879339732783666517">"vCard(ల)ను స్థానిక తాత్కాలిక స్టోరేజ్‌కు కాష్ చేస్తోంది. అసలు దిగుమతి కొద్దిసేపట్లో ప్రారంభమవుతుంది."</string>
     <string name="vcard_import_failed" msgid="37313715326741013">"vCardని దిగుమతి చేయడం సాధ్యపడలేదు."</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 7c1c724..84a0def 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -332,7 +332,7 @@
     <string name="postal_postcode" msgid="33077708757232659">"Mã ZIP"</string>
     <string name="postal_country" msgid="6642804283917549861">"Quốc gia"</string>
     <string name="map_home" msgid="2169053372466501148">"Xem địa chỉ nhà riêng"</string>
-    <string name="map_work" msgid="8296916987749726461">"Xem địa chỉ nơi làm việc"</string>
+    <string name="map_work" msgid="8296916987749726461">"Xem địa chỉ cơ quan"</string>
     <string name="map_other" msgid="4009931029322619674">"Xem địa chỉ"</string>
     <string name="map_custom" msgid="7797812861927817335">"Xem địa chỉ <xliff:g id="CUSTOM_LABEL">%s</xliff:g>"</string>
     <string name="chat_aim" msgid="2044861410748519265">"Trò chuyện sử dụng AIM"</string>
diff --git a/res/values/donottranslate_config.xml b/res/values/donottranslate_config.xml
index 2dd0e73..c4c0152 100644
--- a/res/values/donottranslate_config.xml
+++ b/res/values/donottranslate_config.xml
@@ -28,6 +28,10 @@
 
     <!-- File Authority for AOSP Contacts files -->
     <string name="contacts_file_provider_authority">com.android.contacts.files</string>
+
+    <!-- SDN Authority for carrier SDN -->
+    <string name="contacts_sdn_provider_authority">com.android.contacts.sdn</string>
+
     <!-- Flag indicating whether Contacts app is allowed to import contacts -->
     <bool name="config_allow_import_from_vcf_file">true</bool>
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d87be0b..b608e12 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1549,4 +1549,7 @@
     <!-- Text of Negative Button in dialog -->
     <string name="no_button">No</string>
 
+    <!-- The label to display as a section header in the contact list for an SDN directory [CHAR LIMIT=40] -->
+    <string name="sdn_contacts_directory_search_label">Carrier service numbers</string>
+
 </resources>
\ No newline at end of file
diff --git a/src/com/android/contacts/activities/RequestPermissionsActivity.java b/src/com/android/contacts/activities/RequestPermissionsActivity.java
index ebcd9b3..7994e98 100644
--- a/src/com/android/contacts/activities/RequestPermissionsActivity.java
+++ b/src/com/android/contacts/activities/RequestPermissionsActivity.java
@@ -70,6 +70,7 @@
                 permissions.add(permission.CALL_PHONE);
                 permissions.add(permission.READ_PHONE_NUMBERS);
                 permissions.add(permission.READ_PHONE_STATE);
+                permissions.add(permission.READ_CALL_LOG);
             }
             sRequiredPermissions = permissions.toArray(new String[0]);
         }
diff --git a/src/com/android/contacts/sdn/SdnProvider.kt b/src/com/android/contacts/sdn/SdnProvider.kt
new file mode 100644
index 0000000..4dd3578
--- /dev/null
+++ b/src/com/android/contacts/sdn/SdnProvider.kt
@@ -0,0 +1,296 @@
+/*
+ * Copyright 2023 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.sdn
+
+import android.content.ContentProvider
+import android.content.ContentValues
+import android.content.Context.TELECOM_SERVICE
+import android.content.UriMatcher
+import android.database.Cursor
+import android.database.MatrixCursor
+import android.net.Uri
+import android.provider.ContactsContract
+import android.provider.ContactsContract.CommonDataKinds.Phone
+import android.provider.ContactsContract.CommonDataKinds.StructuredName
+import android.provider.ContactsContract.Contacts
+import android.provider.ContactsContract.Data
+import android.provider.ContactsContract.Directory
+import android.provider.ContactsContract.RawContacts
+import android.telecom.TelecomManager
+import android.util.Log
+import com.android.contacts.R
+
+/** Provides a way to show SDN data in search suggestions and caller id lookup. */
+class SdnProvider : ContentProvider() {
+
+  private lateinit var sdnRepository: SdnRepository
+  private lateinit var uriMatcher: UriMatcher
+
+  override fun onCreate(): Boolean {
+    Log.i(TAG, "onCreate")
+    val sdnProviderAuthority = requireContext().getString(R.string.contacts_sdn_provider_authority)
+
+    uriMatcher =
+      UriMatcher(UriMatcher.NO_MATCH).apply {
+        addURI(sdnProviderAuthority, "directories", DIRECTORIES)
+        addURI(sdnProviderAuthority, "contacts/filter/*", FILTER)
+        addURI(sdnProviderAuthority, "data/phones/filter/*", FILTER)
+        addURI(sdnProviderAuthority, "contacts/lookup/*/entities", CONTACT_LOOKUP)
+        addURI(
+          sdnProviderAuthority,
+          "contacts/lookup/*/#/entities",
+          CONTACT_LOOKUP_WITH_CONTACT_ID,
+        )
+        addURI(sdnProviderAuthority, "phone_lookup/*", PHONE_LOOKUP)
+      }
+    sdnRepository = SdnRepository(requireContext())
+    return true
+  }
+
+  override fun query(
+    uri: Uri,
+    projection: Array<out String>?,
+    selection: String?,
+    selectionArgs: Array<out String>?,
+    sortOrder: String?,
+  ): Cursor? {
+    if (projection == null) return null
+
+    val match = uriMatcher.match(uri)
+
+    if (match == DIRECTORIES) {
+      return handleDirectories(projection)
+    }
+
+    if (
+      !isCallerAllowed(uri.getQueryParameter(Directory.CALLER_PACKAGE_PARAM_KEY)) ||
+      !sdnRepository.isSdnPresent()
+    ) {
+      return null
+    }
+
+    val accountName = uri.getQueryParameter(RawContacts.ACCOUNT_NAME)
+    val accountType = uri.getQueryParameter(RawContacts.ACCOUNT_TYPE)
+    if (ACCOUNT_NAME != accountName || ACCOUNT_TYPE != accountType) {
+      Log.e(TAG, "Received an invalid account")
+      return null
+    }
+
+    return when (match) {
+      FILTER -> handleFilter(projection, uri)
+      CONTACT_LOOKUP -> handleLookup(projection, uri.pathSegments[2])
+      CONTACT_LOOKUP_WITH_CONTACT_ID ->
+        handleLookup(projection, uri.pathSegments[2], uri.pathSegments[3])
+      PHONE_LOOKUP -> handlePhoneLookup(projection, uri.pathSegments[1])
+      else -> null
+    }
+  }
+
+  override fun getType(uri: Uri) = Contacts.CONTENT_ITEM_TYPE
+
+  override fun insert(uri: Uri, values: ContentValues?): Uri? {
+    throw UnsupportedOperationException("Insert is not supported.")
+  }
+
+  override fun delete(uri: Uri, selection: String?, selectionArgs: Array<out String>?): Int {
+    throw UnsupportedOperationException("Delete is not supported.")
+  }
+
+  override fun update(
+    uri: Uri,
+    values: ContentValues?,
+    selection: String?,
+    selectionArgs: Array<out String>?,
+  ): Int {
+    throw UnsupportedOperationException("Update is not supported.")
+  }
+
+  private fun handleDirectories(projection: Array<out String>): Cursor {
+    // logger.atInfo().log("Creating directory cursor")
+
+    return MatrixCursor(projection).apply {
+      addRow(
+        projection.map { column ->
+          when (column) {
+            Directory.ACCOUNT_NAME -> ACCOUNT_NAME
+            Directory.ACCOUNT_TYPE -> ACCOUNT_TYPE
+            Directory.DISPLAY_NAME -> ACCOUNT_NAME
+            Directory.TYPE_RESOURCE_ID -> R.string.sdn_contacts_directory_search_label
+            Directory.EXPORT_SUPPORT -> Directory.EXPORT_SUPPORT_NONE
+            Directory.SHORTCUT_SUPPORT -> Directory.SHORTCUT_SUPPORT_NONE
+            Directory.PHOTO_SUPPORT -> Directory.PHOTO_SUPPORT_THUMBNAIL_ONLY
+            else -> null
+          }
+        },
+      )
+    }
+  }
+
+  private fun handleFilter(projection: Array<out String>, uri: Uri): Cursor? {
+    val filter = uri.lastPathSegment ?: return null
+    val cursor = MatrixCursor(projection)
+
+    val results =
+      sdnRepository.fetchSdn().filter {
+        it.serviceName.contains(filter, ignoreCase = true) || it.serviceNumber.contains(filter)
+      }
+
+    if (results.isEmpty()) return cursor
+
+    val maxResult = getQueryLimit(uri)
+
+    results.take(maxResult).forEachIndexed { index, data ->
+      cursor.addRow(
+        projection.map { column ->
+          when (column) {
+            Contacts._ID -> index
+            Contacts.DISPLAY_NAME -> data.serviceName
+            Data.DATA1 -> data.serviceNumber
+            Contacts.LOOKUP_KEY -> data.lookupKey()
+            else -> null
+          }
+        },
+      )
+    }
+
+    return cursor
+  }
+
+  private fun handleLookup(
+    projection: Array<out String>,
+    lookupKey: String?,
+    contactIdFromUri: String? = "1",
+  ): Cursor? {
+    if (lookupKey.isNullOrEmpty()) {
+      Log.i(TAG, "handleLookup did not receive a lookup key")
+      return null
+    }
+
+    val cursor = MatrixCursor(projection)
+    val contactId =
+      try {
+        contactIdFromUri?.toLong() ?: 1L
+      } catch (_: NumberFormatException) {
+        1L
+      }
+
+    val result = sdnRepository.fetchSdn().find { it.lookupKey() == lookupKey } ?: return cursor
+
+    // Adding first row for name
+    cursor.addRow(
+      projection.map { column ->
+        when (column) {
+          Contacts.Entity.CONTACT_ID -> contactId
+          Contacts.Entity.RAW_CONTACT_ID -> contactId
+          Contacts.Entity.DATA_ID -> 1
+          Data.MIMETYPE -> StructuredName.CONTENT_ITEM_TYPE
+          StructuredName.DISPLAY_NAME -> result.serviceName
+          StructuredName.GIVEN_NAME -> result.serviceName
+          Contacts.DISPLAY_NAME -> result.serviceName
+          Contacts.DISPLAY_NAME_ALTERNATIVE -> result.serviceName
+          RawContacts.ACCOUNT_NAME -> ACCOUNT_NAME
+          RawContacts.ACCOUNT_TYPE -> ACCOUNT_TYPE
+          RawContacts.RAW_CONTACT_IS_READ_ONLY -> 1
+          Contacts.LOOKUP_KEY -> result.lookupKey()
+          else -> null
+        }
+      }
+    )
+
+    // Adding second row for number
+    cursor.addRow(
+      projection.map { column ->
+        when (column) {
+          Contacts.Entity.CONTACT_ID -> contactId
+          Contacts.Entity.RAW_CONTACT_ID -> contactId
+          Contacts.Entity.DATA_ID -> 2
+          Data.MIMETYPE -> Phone.CONTENT_ITEM_TYPE
+          Phone.NUMBER -> result.serviceNumber
+          Data.IS_PRIMARY -> 1
+          Phone.TYPE -> Phone.TYPE_MAIN
+          else -> null
+        }
+      }
+    )
+
+    return cursor
+  }
+
+  private fun handlePhoneLookup(
+    projection: Array<out String>,
+    phoneNumber: String?,
+  ): Cursor? {
+    if (phoneNumber.isNullOrEmpty()) {
+      Log.i(TAG, "handlePhoneLookup did not receive a phoneNumber")
+      return null
+    }
+
+    val cursor = MatrixCursor(projection)
+
+    val result = sdnRepository.fetchSdn().find { it.serviceNumber == phoneNumber } ?: return cursor
+
+    cursor.addRow(
+      projection.map { column ->
+        when (column) {
+          Contacts.DISPLAY_NAME -> result.serviceName
+          Phone.NUMBER -> result.serviceNumber
+          else -> null
+        }
+      },
+    )
+
+    return cursor
+  }
+
+  private fun isCallerAllowed(callingPackage: String?): Boolean {
+    if (callingPackage.isNullOrEmpty()) {
+      Log.i(TAG, "Calling package is null or empty.")
+      return false
+    }
+
+    if (callingPackage == requireContext().packageName) {
+      return true
+    }
+
+    // Check if the calling package is default dialer app or not
+    val context = context ?: return false
+    val tm = context.getSystemService(TELECOM_SERVICE) as TelecomManager
+    return tm.defaultDialerPackage == callingPackage
+  }
+
+  private fun getQueryLimit(uri: Uri): Int {
+    return try {
+      uri.getQueryParameter(ContactsContract.LIMIT_PARAM_KEY)?.toInt() ?: DEFAULT_MAX_RESULTS
+    } catch (e: NumberFormatException) {
+      DEFAULT_MAX_RESULTS
+    }
+  }
+
+  companion object {
+    private val TAG = SdnProvider::class.java.simpleName
+
+    private const val DIRECTORIES = 0
+    private const val FILTER = 1
+    private const val CONTACT_LOOKUP = 2
+    private const val CONTACT_LOOKUP_WITH_CONTACT_ID = 3
+    private const val PHONE_LOOKUP = 4
+
+    private const val ACCOUNT_NAME = "Carrier service numbers"
+    private const val ACCOUNT_TYPE = "com.android.contacts.sdn"
+
+    private const val DEFAULT_MAX_RESULTS = 20
+  }
+}
diff --git a/src/com/android/contacts/sdn/SdnRepository.kt b/src/com/android/contacts/sdn/SdnRepository.kt
new file mode 100644
index 0000000..082adeb
--- /dev/null
+++ b/src/com/android/contacts/sdn/SdnRepository.kt
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2023 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.sdn
+
+import android.Manifest.permission
+import android.annotation.SuppressLint
+import android.content.Context
+import android.content.pm.PackageManager
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import android.util.Log
+import com.android.contacts.model.SimCard
+import com.android.contacts.util.PermissionsUtil
+import com.android.contacts.util.PhoneNumberHelper
+
+/** Repository to fetch Sdn data from [CarrierConfigManager]. */
+class SdnRepository constructor(private val context: Context) {
+
+  fun isSdnPresent(): Boolean {
+    if (
+      !hasTelephony() ||
+      !PermissionsUtil.hasPermission(context, permission.READ_PHONE_STATE) ||
+      !PermissionsUtil.hasPermission(context, permission.READ_PHONE_NUMBERS) ||
+      !PermissionsUtil.hasPermission(context, permission.READ_CALL_LOG)
+    ) {
+      return false
+    }
+
+    val simCardList = getSimCardInformation()
+
+    for (simCard in simCardList) {
+      if (fetchSdnFromCarrierConfig(simCard).isNotEmpty()) {
+        Log.i(TAG, "Found SDN list from CarrierConfig")
+        return true
+      }
+    }
+    return false
+  }
+
+  fun fetchSdn(): List<Sdn> {
+    val simCardList = getSimCardInformation()
+
+    return simCardList
+      .flatMap { fetchSdnFromCarrierConfig(it) }
+      .distinct()
+      .sortedBy { it.serviceName }
+  }
+
+  // Permission check isn't recognized by the linter.
+  @SuppressLint("MissingPermission")
+  fun getSimCardInformation(): List<SimCard> {
+    val subscriptionManager = context.getSystemService(SubscriptionManager::class.java)
+    return subscriptionManager.activeSubscriptionInfoList?.filterNotNull()?.mapNotNull {
+      if (it.subscriptionId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+        null
+      } else {
+        SimCard.create(it)
+      }
+    }
+      ?: emptyList()
+  }
+
+  @Suppress("Deprecation", "MissingPermission")
+  private fun fetchSdnFromCarrierConfig(simCard: SimCard): List<Sdn> {
+    val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)
+    val carrierConfig =
+      carrierConfigManager.getConfigForSubId(simCard.subscriptionId) ?: return emptyList()
+    val nameList: List<String> =
+      carrierConfig
+        .getStringArray(CarrierConfigManager.KEY_CARRIER_SERVICE_NAME_STRING_ARRAY)
+        ?.map { it?.trim() ?: "" }
+        ?: return emptyList()
+    val numberList: List<String> =
+      carrierConfig
+        .getStringArray(CarrierConfigManager.KEY_CARRIER_SERVICE_NUMBER_STRING_ARRAY)
+        ?.map { it?.trim() ?: "" }
+        ?: return emptyList()
+    if (nameList.isEmpty() || nameList.size != numberList.size) return emptyList()
+
+    val sdnList = mutableListOf<Sdn>()
+    nameList.zip(numberList).forEach { (sdnServiceName, sdnNumber) ->
+      if (sdnServiceName.isNotBlank() && PhoneNumberHelper.isDialablePhoneNumber(sdnNumber)) {
+        sdnList.add(Sdn(sdnServiceName, sdnNumber))
+      }
+    }
+    return sdnList
+  }
+
+  private fun hasTelephony(): Boolean {
+    return context.packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
+  }
+
+  companion object {
+    private val TAG = SdnRepository::class.java.simpleName
+  }
+}
+
+/** Hold the Service dialing number information to be displayed in SdnActivity. */
+data class Sdn(
+  val serviceName: String,
+  val serviceNumber: String,
+) {
+
+  /** Generate lookup key that will help identify SDN when Opening QuickContact. */
+  fun lookupKey(): String {
+    return "non-sim-sdn-" + hashCode()
+  }
+}
diff --git a/src/com/android/contacts/util/PhoneNumberHelper.java b/src/com/android/contacts/util/PhoneNumberHelper.java
index eb070b2..2f1a5b0 100644
--- a/src/com/android/contacts/util/PhoneNumberHelper.java
+++ b/src/com/android/contacts/util/PhoneNumberHelper.java
@@ -16,6 +16,7 @@
 package com.android.contacts.util;
 
 import android.telephony.PhoneNumberUtils;
+import android.text.TextUtils;
 import android.util.Log;
 
 /**
@@ -95,4 +96,24 @@
         }
         return number.substring(0, delimiterIndex);
     }
+
+    /** Returns true if the given string is dialable by the user from Phone/Dialer app. */
+    public static boolean isDialablePhoneNumber(String str) {
+        if (TextUtils.isEmpty(str)) {
+            return false;
+        }
+
+        for (int i = 0, count = str.length(); i < count; i++) {
+            if (!(PhoneNumberUtils.isDialable(str.charAt(i))
+                || str.charAt(i) == ' '
+                || str.charAt(i) == '-'
+                || str.charAt(i) == '('
+                || str.charAt(i) == ')'
+                || str.charAt(i) == '.'
+                || str.charAt(i) == '/')) {
+                return false;
+            }
+        }
+        return true;
+    }
 }
diff --git a/tests/Android.bp b/tests/Android.bp
index 647fee7..2912673 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -29,7 +29,7 @@
         "androidx.test.ext.junit",
         "hamcrest-library",
         "mockito-target-minus-junit4",
-        "ub-uiautomator",
+        "androidx.test.uiautomator_uiautomator",
     ],
 
     libs: [
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index f22f92c..9ccfa3f 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -20,6 +20,7 @@
     <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29" />
 
     <uses-permission android:name="android.permission.READ_CONTACTS" />
+    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
 
diff --git a/tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java b/tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java
index fac9c85..59f8147 100644
--- a/tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java
+++ b/tests/src/com/android/contacts/NoPermissionsLaunchSmokeTest.java
@@ -8,15 +8,15 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.MediumTest;
 import androidx.test.filters.Suppress;
 import androidx.test.runner.AndroidJUnit4;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.Until;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -54,6 +54,7 @@
         assumeTrue(!hasPermission(mTargetContext, Manifest.permission.GET_ACCOUNTS));
         assumeTrue(!hasPermission(mTargetContext, Manifest.permission.READ_PHONE_STATE));
         assumeTrue(!hasPermission(mTargetContext, Manifest.permission.CALL_PHONE));
+        assumeTrue(!hasPermission(mTargetContext, Manifest.permission.READ_CALL_LOG));
 
         // remove state that might exist outside of the app
         // (e.g. launcher shortcuts and scheduled jobs)
@@ -72,14 +73,20 @@
 
         device.waitForIdle();
 
-        device.wait(Until.hasObject(By.textStartsWith("Allow Contacts")), TIMEOUT);
+        final PackageManager packageManager = mTargetContext.getPackageManager();
+        if (packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
+            device.wait(Until.hasObject(By.textEndsWith("your phone call logs?")), TIMEOUT);
+            final UiObject2 grantCallLogPermissionButton = device.findObject(By.text("ALLOW"));
+            grantCallLogPermissionButton.click();
+        }
+
+        device.wait(Until.hasObject(By.textEndsWith("access your contacts?")), TIMEOUT);
         final UiObject2 grantContactsPermissionButton = device.findObject(By.text("ALLOW"));
 
         grantContactsPermissionButton.click();
 
         device.wait(Until.hasObject(By.textEndsWith("make and manage phone calls?")), TIMEOUT);
 
-        final PackageManager packageManager = mTargetContext.getPackageManager();
         if (!packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
             device.waitForIdle();
             return;
diff --git a/tests/src/com/android/contacts/activities/SimImportActivityTest.java b/tests/src/com/android/contacts/activities/SimImportActivityTest.java
index 250ce4b..9e2f73b 100644
--- a/tests/src/com/android/contacts/activities/SimImportActivityTest.java
+++ b/tests/src/com/android/contacts/activities/SimImportActivityTest.java
@@ -42,9 +42,6 @@
 import android.provider.ContactsContract.Data;
 import android.provider.SimPhonebookContract;
 import android.provider.SimPhonebookContract.SimRecords;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.Until;
 import android.telephony.TelephonyManager;
 import android.test.mock.MockContentResolver;
 
@@ -53,6 +50,9 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.LargeTest;
 import androidx.test.filters.SdkSuppress;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.Until;
 
 import com.android.contacts.SimImportService;
 import com.android.contacts.database.SimContactDao;
