diff --git a/java/com/android/contacts/common/res/values/strings.xml b/java/com/android/contacts/common/res/values/strings.xml
index f83f16b..df8d70f 100644
--- a/java/com/android/contacts/common/res/values/strings.xml
+++ b/java/com/android/contacts/common/res/values/strings.xml
@@ -18,8 +18,6 @@
 
   <!-- Toast shown when text is copied to the clipboard [CHAR LIMIT=64] -->
   <string name="toast_text_copied">Text copied</string>
-  <!-- Option displayed in context menu to copy long pressed item to clipboard [CHAR LIMIT=64] -->
-  <string name="copy_text">Copy to clipboard</string>
 
   <!-- Action string for calling a custom phone number -->
     <string name="call_custom">Call
@@ -67,8 +65,6 @@
     </string>
   <!-- Action string for calling a MMS phone number -->
   <string name="call_mms">Call MMS</string>
-  <!-- Action string for calling a contact by shortcut -->
-  <string name="call_by_shortcut"><xliff:g id="contact_name">%s</xliff:g> (Call)</string>
 
   <!-- Action string for sending an SMS to a custom phone number -->
     <string name="sms_custom">Text
@@ -116,8 +112,6 @@
     </string>
   <!-- Action string for sending an SMS to a MMS phone number -->
   <string name="sms_mms">Text MMS</string>
-  <!-- Action string for sending an SMS to a contact by shortcut -->
-  <string name="sms_by_shortcut"><xliff:g id="contact_name">%s</xliff:g> (Message)</string>
 
   <!-- Title of the confirmation dialog for clearing frequents. [CHAR LIMIT=37] -->
   <string name="clearFrequentsConfirmation_title">Clear frequently contacted?</string>
@@ -165,32 +159,9 @@
        This may be programatically capitalized. [CHAR LIMIT=20] -->
   <string msgid="9154761216179882405" name="user_profile_contacts_list_header">Me</string>
 
-  <!-- Title shown in the search result activity of contacts app while searching.  [CHAR LIMIT=20]
-       (also in contacts) -->
-  <string name="search_results_searching">Searching\u2026</string>
-
-  <!-- Displayed at the top of search results indicating that more contacts were found than shown [CHAR LIMIT=64] -->
-  <string name="foundTooManyContacts">More than <xliff:g id="count">%d</xliff:g> found.</string>
-
-  <!-- Displayed at the top of the contacts showing the zero total number of contacts found when "Only contacts with phones" not selected. [CHAR LIMIT=30]
-       (also in contacts) -->
-  <string name="listFoundAllContactsZero">No contacts</string>
-
-  <!-- Displayed at the top of the contacts showing the total number of contacts found when typing search query -->
-  <plurals name="searchFoundContacts">
-    <item quantity="one">1 found</item>
-    <item quantity="other"><xliff:g id="count">%d</xliff:g> found</item>
-  </plurals>
-
   <!-- Shown as the display name for a person when the name is missing or unknown. [CHAR LIMIT=18]-->
   <string name="missing_name">(No name)</string>
 
-  <!-- The text displayed on the divider for the Favorites tab in Phone app indicating that items below it are frequently called as opposed to starred contacts [CHAR LIMIT = 39] -->
-  <string name="favoritesFrequentCalled">Frequently called</string>
-
-  <!-- The text displayed on the divider for the Favorites tab in People app indicating that items below it are frequently contacted [CHAR LIMIT = 39] -->
-  <string name="favoritesFrequentContacted">Frequently contacted</string>
-
   <!-- String describing a contact picture that introduces users to the contact detail screen.
 
      Used by AccessibilityService to announce the purpose of the button.
@@ -314,10 +285,6 @@
 
   <!-- Field title for the street of a structured postal address of a contact -->
   <string name="postal_street">Street</string>
-  <!-- Field title for the PO box of a structured postal address of a contact -->
-  <string name="postal_pobox">PO box</string>
-  <!-- Field title for the neighborhood of a structured postal address of a contact -->
-  <string name="postal_neighborhood">Neighborhood</string>
   <!-- Field title for the city of a structured postal address of a contact -->
   <string name="postal_city">City</string>
   <!-- Field title for the region, or state, of a structured postal address of a contact -->
@@ -356,35 +323,9 @@
   <!-- Generic action string for starting an IM chat -->
   <string name="chat">Chat</string>
 
-  <!-- String describing the Contact Editor Minus button
-
-       Used by AccessibilityService to announce the purpose of the button.
-
-       [CHAR LIMIT=NONE]
-  -->
-  <string name="description_minus_button">delete</string>
-
-  <!-- Content description for the expand or collapse name fields button.
-       Clicking this button causes the name editor to toggle between showing
-       a single field where the entire name is edited at once, or multiple
-       fields corresponding to each part of the name (Name Prefix, First Name,
-       Middle Name, Last Name, Name Suffix).
-       [CHAR LIMIT=NONE] -->
-  <string name="expand_collapse_name_fields_description">Expand or collapse name fields</string>
-
-  <!-- Content description for the expand or collapse phonetic name fields button. [CHAR LIMIT=100] -->
-    <string name="expand_collapse_phonetic_name_fields_description">Expand or collapse phonetic
-        name fields</string>
-
   <!-- Contact list filter label indicating that the list is showing all available accounts [CHAR LIMIT=64] -->
   <string name="list_filter_all_accounts">All contacts</string>
 
-  <!-- Menu item to indicate you are done editing a contact and want to save the changes you've made -->
-  <string name="menu_done">Done</string>
-
-  <!-- Menu item to indicate you want to cancel the current editing process and NOT save the changes you've made [CHAR LIMIT=12] -->
-  <string name="menu_doNotSave">Cancel</string>
-
   <!-- Displayed at the top of the contacts showing the account filter selected  [CHAR LIMIT=64] -->
   <string name="listAllContactsInAccount">Contacts in <xliff:g example="abc@gmail.com" id="name">%s</xliff:g></string>
 
@@ -394,208 +335,6 @@
   <!-- Displayed at the top of the contacts showing single contact. [CHAR LIMIT=64] -->
   <string name="listSingleContact">Single contact</string>
 
-  <!-- Message asking user to select an account to save contacts imported from vcard or SIM card [CHAR LIMIT=64] -->
-  <string name="dialog_new_contact_account">Save imported contacts to:</string>
-
-  <!-- Action string for selecting SIM for importing contacts -->
-  <string name="import_from_sim">Import from SIM card</string>
-
-  <!-- Action string for selecting a SIM subscription for importing contacts -->
-  <string name="import_from_sim_summary">Import from SIM <xliff:g id="sim_name">^1</xliff:g> - <xliff:g id="sim_number">^2</xliff:g></string>
-
-  <!-- Action string for selecting a SIM subscription for importing contacts, without a phone number -->
-  <string name="import_from_sim_summary_no_number">Import from SIM <xliff:g id="sim_name">%1$s</xliff:g></string>
-
-  <!-- Action string for selecting a .vcf file to import contacts from [CHAR LIMIT=30] -->
-  <string name="import_from_vcf_file" product="default">Import from .vcf file</string>
-
-  <!-- Message shown in a Dialog confirming a user's cancel request toward existing vCard import.
-       The argument is file name for the vCard import the user wants to cancel.
-       [CHAR LIMIT=128] -->
-  <string name="cancel_import_confirmation_message">Cancel import of <xliff:g example="import.vcf" id="filename">%s</xliff:g>?</string>
-
-  <!-- Message shown in a Dialog confirming a user's cancel request toward existing vCard export.
-       The argument is file name for the vCard export the user wants to cancel.
-       [CHAR LIMIT=128] -->
-  <string name="cancel_export_confirmation_message">Cancel export of <xliff:g example="export.vcf" id="filename">%s</xliff:g>?</string>
-
-  <!-- Title shown in a Dialog telling users cancel vCard import/export operation is failed. [CHAR LIMIT=40] -->
-  <string name="cancel_vcard_import_or_export_failed">Couldn\'t cancel vCard import/export</string>
-
-  <!-- The failed reason which should not be shown but it may in some buggy condition. [CHAR LIMIT=40] -->
-  <string name="fail_reason_unknown">Unknown error.</string>
-
-  <!-- The failed reason shown when vCard importer/exporter could not open the file
-       specified by a user. The file name should be in the message. [CHAR LIMIT=NONE] -->
-  <string name="fail_reason_could_not_open_file">Couldn\'t open \"<xliff:g id="file_name">%s</xliff:g>\": <xliff:g id="exact_reason">%s</xliff:g>.</string>
-
-  <!-- The failed reason shown when contacts exporter fails to be initialized.
-       Some exact reason must follow this. [CHAR LIMIT=NONE]-->
-  <string name="fail_reason_could_not_initialize_exporter">Couldn\'t start the exporter: \"<xliff:g id="exact_reason">%s</xliff:g>\".</string>
-
-  <!-- The failed reason shown when there's no contact which is allowed to be exported.
-       Note that user may have contacts data but all of them are probably not allowed to be
-       exported because of security/permission reasons. [CHAR LIMIT=NONE] -->
-  <string name="fail_reason_no_exportable_contact">There is no exportable contact.</string>
-
-  <!-- The user doesn't have all permissions required to use the current screen. So
-       close the current screen and show the user this message. -->
-  <string name="missing_required_permission">You have disabled a required permission.</string>
-
-  <!-- The failed reason shown when some error happend during contacts export.
-       Some exact reason must follow this. [CHAR LIMIT=NONE] -->
-  <string name="fail_reason_error_occurred_during_export">An error occurred during export: \"<xliff:g id="exact_reason">%s</xliff:g>\".</string>
-
-  <!-- The failed reason shown when the given file name is too long for the system.
-       The length limit of each file is different in each Android device, so we don't need to
-       mention it here. [CHAR LIMIT=NONE] -->
-  <string name="fail_reason_too_long_filename">Required filename is too long (\"<xliff:g id="filename">%s</xliff:g>\").</string>
-
-  <!-- The failed reason shown when Contacts app (especially vCard importer/exporter)
-       emitted some I/O error. Exact reason will be appended by the system. [CHAR LIMIT=NONE] -->
-  <string name="fail_reason_io_error">I/O error</string>
-
-  <!-- Failure reason show when Contacts app (especially vCard importer) encountered
-       low memory problem and could not proceed its import procedure. [CHAR LIMIT=NONE] -->
-  <string name="fail_reason_low_memory_during_import">Not enough memory. The file may be too large.</string>
-
-  <!-- The failed reason shown when vCard parser was not able to be parsed by the current vCard
-       implementation. This might happen even when the input vCard is completely valid, though
-       we believe it is rather rare in the actual world. [CHAR LIMIT=NONE] -->
-  <string name="fail_reason_vcard_parse_error">Couldn\'t parse vCard for an unexpected reason.</string>
-
-  <!-- The failed reason shown when vCard importer doesn't support the format.
-       This may be shown when the vCard is corrupted [CHAR LIMIT=40] -->
-  <string name="fail_reason_not_supported">The format isn\'t supported.</string>
-
-  <!-- Fail reason shown when vCard importer failed to look over meta information stored in vCard file(s). -->
-  <string name="fail_reason_failed_to_collect_vcard_meta_info">Couldn\'t collect meta information of given vCard file(s).</string>
-
-  <!-- The failed reason shown when the import of some of vCard files failed during multiple vCard
-       files import. It includes the case where all files were failed to be imported. -->
-  <string name="fail_reason_failed_to_read_files">One or more files couldn\'t be imported (%s).</string>
-
-  <!-- The title shown when exporting vCard is successfuly finished [CHAR LIMIT=40] -->
-  <string name="exporting_vcard_finished_title">Finished exporting <xliff:g example="export.vcf" id="filename">%s</xliff:g>.</string>
-
-  <!-- The title shown when exporting vCard has finished successfully but the destination filename could not be resolved. [CHAR LIMIT=NONE] -->
-  <string name="exporting_vcard_finished_title_fallback">Finished exporting contacts.</string>
-
-  <!-- The toast message shown when exporting vCard has finished and vCards are ready to be shared [CHAR LIMIT=150]-->
-  <string name="exporting_vcard_finished_toast">Finished exporting contacts, click the notification to share contacts.</string>
-
-  <!-- The message on notification shown when exporting vCard has finished and vCards are ready to be shared [CHAR LIMIT=60]-->
-  <string name="touch_to_share_contacts">Tap to share contacts.</string>
-
-  <!-- The title shown when exporting vCard is canceled (probably by a user)
-       The argument is file name the user canceled importing.
-       [CHAR LIMIT=40] -->
-  <string name="exporting_vcard_canceled_title">Exporting <xliff:g example="export.vcf" id="filename">%s</xliff:g> canceled.</string>
-
-  <!-- Dialog title shown when the application is exporting contact data outside. [CHAR LIMIT=NONE] -->
-  <string name="exporting_contact_list_title">Exporting contact data</string>
-
-  <!-- Message shown when the application is exporting contact data outside -->
-  <string name="exporting_contact_list_message">Contact data is being exported.</string>
-
-  <!-- The error reason the vCard composer "may" emit when database is corrupted or
-       something is going wrong. Usually users should not see this text. [CHAR LIMIT=NONE] -->
-  <string name="composer_failed_to_get_database_infomation">Couldn\'t get database information.</string>
-
-  <!-- This error message shown when the user actually have no contact
-       (e.g. just after data-wiping), or, data providers of the contact list prohibits their
-       contacts from being exported to outside world via vcard exporter, etc. [CHAR LIMIT=NONE] -->
-  <string name="composer_has_no_exportable_contact">There are no exportable contacts. If you do have contacts on your device, some data providers may not allow the contacts to be exported from the device.</string>
-
-  <!-- The error reason the vCard composer may emit when vCard composer is not initialized
-       even when needed.
-       Users should not usually see this error message. [CHAR LIMIT=NONE] -->
-  <string name="composer_not_initialized">The vCard composer didn\'t start properly.</string>
-
-  <!-- Dialog title shown when exporting Contact data failed. [CHAR LIMIT=20] -->
-  <string name="exporting_contact_failed_title">Couldn\'t export</string>
-
-  <!-- Dialog message shown when exporting Contact data failed. [CHAR LIMIT=NONE] -->
-  <string name="exporting_contact_failed_message">The contact data wasn\'t exported.\nReason: \"<xliff:g id="fail_reason">%s</xliff:g>\"</string>
-
-  <!-- Description shown when importing vCard data.
-       The argument is the name of a contact which is being read.
-       [CHAR LIMIT=20] -->
-  <string name="importing_vcard_description">Importing <xliff:g example="Joe Due" id="name">%s</xliff:g></string>
-
-  <!-- Dialog title shown when reading vCard data failed [CHAR LIMIT=40] -->
-  <string name="reading_vcard_failed_title">Couldn\'t read vCard data</string>
-
-  <!-- The title shown when reading vCard is canceled (probably by a user)
-       [CHAR LIMIT=40] -->
-  <string name="reading_vcard_canceled_title">Reading vCard data canceled</string>
-
-  <!-- The title shown when reading vCard finished
-       The argument is file name the user imported.
-       [CHAR LIMIT=40] -->
-  <string name="importing_vcard_finished_title">Finished importing vCard <xliff:g example="import.vcf" id="filename">%s</xliff:g></string>
-
-  <!-- The title shown when importing vCard is canceled (probably by a user)
-       The argument is file name the user canceled importing.
-       [CHAR LIMIT=40] -->
-  <string name="importing_vcard_canceled_title">Importing <xliff:g example="import.vcf" id="filename">%s</xliff:g> canceled</string>
-
-  <!-- The message shown when vCard import request is accepted. The system may start that work soon, or do it later
-       when there are already other import/export requests.
-       The argument is file name the user imported.
-       [CHAR LIMIT=40] -->
-  <string name="vcard_import_will_start_message"><xliff:g example="import.vcf" id="filename">%s</xliff:g> will be imported shortly.</string>
-  <!-- The message shown when vCard import request is accepted. The system may start that work soon, or do it later when there are already other import/export requests.
-       "The file" is what a user selected for importing.
-       [CHAR LIMIT=40] -->
-  <string name="vcard_import_will_start_message_with_default_name">The file will be imported shortly.</string>
-  <!-- The message shown when a given vCard import request is rejected by the system. [CHAR LIMIT=NONE] -->
-  <string name="vcard_import_request_rejected_message">vCard import request was rejected. Try again later.</string>
-  <!-- The message shown when vCard export request is accepted. The system may start that work soon, or do it later
-       when there are already other import/export requests.
-       The argument is file name the user exported.
-       [CHAR LIMIT=40] -->
-  <string name="vcard_export_will_start_message"><xliff:g example="import.vcf" id="filename">%s</xliff:g> will be exported shortly.</string>
-
-  <!-- The message shown when a vCard export request is accepted but the destination filename could not be resolved. [CHAR LIMIT=NONE] -->
-  <string name="vcard_export_will_start_message_fallback">The file will be exported shortly.</string>
-
-  <!-- The message shown when a vCard export request is accepted and contacts will be exported shortly. [CHAR LIMIT=70]-->
-  <string name="contacts_export_will_start_message">Contacts will be exported shortly.</string>
-
-  <!-- The message shown when a given vCard export request is rejected by the system. [CHAR LIMIT=NONE] -->
-  <string name="vcard_export_request_rejected_message">vCard export request was rejected. Try again later.</string>
-  <!-- Used when file name is unknown in vCard processing. It typically happens
-       when the file is given outside the Contacts app. [CHAR LIMIT=30] -->
-  <string name="vcard_unknown_filename">contact</string>
-
-  <!-- The message shown when vCard importer is caching files to be imported into local temporary
-       data storage. [CHAR LIMIT=NONE] -->
-  <string name="caching_vcard_message">Caching vCard(s) to local temporary storage. The actual import will start soon.</string>
-
-  <!-- Message used when vCard import has failed. [CHAR LIMIT=40] -->
-  <string name="vcard_import_failed">Couldn\'t import vCard.</string>
-
-  <!-- The "file name" displayed for vCards received directly via NFC [CHAR LIMIT=16] -->
-  <string name="nfc_vcard_file_name">Contact received over NFC</string>
-
-  <!-- Dialog title shown when a user confirms whether he/she export Contact data. [CHAR LIMIT=32] -->
-  <string name="confirm_export_title">Export contacts?</string>
-
-  <!-- The title shown when vCard importer is caching files to be imported into local temporary
-       data storage.  [CHAR LIMIT=40] -->
-  <string name="caching_vcard_title">Caching</string>
-
-  <!-- The message shown while importing vCard(s).
-       First argument is current index of contacts to be imported.
-       Second argument is the total number of contacts.
-       Third argument is the name of a contact which is being read.
-       [CHAR LIMIT=20] -->
-  <string name="progress_notifier_message">Importing <xliff:g id="current_number">%s</xliff:g>/<xliff:g id="total_number">%s</xliff:g>: <xliff:g example="Joe Due" id="name">%s</xliff:g></string>
-
-  <!-- Action that exports all contacts to a user selected destination. [CHAR LIMIT=25] -->
-  <string name="export_to_vcf_file" product="default">Export to .vcf file</string>
-
   <!-- Contact preferences related strings -->
 
   <!-- Label of the "sort by" display option -->
@@ -616,95 +355,9 @@
   <!-- An allowable value for the "view names as" contact display option  -->
   <string name="display_options_view_family_name_first">Last name first</string>
 
-  <!--Label of the "default account" setting option to set default editor account. [CHAR LIMIT=80]-->
-  <string name="default_editor_account">Default account for new contacts</string>
-
-  <!--Label of the "Sync contact metadata" setting dialog to set sync account for Lychee. [CHAR LIMIT=80]-->
-  <string name="sync_contact_metadata_dialog_title">Sync contact metadata</string>
-
-  <!-- Label of the "About" setting -->
-  <string name="setting_about">About Contacts</string>
-
-  <!-- Title of the settings activity [CHAR LIMIT=64] -->
-  <string name="activity_title_settings">Settings</string>
-
-  <!-- Action that shares visible contacts -->
-  <string name="share_visible_contacts">Share visible contacts</string>
-
-  <!-- A framework exception (ie, transaction too large) can be thrown while attempting to share all visible contacts. If so, show this toast. -->
-  <string name="share_visible_contacts_failure">Failed to share visible contacts.</string>
-
-  <!-- Action that shares favorite contacts [CHAR LIMIT=40]-->
-  <string name="share_favorite_contacts">Share favorite contacts</string>
-
-  <!-- Action that shares contacts [CHAR LIMIT=30]-->
-  <string name="share_contacts">Share all contacts</string>
-
-  <!-- A framework exception can be thrown while attempting to share all contacts. If so, show this toast. [CHAR LIMIT=40]-->
-  <string name="share_contacts_failure">Failed to share contacts.</string>
-
-  <!-- Dialog title when selecting the bulk operation to perform from a list. [CHAR LIMIT=36] -->
-  <string name="dialog_import_export">Import/export contacts</string>
-
-  <!-- Dialog title when importing contacts from an external source. [CHAR LIMIT=36] -->
-  <string name="dialog_import">Import contacts</string>
-
-  <!-- Toast indicating that sharing a contact has failed. [CHAR LIMIT=NONE]  -->
-  <string name="share_error">This contact can\'t be shared.</string>
-
-  <!-- Toast indicating that no visible contact to share [CHAR LIMIT=NONE]  -->
-  <string name="no_contact_to_share">There are no contacts to share.</string>
-
-  <!-- Menu item to search contacts -->
-  <string name="menu_search">Search</string>
-
-  <!-- Query hint displayed inside the search field [CHAR LIMIT=64] -->
-  <string name="hint_findContacts">Find contacts</string>
-
-  <!-- The description text for the favorites tab.
-
-       Note: AccessibilityServices use this attribute to announce what the view represents.
-       This is especially valuable for views without textual representation like ImageView.
-
-       [CHAR LIMIT=NONE] -->
-  <string name="contactsFavoritesLabel">Favorites</string>
-
-  <!-- Displayed at the top of the contacts showing the zero total number of contacts visible when "All contacts" is selected  [CHAR LIMIT=64]-->
-  <string name="listTotalAllContactsZero">No contacts.</string>
-
-  <!-- Displayed at the top of the contacts showing the zero total number of contacts visible when "Custom" is selected  [CHAR LIMIT=64]-->
-  <string name="listTotalAllContactsZeroCustom">No visible contacts.</string>
-
-  <!-- Displayed at the top of the contacts showing the zero total number of contacts visible when starred contact list is selected  [CHAR LIMIT=64]-->
-  <string name="listTotalAllContactsZeroStarred">No favorites</string>
-
-  <!-- Displayed at the top of the contacts showing the zero total number of contacts visible when a group or account is selected  [CHAR LIMIT=64]-->
-  <string name="listTotalAllContactsZeroGroup">No contacts in <xliff:g example="Friends" id="name">%s</xliff:g></string>
-
   <!--  The menu item to clear frequents [CHAR LIMIT=30] -->
   <string name="menu_clear_frequents">Clear frequents</string>
 
-  <!-- Menu item to select SIM card -->
-  <string name="menu_select_sim">Select SIM card</string>
-
-  <!-- The menu item to open the list of accounts. [CHAR LIMIT=60]-->
-  <string name="menu_accounts">Manage accounts</string>
-
-  <!-- The menu item to bulk import or bulk export contacts from SIM card or SD card.  [CHAR LIMIT=30]-->
-  <string name="menu_import_export">Import/export</string>
-
-  <!-- The font-family to use for tab text. -->
-  <string name="tab_font_family" translatable="false">sans-serif</string>
-
-  <!-- Attribution of a contact status update, when the time of update is unknown -->
-  <string name="contact_status_update_attribution">via <xliff:g example="Google Talk" id="source">%1$s</xliff:g></string>
-
-  <!-- Attribution of a contact status update, when the time of update is known -->
-  <string name="contact_status_update_attribution_with_date"><xliff:g example="3 hours ago" id="date">%1$s</xliff:g> via <xliff:g example="Google Talk" id="source">%2$s</xliff:g></string>
-
-  <!-- Font family used when drawing letters for letter tile avatars. -->
-  <string name="letter_tile_letter_font_family" translatable="false">sans-serif-medium</string>
-
   <!-- Content description for the fake action menu up button as used
    inside search. [CHAR LIMIT=NONE] -->
   <string name="action_menu_back_from_search">stop searching</string>
@@ -715,10 +368,6 @@
   <!-- The font-family to use for the text inside the searchbox. -->
   <string name="search_font_family" translatable="false">sans-serif</string>
 
-  <!-- The title of the preference section that allows users to configure how they want their
-       contacts to be displayed. [CHAR LIMIT=128] -->
-  <string name="settings_contact_display_options_title">Contact display options</string>
-
   <!-- Title for Select Account Dialog [CHAR LIMIT=30] -->
   <string name="select_account_dialog_title">Account</string>
 
@@ -764,27 +413,6 @@
         </item>
   </plurals>
 
-  <!-- Build version title in About preference. [CHAR LIMIT=40]-->
-  <string name="about_build_version">Build version</string>
-
-  <!-- Open source licenses title in About preference. [CHAR LIMIT=60] -->
-  <string name="about_open_source_licenses">Open source licenses</string>
-
-  <!-- Open source licenses summary in About preference. [CHAR LIMIT=NONE] -->
-  <string name="about_open_source_licenses_summary">License details for open source software</string>
-
-  <!-- Privacy policy title in About preference. [CHAR LIMIT=40]-->
-  <string name="about_privacy_policy">Privacy policy</string>
-
-  <!-- Terms of service title in about preference. [CHAR LIMIT=60]-->
-  <string name="about_terms_of_service">Terms of service</string>
-
-  <!-- Title for the activity that displays licenses for open source libraries. [CHAR LIMIT=100]-->
-  <string name="activity_title_licenses">Open source licenses</string>
-
-  <!-- Toast message showing when failed to open the url. [CHAR LIMIT=100]-->
-  <string name="url_open_error_toast">Failed to open the url.</string>
-
   <!-- Description string for an action button to initiate a video call from search results.
        Note: AccessibilityServices use this attribute to announce what the view represents.
        This is especially valuable for views without textual representation like ImageView.
diff --git a/java/com/android/dialer/app/res/values/strings.xml b/java/com/android/dialer/app/res/values/strings.xml
index 4a7c68f..368e062 100644
--- a/java/com/android/dialer/app/res/values/strings.xml
+++ b/java/com/android/dialer/app/res/values/strings.xml
@@ -16,21 +16,14 @@
   -->
 
 
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
 
   <!-- Application name used in Settings/Apps. Default label for activities
        that don't specify a label. -->
-  <string name="applicationLabel">Phone</string>
+  <string name="applicationLabel" tools:ignore="UnusedResources">Phone</string>
 
   <!-- Title for the activity that dials the phone, when launched directly into the dialpad -->
   <string name="launcherDialpadActivityLabel">Phone Keypad</string>
-  <!-- The description text for the dialer tab.
-
-  Note: AccessibilityServices use this attribute to announce what the view represents.
-  This is especially valuable for views without textual representation like ImageView.
-
-  [CHAR LIMIT=NONE] -->
-  <string name="dialerIconLabel">Phone</string>
 
   <!-- The description text for the call log tab.
 
@@ -38,10 +31,7 @@
   This is especially valuable for views without textual representation like ImageView.
 
   [CHAR LIMIT=NONE] -->
-  <string name="callHistoryIconLabel">Call history</string>
-
-  <!-- Text for a menu item to report a call as having been incorrectly identified. [CHAR LIMIT=48] -->
-  <string name="action_report_number">Report inaccurate number</string>
+  <string name="callHistoryIconLabel" tools:ignore="UnusedResources">Call history</string>
 
   <!-- Option displayed in context menu to copy long pressed phone number. [CHAR LIMIT=48] -->
   <string name="action_copy_number_text">Copy number</string>
@@ -49,12 +39,6 @@
   <!-- Option displayed in context menu to copy long pressed voicemail transcription. [CHAR LIMIT=48] -->
   <string name="copy_transcript_text">Copy transcription</string>
 
-  <!-- Label for action to block a number. [CHAR LIMIT=48] -->
-  <string name="action_block_number">Block number</string>
-
-  <!-- Label for action to unblock a number [CHAR LIMIT=48]-->
-  <string name="action_unblock_number">Unblock number</string>
-
   <!-- Label for action to edit a number before calling it. [CHAR LIMIT=48] -->
   <string name="action_edit_number_before_call">Edit number before call</string>
 
@@ -79,10 +63,6 @@
   <!-- Title of the "Clearing call log" progress-dialog [CHAR LIMIT=35] -->
   <string name="clearCallLogProgress_title">Clearing call history\u2026</string>
 
-  <!-- Title used for the activity for placing a call. This name appears
-       in activity disambig dialogs -->
-  <string name="userCallActivityLabel" product="default">Phone</string>
-
   <!-- Notification strings -->
   <!-- Missed call notification label, used when there's exactly one missed call -->
   <string name="notification_missedCallTitle">Missed call</string>
@@ -120,9 +100,6 @@
         </item>
   </plurals>
 
-  <!-- Used in the notification of a new voicemail for the action to play the voicemail. -->
-  <string name="notification_action_voicemail_play">Play</string>
-
   <!-- Used to build a list of names or phone numbers, to indicate the callers who left
        voicemails.
        The first argument may be one or more callers, the most recent ones.
@@ -146,48 +123,14 @@
   <!-- Message to display whilst we are waiting for the content to be fetched. [CHAR LIMIT=40] -->
   <string name="voicemail_fetching_content">Loading voicemail\u2026</string>
 
-  <!-- Message to display whilst we are waiting for the content to be archived. [CHAR LIMIT=40] -->
-  <string name="voicemail_archiving_content">Archiving voicemail\u2026</string>
-
   <!-- Message to display if we fail to get content within a suitable time period. [CHAR LIMIT=40] -->
   <string name="voicemail_fetching_timout">Couldn\'t load voicemail</string>
 
-  <!-- The header to show that call log is only showing voicemail calls. [CHAR LIMIT=40] -->
-  <string name="call_log_voicemail_header">Calls with voicemail only</string>
-
-  <!-- The header to show that call log is only showing incoming calls. [CHAR LIMIT=40] -->
-  <string name="call_log_incoming_header">Incoming calls only</string>
-
-  <!-- The header to show that call log is only showing outgoing calls. [CHAR LIMIT=40] -->
-  <string name="call_log_outgoing_header">Outgoing calls only</string>
-
-  <!-- The header to show that call log is only showing missed calls. [CHAR LIMIT=40] -->
-  <string name="call_log_missed_header">Missed calls only</string>
-
   <!-- The counter for calls in a group and the date of the latest call as shown in the call log [CHAR LIMIT=15] -->
   <string name="call_log_item_count_and_date">(<xliff:g id="count">%1$d</xliff:g>)
         <xliff:g id="date">%2$s</xliff:g>
     </string>
 
-  <!-- String describing the Search ImageButton
-
-       Used by AccessibilityService to announce the purpose of the button.
-       [CHAR LIMIT=NONE]
-  -->
-  <string name="description_search_button">search</string>
-
-  <!-- String describing the digits text box containing the number to dial.
-
-       Used by AccessibilityService to announce the purpose of the view.
-  -->
-  <string name="description_digits_edittext">number to dial</string>
-
-  <!-- String describing the button in the voicemail playback to start/stop playback.
-
-       Used by AccessibilityService to announce the purpose of the view.
-  -->
-  <string name="description_playback_start_stop">Play or stop playback</string>
-
   <!-- String describing the button in the voicemail playback to switch on/off speakerphone.
 
        Used by AccessibilityService to announce the purpose of the view.
@@ -200,18 +143,6 @@
   -->
   <string name="description_playback_seek">Seek playback position</string>
 
-  <!-- String describing the button in the voicemail playback to decrease playback rate.
-
-       Used by AccessibilityService to announce the purpose of the view.
-  -->
-  <string name="description_rate_decrease">Decrease playback rate</string>
-
-  <!-- String describing the button in the voicemail playback to increase playback rate.
-
-       Used by AccessibilityService to announce the purpose of the view.
-  -->
-  <string name="description_rate_increase">Increase playback rate</string>
-
   <!-- Content description for the fake action menu button that brings up the call history
        activity -->
   <string name="action_menu_call_history_description">Call history</string>
@@ -226,21 +157,6 @@
        [CHAR LIMIT=NONE] -->
   <string name="action_menu_dialpad_button">key pad</string>
 
-  <!-- Menu item used to show only outgoing in the call log. [CHAR LIMIT=30] -->
-  <string name="menu_show_outgoing_only">Show outgoing only</string>
-
-  <!-- Menu item used to show only incoming in the call log. [CHAR LIMIT=30] -->
-  <string name="menu_show_incoming_only">Show incoming only</string>
-
-  <!-- Menu item used to show only missed in the call log. [CHAR LIMIT=30] -->
-  <string name="menu_show_missed_only">Show missed only</string>
-
-  <!-- Menu item used to show only voicemails in the call log. [CHAR LIMIT=30] -->
-  <string name="menu_show_voicemails_only">Show voicemails only</string>
-
-  <!-- Menu item used to show all calls in the call log. [CHAR LIMIT=30] -->
-  <string name="menu_show_all_calls">Show all calls</string>
-
   <!-- Label for the dialer app setting page [CHAR LIMIT=30]-->
   <string name="dialer_settings_label">Settings</string>
 
@@ -251,12 +167,6 @@
   <!-- Label for the menu item that installs a shortcut for the new UI. [CHAR LIMIT=30] -->
   <string name="new_ui_launcher_shortcut_label">Create New UI Shortcut</string>
 
-  <!-- Menu item to display all contacts [CHAR LIMIT=30] -->
-  <string name="menu_allContacts">All contacts</string>
-
-  <!-- Description for incoming calls going to voice mail vs. not -->
-  <string name="actionIncomingCall">Incoming calls</string>
-
   <!-- String describing the user entering bulk action mode.
 
     Note: AccessibilityServices use this attribute to announce what the view represents.
@@ -285,27 +195,6 @@
   -->
   <string name="description_unselecting_bulk_action_mode">Unselected <xliff:g id="nameOrNumber">%1$s</xliff:g></string>
 
-  <!-- String describing the icon in the call log used to play a voicemail.
-
-      Note: AccessibilityServices use this attribute to announce what the view represents.
-            This is especially valuable for views without textual representation like ImageView.
-  -->
-  <string name="description_call_log_play_button">Play voicemail</string>
-
-  <!-- String describing the button to view the contact for the current number.
-
-      Note: AccessibilityServices use this attribute to announce what the view represents.
-            This is especially valuable for views without textual representation like ImageView.
-  -->
-  <string name="description_view_contact">View contact <xliff:g id="name">%1$s</xliff:g></string>
-
-  <!-- String describing the button to call a number or contact.
-
-      Note: AccessibilityServices use this attribute to announce what the view represents.
-            This is especially valuable for views without textual representation like ImageView.
-  -->
-  <string name="description_call">Call <xliff:g id="name">%1$s</xliff:g></string>
-
   <!-- String describing the button to access the contact details for a name or number.
 
       Note: AccessibilityServices use this attribute to announce what the view represents.
@@ -336,35 +225,12 @@
   -->
   <string name="description_video_call">Video call.</string>
 
-  <!-- String describing the button to SMS a number or contact.
-
-      Note: AccessibilityServices use this attribute to announce what the view represents.
-            This is especially valuable for views without textual representation like ImageView.
-            [CHAR LIMIT=NONE]
-  -->
-  <string name="description_send_text_message">Send SMS to <xliff:g id="name">%1$s</xliff:g></string>
-
-  <!-- String describing the icon in the call log used to represent an unheard voicemail left to
-       the user.
-
-      Note: AccessibilityServices use this attribute to announce what the view represents.
-            This is especially valuable for views without textual representation like ImageView.
-            [CHAR LIMIT=NONE]
-  -->
-  <string name="description_call_log_unheard_voicemail">Unheard voicemail</string>
-
   <!-- String describing the icon used to start a voice search -->
   <string name="description_start_voice_search">Start voice search</string>
 
   <!-- String used for displaying calls to the voicemail number in the call log -->
   <string name="voicemail">Voicemail</string>
 
-  <!-- A nicely formatted call duration displayed when viewing call details for duration less than 1 minute. For example "28 sec" -->
-  <string name="callDetailsShortDurationFormat"><xliff:g example="28" id="seconds">%s</xliff:g> sec</string>
-
-  <!-- A nicely formatted call duration displayed when viewing call details. For example "42 min 28 sec" -->
-  <string name="callDetailsDurationFormat"><xliff:g example="42" id="minutes">%s</xliff:g> min <xliff:g example="28" id="seconds">%s</xliff:g> sec</string>
-
   <!-- String describing the cancel button in multi select.
        Note: AccessibilityServices uses this attribute to announce what the view represents.
        [CHAR LIMIT=NONE] -->
@@ -372,7 +238,6 @@
 
   <string name="voicemailMultiSelectDeleteConfirm">Delete</string>
   <string name="voicemailMultiSelectDeleteCancel">Cancel</string>
-  <string name="voicemailMultiSelectDialogTitle">Delete selected <xliff:g id="voicemailorvoicemails">%1$s</xliff:g>?</string>
 
   <string name="voicemailMultiSelectActionBarTitle"><xliff:g id="number">%1$s</xliff:g> selected</string>
 
@@ -397,16 +262,9 @@
   <!-- A format string used for displaying the date, time and duration for a voicemail call log. For example: Jul 25, 2014 at 2:49 PM • 00:34 -->
   <string name="voicemailCallLogDateTimeFormatWithDuration"><xliff:g example="Jul 25, 2014 at 2:49PM" id="dateAndTime">%1$s</xliff:g> \u2022 <xliff:g example="01:22" id="duration">%2$s</xliff:g></string>
 
-  <!-- Message that appears in the favorites tab of the Phone app when the contact list has not fully loaded yet (below the favorite and frequent contacts) [CHAR LIMIT=20] -->
-  <string name="contact_list_loading">Loading\u2026</string>
-
   <!-- Message displayed when there is no application available to handle voice search. [CHAR LIMIT=NONE] -->
   <string name="voice_search_not_available">Voice search not available</string>
 
-  <!-- Message displayed when the Phone application has been disabled and a phone call cannot
-       be made. [CHAR LIMIT=NONE] -->
-  <string name="call_not_available">Cannot make a phone call because the Phone application has been disabled.</string>
-
   <!-- Hint displayed in dialer search box when there is no query that is currently typed.
        [CHAR LIMIT=30] -->
   <string name="dialer_hint_find_contact">Search contacts</string>
@@ -415,12 +273,6 @@
        [CHAR LIMIT=45] -->
   <string name="block_number_search_hint">Add number or search contacts</string>
 
-  <!-- String resource for the font-family to use for the call log activity's title -->
-  <string name="call_log_activity_title_font_family" translatable="false">sans-serif-light</string>
-
-  <!-- String resource for the font-family to use for the full call history footer -->
-  <string name="view_full_call_history_font_family" translatable="false">sans-serif</string>
-
   <!-- Text displayed when the call log is empty. -->
   <string name="call_log_all_empty">Your call history is empty</string>
 
@@ -433,11 +285,8 @@
   <!-- Text displayed when the list of voicemails is empty -->
   <string name="call_log_voicemail_empty">Your voicemail inbox is empty.</string>
 
-  <!--  Menu option to show favorite contacts only -->
-  <string name="show_favorites_only">Show favorites only</string>
-
   <!--  Title of activity that displays a list of all calls -->
-  <string name="call_log_activity_title">Call History</string>
+  <string name="call_log_activity_title" tools:ignore="UnusedResources">Call History</string>
 
   <!-- Title for the call log tab containing the list of all voicemails and calls
        [CHAR LIMIT=30] -->
@@ -447,10 +296,6 @@
        [CHAR LIMIT=30] -->
   <string name="call_log_missed_title">Missed</string>
 
-  <!-- Title for the call log tab containing the list of all voicemail calls only
-       [CHAR LIMIT=30] -->
-  <string name="call_log_voicemail_title">Voicemail</string>
-
   <!-- Accessibility text for the tab showing recent and favorite contacts who can be called.
        [CHAR LIMIT=40] -->
   <string name="tab_speed_dial">Speed dial</string>
@@ -464,11 +309,6 @@
   <!-- Accessibility text for the tab showing the user's voicemails. [CHAR LIMIT=40] -->
   <string name="tab_voicemail">Voicemail</string>
 
-  <!--  Text displayed when user swipes out a favorite contact -->
-  <string name="favorite_hidden">Removed from favorites</string>
-  <!--  Text displayed for the undo button to undo removing a favorite contact -->
-  <string name="favorite_hidden_undo">Undo</string>
-
   <!-- Shortcut item used to call a number directly from search -->
   <string name="search_shortcut_call_number">Call
         <xliff:g id="number">%s</xliff:g>
@@ -491,21 +331,12 @@
   <!-- Shortcut item used to block a number directly from search. [CHAR LIMIT=25] -->
   <string name="search_shortcut_block_number">Block number</string>
 
-  <!-- Number of missed calls shown on call card [CHAR LIMIT=40] -->
-  <string name="num_missed_calls"><xliff:g id="number">%s</xliff:g> new missed calls</string>
-
   <!-- Shown when there are no speed dial favorites. -->
   <string name="speed_dial_empty">No one is on your speed dial yet</string>
 
   <!-- Shown as an action when there are no speed dial favorites -->
   <string name="speed_dial_empty_add_favorite_action">Add a favorite</string>
 
-  <!-- Shows up as a tooltip to provide a hint to the user that the profile pic in a contact
-       card can be tapped to bring up a list of all numbers, or long pressed to start reordering
-       [CHAR LIMIT=NONE]
-  -->
-  <string name="contact_tooltip">Touch image to see all numbers or touch &amp; hold to reorder</string>
-
   <!-- Remove button that shows up when contact is long-pressed. [CHAR LIMIT=NONE] -->
   <string name="remove_contact">Remove</string>
 
@@ -596,36 +427,6 @@
         Listen to voicemail from <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
     </string>
 
-  <!-- String describing the "play voicemail" action for an entry in the call log.
-       Note: AccessibilityServices uses this attribute to announce the purpose of the button.
-       [CHAR LIMIT=NONE] -->
-  <string name="description_voicemail_play">
-        Play voicemail from <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
-    </string>
-
-  <!-- String describing the "pause voicemail" action for an entry in the call log.
-       Note: AccessibilityServices uses this attribute to announce the purpose of the button.
-       [CHAR LIMIT=NONE] -->
-  <string name="description_voicemail_pause">
-        Pause voicemail from <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
-    </string>
-
-
-  <!-- String describing the "delete voicemail" action for an entry in the call log.
-       Note: AccessibilityServices uses this attribute to announce the purpose of the button.
-       [CHAR LIMIT=NONE] -->
-  <string name="description_voicemail_delete">
-        Delete voicemail from <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
-    </string>
-
-  <!-- String describing the number of new voicemails, displayed as a number badge on a tab.
-       Note: AccessibilityServices uses this attribute to announce the purpose of the button.
-       [CHAR LIMIT=NONE] -->
-  <plurals name="description_voicemail_unread">
-    <item quantity="one"><xliff:g id="count">%d</xliff:g> new voicemail</item>
-    <item quantity="other"><xliff:g id="count">%d</xliff:g> new voicemails</item>
-  </plurals>
-
   <!-- Description for the "create new contact" action for an entry in the call log. This action
        opens a screen for creating a new contact for this name or number. [CHAR LIMIT=NONE] -->
   <string name="description_create_new_contact_action">
@@ -647,10 +448,6 @@
         Call details for <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
     </string>
 
-  <!-- Toast message which appears when a call log entry is deleted.
-       [CHAR LIMIT=NONE] -->
-  <string name="toast_entry_removed">Deleted from call history</string>
-
   <!-- String used as a header in the call log above calls which occurred today.
        [CHAR LIMIT=65] -->
   <string name="call_log_header_today">Today</string>
@@ -663,11 +460,6 @@
        [CHAR LIMIT=65] -->
   <string name="call_log_header_other">Older</string>
 
-  <!-- String a header on the call details screen.  Appears above the list calls to or from a
-       particular number.
-       [CHAR LIMIT=65] -->
-  <string name="call_detail_list_header">Calls list</string>
-
   <!-- String describing the "speaker on" button on the playback control used to listen to a
        voicemail message.  When speaker is on, playback of the voicemail will occur through the
        phone speaker.
@@ -682,18 +474,6 @@
        [CHAR LIMIT=NONE] -->
   <string name="voicemail_speaker_off">Turn speaker off.</string>
 
-  <!-- String describing the "play faster" button in the playback control used to listen to a
-       voicemail message.  Speeds up playback of the voicemail message.
-       Note: AccessibilityServices uses this attribute to announce the purpose of the button.
-       [CHAR LIMIT=NONE] -->
-  <string name="voicemail_play_faster">Play faster.</string>
-
-  <!-- String describing the "play slower" button in the playback control used to listen to a
-       voicemail message.  Slows down playback of the voicemail message.
-       Note: AccessibilityServices uses this attribute to announce the purpose of the button.
-       [CHAR LIMIT=NONE] -->
-  <string name="voicemail_play_slower">Play slower.</string>
-
   <!-- String describing the "play/pause" button in the playback control used to listen to a
        voicemail message.  Starts playback or pauses ongoing playback.
        Note: AccessibilityServices uses this attribute to announce the purpose of the button.
@@ -747,9 +527,6 @@
   <!-- Label for the voicemail settings section [CHAR LIMIT=30] -->
   <string name="voicemail_settings_label">Voicemail</string>
 
-  <!-- Title for the preference screen to select which SIM to change voicemail settings for [CHAR LIMIT=30] -->
-  <string name="voicemail_settings_select_sim_title">Select SIM for voicemail settings</string>
-
   <!-- Label for a section describing that call blocking is temporarily disabled because an
        emergency call was made. [CHAR LIMIT=50] -->
   <string name="blocked_numbers_disabled_emergency_header_label">
@@ -824,18 +601,12 @@
   <!-- Internal key for DTMF tone length preference. -->
   <string name="dtmf_tone_length_preference_key" translatable="false">button_dtmf_settings</string>
 
-  <!--  The label of the button used to turn on multiple permissions [CHAR LIMIT=30]-->
-  <string name="permission_multiple_turn_on">Set permissions</string>
-
   <!-- Shown as a prompt to turn on the contacts permission to enable speed dial [CHAR LIMIT=NONE]-->
   <string name="permission_no_speeddial">To enable speed dial, turn on the Contacts permission.</string>
 
   <!-- Shown as a prompt to turn on the phone permission to enable the call log [CHAR LIMIT=NONE]-->
   <string name="permission_no_calllog">To see your call log, turn on the Phone permission.</string>
 
-  <!-- Shown as a prompt to turn on the phone permission to show voicemails [CHAR LIMIT=NONE]-->
-  <string name="permission_no_voicemail">To access your voicemail, turn on the Phone permission.</string>
-
   <!-- Shown as a prompt to turn on contacts permissions to allow contact search [CHAR LIMIT=NONE]-->
   <string name="permission_no_search">To search your contacts, turn on the Contacts permissions.</string>
 
diff --git a/java/com/android/dialer/app/voicemail/error/res/values/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values/strings.xml
index 80349e1..2f6a720 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values/strings.xml
@@ -15,8 +15,6 @@
   -->
 
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <string name="voicemail_error_turn_off_airplane_mode_title">Turn off airplane mode</string>
-
   <string name="voicemail_error_activating_title">Activating visual voicemail</string>
   <string name="voicemail_error_activating_message">You might not receive voicemail notifications until visual voicemail is fully activated. Call voicemail to retrieve new messages until voicemail is fully activated.</string>
 
@@ -63,8 +61,6 @@
   <string name="voicemail_error_pin_not_set_title">Set your voicemail PIN</string>
   <string name="voicemail_error_pin_not_set_message">You\'ll need a voicemail PIN anytime you call to access your voicemail.</string>
 
-  <string name="voicemail_error_unknown_title">Unknown error</string>
-
   <string name="voicemail_action_turn_off_airplane_mode">Airplane Mode Settings</string>
   <string name="voicemail_action_set_pin">Set PIN</string>
   <string name="voicemail_action_retry">Try Again</string>
diff --git a/java/com/android/dialer/callcomposer/res/values/strings.xml b/java/com/android/dialer/callcomposer/res/values/strings.xml
index c7dabfa..15480cb 100644
--- a/java/com/android/dialer/callcomposer/res/values/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values/strings.xml
@@ -31,8 +31,6 @@
   <string name="gallery_item_description">image <xliff:g id="date">%1$tB %1$te %1$tY %1$tl %1$tM %1$tp</xliff:g></string>
   <!-- Accessibility description for each image in the gallery when no date is present. -->
   <string name="gallery_item_description_no_date">image</string>
-  <!-- Content description of button to switch camera to picture more -->
-  <string name="camera_switch_to_still_mode">Take a photo</string>
   <!-- Error toast message shown when a camera image failed to attach to the message -->
   <string name="camera_media_failure">Couldn\'t load camera image</string>
   <!-- Text for a button to ask for device permissions -->
diff --git a/java/com/android/dialer/enrichedcall/simulator/res/values/strings.xml b/java/com/android/dialer/enrichedcall/simulator/res/values/strings.xml
index 5cc2527..06b0465 100644
--- a/java/com/android/dialer/enrichedcall/simulator/res/values/strings.xml
+++ b/java/com/android/dialer/enrichedcall/simulator/res/values/strings.xml
@@ -17,8 +17,5 @@
 <resources>
   <string name="enriched_call_simulator_activity" translatable="false">Enriched Call Simulator Activity</string>
 
-  <string name="important" translatable="false">important</string>
-  <string name="not_important" translatable="false">not important</string>
-
   <string name="refresh" translatable="false">refresh</string>
 </resources>
\ No newline at end of file
diff --git a/java/com/android/dialer/main/impl/res/values/strings.xml b/java/com/android/dialer/main/impl/res/values/strings.xml
index ba8a20b..d3eb6d7 100644
--- a/java/com/android/dialer/main/impl/res/values/strings.xml
+++ b/java/com/android/dialer/main/impl/res/values/strings.xml
@@ -14,16 +14,16 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
   <!-- Name of the main activity. -->
-  <string name="main_activity_label">Phone</string>
+  <string name="main_activity_label" tools:ignore="UnusedResources">Phone</string>
 
   <!-- Name of launcher shortcut for the new UI main activity.
        TODO(38502365): Remove this once we're ready to launch the new UI. -->
   <string name="nui_shortcut_name">Phone NUI</string>
 
   <!-- The description text for the call log tab. -->
-  <string name="main_call_history_tab_description">Call history</string>
+  <string name="main_call_history_tab_description" tools:ignore="UnusedResources">Call history</string>
 
   <!-- Text for a toolbar button that shows the user their contacts [CHAR LIMIT=NONE] -->
   <string name="search">@android:string/search_go</string>
diff --git a/java/com/android/dialer/shortcuts/res/values/strings.xml b/java/com/android/dialer/shortcuts/res/values/strings.xml
index 5f14a81..b3ff190 100644
--- a/java/com/android/dialer/shortcuts/res/values/strings.xml
+++ b/java/com/android/dialer/shortcuts/res/values/strings.xml
@@ -14,12 +14,12 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<resources>
+<resources xmlns:tools="http://schemas.android.com/tools">
   <!-- Text to display in launcher shortcut for adding a new contact. Short version. [CHAR LIMIT=10] -->
-  <string name="dialer_shortcut_add_contact_short">New contact</string>
+  <string name="dialer_shortcut_add_contact_short" tools:ignore="UnusedResources">New contact</string>
 
   <!-- Text to display in launcher shortcut for adding a new contact. Long version. [CHAR LIMIT=25] -->
-  <string name="dialer_shortcut_add_contact_long">New contact</string>
+  <string name="dialer_shortcut_add_contact_long" tools:ignore="UnusedResources">New contact</string>
 
   <!-- Message to display when the user taps a pinned launcher shortcut (on a
        homescreen) which has been disabled. A shortcut may be disabled if the
diff --git a/java/com/android/dialer/voicemailstatus/res/values/strings.xml b/java/com/android/dialer/voicemailstatus/res/values/strings.xml
deleted file mode 100644
index 495ddf2..0000000
--- a/java/com/android/dialer/voicemailstatus/res/values/strings.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<!--
-  ~ Copyright (C) 2012 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
-  -->
-
-<resources>
-
-  <!--  Voicemail status message shown at the top of call log to notify the user that no new
-  voicemails are currently available. This can happen when both notification as well as data
-  connection to the voicemail server is lost. [CHAR LIMIT=64] -->
-  <string name="voicemail_status_voicemail_not_available">Voicemail updates not available</string>
-  <!--  Voicemail status message shown at the top of call log to notify the user that there is no
-    data connection to the voicemail server, but there are new voicemails waiting on the server.
-    [CHAR LIMIT=64] -->
-  <string name="voicemail_status_messages_waiting">New voicemail waiting. Can\'t load right now.</string>
-  <!--  Voicemail status message shown at the top of call log to invite the user to configure
-  visual voicemail. [CHAR LIMIT=64] -->
-  <string name="voicemail_status_configure_voicemail">Set up your voicemail</string>
-  <!--  Voicemail status message shown at the top of call details screen to notify the user that
-  the audio of this voicemail is not available. [CHAR LIMIT=64] -->
-  <string name="voicemail_status_audio_not_available">Audio not available</string>
-
-  <!--  User action prompt shown next to a voicemail status message to let the user configure
-  visual voicemail. [CHAR LIMIT=20] -->
-  <string name="voicemail_status_action_configure">Set up</string>
-  <!--  User action prompt shown next to a voicemail status message to let the user call voicemail
-  server directly to listen to the voicemails. [CHAR LIMIT=20] -->
-  <string name="voicemail_status_action_call_server">Call voicemail</string>
-
-</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values/strings.xml b/java/com/android/incallui/answer/impl/res/values/strings.xml
index de5ee6e..2bc9ca0 100644
--- a/java/com/android/incallui/answer/impl/res/values/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values/strings.xml
@@ -21,8 +21,6 @@
   <string name="call_incoming_default_label_answer_and_release_third">Swipe up to answer and end call on hold</string>
   <string name="call_incoming_swipe_to_answer_and_release">Swipe from icon to answer and end ongoing call</string>
   <string name="call_incoming_message_custom">Write your own…</string>
-  <string name="call_incoming_audio_handset">Handset</string>
-  <string name="call_incoming_audio_speakerphone">Speakerphone</string>
   <!-- "Respond via SMS" option that lets you compose a custom response. [CHAR LIMIT=30] -->
   <string name="call_incoming_respond_via_sms_custom_message">Write your own…</string>
   <!-- "Custom Message" Cancel alert dialog button -->
diff --git a/java/com/android/incallui/res/values/strings.xml b/java/com/android/incallui/res/values/strings.xml
index 8d6940e..177f386 100644
--- a/java/com/android/incallui/res/values/strings.xml
+++ b/java/com/android/incallui/res/values/strings.xml
@@ -15,20 +15,12 @@
   ~ limitations under the License
   -->
 
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
 
   <!-- Official label of the phone app, as seen in "Manage Applications"
        and other settings UIs. -->
   <string name="phoneAppLabel" product="default">Phone</string>
 
-  <!-- Official label for the in-call UI. DO NOT TRANSLATE. -->
-  <string name="inCallLabel" translate="false">InCallUI</string>
-
-  <!-- In-call screen: status label for a conference call -->
-  <string name="confCall">Conference call</string>
-  <!-- In-call screen: call lost dialog text -->
-  <string name="call_lost">Call dropped</string>
-
   <!-- MMI dialog strings -->
   <!-- Dialog label when an MMI code starts running -->
 
@@ -37,41 +29,15 @@
        the "wait" character in a phone number to be dialed; this dialog asks the
        user if it's OK to send the numbers following the "wait". -->
   <string name="wait_prompt_str">Send the following tones?\n</string>
-  <!-- In-call screen: body text of the dialog that appears when we encounter
-       the "PAUSE" character in a phone number to be dialed; this dialog gives
-       informative message to the user to show the sending numbers following the "Pause". -->
-  <string name="pause_prompt_str">Sending tones\n</string>
-  <!-- In-call screen: button label on the "wait" prompt dialog -->
-  <string name="send_button">Send</string>
   <!-- In-call screen: button label on the "wait" prompt dialog in CDMA Mode-->
   <string name="pause_prompt_yes">Yes</string>
   <!-- In-call screen: button label on the "wait" prompt dialog in CDMA Mode-->
   <string name="pause_prompt_no">No</string>
-  <!-- In-call screen: on the "wild" character dialog, this is the label
-       for a text widget that lets the user enter the digits that should
-       replace the "wild" character. -->
-  <string name="wild_prompt_str">Replace wild character with</string>
-
-  <!-- In-call screen: status label for a conference call -->
-  <string name="caller_manage_header">Conference call <xliff:g id="conf_call_time">%s</xliff:g></string>
-
-  <!-- Used in FakePhoneActivity test code.  DO NOT TRANSLATE. -->
-  <string name="fake_phone_activity_phoneNumber_text" translatable="false">(650) 555-1234</string>
-  <!-- Used in FakePhoneActivity test code.  DO NOT TRANSLATE. -->
-  <string name="fake_phone_activity_infoText_text" translatable="false">Incoming phone number</string>
-  <!-- Used in FakePhoneActivity test code.  DO NOT TRANSLATE. -->
-  <string name="fake_phone_activity_placeCall_text" translatable="false">Fake Incoming Call</string>
-
-  <!-- Call settings screen, Set voicemail dialog title -->
-  <string name="voicemail_settings_number_label">Voicemail number</string>
 
   <!-- Notification strings -->
   <!-- The "label" of the in-call Notification for a dialing call, used
        as the format string for a Chronometer widget. [CHAR LIMIT=60] -->
   <string name="notification_dialing">Dialing</string>
-  <!-- Missed call notification message used for a single missed call, including
-       the caller-id info from the missed call -->
-  <string name="notification_missedCallTicker">Missed call from <xliff:g id="missed_call_from">%s</xliff:g></string>
   <!-- The "label" of the in-call Notification for an ongoing call. [CHAR LIMIT=60] -->
   <string name="notification_ongoing_call">Ongoing call</string>
   <!-- The "label" of the in-call Notification for an ongoing work call. [CHAR LIMIT=60] -->
@@ -137,11 +103,6 @@
   <string name="notification_incoming_spam_call">Incoming suspected spam call</string>
   <!-- The "label" of the in-call Notification for upgrading an existing call to a video call. -->
   <string name="notification_requesting_video_call">Incoming video request</string>
-  <!-- Label for the "No service" notification item, when expanded. -->
-  <string name="notification_network_selection_title">No service</string>
-  <!-- Label for the expanded "No service" notification item, including the
-       operator name set by user -->
-  <string name="notification_network_selection_text">Selected network (<xliff:g id="operator_name">%s</xliff:g>) unavailable</string>
   <!-- Label for the "Answer call" action. This is the displayed label for the action that answers
        an incoming call. [CHAR LIMIT=12] -->
   <string name="notification_action_answer">Answer</string>
@@ -153,9 +114,6 @@
   <!-- Label for "Video Call" notification action. This is a displayed on the notification for an
        incoming video call, and answers the call as a video call. [CHAR LIMIT=12] -->
   <string name="notification_action_answer_video">Video</string>
-  <!-- Label for "Voice" notification action. This is a displayed on the notification for an
-       incoming video call, and answers the call as an audio call. [CHAR LIMIT=12] -->
-  <string name="notification_action_answer_voice">Voice</string>
   <!-- Label for "Accept" notification action. This is somewhat generic, and may refer to
        scenarios such as accepting an incoming call or accepting a video call request.
        [CHAR LIMIT=12] -->
@@ -187,62 +145,9 @@
        video call to the current device.
        [CHAR LIMIT=30] -->
   <string name="notification_take_video_call">Take Video Call</string>
-  <!-- In-call screen: call failure message displayed in an error dialog -->
-  <string name="incall_error_power_off">To place a call, first turn off Airplane mode.</string>
-  <!-- In-call screen: call failure message displayed in an error dialog.
-       This string is currently unused (see comments in InCallActivity.java.) -->
-  <string name="incall_error_emergency_only">Not registered on network.</string>
-  <!-- In-call screen: call failure message displayed in an error dialog -->
-  <string name="incall_error_out_of_service">Mobile network not available.</string>
-  <!-- In-call screen: call failure message displayed in an error dialog -->
-  <string name="incall_error_no_phone_number_supplied">To place a call, enter a valid number.</string>
-  <!-- In-call screen: call failure message displayed in an error dialog -->
-  <string name="incall_error_call_failed">Can\'t call.</string>
-  <!-- In-call screen: status message displayed in a dialog when starting an MMI -->
-  <string name="incall_status_dialed_mmi">Starting MMI sequence\u2026</string>
+
   <!-- In-call screen: message displayed in an error dialog -->
   <string name="incall_error_supp_service_unknown">Service not supported.</string>
-  <!-- In-call screen: message displayed in an error dialog -->
-  <string name="incall_error_supp_service_switch">Can\'t switch calls.</string>
-  <!-- In-call screen: message displayed in an error dialog -->
-  <string name="incall_error_supp_service_separate">Can\'t separate call.</string>
-  <!-- In-call screen: message displayed in an error dialog -->
-  <string name="incall_error_supp_service_transfer">Can\'t transfer.</string>
-  <!-- In-call screen: message displayed in an error dialog -->
-  <string name="incall_error_supp_service_conference">Can\'t conference.</string>
-  <!-- In-call screen: message displayed in an error dialog -->
-  <string name="incall_error_supp_service_reject">Can\'t reject call.</string>
-  <!-- In-call screen: message displayed in an error dialog -->
-  <string name="incall_error_supp_service_hangup">Can\'t release call(s).</string>
-
-  <!-- Dialog title for the "radio enable" UI for emergency calls -->
-  <string name="emergency_enable_radio_dialog_title">Emergency call</string>
-  <!-- Status message for the "radio enable" UI for emergency calls -->
-  <string name="emergency_enable_radio_dialog_message">Turning on radio\u2026</string>
-  <!-- Status message for the "radio enable" UI for emergency calls -->
-  <string name="emergency_enable_radio_dialog_retry">No service. Trying again\u2026</string>
-
-  <!-- Dialer text on Emergency Dialer -->
-  <!-- Emergency dialer: message displayed in an error dialog -->
-  <string name="dial_emergency_error">Can\'t call. <xliff:g id="non_emergency_number">%s</xliff:g> is not an emergency number.</string>
-  <!-- Emergency dialer: message displayed in an error dialog -->
-  <string name="dial_emergency_empty_error">Can\'t call. Dial an emergency number.</string>
-
-  <!-- Displayed in the text entry box in the dialer when in landscape mode to guide the user
-       to dial using the physical keyboard -->
-  <string name="dialerKeyboardHintText">Use keyboard to dial</string>
-
-  <!-- Message indicating that Video Started flowing for IMS-VT calls -->
-  <string name="player_started">Player Started</string>
-  <!-- Message indicating that Video Stopped flowing for IMS-VT calls -->
-  <string name="player_stopped">Player Stopped</string>
-  <!-- Message indicating that camera failure has occurred for the selected camera and
-       as result camera is not ready -->
-  <string name="camera_not_ready">Camera not ready</string>
-  <!-- Message indicating that camera is ready/available -->
-  <string name="camera_ready">Camera ready</string>
-  <!-- Message indicating unknown call session event -->
-  <string name="unknown_call_session_event">"Unkown call session event"</string>
 
   <!-- For incoming calls, this is a string we can get from a CDMA network instead of
        the actual phone number, to indicate there's no number present.  DO NOT TRANSLATE. -->
@@ -251,21 +156,11 @@
     <item>ABSENTNUMBER</item>
   </string-array>
 
-  <!-- Title displayed above settings coming after voicemail in the call features screen -->
-  <string name="other_settings">Other call settings</string>
-
   <!-- Use this to describe the separate conference call button; currently for screen readers through accessibility. -->
   <string name="goPrivate">go private</string>
-  <!--  Use this to describe the select contact button in EditPhoneNumberPreference; currently for screen readers through accessibility. -->
-  <string name="selectContact">select contact</string>
-
-  <!-- Title for the category "ringtone", which is shown above ringtone and vibration
-       related settings.
-       [CHAR LIMIT=30] -->
-  <string name="preference_category_ringtone">Ringtone &amp; Vibrate</string>
 
   <!-- Label for "Manage conference call" panel [CHAR LIMIT=40] -->
-  <string name="manageConferenceLabel">Manage conference call</string>
+  <string name="manageConferenceLabel" tools:ignore="UnusedResources">Manage conference call</string>
 
   <!-- This can be used in any application wanting to disable the text "Emergency number" -->
   <string name="emergency_call_dialog_number_for_display">Emergency number</string>
@@ -274,41 +169,8 @@
       phone number associated with their device. [CHAR LIMIT=16] -->
   <string name="child_number">via <xliff:g example="650-555-1212" id="child_number">%s</xliff:g></string>
 
-  <!-- Title for the call context with a person-type contact. [CHAR LIMIT=40] -->
-  <string name="person_contact_context_title">Recent messages</string>
-
-  <!-- Title for the call context with a business-type contact. [CHAR LIMIT=40] -->
-  <string name="business_contact_context_title">Business info</string>
-
   <!-- Distance strings for business caller ID context. -->
 
-  <!-- Used to inform the user how far away a location is in miles. [CHAR LIMIT=NONE] -->
-  <string name="distance_imperial_away"><xliff:g id="distance">%.1f</xliff:g> mi away</string>
-  <!-- Used to inform the user how far away a location is in kilometers. [CHAR LIMIT=NONE] -->
-  <string name="distance_metric_away"><xliff:g id="distance">%.1f</xliff:g> km away</string>
-  <!-- A shortened way to display a business address. Formatted [street address], [city/locality]. -->
-  <string name="display_address"><xliff:g id="street_address">%1$s</xliff:g>, <xliff:g id="locality">%2$s</xliff:g></string>
-  <!-- Used to indicate hours of operation for a location as a time span. e.g. "11 am - 9 pm" [CHAR LIMIT=NONE] -->
-  <string name="open_time_span"><xliff:g id="open_time">%1$s</xliff:g> - <xliff:g id="close_time">%2$s</xliff:g></string>
-  <!-- Used to indicate a series of opening hours for a location.
-       This first argument may be one or more time spans. e.g. "11 am - 9 pm, 9 pm - 11 pm"
-       The second argument is an additional time span. e.g. "11 pm - 1 am"
-       The string is used to build a list of opening hours.
-       [CHAR LIMIT=NONE] -->
-  <string name="opening_hours"><xliff:g id="earlier_times">%1$s</xliff:g>, <xliff:g id="later_time">%2$s</xliff:g></string>
-  <!-- Used to express when a location will open the next day. [CHAR LIMIT=NONE] -->
-  <string name="opens_tomorrow_at">Opens tomorrow at <xliff:g id="open_time">%s</xliff:g></string>
-  <!-- Used to express the next time at which a location will be open today. [CHAR LIMIT=NONE] -->
-  <string name="opens_today_at">Opens today at <xliff:g id="open_time">%s</xliff:g></string>
-  <!-- Used to express the next time at which a location will close today. [CHAR LIMIT=NONE] -->
-  <string name="closes_today_at">Closes at <xliff:g id="close_time">%s</xliff:g></string>
-  <!-- Used to express the next time at which a location closed today if it is already closed. [CHAR LIMIT=NONE] -->
-  <string name="closed_today_at">Closed today at <xliff:g id="close_time">%s</xliff:g></string>
-  <!-- Displayed when a place is open. -->
-  <string name="open_now">Open now</string>
-  <!-- Displayed when a place is closed. -->
-  <string name="closed_now">Closed now</string>
-
   <string name="callFailed_simError">No SIM or SIM error</string>
 
   <string name="conference_caller_disconnect_content_description">End call</string>
diff --git a/java/com/android/incallui/video/impl/res/values/strings.xml b/java/com/android/incallui/video/impl/res/values/strings.xml
index 2b72b80..58ea8bd 100644
--- a/java/com/android/incallui/video/impl/res/values/strings.xml
+++ b/java/com/android/incallui/video/impl/res/values/strings.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2017 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
+  -->
+
 <resources>
 
   <!-- Text indicates the video from remote party is off. [CHAR LIMIT=40] -->
@@ -13,16 +29,4 @@
   <!-- Text indicates the call is resumed from held by remote party. [CHAR LIMIT=20] -->
   <string name="videocall_remotely_resumed">Call resumed</string>
 
-  <!-- Title of dialog to ask user for camera permission. [CHAR LIMIT=30] -->
-  <string name="camera_permission_dialog_title">Allow video?</string>
-
-  <!-- Message of dialog to ask user for camera permission. [CHAR LIMIT=100] -->
-  <string name="camera_permission_dialog_message">The Phone app wants to use your camera for video calls.</string>
-
-  <!-- Text of button to be confirmed for camera permission by user. [CHAR LIMIT=20] -->
-  <string name="camera_permission_dialog_positive_button">Allow</string>
-
-  <!-- Text of button to be declined for camera permission by user. [CHAR LIMIT=20] -->
-  <string name="camera_permission_dialog_negative_button">Deny</string>
-
 </resources>
diff --git a/java/com/android/voicemail/impl/res/values/strings.xml b/java/com/android/voicemail/impl/res/values/strings.xml
index a846541..66c0e62 100644
--- a/java/com/android/voicemail/impl/res/values/strings.xml
+++ b/java/com/android/voicemail/impl/res/values/strings.xml
@@ -61,11 +61,6 @@
   <string name="voicemail_change_pin_preference_summary_disable">Visual voicemail must be enabled to change PIN</string>
   <string name="voicemail_change_pin_preference_summary_not_activated">Visual voicemail is not activated yet, please try again later</string>
 
-  <!-- Hint for the old PIN field in the change vociemail PIN dialog -->
-  <string name="vm_change_pin_old_pin">Old PIN</string>
-  <!-- Hint for the new PIN field in the change vociemail PIN dialog -->
-  <string name="vm_change_pin_new_pin">New PIN</string>
-
   <!-- Message on the dialog when PIN changing is in progress -->
   <string name="vm_change_pin_progress_message">Please wait.</string>
   <!-- Error message for the voicemail PIN change if the PIN is too short -->
