summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Erfanian <erfanian@google.com>2017-06-19 11:26:01 -0700
committerEric Erfanian <erfanian@google.com>2017-06-19 11:30:45 -0700
commit2f1c7586bcce334ca69022eb8dc6d8965ceb6a05 (patch)
treebf00ada449ee3de31ec983a14e84159200aa18c2
parent3d0ca68e466482971a4cf46576c50cb2bd42bcb5 (diff)
downloadandroid_packages_apps_Dialer-2f1c7586bcce334ca69022eb8dc6d8965ceb6a05.tar.gz
android_packages_apps_Dialer-2f1c7586bcce334ca69022eb8dc6d8965ceb6a05.tar.bz2
android_packages_apps_Dialer-2f1c7586bcce334ca69022eb8dc6d8965ceb6a05.zip
Update AOSP Dialer source from internal google3 repository at
cl/159428781. Test: make, treehugger This CL updates the AOSP Dialer source with all the changes that have gone into the private google3 repository. This includes all the changes from cl/152373142 (4/06/2017) to cl/159428781 (6/19/2017). This goal of these drops is to keep the AOSP source in sync with the internal google3 repository. Currently these sync are done by hand with very minor modifications to the internal source code. See the Android.mk file for list of modifications. Our current goal is to do frequent drops (daily if possible) and eventually switched to an automated process. Change-Id: Ie60a84b3936efd0ea3d95d7c86bf96d2b1663030
-rw-r--r--Android.mk106
-rw-r--r--AndroidManifest.xml5
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_bluetooth_audio_white_24.pngbin0 -> 438 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_check_circle_googblue_24.pngbin407 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_close_white_24.pngbin221 -> 176 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_forward_white_24.pngbin139 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_grade_white_24.pngbin370 -> 352 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_headset_white_24.pngbin0 -> 350 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_image_white_24.pngbin261 -> 246 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_mic_off_white_24.pngbin0 -> 428 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_network_wifi_white_24.pngbin427 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_phone_in_talk_white_24.pngbin0 -> 483 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_phone_in_talk_white_36.pngbin0 -> 704 bytes
-rw-r--r--assets/quantum/res/drawable-hdpi/quantum_ic_report_white_18.pngbin212 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_bluetooth_audio_white_24.pngbin0 -> 297 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_check_circle_googblue_24.pngbin278 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_close_white_24.pngbin175 -> 139 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_forward_white_24.pngbin117 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_grade_white_24.pngbin271 -> 259 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_headset_white_24.pngbin0 -> 238 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_image_white_24.pngbin185 -> 174 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_mic_off_white_24.pngbin0 -> 288 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_network_wifi_white_24.pngbin299 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_phone_in_talk_white_24.pngbin0 -> 325 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_phone_in_talk_white_36.pngbin0 -> 483 bytes
-rw-r--r--assets/quantum/res/drawable-mdpi/quantum_ic_report_white_18.pngbin163 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_bluetooth_audio_white_24.pngbin0 -> 515 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_check_circle_googblue_24.pngbin490 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_close_white_24.pngbin257 -> 204 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_forward_white_24.pngbin159 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_grade_white_24.pngbin479 -> 455 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_headset_white_24.pngbin0 -> 433 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_image_white_24.pngbin304 -> 292 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_mic_off_white_24.pngbin0 -> 484 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_network_wifi_white_24.pngbin538 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_phone_in_talk_white_24.pngbin0 -> 601 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_phone_in_talk_white_36.pngbin0 -> 882 bytes
-rw-r--r--assets/quantum/res/drawable-xhdpi/quantum_ic_report_white_18.pngbin240 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_bluetooth_audio_white_24.pngbin0 -> 778 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_check_circle_googblue_24.pngbin717 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_close_white_24.pngbin347 -> 260 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_forward_white_24.pngbin204 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_grade_white_24.pngbin676 -> 657 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_headset_white_24.pngbin0 -> 610 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_image_white_24.pngbin450 -> 409 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_mic_off_white_24.pngbin0 -> 713 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_network_wifi_white_24.pngbin786 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_phone_in_talk_white_24.pngbin0 -> 882 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_phone_in_talk_white_36.pngbin0 -> 1342 bytes
-rw-r--r--assets/quantum/res/drawable-xxhdpi/quantum_ic_report_white_18.pngbin312 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_bluetooth_audio_white_24.pngbin0 -> 945 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_check_circle_googblue_24.pngbin1017 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_close_white_24.pngbin436 -> 314 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_forward_white_24.pngbin236 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_grade_white_24.pngbin887 -> 861 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_headset_white_24.pngbin0 -> 838 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_image_white_24.pngbin570 -> 519 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_mic_off_white_24.pngbin0 -> 902 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_network_wifi_white_24.pngbin1043 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_phone_in_talk_white_24.pngbin0 -> 1162 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_phone_in_talk_white_36.pngbin0 -> 1729 bytes
-rw-r--r--assets/quantum/res/drawable-xxxhdpi/quantum_ic_report_white_18.pngbin340 -> 0 bytes
-rw-r--r--assets/quantum/res/drawable/quantum_ic_arrow_back_vd_theme_24.xml10
-rw-r--r--assets/quantum/res/drawable/quantum_ic_call_vd_theme_24.xml10
-rw-r--r--assets/quantum/res/drawable/quantum_ic_close_vd_theme_24.xml10
-rw-r--r--assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml2
-rw-r--r--assets/quantum/res/drawable/quantum_ic_hd_vd_theme_24.xml2
-rw-r--r--assets/quantum/res/drawable/quantum_ic_history_vd_theme_24.xml10
-rw-r--r--assets/quantum/res/drawable/quantum_ic_message_vd_theme_24.xml10
-rw-r--r--assets/quantum/res/drawable/quantum_ic_person_add_vd_theme_24.xml10
-rw-r--r--assets/quantum/res/drawable/quantum_ic_search_vd_theme_24.xml10
-rw-r--r--assets/quantum/res/drawable/quantum_ic_videocam_vd_theme_24.xml10
-rw-r--r--java/com/android/contacts/common/ClipboardUtils.java2
-rw-r--r--java/com/android/contacts/common/ContactPhotoManager.java34
-rw-r--r--java/com/android/contacts/common/ContactPhotoManagerImpl.java5
-rw-r--r--java/com/android/contacts/common/ContactPresenceIconUtil.java3
-rw-r--r--java/com/android/contacts/common/ContactStatusUtil.java2
-rw-r--r--java/com/android/contacts/common/ContactsUtils.java185
-rw-r--r--java/com/android/contacts/common/GeoUtil.java55
-rw-r--r--java/com/android/contacts/common/MoreContactUtils.java36
-rw-r--r--java/com/android/contacts/common/compat/ContactsCompat.java16
-rw-r--r--java/com/android/contacts/common/compat/PhoneAccountCompat.java55
-rw-r--r--java/com/android/contacts/common/compat/PhoneNumberUtilsCompat.java132
-rw-r--r--java/com/android/contacts/common/compat/TelephonyManagerCompat.java80
-rw-r--r--java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java282
-rw-r--r--java/com/android/contacts/common/dialog/CallSubjectDialog.java12
-rw-r--r--java/com/android/contacts/common/extensions/PhoneDirectoryExtender.java10
-rw-r--r--java/com/android/contacts/common/extensions/PhoneDirectoryExtenderAccessor.java6
-rw-r--r--java/com/android/contacts/common/extensions/PhoneDirectoryExtenderStub.java13
-rw-r--r--java/com/android/contacts/common/format/FormatUtils.java181
-rw-r--r--java/com/android/contacts/common/format/TextHighlighter.java55
-rw-r--r--java/com/android/contacts/common/format/testing/SpannedTestUtils.java85
-rw-r--r--java/com/android/contacts/common/lettertiles/LetterTileDrawable.java42
-rw-r--r--java/com/android/contacts/common/list/ContactEntryListAdapter.java58
-rw-r--r--java/com/android/contacts/common/list/ContactEntryListFragment.java20
-rw-r--r--java/com/android/contacts/common/list/ContactListItemView.java216
-rw-r--r--java/com/android/contacts/common/list/ContactTileView.java19
-rw-r--r--java/com/android/contacts/common/list/PhoneNumberListAdapter.java70
-rw-r--r--java/com/android/contacts/common/list/PhoneNumberPickerFragment.java70
-rw-r--r--java/com/android/contacts/common/list/ViewPagerTabs.java29
-rw-r--r--java/com/android/contacts/common/location/CountryDetector.java221
-rw-r--r--java/com/android/contacts/common/location/UpdateCountryService.java104
-rw-r--r--java/com/android/contacts/common/model/ContactLoader.java1
-rw-r--r--java/com/android/contacts/common/model/account/AccountType.java3
-rw-r--r--java/com/android/contacts/common/model/account/BaseAccountType.java4
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_ab_search.pngbin1115 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_arrow_back_24dp.pngbin612 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_business_white_120dp.pngbin2477 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_call_24dp.pngbin340 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_close_dk.pngbin609 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_create_24dp.pngbin370 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_group_white_24dp.pngbin389 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_history_white_drawable_24dp.pngbin525 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_info_outline_24dp.pngbin485 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_back.pngbin799 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_group_dk.pngbin1954 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_group_lt.pngbin1922 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_overflow_lt.pngbin220 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_person_dk.pngbin1439 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_person_lt.pngbin1416 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_remove_field_holo_light.pngbin515 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_dk.pngbin1438 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_holo_light.pngbin1211 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_lt.pngbin1414 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_person_24dp.pngbin273 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_rx_videocam.pngbin413 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_tx_videocam.pngbin370 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_videocam.pngbin269 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/ic_voicemail_avatar.pngbin2856 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/list_activated_holo.9.pngbin154 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/list_background_holo.9.pngbin224 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/list_focused_holo.9.pngbin235 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/list_longpressed_holo_light.9.pngbin158 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/list_pressed_holo_light.9.pngbin159 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/list_section_divider_holo_custom.9.pngbin205 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-hdpi/list_title_holo.9.pngbin267 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_focused_holo.9.pngbin234 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_section_divider_holo_custom.9.pngbin191 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_title_holo.9.pngbin258 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_focused_holo.9.pngbin234 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_section_divider_holo_custom.9.pngbin180 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_title_holo.9.pngbin186 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-hdpi/list_activated_holo.9.pngbin1666 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-mdpi/list_activated_holo.9.pngbin1034 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-xhdpi/list_activated_holo.9.pngbin2486 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_focused_holo.9.pngbin234 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_section_divider_holo_custom.9.pngbin196 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_title_holo.9.pngbin255 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/list_activated_holo.9.pngbin151 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/list_focused_holo.9.pngbin235 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/list_longpressed_holo_light.9.pngbin155 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/list_pressed_holo_light.9.pngbin158 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-mdpi/list_section_divider_holo_custom.9.pngbin198 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-sw600dp-hdpi/list_activated_holo.9.pngbin1659 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-sw600dp-mdpi/list_activated_holo.9.pngbin1005 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-sw600dp-xhdpi/list_activated_holo.9.pngbin2478 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/list_activated_holo.9.pngbin158 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/list_focused_holo.9.pngbin235 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/list_longpressed_holo_light.9.pngbin162 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/list_pressed_holo_light.9.pngbin163 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xhdpi/list_section_divider_holo_custom.9.pngbin210 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/list_activated_holo.9.pngbin1140 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/list_focused_holo.9.pngbin1147 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/list_longpressed_holo_light.9.pngbin1051 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable-xxhdpi/list_pressed_holo_light.9.pngbin1051 -> 0 bytes
-rw-r--r--java/com/android/contacts/common/res/drawable/ic_search_add_contact.xml20
-rw-r--r--java/com/android/contacts/common/res/drawable/list_selector_background_transition_holo_light.xml20
-rw-r--r--java/com/android/contacts/common/res/layout/dialog_call_subject.xml2
-rw-r--r--java/com/android/contacts/common/res/layout/search_bar_expanded.xml4
-rw-r--r--java/com/android/contacts/common/res/values-af/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-am/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ar/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-az/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-be/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-bg/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-bn/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-bs/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ca/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-cs/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-da/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-de/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-el/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-en-rAU/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-en-rGB/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-en-rIN/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-es-rUS/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-es/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-et/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-eu/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-fa/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-fi/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-fr-rCA/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-fr/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-gl/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-gu/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-hi/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-hr/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-hu/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-hy/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-in/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-is/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-it/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-iw/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ja/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ka/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-kk/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-km/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-kn/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ko/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ky/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-lo/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-lt/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-lv/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-mk/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ml/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-mn/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-mr/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ms/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-my/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-nb/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ne/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-nl/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-no/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-pa/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-pl/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-pt-rBR/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-pt-rPT/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-pt/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ro/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ru/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-si/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-sk/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-sl/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-sq/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-sr/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-sv/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-sw/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ta/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-te/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-th/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-tl/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-tr/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-uk/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-ur/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-uz/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-vi/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-zh-rCN/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-zh-rHK/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-zh-rTW/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values-zu/strings.xml4
-rw-r--r--java/com/android/contacts/common/res/values/dimens.xml2
-rw-r--r--java/com/android/contacts/common/res/values/ids.xml1
-rw-r--r--java/com/android/contacts/common/res/values/strings.xml12
-rw-r--r--java/com/android/contacts/common/res/values/styles.xml1
-rw-r--r--java/com/android/contacts/common/util/AccountFilterUtil.java42
-rw-r--r--java/com/android/contacts/common/util/BitmapUtil.java26
-rw-r--r--java/com/android/contacts/common/util/ContactDisplayUtils.java12
-rw-r--r--java/com/android/contacts/common/util/DateUtils.java241
-rw-r--r--java/com/android/contacts/common/util/MaterialColorMapUtils.java8
-rw-r--r--java/com/android/contacts/common/util/NameConverter.java242
-rw-r--r--java/com/android/contacts/common/util/StopWatch.java28
-rw-r--r--java/com/android/contacts/common/util/TelephonyManagerUtils.java9
-rw-r--r--java/com/android/dialer/about/AndroidManifest.xml2
-rw-r--r--java/com/android/dialer/about/res/raw/keep.xml1
-rw-r--r--java/com/android/dialer/app/AndroidManifest.xml1
-rw-r--r--java/com/android/dialer/app/Bindings.java28
-rw-r--r--java/com/android/dialer/app/DialtactsActivity.java159
-rw-r--r--java/com/android/dialer/app/SpecialCharSequenceMgr.java5
-rw-r--r--java/com/android/dialer/app/bindings/DialerBindingsStub.java48
-rw-r--r--java/com/android/dialer/app/calllog/CallLogActivity.java34
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAdapter.java306
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java6
-rw-r--r--java/com/android/dialer/app/calllog/CallLogFragment.java123
-rw-r--r--java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java223
-rw-r--r--java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java92
-rw-r--r--java/com/android/dialer/app/calllog/CallLogNotificationsService.java115
-rw-r--r--java/com/android/dialer/app/calllog/CallLogReceiver.java4
-rw-r--r--java/com/android/dialer/app/calllog/ClearCallLogDialog.java2
-rw-r--r--java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java446
-rw-r--r--java/com/android/dialer/app/calllog/DialerQuickContactBadge.java63
-rw-r--r--java/com/android/dialer/app/calllog/IntentProvider.java12
-rw-r--r--java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java156
-rw-r--r--java/com/android/dialer/app/calllog/MissedCallNotifier.java116
-rw-r--r--java/com/android/dialer/app/calllog/PhoneAccountHandles.java62
-rw-r--r--java/com/android/dialer/app/calllog/VisualVoicemailNotifier.java291
-rw-r--r--java/com/android/dialer/app/calllog/VisualVoicemailUpdateTask.java168
-rw-r--r--java/com/android/dialer/app/calllog/VoicemailQueryHandler.java44
-rw-r--r--java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java6
-rw-r--r--java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipop.java74
-rw-r--r--java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipopMr1.java30
-rw-r--r--java/com/android/dialer/app/contactinfo/ContactInfoCache.java10
-rw-r--r--java/com/android/dialer/app/dialpad/DialpadFragment.java19
-rw-r--r--java/com/android/dialer/app/filterednumber/NumbersAdapter.java5
-rw-r--r--java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java2
-rw-r--r--java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java4
-rw-r--r--java/com/android/dialer/app/list/AllContactsFragment.java20
-rw-r--r--java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java34
-rw-r--r--java/com/android/dialer/app/list/DialerViewPager.java55
-rw-r--r--java/com/android/dialer/app/list/DialtactsPagerAdapter.java4
-rw-r--r--java/com/android/dialer/app/list/ListsFragment.java38
-rw-r--r--java/com/android/dialer/app/list/OldSpeedDialFragment.java29
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoriteListView.java19
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java4
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoriteTileView.java40
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java79
-rw-r--r--java/com/android/dialer/app/list/RegularSearchFragment.java17
-rw-r--r--java/com/android/dialer/app/list/RemoveView.java2
-rw-r--r--java/com/android/dialer/app/list/SearchFragment.java27
-rw-r--r--java/com/android/dialer/app/list/SmartDialSearchFragment.java20
-rw-r--r--java/com/android/dialer/app/manifests/activities/AndroidManifest.xml4
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_48dp.pngbin0 -> 749 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_blue_24dp.pngbin0 -> 408 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_empty_check_mark_white_24dp.pngbin0 -> 375 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-hdpi/ic_results_phone.pngbin1084 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_check_mark_48dp.pngbin0 -> 526 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-mdpi/ic_results_phone.pngbin801 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_check_mark_48dp.pngbin0 -> 981 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xhdpi/ic_results_phone.pngbin1376 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_check_mark_48dp.pngbin0 -> 1443 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxhdpi/ic_results_phone.pngbin2090 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_check_mark_48dp.pngbin0 -> 1893 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable-xxxhdpi/ic_results_phone.pngbin2281 -> 0 bytes
-rw-r--r--java/com/android/dialer/app/res/drawable/ic_search_phone.xml20
-rw-r--r--java/com/android/dialer/app/res/drawable/ic_wifi_calling.xml29
-rw-r--r--java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml6
-rw-r--r--java/com/android/dialer/app/res/layout/action_mode_close_button.xml31
-rw-r--r--java/com/android/dialer/app/res/layout/all_contacts_fragment.xml2
-rw-r--r--java/com/android/dialer/app/res/layout/call_log_fragment.xml32
-rw-r--r--java/com/android/dialer/app/res/layout/call_log_list_item.xml4
-rw-r--r--java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml4
-rw-r--r--java/com/android/dialer/app/res/layout/dialpad_fragment.xml47
-rw-r--r--java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml6
-rw-r--r--java/com/android/dialer/app/res/layout/lists_fragment.xml104
-rw-r--r--java/com/android/dialer/app/res/layout/search_edittext.xml2
-rw-r--r--java/com/android/dialer/app/res/layout/speed_dial_fragment.xml2
-rw-r--r--java/com/android/dialer/app/res/menu/dialtacts_options.xml3
-rw-r--r--java/com/android/dialer/app/res/values-af/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-am/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ar/strings.xml27
-rw-r--r--java/com/android/dialer/app/res/values-az/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml24
-rw-r--r--java/com/android/dialer/app/res/values-be/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-bg/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-bn/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-bs/strings.xml24
-rw-r--r--java/com/android/dialer/app/res/values-ca/strings.xml27
-rw-r--r--java/com/android/dialer/app/res/values-cs/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-da/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-de/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-el/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-en-rAU/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-en-rGB/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-en-rIN/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-es-rUS/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-es/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-et/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-eu/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-fa/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-fi/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-fr-rCA/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-fr/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-gl/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-gu/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-hi/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-hr/strings.xml24
-rw-r--r--java/com/android/dialer/app/res/values-hu/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-hy/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-in/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-is/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-it/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-iw/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-ja/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ka/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-kk/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-km/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-kn/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ko/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ky/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-lo/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-lt/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-lv/strings.xml24
-rw-r--r--java/com/android/dialer/app/res/values-mk/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ml/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-mn/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-mr/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ms/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-my/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-nb/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ne/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-nl/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-no/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-pa/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-pl/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-pt-rBR/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-pt-rPT/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-pt/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ro/strings.xml24
-rw-r--r--java/com/android/dialer/app/res/values-ru/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-si/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-sk/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-sl/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-sq/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-sr/strings.xml24
-rw-r--r--java/com/android/dialer/app/res/values-sv/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-sw/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-ta/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-te/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-th/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-tl/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-tr/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-uk/strings.xml25
-rw-r--r--java/com/android/dialer/app/res/values-ur/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-uz/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-vi/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-zh-rCN/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-zh-rHK/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-zh-rTW/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values-zu/strings.xml23
-rw-r--r--java/com/android/dialer/app/res/values/colors.xml4
-rw-r--r--java/com/android/dialer/app/res/values/dimens.xml8
-rw-r--r--java/com/android/dialer/app/res/values/strings.xml114
-rw-r--r--java/com/android/dialer/app/res/values/styles.xml17
-rw-r--r--java/com/android/dialer/app/res/xml/sound_settings.xml4
-rw-r--r--java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java5
-rw-r--r--java/com/android/dialer/app/settings/DialerSettingsActivity.java15
-rw-r--r--java/com/android/dialer/app/settings/SoundSettingsFragment.java10
-rw-r--r--java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java31
-rw-r--r--java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java9
-rw-r--r--java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java6
-rw-r--r--java/com/android/dialer/app/voicemail/error/VoicemailStatusCorruptionHandler.java2
-rw-r--r--java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java301
-rw-r--r--java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java150
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/layout/voicemail_tos_fragment.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-af/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-am/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ar/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-az/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-b+sr+Latn/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-be/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-bg/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-bn/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-bs/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ca/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-cs/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-da/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-de/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-el/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-en-rAU/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-en-rGB/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-en-rIN/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-es-rUS/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-es/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-et/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-eu/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-fa/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-fi/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-fr-rCA/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-fr/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-gl/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-gu/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml18
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-hr/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-hu/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-hy/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-in/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-is/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-it/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-iw/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ja/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ka/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-kk/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-km/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-kn/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ko/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ky/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-lo/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-lt/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-lv/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-mk/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ml/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-mn/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-mr/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ms/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-my/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-nb/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ne/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-nl/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-no/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-pa/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-pl/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-pt-rBR/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-pt-rPT/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-pt/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ro/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ru/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-si/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-sk/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-sl/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-sq/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-sr/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-sv/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-sw/strings.xml18
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ta/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-te/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-th/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-tl/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-tr/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-uk/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-ur/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-uz/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-vi/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-zh-rCN/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-zh-rHK/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-zh-rTW/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values-zu/strings.xml16
-rw-r--r--java/com/android/dialer/app/voicemail/error/res/values/strings.xml37
-rw-r--r--java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java1
-rw-r--r--java/com/android/dialer/app/widget/SearchEditTextLayout.java22
-rw-r--r--java/com/android/dialer/backup/DialerBackupAgent.java2
-rw-r--r--java/com/android/dialer/backup/DialerBackupUtils.java2
-rw-r--r--java/com/android/dialer/binary/aosp/AospDialerRootComponent.java4
-rw-r--r--java/com/android/dialer/binary/aosp/testing/AndroidManifest.xml24
-rw-r--r--java/com/android/dialer/binary/aosp/testing/TestActivity.java (renamed from java/com/android/dialer/common/ConfigProviderFactory.java)15
-rw-r--r--java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java8
-rw-r--r--java/com/android/dialer/binary/common/DialerApplication.java10
-rw-r--r--java/com/android/dialer/blocking/FilteredNumbersUtil.java11
-rw-r--r--java/com/android/dialer/callcomposer/AndroidManifest.xml2
-rw-r--r--java/com/android/dialer/callcomposer/CallComposerActivity.java137
-rw-r--r--java/com/android/dialer/callcomposer/CameraComposerFragment.java43
-rw-r--r--java/com/android/dialer/callcomposer/GalleryCursorLoader.java4
-rw-r--r--java/com/android/dialer/callcomposer/MessageComposerFragment.java36
-rw-r--r--java/com/android/dialer/callcomposer/camera/CameraManager.java122
-rw-r--r--java/com/android/dialer/callcomposer/camera/ImagePersistTask.java38
-rw-r--r--java/com/android/dialer/callcomposer/camera/exif/ExifInterface.java2
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/layout/camera_view.xml19
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-af/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-am/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ar/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-az/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-b+sr+Latn/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-be/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-bg/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-bn/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-bs/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ca/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-cs/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-da/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-de/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-el/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-en-rAU/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-en-rGB/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-en-rIN/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-es-rUS/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-es/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-et/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-eu/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-fa/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-fi/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-fr-rCA/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-fr/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-gl/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-gu/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-hi/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-hr/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-hu/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-hy/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-in/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-is/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-it/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-iw/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ja/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ka/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-kk/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-km/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-kn/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ko/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ky/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-lo/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-lt/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-lv/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-mk/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ml/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-mn/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-mr/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ms/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-my/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-nb/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ne/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-nl/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-no/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-pa/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-pl/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-pt-rBR/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-pt-rPT/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-pt/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ro/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ru/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-si/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-sk/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-sl/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-sq/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-sr/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-sv/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-sw/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ta/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-te/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-th/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-tl/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-tr/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-uk/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-ur/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-uz/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-vi/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-zh-rCN/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-zh-rHK/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-zh-rTW/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values-zu/strings.xml29
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values/dimens.xml2
-rw-r--r--java/com/android/dialer/callcomposer/cameraui/res/values/strings.xml33
-rw-r--r--java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml41
-rw-r--r--java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml2
-rw-r--r--java/com/android/dialer/callcomposer/res/values-af/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-am/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ar/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-az/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-be/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-bg/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-bn/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-bs/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ca/strings.xml7
-rw-r--r--java/com/android/dialer/callcomposer/res/values-cs/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-da/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-de/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-el/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-es/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-et/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-eu/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-fa/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-fi/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-fr/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-gl/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-gu/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-hi/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-hr/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-hu/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-hy/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-in/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-is/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-it/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-iw/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ja/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ka/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-kk/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-km/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-kn/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ko/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ky/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-lo/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-lt/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-lv/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-mk/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ml/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-mn/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-mr/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ms/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-my/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-nb/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ne/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-nl/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-no/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-pa/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-pl/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-pt/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ro/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ru/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-si/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-sk/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-sl/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-sq/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-sr/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-sv/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-sw/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ta/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-te/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-th/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-tl/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-tr/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-uk/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-ur/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-uz/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-vi/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values-zu/strings.xml3
-rw-r--r--java/com/android/dialer/callcomposer/res/values/strings.xml6
-rw-r--r--java/com/android/dialer/callcomposer/res/values/styles.xml2
-rw-r--r--java/com/android/dialer/calldetails/AndroidManifest.xml4
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsActivity.java61
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsAdapter.java21
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java32
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java29
-rw-r--r--java/com/android/dialer/calldetails/ReportDialogFragment.java161
-rw-r--r--java/com/android/dialer/calldetails/res/layout/call_details_footer.xml9
-rw-r--r--java/com/android/dialer/calldetails/res/layout/caller_id_report_dialog.xml35
-rw-r--r--java/com/android/dialer/calldetails/res/layout/contact_container.xml16
-rw-r--r--java/com/android/dialer/calldetails/res/values-af/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-am/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ar/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-az/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-be/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-bg/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-bn/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-bs/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ca/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-cs/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-da/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-de/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-el/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-es/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-et/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-eu/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-fa/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-fi/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-fr/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-gl/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-gu/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-hi/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-hr/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-hu/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-hy/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-in/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-is/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-it/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-iw/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ja/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ka/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-kk/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-km/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-kn/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ko/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ky/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-lo/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-lt/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-lv/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-mk/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ml/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-mn/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-mr/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ms/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-my/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-nb/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ne/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-nl/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-no/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-pa/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-pl/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-pt/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ro/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ru/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-si/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-sk/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-sl/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-sq/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-sr/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-sv/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-sw/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ta/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-te/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-th/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-tl/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-tr/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-uk/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-ur/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-uz/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-vi/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values-zu/strings.xml6
-rw-r--r--java/com/android/dialer/calldetails/res/values/dimens.xml2
-rw-r--r--java/com/android/dialer/calldetails/res/values/strings.xml19
-rw-r--r--java/com/android/dialer/calldetails/res/values/styles.xml18
-rw-r--r--java/com/android/dialer/callintent/CallIntentBuilder.java16
-rw-r--r--java/com/android/dialer/callintent/call_specific_app_data.proto14
-rw-r--r--java/com/android/dialer/callintent/speed_dial_contact_type.proto19
-rw-r--r--java/com/android/dialer/calllog/CallLogComponent.java2
-rw-r--r--java/com/android/dialer/calllog/CallLogFramework.java5
-rw-r--r--java/com/android/dialer/calllog/CallLogModule.java8
-rw-r--r--java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java123
-rw-r--r--java/com/android/dialer/calllog/database/AndroidManifest.xml28
-rw-r--r--java/com/android/dialer/calllog/database/AnnotatedCallLog.java53
-rw-r--r--java/com/android/dialer/calllog/database/AnnotatedCallLogContentProvider.java331
-rw-r--r--java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java46
-rw-r--r--java/com/android/dialer/calllog/database/CallLogDatabaseComponent.java40
-rw-r--r--java/com/android/dialer/calllog/database/CallLogMutations.java58
-rw-r--r--java/com/android/dialer/calllog/database/Coalescer.java180
-rw-r--r--java/com/android/dialer/calllog/database/MutationApplier.java105
-rw-r--r--java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java135
-rw-r--r--java/com/android/dialer/calllog/datasources/CallLogDataSource.java67
-rw-r--r--java/com/android/dialer/calllog/datasources/CallLogMutations.java110
-rw-r--r--java/com/android/dialer/calllog/datasources/DataSources.java (renamed from java/com/android/dialer/calllog/DataSources.java)5
-rw-r--r--java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java25
-rw-r--r--java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java251
-rw-r--r--java/com/android/dialer/calllog/datasources/util/RowCombiner.java53
-rw-r--r--java/com/android/dialer/calllog/testing/FakeCallLogApplication.java53
-rw-r--r--java/com/android/dialer/calllog/ui/AndroidManifest.xml2
-rw-r--r--java/com/android/dialer/calllog/ui/AnnotatedCallLogCursorLoader.java48
-rw-r--r--java/com/android/dialer/calllog/ui/NewCallLogAdapter.java53
-rw-r--r--java/com/android/dialer/calllog/ui/NewCallLogFragment.java101
-rw-r--r--java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java43
-rw-r--r--java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml16
-rw-r--r--java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml7
-rw-r--r--java/com/android/dialer/common/Assert.java9
-rw-r--r--java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java111
-rw-r--r--java/com/android/dialer/common/concurrent/DialerExecutor.java10
-rw-r--r--java/com/android/dialer/common/concurrent/DialerExecutorComponent.java39
-rw-r--r--java/com/android/dialer/common/concurrent/DialerExecutorModule.java28
-rw-r--r--java/com/android/dialer/common/concurrent/DialerUiTaskFragment.java94
-rw-r--r--java/com/android/dialer/common/concurrent/ThreadUtil.java5
-rw-r--r--java/com/android/dialer/compat/CompatUtils.java155
-rw-r--r--java/com/android/dialer/configprovider/AndroidManifest.xml23
-rw-r--r--java/com/android/dialer/configprovider/ConfigProvider.java (renamed from java/com/android/dialer/common/ConfigProvider.java)2
-rw-r--r--java/com/android/dialer/configprovider/ConfigProviderBindings.java (renamed from java/com/android/dialer/common/ConfigProviderBindings.java)14
-rw-r--r--java/com/android/dialer/configprovider/ConfigProviderComponent.java41
-rw-r--r--java/com/android/dialer/configprovider/SharedPrefConfigProvider.java131
-rw-r--r--java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java (renamed from java/com/android/dialer/app/bindings/DialerBindingsFactory.java)20
-rw-r--r--java/com/android/dialer/constants/Constants.java3
-rw-r--r--java/com/android/dialer/constants/ScheduledJobIds.java1
-rw-r--r--java/com/android/dialer/constants/TrafficStatsTags.java (renamed from java/com/android/incallui/calllocation/impl/TrafficStatsTags.java)17
-rw-r--r--java/com/android/dialer/constants/aospdialer/ConstantsImpl.java6
-rw-r--r--java/com/android/dialer/contactactions/AndroidManifest.xml16
-rw-r--r--java/com/android/dialer/contactactions/ContactActionBottomSheet.java136
-rw-r--r--java/com/android/dialer/contactactions/ContactActionModule.java38
-rw-r--r--java/com/android/dialer/contactactions/DividerModule.java41
-rw-r--r--java/com/android/dialer/contactactions/IntentModule.java75
-rw-r--r--java/com/android/dialer/contactactions/res/layout/contact_layout.xml53
-rw-r--r--java/com/android/dialer/contactactions/res/layout/divider_layout.xml23
-rw-r--r--java/com/android/dialer/contactactions/res/layout/module_layout.xml40
-rw-r--r--java/com/android/dialer/contactactions/res/layout/sheet_layout.xml24
-rw-r--r--java/com/android/dialer/contactactions/res/values/dimens.xml (renamed from java/com/android/contacts/common/res/drawable/ic_person_add_tinted_24dp.xml)10
-rw-r--r--java/com/android/dialer/contactsfragment/AddContactViewHolder.java42
-rw-r--r--java/com/android/dialer/contactsfragment/ContactViewHolder.java11
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsAdapter.java102
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsCursorLoader.java29
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsFragment.java160
-rw-r--r--java/com/android/dialer/contactsfragment/FastScroller.java130
-rw-r--r--java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_container_background.xml28
-rw-r--r--java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_scroll_bar.xml32
-rw-r--r--java/com/android/dialer/contactsfragment/res/layout/add_contact_row.xml50
-rw-r--r--java/com/android/dialer/contactsfragment/res/layout/contact_row.xml6
-rw-r--r--java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml41
-rw-r--r--java/com/android/dialer/contactsfragment/res/values/dimens.xml9
-rw-r--r--java/com/android/dialer/database/DialerDatabaseHelper.java357
-rw-r--r--java/com/android/dialer/dialercontact/dialer_contact.proto (renamed from java/com/android/dialer/callcomposer/proto/call_composer_contact.proto)12
-rw-r--r--java/com/android/dialer/dialpadview/res/values/dimens.xml2
-rw-r--r--java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java41
-rw-r--r--java/com/android/dialer/inject/ApplicationContext.java (renamed from java/com/android/contacts/common/util/TrafficStatsTags.java)14
-rw-r--r--java/com/android/dialer/inject/ContextModule.java7
-rw-r--r--java/com/android/dialer/interactions/PhoneNumberInteraction.java9
-rw-r--r--java/com/android/dialer/lightbringer/Lightbringer.java18
-rw-r--r--java/com/android/dialer/lightbringer/stub/LightbringerStub.java55
-rw-r--r--java/com/android/dialer/location/CountryDetector.java6
-rw-r--r--java/com/android/dialer/logging/LoggingBindings.java18
-rw-r--r--java/com/android/dialer/logging/LoggingBindingsStub.java17
-rw-r--r--java/com/android/dialer/logging/contact_lookup_result.proto40
-rw-r--r--java/com/android/dialer/logging/contact_source.proto1
-rw-r--r--java/com/android/dialer/logging/dialer_impression.proto54
-rw-r--r--java/com/android/dialer/logging/interaction_event.proto20
-rw-r--r--java/com/android/dialer/logging/reporting_location.proto1
-rw-r--r--java/com/android/dialer/logging/screen_event.proto1
-rw-r--r--java/com/android/dialer/logging/ui_action.proto43
-rw-r--r--java/com/android/dialer/main/Main.java27
-rw-r--r--java/com/android/dialer/main/MainComponent.java39
-rw-r--r--java/com/android/dialer/main/impl/AndroidManifest.xml110
-rw-r--r--java/com/android/dialer/main/impl/MainActivity.java91
-rw-r--r--java/com/android/dialer/main/impl/MainImpl.java90
-rw-r--r--java/com/android/dialer/main/impl/MainModule.java (renamed from java/com/android/dialer/app/bindings/DialerBindings.java)19
-rw-r--r--java/com/android/dialer/main/impl/MainPagerAdapter.java75
-rw-r--r--java/com/android/dialer/main/impl/StubFragment.java (renamed from java/com/android/dialer/notification/PackageUpdatedReceiver.java)28
-rw-r--r--java/com/android/dialer/main/impl/res/drawable-xxxhdpi/nui_launcher_icon.pngbin0 -> 5554 bytes
-rw-r--r--java/com/android/dialer/main/impl/res/layout/main_activity.xml68
-rw-r--r--java/com/android/dialer/main/impl/res/layout/stub_fragment.xml27
-rw-r--r--java/com/android/dialer/main/impl/res/menu/main_menu.xml47
-rw-r--r--java/com/android/dialer/main/impl/res/values-af/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-am/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-ar/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-az/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-b+sr+Latn/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-be/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-bg/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-bn/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-bs/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-ca/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-cs/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-da/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-de/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-el/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-en-rAU/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-en-rGB/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-en-rIN/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-es-rUS/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-es/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-et/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-eu/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-fa/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-fi/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-fr-rCA/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-fr/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-gl/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-gu/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-hi/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-hr/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-hu/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-hy/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-in/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-is/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-it/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-iw/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-ja/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-ka/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-kk/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-km/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-kn/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-ko/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-ky/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-lo/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-lt/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-lv/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-mk/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-ml/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-mn/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-mr/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-ms/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-my/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-nb/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-ne/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-nl/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-no/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-pa/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-pl/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-pt-rBR/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-pt-rPT/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-pt/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-ro/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-ru/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-si/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-sk/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-sl/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-sq/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-sr/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-sv/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-sw/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-ta/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-te/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-th/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-tl/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-tr/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-uk/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-ur/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-uz/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-vi/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-zh-rCN/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-zh-rHK/strings.xml32
-rw-r--r--java/com/android/dialer/main/impl/res/values-zh-rTW/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values-zu/strings.xml36
-rw-r--r--java/com/android/dialer/main/impl/res/values/strings.xml49
-rw-r--r--java/com/android/dialer/main/impl/res/values/styles.xml28
-rw-r--r--java/com/android/dialer/multimedia/MultimediaData.java6
-rw-r--r--java/com/android/dialer/notification/AndroidManifest.xml16
-rw-r--r--java/com/android/dialer/notification/GroupedNotificationUtil.java66
-rw-r--r--java/com/android/dialer/notification/NotificationChannelId.java41
-rw-r--r--java/com/android/dialer/notification/NotificationChannelManager.java456
-rw-r--r--java/com/android/dialer/notification/VoicemailChannelUtils.java217
-rw-r--r--java/com/android/dialer/notification/res/values-af/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-am/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ar/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-az/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-be/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-bg/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-bn/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-bs/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ca/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-cs/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-da/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-de/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-el/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-en-rAU/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-en-rGB/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-en-rIN/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-es-rUS/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-es/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-et/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-eu/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-fa/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-fi/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-fr-rCA/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-fr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-gl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-gu/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-hi/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-hr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-hu/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-hy/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-in/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-is/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-it/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-iw/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ja/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ka/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-kk/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-km/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-kn/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ko/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ky/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-lo/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-lt/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-lv/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-mk/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ml/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-mn/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-mr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ms/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-my/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-nb/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ne/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-nl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-no/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pa/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pt-rBR/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pt-rPT/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-pt/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ro/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ru/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-si/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sk/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sq/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sv/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-sw/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ta/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-te/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-th/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-tl/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-tr/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-uk/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-ur/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-uz/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-vi/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-zh-rCN/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-zh-rHK/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-zh-rTW/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values-zu/strings.xml1
-rw-r--r--java/com/android/dialer/notification/res/values/strings.xml1
-rw-r--r--java/com/android/dialer/oem/CequintCallerIdManager.java100
-rw-r--r--java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java4
-rw-r--r--java/com/android/dialer/oem/MotorolaUtils.java27
-rw-r--r--java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml17
-rw-r--r--java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml17
-rw-r--r--java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml17
-rw-r--r--java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml17
-rw-r--r--java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml17
-rw-r--r--java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml17
-rw-r--r--java/com/android/dialer/oem/res/values/motorola_config.xml19
-rw-r--r--java/com/android/dialer/p13n/inference/P13nRanking.java2
-rw-r--r--java/com/android/dialer/performancereport/PerformanceReport.java155
-rw-r--r--java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java2
-rw-r--r--java/com/android/dialer/phonenumbercache/ContactInfo.java4
-rw-r--r--java/com/android/dialer/phonenumbercache/ContactInfoHelper.java35
-rw-r--r--java/com/android/dialer/phonenumberproto/Converter.java120
-rw-r--r--java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java108
-rw-r--r--java/com/android/dialer/phonenumberproto/dialer_phone_number.proto172
-rw-r--r--java/com/android/dialer/postcall/AndroidManifest.xml2
-rw-r--r--java/com/android/dialer/postcall/PostCall.java38
-rw-r--r--java/com/android/dialer/protos/ProtoParsers.java125
-rw-r--r--java/com/android/dialer/searchfragment/README.md62
-rw-r--r--java/com/android/dialer/searchfragment/common/AndroidManifest.xml16
-rw-r--r--java/com/android/dialer/searchfragment/common/Projections.java50
-rw-r--r--java/com/android/dialer/searchfragment/common/QueryBoldingUtil.java154
-rw-r--r--java/com/android/dialer/searchfragment/common/QueryFilteringUtil.java141
-rw-r--r--java/com/android/dialer/searchfragment/common/res/layout/search_contact_row.xml69
-rw-r--r--java/com/android/dialer/searchfragment/common/res/values/dimens.xml (renamed from java/com/android/contacts/common/res/drawable/ic_call_and_share.xml)15
-rw-r--r--java/com/android/dialer/searchfragment/cp2/SearchContactCursor.java392
-rw-r--r--java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java204
-rw-r--r--java/com/android/dialer/searchfragment/cp2/SearchContactsCursorLoader.java42
-rw-r--r--java/com/android/dialer/searchfragment/list/AndroidManifest.xml16
-rw-r--r--java/com/android/dialer/searchfragment/list/HeaderViewHolder.java36
-rw-r--r--java/com/android/dialer/searchfragment/list/NewSearchFragment.java125
-rw-r--r--java/com/android/dialer/searchfragment/list/SearchAdapter.java108
-rw-r--r--java/com/android/dialer/searchfragment/list/SearchCursorManager.java273
-rw-r--r--java/com/android/dialer/searchfragment/list/res/layout/fragment_search.xml21
-rw-r--r--java/com/android/dialer/searchfragment/list/res/layout/header_layout.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/AndroidManifest.xml16
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlaceViewHolder.java90
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlacesCursorLoader.java43
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-af/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-am/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ar/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-az/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-b+sr+Latn/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-be/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-bg/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-bn/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-bs/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ca/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-cs/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-da/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-de/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-el/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rAU/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rGB/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rIN/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-es-rUS/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-es/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-et/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-eu/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-fa/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-fi/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-fr-rCA/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-fr/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-gl/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-gu/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-hi/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-hr/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-hu/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-hy/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-in/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-is/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-it/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-iw/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ja/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ka/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-kk/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-km/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-kn/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ko/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ky/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-lo/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-lt/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-lv/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-mk/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ml/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-mn/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-mr/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ms/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-my/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-nb/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ne/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-nl/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-no/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-pa/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-pl/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt-rBR/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt-rPT/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ro/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ru/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-si/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-sk/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-sl/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-sq/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-sr/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-sv/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-sw/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ta/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-te/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-th/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-tl/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-tr/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-uk/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-ur/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-uz/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-vi/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rCN/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rHK/strings.xml21
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rTW/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values-zu/strings.xml22
-rw-r--r--java/com/android/dialer/searchfragment/nearbyplaces/res/values/strings.xml (renamed from java/com/android/contacts/common/res/drawable/ic_back_arrow.xml)10
-rw-r--r--java/com/android/dialer/shortcuts/AndroidManifest.xml2
-rw-r--r--java/com/android/dialer/shortcuts/Shortcuts.java2
-rw-r--r--java/com/android/dialer/simulator/impl/SimulatorContacts.java2
-rw-r--r--java/com/android/dialer/telecom/TelecomUtil.java110
-rw-r--r--java/com/android/dialer/theme/res/values-af/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-am/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ar/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-az/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-be/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-bg/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-bn/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-bs/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ca/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-cs/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-da/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-de/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-el/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-en-rAU/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-en-rGB/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-en-rIN/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-es-rUS/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-es/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-et/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-eu/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-fa/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-fi/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-fr-rCA/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-fr/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-gl/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-gu/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-hi/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-hr/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-hu/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-hy/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-in/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-is/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-it/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-iw/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ja/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ka/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-kk/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-km/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-kn/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ko/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ky/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-lo/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-lt/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-lv/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-mk/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ml/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-mn/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-mr/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ms/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-my/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-nb/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ne/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-nl/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-no/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-pa/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-pl/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-pt-rBR/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-pt-rPT/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-pt/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ro/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ru/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-si/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-sk/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-sl/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-sq/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-sr/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-sv/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-sw/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ta/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-te/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-th/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-tl/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-tr/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-uk/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-ur/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-uz/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-vi/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-zh-rCN/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-zh-rHK/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-zh-rTW/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values-zu/strings.xml2
-rw-r--r--java/com/android/dialer/theme/res/values/strings.xml6
-rw-r--r--java/com/android/dialer/theme/res/values/themes.xml43
-rw-r--r--java/com/android/dialer/util/CallUtil.java22
-rw-r--r--java/com/android/dialer/util/PermissionsUtil.java60
-rw-r--r--java/com/android/dialer/widget/DialerToolbar.java5
-rw-r--r--java/com/android/dialer/widget/EmptyContentView.java (renamed from java/com/android/dialer/app/widget/EmptyContentView.java)20
-rw-r--r--java/com/android/dialer/widget/LockableViewPager.java (renamed from java/com/android/incallui/incall/impl/LockableViewPager.java)6
-rw-r--r--java/com/android/dialer/widget/MessageFragment.java29
-rw-r--r--java/com/android/dialer/widget/res/drawable-hdpi/empty_contacts.png (renamed from java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.png)bin2461 -> 2461 bytes
-rw-r--r--java/com/android/dialer/widget/res/drawable-mdpi/empty_contacts.png (renamed from java/com/android/dialer/app/res/drawable-mdpi/empty_contacts.png)bin1778 -> 1778 bytes
-rw-r--r--java/com/android/dialer/widget/res/drawable-xhdpi/empty_contacts.png (renamed from java/com/android/dialer/app/res/drawable-xhdpi/empty_contacts.png)bin3352 -> 3352 bytes
-rw-r--r--java/com/android/dialer/widget/res/drawable-xxhdpi/empty_contacts.png (renamed from java/com/android/dialer/app/res/drawable-xxhdpi/empty_contacts.png)bin3686 -> 3686 bytes
-rw-r--r--java/com/android/dialer/widget/res/drawable-xxxhdpi/empty_contacts.png (renamed from java/com/android/dialer/app/res/drawable-xxxhdpi/empty_contacts.png)bin5204 -> 5204 bytes
-rw-r--r--java/com/android/dialer/widget/res/layout-land/empty_content_view.xml56
-rw-r--r--java/com/android/dialer/widget/res/layout/dialer_toolbar.xml8
-rw-r--r--java/com/android/dialer/widget/res/layout/empty_content_view.xml (renamed from java/com/android/dialer/app/res/layout/empty_content_view.xml)6
-rw-r--r--java/com/android/dialer/widget/res/layout/fragment_message.xml4
-rw-r--r--java/com/android/dialer/widget/res/values-af/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-am/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-ar/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-az/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-be/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-bg/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-bn/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-bs/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-ca/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-cs/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-da/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-de/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-el/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-en-rAU/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-en-rGB/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-en-rIN/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-es-rUS/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-es/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-et/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-eu/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-fa/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-fi/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-fr-rCA/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-fr/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-gl/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-gu/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-hi/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-hr/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-hu/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-hy/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-in/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-is/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-it/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-iw/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-ja/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-ka/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-kk/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-km/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-kn/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-ko/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-ky/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-lo/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-lt/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-lv/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-mk/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-ml/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-mn/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-mr/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-ms/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-my/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-nb/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-ne/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-nl/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-no/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-pa/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-pl/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-pt-rBR/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-pt-rPT/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-pt/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-ro/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-ru/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-si/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-sk/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-sl/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-sq/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-sr/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-sv/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-sw/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-ta/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-te/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-th/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-tl/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-tr/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-uk/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-ur/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-uz/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-vi/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-zh-rCN/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-zh-rHK/strings.xml21
-rw-r--r--java/com/android/dialer/widget/res/values-zh-rTW/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values-zu/strings.xml22
-rw-r--r--java/com/android/dialer/widget/res/values/colors.xml4
-rw-r--r--java/com/android/dialer/widget/res/values/dimens.xml5
-rw-r--r--java/com/android/dialer/widget/res/values/strings.xml30
-rw-r--r--java/com/android/dialershared/bubble/AndroidManifest.xml22
-rw-r--r--java/com/android/dialershared/bubble/Bubble.java767
-rw-r--r--java/com/android/dialershared/bubble/BubbleInfo.java123
-rw-r--r--java/com/android/dialershared/bubble/ChangeOnScreenBounds.java166
-rw-r--r--java/com/android/dialershared/bubble/CheckableImageButton.java101
-rw-r--r--java/com/android/dialershared/bubble/MoveHandler.java264
-rw-r--r--java/com/android/dialershared/bubble/WindowRoot.java55
-rw-r--r--java/com/android/dialershared/bubble/g3doc/INTEGRATION.md69
-rw-r--r--java/com/android/dialershared/bubble/g3doc/images/bubble_collapsed.pngbin0 -> 60187 bytes
-rw-r--r--java/com/android/dialershared/bubble/g3doc/images/bubble_expanded.pngbin0 -> 79674 bytes
-rw-r--r--java/com/android/dialershared/bubble/g3doc/images/bubble_state.pngbin0 -> 83470 bytes
-rw-r--r--java/com/android/dialershared/bubble/g3doc/images/bubble_text.pngbin0 -> 65641 bytes
-rw-r--r--java/com/android/dialershared/bubble/res/color/bubble_checkable_mask.xml21
-rw-r--r--java/com/android/dialershared/bubble/res/color/bubble_icon_tint_states.xml21
-rw-r--r--java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_ltr.xml23
-rw-r--r--java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_rtl.xml23
-rw-r--r--java/com/android/dialershared/bubble/res/drawable/bubble_ripple_checkable_circle.xml (renamed from java/com/android/dialer/notification/res/values/ids.xml)23
-rw-r--r--java/com/android/dialershared/bubble/res/drawable/bubble_ripple_circle.xml (renamed from java/com/android/contacts/common/res/drawable/ic_search_video_call.xml)16
-rw-r--r--java/com/android/dialershared/bubble/res/layout/bubble_base.xml127
-rw-r--r--java/com/android/dialershared/bubble/res/values/colors.xml (renamed from java/com/android/incallui/res/drawable/img_conference_automirrored.xml)9
-rw-r--r--java/com/android/dialershared/bubble/res/values/values.xml25
-rw-r--r--java/com/android/incallui/AndroidManifest.xml110
-rw-r--r--java/com/android/incallui/AnswerScreenPresenter.java59
-rw-r--r--java/com/android/incallui/AnswerScreenPresenterStub.java11
-rw-r--r--java/com/android/incallui/AudioRouteSelectorActivity.java47
-rw-r--r--java/com/android/incallui/CallButtonPresenter.java34
-rw-r--r--java/com/android/incallui/CallCardPresenter.java101
-rw-r--r--java/com/android/incallui/CallerInfoUtils.java7
-rw-r--r--java/com/android/incallui/ContactInfoCache.java30
-rw-r--r--java/com/android/incallui/ExternalCallNotifier.java52
-rw-r--r--java/com/android/incallui/InCallActivity.java31
-rw-r--r--java/com/android/incallui/InCallPresenter.java12
-rw-r--r--java/com/android/incallui/InCallServiceImpl.java9
-rw-r--r--java/com/android/incallui/ReturnToCallActionReceiver.java132
-rw-r--r--java/com/android/incallui/ReturnToCallController.java212
-rw-r--r--java/com/android/incallui/StatusBarNotifier.java118
-rw-r--r--java/com/android/incallui/VideoCallPresenter.java2
-rw-r--r--java/com/android/incallui/answer/impl/AnswerFragment.java16
-rw-r--r--java/com/android/incallui/answer/impl/PillDrawable.java43
-rw-r--r--java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml3
-rw-r--r--java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java2
-rw-r--r--java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java34
-rw-r--r--java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java25
-rw-r--r--java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java49
-rw-r--r--java/com/android/incallui/answer/impl/res/values-af/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-am/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ar/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-az/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-b+sr+Latn/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-be/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-bg/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-bn/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-bs/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ca/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-cs/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-da/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-de/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-el/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-es/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-et/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-eu/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-fa/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-fi/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-fr/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-gl/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-gu/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-hi/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-hr/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-hu/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-hy/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-in/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-is/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-it/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-iw/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ja/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ka/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-kk/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-km/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-kn/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ko/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ky/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-lo/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-lt/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-lv/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-mk/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ml/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-mn/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-mr/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ms/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-my/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-nb/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ne/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-nl/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-no/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pa/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pl/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-pt/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ro/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ru/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-si/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sk/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sl/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sq/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sr/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sv/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-sw/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ta/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-te/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-th/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-tl/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-tr/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-uk/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-ur/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-uz/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-vi/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values-zu/strings.xml18
-rw-r--r--java/com/android/incallui/answer/impl/res/values/strings.xml17
-rw-r--r--java/com/android/incallui/answer/protocol/AnswerScreen.java2
-rw-r--r--java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java7
-rw-r--r--java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java5
-rw-r--r--java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java11
-rw-r--r--java/com/android/incallui/bindings/InCallUiBindings.java9
-rw-r--r--java/com/android/incallui/bindings/InCallUiBindingsStub.java38
-rw-r--r--java/com/android/incallui/call/CallList.java18
-rw-r--r--java/com/android/incallui/call/DialerCall.java138
-rw-r--r--java/com/android/incallui/call/DialerCallListener.java2
-rw-r--r--java/com/android/incallui/call/TelecomAdapter.java8
-rw-r--r--java/com/android/incallui/calllocation/impl/DownloadMapImageTask.java1
-rw-r--r--java/com/android/incallui/calllocation/impl/LocationHelper.java7
-rw-r--r--java/com/android/incallui/calllocation/impl/ReverseGeocodeTask.java1
-rw-r--r--java/com/android/incallui/commontheme/res/anim/blinking.xml10
-rw-r--r--java/com/android/incallui/commontheme/res/drawable-hdpi/ic_phone_audio_white_36dp.pngbin1010 -> 0 bytes
-rw-r--r--java/com/android/incallui/commontheme/res/drawable-mdpi/ic_phone_audio_white_36dp.pngbin682 -> 0 bytes
-rw-r--r--java/com/android/incallui/commontheme/res/drawable-xhdpi/ic_phone_audio_white_36dp.pngbin1362 -> 0 bytes
-rw-r--r--java/com/android/incallui/commontheme/res/drawable-xxhdpi/ic_phone_audio_white_36dp.pngbin2259 -> 0 bytes
-rw-r--r--java/com/android/incallui/commontheme/res/drawable-xxxhdpi/ic_phone_audio_white_36dp.pngbin3156 -> 0 bytes
-rw-r--r--java/com/android/incallui/commontheme/res/values-af/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-am/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ar/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-az/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-b+sr+Latn/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-be/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-bg/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-bn/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-bs/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ca/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-cs/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-da/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-de/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-el/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-en-rAU/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-en-rGB/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-en-rIN/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-es-rUS/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-es/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-et/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-eu/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-fa/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-fi/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-fr-rCA/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-fr/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-gl/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-gu/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-hi/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-hr/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-hu/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-hy/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-in/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-is/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-it/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-iw/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ja/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ka/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-kk/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-km/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-kn/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ko/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ky/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-lo/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-lt/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-lv/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-mk/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ml/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-mn/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-mr/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ms/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-my/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-nb/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ne/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-nl/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-no/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-pa/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-pl/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-pt-rBR/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-pt-rPT/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-pt/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ro/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ru/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-si/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-sk/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-sl/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-sq/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-sr/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-sv/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-sw/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ta/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-te/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-th/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-tl/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-tr/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-uk/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-ur/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-uz/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-vi/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-zh-rCN/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-zh-rHK/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-zh-rTW/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values-zu/strings.xml18
-rw-r--r--java/com/android/incallui/commontheme/res/values/strings.xml22
-rw-r--r--java/com/android/incallui/contactgrid/BottomRow.java3
-rw-r--r--java/com/android/incallui/contactgrid/ContactGridManager.java50
-rw-r--r--java/com/android/incallui/contactgrid/TopRow.java52
-rw-r--r--java/com/android/incallui/contactgrid/res/values-af/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-am/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ar/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-az/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-b+sr+Latn/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-be/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-bg/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-bn/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-bs/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ca/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-cs/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-da/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-de/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-el/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-en-rAU/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-en-rGB/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-en-rIN/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-es-rUS/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-es/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-et/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-eu/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-fa/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-fi/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-fr-rCA/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-fr/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-gl/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-gu/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-hi/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-hr/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-hu/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-hy/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-in/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-is/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-it/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-iw/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ja/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ka/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-kk/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-km/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-kn/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ko/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ky/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-lo/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-lt/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-lv/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-mk/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ml/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-mn/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-mr/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ms/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-my/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-nb/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ne/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-nl/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-no/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-pa/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-pl/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-pt-rBR/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-pt-rPT/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-pt/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ro/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ru/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-si/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-sk/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-sl/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-sq/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-sr/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-sv/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-sw/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ta/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-te/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-th/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-tl/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-tr/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-uk/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-ur/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-uz/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-vi/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-zh-rCN/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-zh-rHK/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-zh-rTW/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values-zu/strings.xml18
-rw-r--r--java/com/android/incallui/contactgrid/res/values/strings.xml21
-rw-r--r--java/com/android/incallui/incall/impl/ButtonChooserFactory.java15
-rw-r--r--java/com/android/incallui/incall/impl/ButtonController.java39
-rw-r--r--java/com/android/incallui/incall/impl/InCallFragment.java4
-rw-r--r--java/com/android/incallui/incall/impl/InCallPagerAdapter.java4
-rw-r--r--java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml17
-rw-r--r--java/com/android/incallui/incall/impl/res/values-af/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-am/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ar/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-az/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-b+sr+Latn/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-be/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-bg/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-bn/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-bs/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ca/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-cs/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-da/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-de/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-el/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-en-rAU/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-en-rGB/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-en-rIN/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-es-rUS/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-es/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-et/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-eu/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-fa/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-fi/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-fr-rCA/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-fr/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-gl/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-gu/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-h580dp/dimens.xml4
-rw-r--r--java/com/android/incallui/incall/impl/res/values-h600dp/dimens.xml20
-rw-r--r--java/com/android/incallui/incall/impl/res/values-h650dp/styles.xml (renamed from java/com/android/incallui/incall/impl/res/values-h580dp/styles.xml)0
-rw-r--r--java/com/android/incallui/incall/impl/res/values-hi/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-hr/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-hu/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-hy/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-in/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-is/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-it/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-iw/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ja/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ka/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-kk/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-km/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-kn/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ko/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ky/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-lo/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-lt/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-lv/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-mk/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ml/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-mn/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-mr/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ms/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-my/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-nb/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ne/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-nl/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-no/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-pa/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-pl/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-pt-rBR/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-pt-rPT/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-pt/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ro/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ru/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-si/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-sk/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-sl/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-sq/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-sr/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-sv/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-sw/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ta/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-te/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-th/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-tl/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-tr/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-uk/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-ur/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-uz/strings.xml21
-rw-r--r--java/com/android/incallui/incall/impl/res/values-vi/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-w260dp-h520dp/dimens.xml7
-rw-r--r--java/com/android/incallui/incall/impl/res/values-w260dp-h580dp/dimens.xml23
-rw-r--r--java/com/android/incallui/incall/impl/res/values-w300dp-h540dp/dimens.xml5
-rw-r--r--java/com/android/incallui/incall/impl/res/values-w300dp-h620dp/dimens.xml21
-rw-r--r--java/com/android/incallui/incall/impl/res/values-zh-rCN/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-zh-rHK/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-zh-rTW/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values-zu/strings.xml19
-rw-r--r--java/com/android/incallui/incall/impl/res/values/strings.xml28
-rw-r--r--java/com/android/incallui/incall/protocol/PrimaryCallState.java8
-rw-r--r--java/com/android/incallui/incall/protocol/PrimaryInfo.java5
-rw-r--r--java/com/android/incallui/res/drawable-hdpi/img_conference.pngbin7037 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-mdpi/img_conference.pngbin4629 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-xhdpi/img_conference.pngbin9517 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-xxhdpi/img_conference.pngbin16306 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable-xxxhdpi/img_conference.pngbin19584 -> 0 bytes
-rw-r--r--java/com/android/incallui/res/drawable/on_going_call.xml (renamed from java/com/android/incallui/res/anim/on_going_call.xml)18
-rw-r--r--java/com/android/incallui/res/values-af/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-am/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ar/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-az/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-b+sr+Latn/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-be/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-bg/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-bn/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-bs/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ca/strings.xml18
-rw-r--r--java/com/android/incallui/res/values-cs/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-da/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-de/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-el/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-en-rAU/strings.xml18
-rw-r--r--java/com/android/incallui/res/values-en-rGB/strings.xml18
-rw-r--r--java/com/android/incallui/res/values-en-rIN/strings.xml18
-rw-r--r--java/com/android/incallui/res/values-es-rUS/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-es/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-et/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-eu/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-fa/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-fi/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-fr-rCA/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-fr/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-gl/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-gu/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-hi/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-hr/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-hu/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-hy/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-in/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-is/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-it/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-iw/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ja/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ka/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-kk/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-km/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-kn/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ko/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ky/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-lo/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-lt/strings.xml18
-rw-r--r--java/com/android/incallui/res/values-lv/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-mk/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ml/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-mn/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-mr/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ms/strings.xml18
-rw-r--r--java/com/android/incallui/res/values-my/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-nb/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ne/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-nl/strings.xml18
-rw-r--r--java/com/android/incallui/res/values-no/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-pa/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-pl/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-pt-rBR/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-pt-rPT/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-pt/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ro/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ru/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-si/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-sk/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-sl/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-sq/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-sr/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-sv/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-sw/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ta/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-te/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-th/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-tl/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-tr/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-uk/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-ur/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-uz/strings.xml18
-rw-r--r--java/com/android/incallui/res/values-vi/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-zh-rCN/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-zh-rHK/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-zh-rTW/strings.xml16
-rw-r--r--java/com/android/incallui/res/values-zu/strings.xml16
-rw-r--r--java/com/android/incallui/res/values/dimens.xml4
-rw-r--r--java/com/android/incallui/res/values/strings.xml16
-rw-r--r--java/com/android/incallui/res/values/styles.xml9
-rw-r--r--java/com/android/incallui/sessiondata/MultimediaFragment.java17
-rw-r--r--java/com/android/incallui/sessiondata/res/layout/fragment_composer_image.xml6
-rw-r--r--java/com/android/incallui/spam/SpamCallListListener.java53
-rw-r--r--java/com/android/incallui/speakerbuttonlogic/AndroidManifest.xml18
-rw-r--r--java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java91
-rw-r--r--java/com/android/incallui/video/impl/SpeakerButtonController.java2
-rw-r--r--java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java11
-rw-r--r--java/com/android/incallui/video/impl/VideoCallFragment.java23
-rw-r--r--java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml33
-rw-r--r--java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml2
-rw-r--r--java/com/android/incallui/video/impl/res/values-land/dimens.xml2
-rw-r--r--java/com/android/incallui/video/impl/res/values-land/styles.xml3
-rw-r--r--java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml2
-rw-r--r--java/com/android/incallui/video/impl/res/values/dimens.xml2
-rw-r--r--java/com/android/incallui/video/impl/res/values/styles.xml3
-rw-r--r--java/com/android/incallui/videotech/VideoTech.java5
-rw-r--r--java/com/android/incallui/videotech/empty/EmptyVideoTech.java6
-rw-r--r--java/com/android/incallui/videotech/ims/ImsVideoTech.java10
-rw-r--r--java/com/android/incallui/videotech/lightbringer/LightbringerTech.java28
-rw-r--r--java/com/android/voicemail/AndroidManifest.xml (renamed from java/com/android/voicemail/permissions.xml)15
-rw-r--r--java/com/android/voicemail/impl/AndroidManifest.xml5
-rw-r--r--java/com/android/voicemail/impl/OmtpReceiver.java105
-rw-r--r--java/com/android/voicemail/impl/TelephonyManagerStub.java40
-rw-r--r--java/com/android/voicemail/impl/TelephonyVvmConfigManager.java2
-rw-r--r--java/com/android/voicemail/impl/VoicemailClientImpl.java2
-rw-r--r--java/com/android/voicemail/impl/VoicemailModule.java3
-rw-r--r--java/com/android/voicemail/impl/VvmPackageInstallReceiver.java80
-rw-r--r--java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java254
-rw-r--r--java/com/android/voicemail/impl/fetch/VoicemailFetchedCallback.java18
-rw-r--r--java/com/android/voicemail/impl/imap/ImapHelper.java19
-rw-r--r--java/com/android/voicemail/impl/mail/MailTransport.java3
-rw-r--r--java/com/android/voicemail/impl/mail/Message.java4
-rw-r--r--java/com/android/voicemail/impl/mail/internet/MimeHeader.java1
-rw-r--r--java/com/android/voicemail/impl/mail/internet/MimeMessage.java24
-rw-r--r--java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java2
-rw-r--r--java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java2
-rw-r--r--java/com/android/voicemail/impl/res/xml/vvm_config.xml69
-rw-r--r--java/com/android/voicemail/impl/scheduling/TaskSchedulerService.java400
-rw-r--r--java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java18
-rw-r--r--java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java62
-rw-r--r--java/com/android/voicemail/impl/transcribe/TranscriptionDbHelper.java105
-rw-r--r--java/com/android/voicemail/impl/transcribe/TranscriptionService.java203
-rw-r--r--java/com/android/voicemail/impl/transcribe/TranscriptionTask.java191
-rw-r--r--java/com/android/voicemail/impl/transcribe/VoicemailCompat.java59
-rw-r--r--java/com/android/voicemail/impl/transcribe/grpc/TranscriptionClient.java61
-rw-r--r--java/com/android/voicemail/impl/transcribe/grpc/TranscriptionClientFactory.java194
-rw-r--r--java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto44
1936 files changed, 33859 insertions, 10085 deletions
diff --git a/Android.mk b/Android.mk
index 984cd286d..dc34cc4a4 100644
--- a/Android.mk
+++ b/Android.mk
@@ -4,6 +4,13 @@
# * removed com.google.android.geo.API_KEY key. This should be added to
# the manifest files in java/com/android/incallui/calllocation/impl/
# and /java/com/android/incallui/maps/impl/
+# * b/62417801 removed translation string variant:
+# $ find java/com/android/incallui/res/*mcc262*/strings.xml | xargs rm
+# * b/62343966 include manually generated GRPC service class:
+# $ protoc --plugin=protoc-gen-grpc-java=prebuilts/tools/common/m2/repository/io/grpc/protoc-gen-grpc-java/1.0.3/protoc-gen-grpc-java-1.0.3-linux-x86_64.exe \
+# --grpc-java_out=lite:"packages/apps/Dialer/java/com/android/voicemail/impl/" \
+# --proto_path="packages/apps/Dialer/java/com/android/voicemail/impl/transcribe/grpc/" "packages/apps/Dialer/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto"
+# * b/62787062 / b/37077388 temporarily disable proguard with javac
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
@@ -20,11 +27,13 @@ BASE_DIR := java/com/android
SRC_DIRS := \
$(BASE_DIR)/contacts/common \
$(BASE_DIR)/dialer \
+ $(BASE_DIR)/dialershared \
$(BASE_DIR)/incallui \
$(BASE_DIR)/voicemail
# Exclude files incompatible with AOSP.
EXCLUDE_FILES := \
+ $(BASE_DIR)/dialer/calllog/testing/FakeCallLogApplication.java \
$(BASE_DIR)/incallui/calllocation/impl/AuthException.java \
$(BASE_DIR)/incallui/calllocation/impl/CallLocationImpl.java \
$(BASE_DIR)/incallui/calllocation/impl/CallLocationModule.java \
@@ -39,7 +48,7 @@ EXCLUDE_FILES := \
$(BASE_DIR)/incallui/calllocation/impl/TrafficStatsTags.java \
$(BASE_DIR)/incallui/maps/impl/MapsImpl.java \
$(BASE_DIR)/incallui/maps/impl/MapsModule.java \
- $(BASE_DIR)/incallui/maps/impl/StaticMapFragment.java
+ $(BASE_DIR)/incallui/maps/impl/StaticMapFragment.java \
# Exclude testing only class, not used anywhere here
EXCLUDE_FILES += \
@@ -62,19 +71,25 @@ RES_DIRS := \
$(BASE_DIR)/dialer/calllog/ui/res \
$(BASE_DIR)/dialer/calllogutils/res \
$(BASE_DIR)/dialer/common/res \
+ $(BASE_DIR)/dialer/contactactions/res \
$(BASE_DIR)/dialer/contactsfragment/res \
$(BASE_DIR)/dialer/dialpadview/res \
$(BASE_DIR)/dialer/interactions/res \
+ $(BASE_DIR)/dialer/main/impl/res \
$(BASE_DIR)/dialer/notification/res \
$(BASE_DIR)/dialer/oem/res \
$(BASE_DIR)/dialer/phonenumberutil/res \
$(BASE_DIR)/dialer/postcall/res \
+ $(BASE_DIR)/dialer/searchfragment/list/res \
+ $(BASE_DIR)/dialer/searchfragment/nearbyplaces/res \
+ $(BASE_DIR)/dialer/searchfragment/common/res \
$(BASE_DIR)/dialer/shortcuts/res \
$(BASE_DIR)/dialer/speeddial/res \
$(BASE_DIR)/dialer/theme/res \
$(BASE_DIR)/dialer/util/res \
$(BASE_DIR)/dialer/voicemailstatus/res \
$(BASE_DIR)/dialer/widget/res \
+ $(BASE_DIR)/dialershared/bubble/res \
$(BASE_DIR)/incallui/answer/impl/affordance/res \
$(BASE_DIR)/incallui/answer/impl/answermethod/res \
$(BASE_DIR)/incallui/answer/impl/hint/res \
@@ -88,6 +103,7 @@ RES_DIRS := \
$(BASE_DIR)/incallui/incall/impl/res \
$(BASE_DIR)/incallui/res \
$(BASE_DIR)/incallui/sessiondata/res \
+ $(BASE_DIR)/incallui/speakerbuttonlogic/res \
$(BASE_DIR)/incallui/telecomeventui/res \
$(BASE_DIR)/incallui/video/impl/res \
$(BASE_DIR)/incallui/video/protocol/res \
@@ -113,13 +129,18 @@ DIALER_MANIFEST_FILES += \
$(BASE_DIR)/dialer/calllog/ui/AndroidManifest.xml \
$(BASE_DIR)/dialer/calllogutils/AndroidManifest.xml \
$(BASE_DIR)/dialer/common/AndroidManifest.xml \
+ $(BASE_DIR)/dialer/contactactions/AndroidManifest.xml \
$(BASE_DIR)/dialer/contactsfragment/AndroidManifest.xml \
$(BASE_DIR)/dialer/dialpadview/AndroidManifest.xml \
$(BASE_DIR)/dialer/interactions/AndroidManifest.xml \
+ $(BASE_DIR)/dialer/main/impl/AndroidManifest.xml \
$(BASE_DIR)/dialer/notification/AndroidManifest.xml \
$(BASE_DIR)/dialer/oem/AndroidManifest.xml \
$(BASE_DIR)/dialer/phonenumberutil/AndroidManifest.xml \
$(BASE_DIR)/dialer/postcall/AndroidManifest.xml \
+ $(BASE_DIR)/dialer/searchfragment/list/AndroidManifest.xml \
+ $(BASE_DIR)/dialer/searchfragment/nearbyplaces/AndroidManifest.xml \
+ $(BASE_DIR)/dialer/searchfragment/common/AndroidManifest.xml \
$(BASE_DIR)/dialer/shortcuts/AndroidManifest.xml \
$(BASE_DIR)/dialer/simulator/impl/AndroidManifest.xml \
$(BASE_DIR)/dialer/speeddial/AndroidManifest.xml \
@@ -127,6 +148,7 @@ DIALER_MANIFEST_FILES += \
$(BASE_DIR)/dialer/util/AndroidManifest.xml \
$(BASE_DIR)/dialer/voicemailstatus/AndroidManifest.xml \
$(BASE_DIR)/dialer/widget/AndroidManifest.xml \
+ $(BASE_DIR)/dialershared/bubble/AndroidManifest.xml \
$(BASE_DIR)/incallui/AndroidManifest.xml \
$(BASE_DIR)/incallui/answer/impl/affordance/AndroidManifest.xml \
$(BASE_DIR)/incallui/answer/impl/AndroidManifest.xml \
@@ -139,12 +161,13 @@ DIALER_MANIFEST_FILES += \
$(BASE_DIR)/incallui/hold/AndroidManifest.xml \
$(BASE_DIR)/incallui/incall/impl/AndroidManifest.xml \
$(BASE_DIR)/incallui/sessiondata/AndroidManifest.xml \
+ $(BASE_DIR)/incallui/speakerbuttonlogic/AndroidManifest.xml \
$(BASE_DIR)/incallui/telecomeventui/AndroidManifest.xml \
$(BASE_DIR)/incallui/video/impl/AndroidManifest.xml \
$(BASE_DIR)/incallui/video/protocol/AndroidManifest.xml \
$(BASE_DIR)/incallui/wifi/AndroidManifest.xml \
$(BASE_DIR)/voicemail/impl/AndroidManifest.xml \
- $(BASE_DIR)/voicemail/permissions.xml \
+ $(BASE_DIR)/voicemail/AndroidManifest.xml \
# Merge all manifest files.
@@ -180,19 +203,25 @@ LOCAL_AAPT_FLAGS := \
--extra-packages com.android.dialer.calllog.ui \
--extra-packages com.android.dialer.calllogutils \
--extra-packages com.android.dialer.common \
+ --extra-packages com.android.dialer.contactactions \
--extra-packages com.android.dialer.contactsfragment \
--extra-packages com.android.dialer.dialpadview \
--extra-packages com.android.dialer.interactions \
+ --extra-packages com.android.dialer.main.impl \
--extra-packages com.android.dialer.notification \
--extra-packages com.android.dialer.oem \
--extra-packages com.android.dialer.phonenumberutil \
--extra-packages com.android.dialer.postcall \
+ --extra-packages com.android.dialer.searchfragment.list \
+ --extra-packages com.android.dialer.searchfragment.nearbyplaces \
+ --extra-packages com.android.dialer.searchfragment.common \
--extra-packages com.android.dialer.shortcuts \
--extra-packages com.android.dialer.speeddial \
--extra-packages com.android.dialer.theme \
--extra-packages com.android.dialer.util \
--extra-packages com.android.dialer.voicemailstatus \
--extra-packages com.android.dialer.widget \
+ --extra-packages com.android.dialershared.bubble \
--extra-packages com.android.incallui \
--extra-packages com.android.incallui.answer.impl \
--extra-packages com.android.incallui.answer.impl.affordance \
@@ -209,6 +238,7 @@ LOCAL_AAPT_FLAGS := \
--extra-packages com.android.incallui.incall.impl \
--extra-packages com.android.incallui.maps.impl \
--extra-packages com.android.incallui.sessiondata \
+ --extra-packages com.android.incallui.speakerbuttonlogic \
--extra-packages com.android.incallui.telecomeventui \
--extra-packages com.android.incallui.video \
--extra-packages com.android.incallui.video.impl \
@@ -223,6 +253,7 @@ LOCAL_AAPT_FLAGS := \
LOCAL_STATIC_JAVA_LIBRARIES := \
android-common \
+ android-support-dynamic-animation \
com.android.vcard \
dialer-commons-io-target \
dialer-dagger2-target \
@@ -230,6 +261,11 @@ LOCAL_STATIC_JAVA_LIBRARIES := \
dialer-gifdecoder-target \
dialer-glide-target \
dialer-guava-target \
+ dialer-grpc-all-target \
+ dialer-grpc-core-target \
+ dialer-grpc-okhttp-target \
+ dialer-grpc-protobuf-lite-target \
+ dialer-grpc-stub-target \
dialer-javax-annotation-api-target \
dialer-javax-inject-target \
dialer-libshortcutbadger-target \
@@ -270,6 +306,13 @@ LOCAL_ADDITIONAL_DEPENDENCIES += $(PROCESSOR_JARS)
LOCAL_JACK_FLAGS += --processorpath $(call normalize-path-list,$(PROCESSOR_JARS))
LOCAL_JAVACFLAGS += -processorpath $(call normalize-path-list,$(PROCESSOR_JARS))
+
+# Begin Bug: 37077388
+LOCAL_DX_FLAGS := --core-library --multi-dex
+LOCAL_JACK_FLAGS := --multi-dex native
+
+LOCAL_PROGUARD_ENABLED := disabled
+ifdef LOCAL_JACK_ENABLED
# Proguard includes
LOCAL_PROGUARD_FLAG_FILES := \
java/com/android/dialer/common/proguard.flags \
@@ -279,11 +322,11 @@ LOCAL_PROGUARD_FLAG_FILES := \
java/com/android/incallui/answer/impl/proguard.flags
LOCAL_PROGUARD_ENABLED := custom
-ifdef LOCAL_JACK_ENABLED
-# Bug: 37077388
LOCAL_PROGUARD_ENABLED += optimization
endif
+# End Bug: 37077388
+
LOCAL_SDK_VERSION := system_current
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := Dialer
@@ -314,6 +357,11 @@ LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
dialer-dagger2:../../../prebuilts/tools/common/m2/repository/com/google/dagger/dagger/2.7/dagger-2.7$(COMMON_JAVA_PACKAGE_SUFFIX) \
dialer-dagger2-producers:../../../prebuilts/tools/common/m2/repository/com/google/dagger/dagger-producers/2.7/dagger-producers-2.7$(COMMON_JAVA_PACKAGE_SUFFIX) \
dialer-guava:../../../prebuilts/tools/common/m2/repository/com/google/guava/guava/20.0/guava-20.0$(COMMON_JAVA_PACKAGE_SUFFIX) \
+ dialer-grpc-all:../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-all/1.0.3/grpc-all-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX) \
+ dialer-grpc-core:../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-core/1.0.3/grpc-core-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX) \
+ dialer-grpc-okhttp:../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-okhttp/1.0.3/grpc-okhttp-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX) \
+ dialer-grpc-protobuf-lite:../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-protobuf-lite/1.0.3/grpc-protobuf-lite-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX) \
+ dialer-grpc-stub:../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-stub/1.0.3/grpc-stub-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX) \
dialer-javax-annotation-api:../../../prebuilts/tools/common/m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2$(COMMON_JAVA_PACKAGE_SUFFIX) \
dialer-javax-inject:../../../prebuilts/tools/common/m2/repository/javax/inject/javax.inject/1/javax.inject-1$(COMMON_JAVA_PACKAGE_SUFFIX)
@@ -432,3 +480,53 @@ LOCAL_UNINSTALLABLE_MODULE := true
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
+
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_MODULE := dialer-grpc-core-target
+LOCAL_SDK_VERSION := current
+LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-core/1.0.3/grpc-core-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX)
+LOCAL_UNINSTALLABLE_MODULE := true
+
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_MODULE := dialer-grpc-okhttp-target
+LOCAL_SDK_VERSION := current
+LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-okhttp/1.0.3/grpc-okhttp-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX)
+LOCAL_UNINSTALLABLE_MODULE := true
+
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_MODULE := dialer-grpc-protobuf-lite-target
+LOCAL_SDK_VERSION := current
+LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-protobuf-lite/1.0.3/grpc-protobuf-lite-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX)
+LOCAL_UNINSTALLABLE_MODULE := true
+
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_MODULE := dialer-grpc-stub-target
+LOCAL_SDK_VERSION := current
+LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-stub/1.0.3/grpc-stub-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX)
+LOCAL_UNINSTALLABLE_MODULE := true
+
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+LOCAL_MODULE := dialer-grpc-all-target
+LOCAL_SDK_VERSION := current
+LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/io/grpc/grpc-all/1.0.3/grpc-all-1.0.3$(COMMON_JAVA_PACKAGE_SUFFIX)
+LOCAL_UNINSTALLABLE_MODULE := true
+
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c04f8bec9..8dc9f6bb9 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -16,8 +16,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
coreApp="true"
package="com.android.dialer"
- android:versionCode="130000"
- android:versionName="10.0">
+ android:versionCode="140000"
+ android:versionName="11.0">
<uses-sdk
android:minSdkVersion="23"
@@ -55,6 +55,7 @@
<uses-permission android:name="android.permission.BROADCAST_STICKY"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
+ <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
<!-- We use this to disable the status bar buttons of home, back and recent
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_bluetooth_audio_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_bluetooth_audio_white_24.png
new file mode 100644
index 000000000..046372d0d
--- /dev/null
+++ b/assets/quantum/res/drawable-hdpi/quantum_ic_bluetooth_audio_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_check_circle_googblue_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_check_circle_googblue_24.png
deleted file mode 100644
index 52ff857ba..000000000
--- a/assets/quantum/res/drawable-hdpi/quantum_ic_check_circle_googblue_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_close_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_close_white_24.png
index ceb1a1eeb..fd3edbd0b 100644
--- a/assets/quantum/res/drawable-hdpi/quantum_ic_close_white_24.png
+++ b/assets/quantum/res/drawable-hdpi/quantum_ic_close_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_forward_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_forward_white_24.png
deleted file mode 100644
index a0711d377..000000000
--- a/assets/quantum/res/drawable-hdpi/quantum_ic_forward_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_grade_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_grade_white_24.png
index 86eecdd4a..dbbb9f6f2 100644
--- a/assets/quantum/res/drawable-hdpi/quantum_ic_grade_white_24.png
+++ b/assets/quantum/res/drawable-hdpi/quantum_ic_grade_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_headset_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_headset_white_24.png
new file mode 100644
index 000000000..d25d3888e
--- /dev/null
+++ b/assets/quantum/res/drawable-hdpi/quantum_ic_headset_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_image_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_image_white_24.png
index b414cf5b6..caf34c2d2 100644
--- a/assets/quantum/res/drawable-hdpi/quantum_ic_image_white_24.png
+++ b/assets/quantum/res/drawable-hdpi/quantum_ic_image_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_mic_off_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_mic_off_white_24.png
new file mode 100644
index 000000000..6fccf5d09
--- /dev/null
+++ b/assets/quantum/res/drawable-hdpi/quantum_ic_mic_off_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_network_wifi_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_network_wifi_white_24.png
deleted file mode 100644
index 8df91f236..000000000
--- a/assets/quantum/res/drawable-hdpi/quantum_ic_network_wifi_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_phone_in_talk_white_24.png b/assets/quantum/res/drawable-hdpi/quantum_ic_phone_in_talk_white_24.png
new file mode 100644
index 000000000..f2c89424e
--- /dev/null
+++ b/assets/quantum/res/drawable-hdpi/quantum_ic_phone_in_talk_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_phone_in_talk_white_36.png b/assets/quantum/res/drawable-hdpi/quantum_ic_phone_in_talk_white_36.png
new file mode 100644
index 000000000..ec67c6ef9
--- /dev/null
+++ b/assets/quantum/res/drawable-hdpi/quantum_ic_phone_in_talk_white_36.png
Binary files differ
diff --git a/assets/quantum/res/drawable-hdpi/quantum_ic_report_white_18.png b/assets/quantum/res/drawable-hdpi/quantum_ic_report_white_18.png
deleted file mode 100644
index f0bb6f5be..000000000
--- a/assets/quantum/res/drawable-hdpi/quantum_ic_report_white_18.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_bluetooth_audio_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_bluetooth_audio_white_24.png
new file mode 100644
index 000000000..ddffcf1f9
--- /dev/null
+++ b/assets/quantum/res/drawable-mdpi/quantum_ic_bluetooth_audio_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_check_circle_googblue_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_check_circle_googblue_24.png
deleted file mode 100644
index eff562722..000000000
--- a/assets/quantum/res/drawable-mdpi/quantum_ic_check_circle_googblue_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_close_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_close_white_24.png
index af7f8288d..3f1f3f8e7 100644
--- a/assets/quantum/res/drawable-mdpi/quantum_ic_close_white_24.png
+++ b/assets/quantum/res/drawable-mdpi/quantum_ic_close_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_forward_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_forward_white_24.png
deleted file mode 100644
index 65f73299f..000000000
--- a/assets/quantum/res/drawable-mdpi/quantum_ic_forward_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_grade_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_grade_white_24.png
index d2cbe4c92..d85d32461 100644
--- a/assets/quantum/res/drawable-mdpi/quantum_ic_grade_white_24.png
+++ b/assets/quantum/res/drawable-mdpi/quantum_ic_grade_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_headset_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_headset_white_24.png
new file mode 100644
index 000000000..df063799d
--- /dev/null
+++ b/assets/quantum/res/drawable-mdpi/quantum_ic_headset_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_image_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_image_white_24.png
index d474bd577..d17a3faf4 100644
--- a/assets/quantum/res/drawable-mdpi/quantum_ic_image_white_24.png
+++ b/assets/quantum/res/drawable-mdpi/quantum_ic_image_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_mic_off_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_mic_off_white_24.png
new file mode 100644
index 000000000..15094d884
--- /dev/null
+++ b/assets/quantum/res/drawable-mdpi/quantum_ic_mic_off_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_network_wifi_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_network_wifi_white_24.png
deleted file mode 100644
index 1c3e8b987..000000000
--- a/assets/quantum/res/drawable-mdpi/quantum_ic_network_wifi_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_phone_in_talk_white_24.png b/assets/quantum/res/drawable-mdpi/quantum_ic_phone_in_talk_white_24.png
new file mode 100644
index 000000000..e6f98af95
--- /dev/null
+++ b/assets/quantum/res/drawable-mdpi/quantum_ic_phone_in_talk_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_phone_in_talk_white_36.png b/assets/quantum/res/drawable-mdpi/quantum_ic_phone_in_talk_white_36.png
new file mode 100644
index 000000000..f2c89424e
--- /dev/null
+++ b/assets/quantum/res/drawable-mdpi/quantum_ic_phone_in_talk_white_36.png
Binary files differ
diff --git a/assets/quantum/res/drawable-mdpi/quantum_ic_report_white_18.png b/assets/quantum/res/drawable-mdpi/quantum_ic_report_white_18.png
deleted file mode 100644
index 63ef73683..000000000
--- a/assets/quantum/res/drawable-mdpi/quantum_ic_report_white_18.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_bluetooth_audio_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_bluetooth_audio_white_24.png
new file mode 100644
index 000000000..b494eb361
--- /dev/null
+++ b/assets/quantum/res/drawable-xhdpi/quantum_ic_bluetooth_audio_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_check_circle_googblue_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_check_circle_googblue_24.png
deleted file mode 100644
index e31fcf350..000000000
--- a/assets/quantum/res/drawable-xhdpi/quantum_ic_check_circle_googblue_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_close_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_close_white_24.png
index b7c7ffd0e..59c2fae58 100644
--- a/assets/quantum/res/drawable-xhdpi/quantum_ic_close_white_24.png
+++ b/assets/quantum/res/drawable-xhdpi/quantum_ic_close_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_forward_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_forward_white_24.png
deleted file mode 100644
index 7a5df52bf..000000000
--- a/assets/quantum/res/drawable-xhdpi/quantum_ic_forward_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_grade_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_grade_white_24.png
index d65f39d7c..ce1f67074 100644
--- a/assets/quantum/res/drawable-xhdpi/quantum_ic_grade_white_24.png
+++ b/assets/quantum/res/drawable-xhdpi/quantum_ic_grade_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_headset_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_headset_white_24.png
new file mode 100644
index 000000000..d7a741b61
--- /dev/null
+++ b/assets/quantum/res/drawable-xhdpi/quantum_ic_headset_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_image_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_image_white_24.png
index 2642b9e09..07ee6bcf1 100644
--- a/assets/quantum/res/drawable-xhdpi/quantum_ic_image_white_24.png
+++ b/assets/quantum/res/drawable-xhdpi/quantum_ic_image_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_mic_off_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_mic_off_white_24.png
new file mode 100644
index 000000000..bb7915f33
--- /dev/null
+++ b/assets/quantum/res/drawable-xhdpi/quantum_ic_mic_off_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_network_wifi_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_network_wifi_white_24.png
deleted file mode 100644
index ca927f3de..000000000
--- a/assets/quantum/res/drawable-xhdpi/quantum_ic_network_wifi_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_phone_in_talk_white_24.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_phone_in_talk_white_24.png
new file mode 100644
index 000000000..a2d78b221
--- /dev/null
+++ b/assets/quantum/res/drawable-xhdpi/quantum_ic_phone_in_talk_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_phone_in_talk_white_36.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_phone_in_talk_white_36.png
new file mode 100644
index 000000000..9c002da0a
--- /dev/null
+++ b/assets/quantum/res/drawable-xhdpi/quantum_ic_phone_in_talk_white_36.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xhdpi/quantum_ic_report_white_18.png b/assets/quantum/res/drawable-xhdpi/quantum_ic_report_white_18.png
deleted file mode 100644
index dc0c995c1..000000000
--- a/assets/quantum/res/drawable-xhdpi/quantum_ic_report_white_18.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_bluetooth_audio_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_bluetooth_audio_white_24.png
new file mode 100644
index 000000000..d5022d063
--- /dev/null
+++ b/assets/quantum/res/drawable-xxhdpi/quantum_ic_bluetooth_audio_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_check_circle_googblue_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_check_circle_googblue_24.png
deleted file mode 100644
index a8eb2a45e..000000000
--- a/assets/quantum/res/drawable-xxhdpi/quantum_ic_check_circle_googblue_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_close_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_close_white_24.png
index 6b717e0dd..d5fd569aa 100644
--- a/assets/quantum/res/drawable-xxhdpi/quantum_ic_close_white_24.png
+++ b/assets/quantum/res/drawable-xxhdpi/quantum_ic_close_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_forward_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_forward_white_24.png
deleted file mode 100644
index 7bd5b1635..000000000
--- a/assets/quantum/res/drawable-xxhdpi/quantum_ic_forward_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_grade_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_grade_white_24.png
index aa5879215..44f3fdf21 100644
--- a/assets/quantum/res/drawable-xxhdpi/quantum_ic_grade_white_24.png
+++ b/assets/quantum/res/drawable-xxhdpi/quantum_ic_grade_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_headset_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_headset_white_24.png
new file mode 100644
index 000000000..82db5427b
--- /dev/null
+++ b/assets/quantum/res/drawable-xxhdpi/quantum_ic_headset_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_image_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_image_white_24.png
index f9f1defa6..005933934 100644
--- a/assets/quantum/res/drawable-xxhdpi/quantum_ic_image_white_24.png
+++ b/assets/quantum/res/drawable-xxhdpi/quantum_ic_image_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_mic_off_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_mic_off_white_24.png
new file mode 100644
index 000000000..7a15a9ea9
--- /dev/null
+++ b/assets/quantum/res/drawable-xxhdpi/quantum_ic_mic_off_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_network_wifi_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_network_wifi_white_24.png
deleted file mode 100644
index 75469cd85..000000000
--- a/assets/quantum/res/drawable-xxhdpi/quantum_ic_network_wifi_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_phone_in_talk_white_24.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_phone_in_talk_white_24.png
new file mode 100644
index 000000000..9c002da0a
--- /dev/null
+++ b/assets/quantum/res/drawable-xxhdpi/quantum_ic_phone_in_talk_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_phone_in_talk_white_36.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_phone_in_talk_white_36.png
new file mode 100644
index 000000000..5bb683f6e
--- /dev/null
+++ b/assets/quantum/res/drawable-xxhdpi/quantum_ic_phone_in_talk_white_36.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxhdpi/quantum_ic_report_white_18.png b/assets/quantum/res/drawable-xxhdpi/quantum_ic_report_white_18.png
deleted file mode 100644
index 919a872e0..000000000
--- a/assets/quantum/res/drawable-xxhdpi/quantum_ic_report_white_18.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_bluetooth_audio_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_bluetooth_audio_white_24.png
new file mode 100644
index 000000000..8e1fa206b
--- /dev/null
+++ b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_bluetooth_audio_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_check_circle_googblue_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_check_circle_googblue_24.png
deleted file mode 100644
index 7e08f6108..000000000
--- a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_check_circle_googblue_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_close_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_close_white_24.png
index 396419219..dac4e9c18 100644
--- a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_close_white_24.png
+++ b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_close_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_forward_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_forward_white_24.png
deleted file mode 100644
index 428009cfe..000000000
--- a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_forward_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_grade_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_grade_white_24.png
index 7f38d0963..31000c60a 100644
--- a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_grade_white_24.png
+++ b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_grade_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_headset_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_headset_white_24.png
new file mode 100644
index 000000000..0f0b2e154
--- /dev/null
+++ b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_headset_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_image_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_image_white_24.png
index 2ffdb55f2..f62cee6aa 100644
--- a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_image_white_24.png
+++ b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_image_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_mic_off_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_mic_off_white_24.png
new file mode 100644
index 000000000..22ca19ae4
--- /dev/null
+++ b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_mic_off_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_network_wifi_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_network_wifi_white_24.png
deleted file mode 100644
index eb284e383..000000000
--- a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_network_wifi_white_24.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_phone_in_talk_white_24.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_phone_in_talk_white_24.png
new file mode 100644
index 000000000..36be1da99
--- /dev/null
+++ b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_phone_in_talk_white_24.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_phone_in_talk_white_36.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_phone_in_talk_white_36.png
new file mode 100644
index 000000000..1257e66c5
--- /dev/null
+++ b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_phone_in_talk_white_36.png
Binary files differ
diff --git a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_report_white_18.png b/assets/quantum/res/drawable-xxxhdpi/quantum_ic_report_white_18.png
deleted file mode 100644
index aed766804..000000000
--- a/assets/quantum/res/drawable-xxxhdpi/quantum_ic_report_white_18.png
+++ /dev/null
Binary files differ
diff --git a/assets/quantum/res/drawable/quantum_ic_arrow_back_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_arrow_back_vd_theme_24.xml
new file mode 100644
index 000000000..2989fdada
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_arrow_back_vd_theme_24.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_call_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_call_vd_theme_24.xml
new file mode 100644
index 000000000..1fbafeb83
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_call_vd_theme_24.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M6.62,10.79c1.44,2.83 3.76,5.14 6.59,6.59l2.2,-2.2c0.27,-0.27 0.67,-0.36 1.02,-0.24 1.12,0.37 2.33,0.57 3.57,0.57 0.55,0 1,0.45 1,1V20c0,0.55 -0.45,1 -1,1 -9.39,0 -17,-7.61 -17,-17 0,-0.55 0.45,-1 1,-1h3.5c0.55,0 1,0.45 1,1 0,1.25 0.2,2.45 0.57,3.57 0.11,0.35 0.03,0.74 -0.25,1.02l-2.2,2.2z"/>
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_close_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_close_vd_theme_24.xml
new file mode 100644
index 000000000..3f9973200
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_close_vd_theme_24.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml
index 4f1fd4920..6495ac7eb 100644
--- a/assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml
+++ b/assets/quantum/res/drawable/quantum_ic_enterprise_vd_theme_24.xml
@@ -7,4 +7,4 @@
<path
android:fillColor="@android:color/white"
android:pathData="M14,16.5h-4L10,15L3,15v4c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2v-4h-7v1.5zM20,6h-3.5L16.5,4.5L15,3L9,3L7.5,4.55L7.5,6L4,6c-1.1,0 -2,0.9 -2,2v4c0,1.1 0.9,2 2,2h6v-1.5h4L14,14h6c1.1,0 2,-0.9 2,-2L22,8c0,-1.1 -0.9,-2 -2,-2zM15,6L9,6L9,4.5h6L15,6z"/>
-</vector> \ No newline at end of file
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_hd_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_hd_vd_theme_24.xml
index c67509cbf..b6da8a048 100644
--- a/assets/quantum/res/drawable/quantum_ic_hd_vd_theme_24.xml
+++ b/assets/quantum/res/drawable/quantum_ic_hd_vd_theme_24.xml
@@ -7,4 +7,4 @@
<path
android:fillColor="@android:color/white"
android:pathData="M19,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM11,15L9.5,15v-2h-2v2L6,15L6,9h1.5v2.5h2L9.5,9L11,9v6zM13,9h4c0.55,0 1,0.45 1,1v4c0,0.55 -0.45,1 -1,1h-4L13,9zM14.5,13.5h2v-3h-2v3z"/>
-</vector> \ No newline at end of file
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_history_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_history_vd_theme_24.xml
new file mode 100644
index 000000000..d8567f54b
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_history_vd_theme_24.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z"/>
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_message_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_message_vd_theme_24.xml
new file mode 100644
index 000000000..280fa262c
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_message_vd_theme_24.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM18,14L6,14v-2h12v2zM18,11L6,11L6,9h12v2zM18,8L6,8L6,6h12v2z"/>
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_person_add_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_person_add_vd_theme_24.xml
new file mode 100644
index 000000000..cf4e563df
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_person_add_vd_theme_24.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M15,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM6,10L6,7L4,7v3L1,10v2h3v3h2v-3h3v-2L6,10zM15,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z"/>
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_search_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_search_vd_theme_24.xml
new file mode 100644
index 000000000..083d63644
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_search_vd_theme_24.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
+</vector>
diff --git a/assets/quantum/res/drawable/quantum_ic_videocam_vd_theme_24.xml b/assets/quantum/res/drawable/quantum_ic_videocam_vd_theme_24.xml
new file mode 100644
index 000000000..429061af0
--- /dev/null
+++ b/assets/quantum/res/drawable/quantum_ic_videocam_vd_theme_24.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M17,10.5V7c0,-0.55 -0.45,-1 -1,-1H4c-0.55,0 -1,0.45 -1,1v10c0,0.55 0.45,1 1,1h12c0.55,0 1,-0.45 1,-1v-3.5l4,4v-11l-4,4z"/>
+</vector>
diff --git a/java/com/android/contacts/common/ClipboardUtils.java b/java/com/android/contacts/common/ClipboardUtils.java
index 9345b0f9c..3d7683941 100644
--- a/java/com/android/contacts/common/ClipboardUtils.java
+++ b/java/com/android/contacts/common/ClipboardUtils.java
@@ -24,8 +24,6 @@ import android.widget.Toast;
public class ClipboardUtils {
- private static final String TAG = "ClipboardUtils";
-
private ClipboardUtils() {}
/**
diff --git a/java/com/android/contacts/common/ContactPhotoManager.java b/java/com/android/contacts/common/ContactPhotoManager.java
index 169348b25..fbf51cc0e 100644
--- a/java/com/android/contacts/common/ContactPhotoManager.java
+++ b/java/com/android/contacts/common/ContactPhotoManager.java
@@ -36,14 +36,6 @@ import com.android.dialer.util.PermissionsUtil;
/** Asynchronously loads contact photos and maintains a cache of photos. */
public abstract class ContactPhotoManager implements ComponentCallbacks2 {
- /** Contact type constants used for default letter images */
- public static final int TYPE_PERSON = LetterTileDrawable.TYPE_PERSON;
-
- public static final int TYPE_SPAM = LetterTileDrawable.TYPE_SPAM;
- public static final int TYPE_BUSINESS = LetterTileDrawable.TYPE_BUSINESS;
- public static final int TYPE_VOICEMAIL = LetterTileDrawable.TYPE_VOICEMAIL;
- public static final int TYPE_DEFAULT = LetterTileDrawable.TYPE_DEFAULT;
- public static final int TYPE_GENERIC_AVATAR = LetterTileDrawable.TYPE_GENERIC_AVATAR;
/** Scale and offset default constants used for default letter images */
public static final float SCALE_DEFAULT = 1.0f;
@@ -88,7 +80,7 @@ public abstract class ContactPhotoManager implements ComponentCallbacks2 {
if (!TextUtils.isEmpty(request.identifier)) {
builder.appendQueryParameter(IDENTIFIER_PARAM_KEY, request.identifier);
}
- if (request.contactType != TYPE_DEFAULT) {
+ if (request.contactType != LetterTileDrawable.TYPE_DEFAULT) {
builder.appendQueryParameter(CONTACT_TYPE_PARAM_KEY, String.valueOf(request.contactType));
}
if (request.scale != SCALE_DEFAULT) {
@@ -114,7 +106,7 @@ public abstract class ContactPhotoManager implements ComponentCallbacks2 {
public static String appendBusinessContactType(String photoUrl) {
Uri uri = Uri.parse(photoUrl);
Builder builder = uri.buildUpon();
- builder.encodedFragment(String.valueOf(TYPE_BUSINESS));
+ builder.encodedFragment(String.valueOf(LetterTileDrawable.TYPE_BUSINESS));
return builder.build().toString();
}
@@ -147,7 +139,7 @@ public abstract class ContactPhotoManager implements ComponentCallbacks2 {
String encodedFragment = photoUri.getEncodedFragment();
return !TextUtils.isEmpty(encodedFragment)
- && encodedFragment.equals(String.valueOf(TYPE_BUSINESS));
+ && encodedFragment.equals(String.valueOf(LetterTileDrawable.TYPE_BUSINESS));
}
protected static DefaultImageRequest getDefaultImageRequestFromUri(Uri uri) {
@@ -246,6 +238,9 @@ public abstract class ContactPhotoManager implements ComponentCallbacks2 {
badge.assignContactUri(contactUri);
badge.setOverlay(null);
+ badge.setContentDescription(
+ badge.getContext().getString(R.string.description_quick_contact_for, displayName));
+
String lookupKey = contactUri == null ? null : UriUtils.getLookupKeyFromUri(contactUri);
ContactPhotoManager.DefaultImageRequest request =
new ContactPhotoManager.DefaultImageRequest(
@@ -378,7 +373,7 @@ public abstract class ContactPhotoManager implements ComponentCallbacks2 {
* be returned.
*/
public static final DefaultImageRequest EMPTY_DEFAULT_BUSINESS_IMAGE_REQUEST =
- new DefaultImageRequest(null, null, TYPE_BUSINESS, false);
+ new DefaultImageRequest(null, null, LetterTileDrawable.TYPE_BUSINESS, false);
/**
* Used to indicate that a circular drawable that represents a contact without any contact
* details should be returned.
@@ -390,7 +385,7 @@ public abstract class ContactPhotoManager implements ComponentCallbacks2 {
* should be returned.
*/
public static final DefaultImageRequest EMPTY_CIRCULAR_BUSINESS_IMAGE_REQUEST =
- new DefaultImageRequest(null, null, TYPE_BUSINESS, true);
+ new DefaultImageRequest(null, null, LetterTileDrawable.TYPE_BUSINESS, true);
/** The contact's display name. The display name is used to */
public String displayName;
/**
@@ -403,10 +398,9 @@ public abstract class ContactPhotoManager implements ComponentCallbacks2 {
/**
* The type of this contact. This contact type may be used to decide the kind of image to use in
* the case where a unique letter cannot be generated from the contact's display name and
- * identifier. See: {@link #TYPE_PERSON} {@link #TYPE_BUSINESS} {@link #TYPE_PERSON} {@link
- * #TYPE_DEFAULT}
+ * identifier.
*/
- public int contactType = TYPE_DEFAULT;
+ public @LetterTileDrawable.ContactType int contactType = LetterTileDrawable.TYPE_DEFAULT;
/**
* The amount to scale the letter or bitmap to, as a ratio of its default size (from a range of
* 0.0f to 2.0f). The default value is 1.0f.
@@ -429,7 +423,13 @@ public abstract class ContactPhotoManager implements ComponentCallbacks2 {
public DefaultImageRequest() {}
public DefaultImageRequest(String displayName, String identifier, boolean isCircular) {
- this(displayName, identifier, TYPE_DEFAULT, SCALE_DEFAULT, OFFSET_DEFAULT, isCircular);
+ this(
+ displayName,
+ identifier,
+ LetterTileDrawable.TYPE_DEFAULT,
+ SCALE_DEFAULT,
+ OFFSET_DEFAULT,
+ isCircular);
}
public DefaultImageRequest(
diff --git a/java/com/android/contacts/common/ContactPhotoManagerImpl.java b/java/com/android/contacts/common/ContactPhotoManagerImpl.java
index 2e6ff9fdc..28ecf3421 100644
--- a/java/com/android/contacts/common/ContactPhotoManagerImpl.java
+++ b/java/com/android/contacts/common/ContactPhotoManagerImpl.java
@@ -53,9 +53,9 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.android.contacts.common.util.BitmapUtil;
-import com.android.contacts.common.util.TrafficStatsTags;
import com.android.contacts.common.util.UriUtils;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.constants.TrafficStatsTags;
import com.android.dialer.util.PermissionsUtil;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -634,8 +634,9 @@ class ContactPhotoManagerImpl extends ContactPhotoManager implements Callback {
}
return true;
}
+ default:
+ return false;
}
- return false;
}
public void ensureLoaderThread() {
diff --git a/java/com/android/contacts/common/ContactPresenceIconUtil.java b/java/com/android/contacts/common/ContactPresenceIconUtil.java
index eeaf652a8..bce4b21f4 100644
--- a/java/com/android/contacts/common/ContactPresenceIconUtil.java
+++ b/java/com/android/contacts/common/ContactPresenceIconUtil.java
@@ -19,6 +19,7 @@ package com.android.contacts.common;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.provider.ContactsContract.StatusUpdates;
+import android.support.v4.content.ContextCompat;
/** Define the contact present show policy in Contacts */
public class ContactPresenceIconUtil {
@@ -36,7 +37,7 @@ public class ContactPresenceIconUtil {
case StatusUpdates.AWAY:
case StatusUpdates.DO_NOT_DISTURB:
case StatusUpdates.INVISIBLE:
- return context.getResources().getDrawable(StatusUpdates.getPresenceIconResourceId(status));
+ return ContextCompat.getDrawable(context, StatusUpdates.getPresenceIconResourceId(status));
case StatusUpdates.OFFLINE:
// The undefined status is treated as OFFLINE in getPresenceIconResourceId();
default:
diff --git a/java/com/android/contacts/common/ContactStatusUtil.java b/java/com/android/contacts/common/ContactStatusUtil.java
index 97d84c876..c5347e778 100644
--- a/java/com/android/contacts/common/ContactStatusUtil.java
+++ b/java/com/android/contacts/common/ContactStatusUtil.java
@@ -23,8 +23,6 @@ import android.provider.ContactsContract.StatusUpdates;
/** Provides static function to get default contact status message. */
public class ContactStatusUtil {
- private static final String TAG = "ContactStatusUtil";
-
public static String getStatusString(Context context, int presence) {
Resources resources = context.getResources();
switch (presence) {
diff --git a/java/com/android/contacts/common/ContactsUtils.java b/java/com/android/contacts/common/ContactsUtils.java
index 60af44b9a..66ccc90e7 100644
--- a/java/com/android/contacts/common/ContactsUtils.java
+++ b/java/com/android/contacts/common/ContactsUtils.java
@@ -16,184 +16,17 @@
package com.android.contacts.common;
-import android.content.Context;
-import android.content.Intent;
-import android.database.Cursor;
-import android.net.Uri;
-import android.provider.ContactsContract.CommonDataKinds.Im;
-import android.provider.ContactsContract.DisplayPhoto;
+import android.provider.ContactsContract.Contacts;
import android.support.annotation.IntDef;
-import android.text.TextUtils;
-import android.util.Pair;
-import com.android.contacts.common.compat.ContactsCompat;
import com.android.contacts.common.compat.DirectoryCompat;
-import com.android.contacts.common.model.AccountTypeManager;
-import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.common.model.dataitem.ImDataItem;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
-import java.util.List;
public class ContactsUtils {
// Telecomm related schemes are in CallUtil
- public static final String SCHEME_IMTO = "imto";
- public static final String SCHEME_MAILTO = "mailto";
- public static final String SCHEME_SMSTO = "smsto";
public static final long USER_TYPE_CURRENT = 0;
public static final long USER_TYPE_WORK = 1;
- private static final String TAG = "ContactsUtils";
- private static final int DEFAULT_THUMBNAIL_SIZE = 96;
- private static int sThumbnailSize = -1;
-
- /**
- * This looks up the provider name defined in ProviderNames from the predefined IM protocol id.
- * This is used for interacting with the IM application.
- *
- * @param protocol the protocol ID
- * @return the provider name the IM app uses for the given protocol, or null if no provider is
- * defined for the given protocol
- * @hide
- */
- public static String lookupProviderNameFromId(int protocol) {
- switch (protocol) {
- case Im.PROTOCOL_GOOGLE_TALK:
- return ProviderNames.GTALK;
- case Im.PROTOCOL_AIM:
- return ProviderNames.AIM;
- case Im.PROTOCOL_MSN:
- return ProviderNames.MSN;
- case Im.PROTOCOL_YAHOO:
- return ProviderNames.YAHOO;
- case Im.PROTOCOL_ICQ:
- return ProviderNames.ICQ;
- case Im.PROTOCOL_JABBER:
- return ProviderNames.JABBER;
- case Im.PROTOCOL_SKYPE:
- return ProviderNames.SKYPE;
- case Im.PROTOCOL_QQ:
- return ProviderNames.QQ;
- }
- return null;
- }
-
- /**
- * Test if the given {@link CharSequence} contains any graphic characters, first checking {@link
- * TextUtils#isEmpty(CharSequence)} to handle null.
- */
- public static boolean isGraphic(CharSequence str) {
- return !TextUtils.isEmpty(str) && TextUtils.isGraphic(str);
- }
-
- /** Returns true if two objects are considered equal. Two null references are equal here. */
- public static boolean areObjectsEqual(Object a, Object b) {
- return a == b || (a != null && a.equals(b));
- }
-
- /** Returns true if two {@link Intent}s are both null, or have the same action. */
- public static final boolean areIntentActionEqual(Intent a, Intent b) {
- if (a == b) {
- return true;
- }
- if (a == null || b == null) {
- return false;
- }
- return TextUtils.equals(a.getAction(), b.getAction());
- }
-
- public static boolean areGroupWritableAccountsAvailable(Context context) {
- final List<AccountWithDataSet> accounts =
- AccountTypeManager.getInstance(context).getGroupWritableAccounts();
- return !accounts.isEmpty();
- }
-
- /**
- * Returns the size (width and height) of thumbnail pictures as configured in the provider. This
- * can safely be called from the UI thread, as the provider can serve this without performing a
- * database access
- */
- public static int getThumbnailSize(Context context) {
- if (sThumbnailSize == -1) {
- final Cursor c =
- context
- .getContentResolver()
- .query(
- DisplayPhoto.CONTENT_MAX_DIMENSIONS_URI,
- new String[] {DisplayPhoto.THUMBNAIL_MAX_DIM},
- null,
- null,
- null);
- if (c != null) {
- try {
- if (c.moveToFirst()) {
- sThumbnailSize = c.getInt(0);
- }
- } finally {
- c.close();
- }
- }
- }
- return sThumbnailSize != -1 ? sThumbnailSize : DEFAULT_THUMBNAIL_SIZE;
- }
-
- private static Intent getCustomImIntent(ImDataItem im, int protocol) {
- String host = im.getCustomProtocol();
- final String data = im.getData();
- if (TextUtils.isEmpty(data)) {
- return null;
- }
- if (protocol != Im.PROTOCOL_CUSTOM) {
- // Try bringing in a well-known host for specific protocols
- host = ContactsUtils.lookupProviderNameFromId(protocol);
- }
- if (TextUtils.isEmpty(host)) {
- return null;
- }
- final String authority = host.toLowerCase();
- final Uri imUri =
- new Uri.Builder().scheme(SCHEME_IMTO).authority(authority).appendPath(data).build();
- final Intent intent = new Intent(Intent.ACTION_SENDTO, imUri);
- return intent;
- }
-
- /**
- * Returns the proper Intent for an ImDatItem. If available, a secondary intent is stored in the
- * second Pair slot
- */
- public static Pair<Intent, Intent> buildImIntent(Context context, ImDataItem im) {
- Intent intent = null;
- Intent secondaryIntent = null;
- final boolean isEmail = im.isCreatedFromEmail();
-
- if (!isEmail && !im.isProtocolValid()) {
- return new Pair<>(null, null);
- }
-
- final String data = im.getData();
- if (TextUtils.isEmpty(data)) {
- return new Pair<>(null, null);
- }
-
- final int protocol = isEmail ? Im.PROTOCOL_GOOGLE_TALK : im.getProtocol();
-
- if (protocol == Im.PROTOCOL_GOOGLE_TALK) {
- final int chatCapability = im.getChatCapability();
- if ((chatCapability & Im.CAPABILITY_HAS_CAMERA) != 0) {
- intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?message"));
- secondaryIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?call"));
- } else if ((chatCapability & Im.CAPABILITY_HAS_VOICE) != 0) {
- // Allow Talking and Texting
- intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?message"));
- secondaryIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?call"));
- } else {
- intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("xmpp:" + data + "?message"));
- }
- } else {
- // Build an IM Intent
- intent = getCustomImIntent(im, protocol);
- }
- return new Pair<>(intent, secondaryIntent);
- }
/**
* Determine UserType from directory id and contact id.
@@ -232,27 +65,13 @@ public class ContactsUtils {
: USER_TYPE_CURRENT;
}
// Only check contact id if directory id is null
- if (contactId != null && contactId != 0L && ContactsCompat.isEnterpriseContactId(contactId)) {
+ if (contactId != null && contactId != 0L && Contacts.isEnterpriseContactId(contactId)) {
return USER_TYPE_WORK;
} else {
return USER_TYPE_CURRENT;
}
}
- // TODO find a proper place for the canonical version of these
- public interface ProviderNames {
-
- String YAHOO = "Yahoo";
- String GTALK = "GTalk";
- String MSN = "MSN";
- String ICQ = "ICQ";
- String AIM = "AIM";
- String XMPP = "XMPP";
- String JABBER = "JABBER";
- String SKYPE = "SKYPE";
- String QQ = "QQ";
- }
-
/**
* UserType indicates the user type of the contact. If the contact is from Work User (Work Profile
* in Android Multi-User System), it's {@link #USER_TYPE_WORK}, otherwise, {@link
diff --git a/java/com/android/contacts/common/GeoUtil.java b/java/com/android/contacts/common/GeoUtil.java
deleted file mode 100644
index 50b0cd9e3..000000000
--- a/java/com/android/contacts/common/GeoUtil.java
+++ /dev/null
@@ -1,55 +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
- */
-
-package com.android.contacts.common;
-
-import android.app.Application;
-import android.content.Context;
-import com.android.contacts.common.location.CountryDetector;
-import com.google.i18n.phonenumbers.NumberParseException;
-import com.google.i18n.phonenumbers.PhoneNumberUtil;
-import com.google.i18n.phonenumbers.Phonenumber;
-import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
-import java.util.Locale;
-
-/** Static methods related to Geo. */
-public class GeoUtil {
-
- /**
- * Returns the country code of the country the user is currently in. Before calling this method,
- * make sure that {@link CountryDetector#initialize(Context)} has already been called in {@link
- * Application#onCreate()}.
- *
- * @return The ISO 3166-1 two letters country code of the country the user is in.
- */
- public static String getCurrentCountryIso(Context context) {
- // The {@link CountryDetector} should never return null so this is safe to return as-is.
- return CountryDetector.getInstance(context).getCurrentCountryIso();
- }
-
- public static String getGeocodedLocationFor(Context context, String phoneNumber) {
- final PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();
- final PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
- try {
- final Phonenumber.PhoneNumber structuredPhoneNumber =
- phoneNumberUtil.parse(phoneNumber, getCurrentCountryIso(context));
- final Locale locale = context.getResources().getConfiguration().locale;
- return geocoder.getDescriptionForNumber(structuredPhoneNumber, locale);
- } catch (NumberParseException e) {
- return null;
- }
- }
-}
diff --git a/java/com/android/contacts/common/MoreContactUtils.java b/java/com/android/contacts/common/MoreContactUtils.java
index 028f89971..26241b34f 100644
--- a/java/com/android/contacts/common/MoreContactUtils.java
+++ b/java/com/android/contacts/common/MoreContactUtils.java
@@ -16,7 +16,6 @@
package com.android.contacts.common;
-import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.net.Uri;
@@ -24,7 +23,6 @@ import android.provider.ContactsContract;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import android.view.View;
-import android.widget.TextView;
import com.android.contacts.common.model.account.AccountType;
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
@@ -194,40 +192,6 @@ public class MoreContactUtils {
}
/**
- * Returns a header view based on the R.layout.list_separator, where the containing {@link
- * android.widget.TextView} is set using the given textResourceId.
- */
- public static TextView createHeaderView(Context context, int textResourceId) {
- final TextView textView = (TextView) View.inflate(context, R.layout.list_separator, null);
- textView.setText(context.getString(textResourceId));
- return textView;
- }
-
- /**
- * Set the top padding on the header view dynamically, based on whether the header is in the first
- * row or not.
- */
- public static void setHeaderViewBottomPadding(
- Context context, TextView textView, boolean isFirstRow) {
- final int topPadding;
- if (isFirstRow) {
- topPadding =
- (int)
- context
- .getResources()
- .getDimension(R.dimen.frequently_contacted_title_top_margin_when_first_row);
- } else {
- topPadding =
- (int) context.getResources().getDimension(R.dimen.frequently_contacted_title_top_margin);
- }
- textView.setPaddingRelative(
- textView.getPaddingStart(),
- topPadding,
- textView.getPaddingEnd(),
- textView.getPaddingBottom());
- }
-
- /**
* Returns the intent to launch for the given invitable account type and contact lookup URI. This
* will return null if the account type is not invitable (i.e. there is no {@link
* AccountType#getInviteContactActivityClassName()} or {@link
diff --git a/java/com/android/contacts/common/compat/ContactsCompat.java b/java/com/android/contacts/common/compat/ContactsCompat.java
index 39d0b55d3..e0c9b7e53 100644
--- a/java/com/android/contacts/common/compat/ContactsCompat.java
+++ b/java/com/android/contacts/common/compat/ContactsCompat.java
@@ -21,7 +21,6 @@ import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
-import com.android.dialer.compat.CompatUtils;
/** Compatibility class for {@link ContactsContract.Contacts} */
public class ContactsCompat {
@@ -29,8 +28,6 @@ public class ContactsCompat {
// TODO: Use N APIs
private static final Uri ENTERPRISE_CONTENT_FILTER_URI =
Uri.withAppendedPath(Contacts.CONTENT_URI, "filter_enterprise");
- // Copied from ContactsContract.Contacts#ENTERPRISE_CONTACT_ID_BASE, which is hidden.
- private static final long ENTERPRISE_CONTACT_ID_BASE = 1000000000;
/** Not instantiable. */
private ContactsCompat() {}
@@ -41,17 +38,4 @@ public class ContactsCompat {
}
return Contacts.CONTENT_FILTER_URI;
}
-
- /**
- * Return {@code true} if a contact ID is from the contacts provider on the enterprise profile.
- */
- public static boolean isEnterpriseContactId(long contactId) {
- if (CompatUtils.isLollipopCompatible()) {
- return Contacts.isEnterpriseContactId(contactId);
- } else {
- // copied from ContactsContract.Contacts.isEnterpriseContactId
- return (contactId >= ENTERPRISE_CONTACT_ID_BASE)
- && (contactId < ContactsContract.Profile.MIN_ID);
- }
- }
}
diff --git a/java/com/android/contacts/common/compat/PhoneAccountCompat.java b/java/com/android/contacts/common/compat/PhoneAccountCompat.java
index 6a24ec033..aa22c6861 100644
--- a/java/com/android/contacts/common/compat/PhoneAccountCompat.java
+++ b/java/com/android/contacts/common/compat/PhoneAccountCompat.java
@@ -20,33 +20,10 @@ import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccount;
-import android.util.Log;
-import com.android.dialer.compat.CompatUtils;
/** Compatiblity class for {@link android.telecom.PhoneAccount} */
public class PhoneAccountCompat {
- private static final String TAG = PhoneAccountCompat.class.getSimpleName();
-
- /**
- * Gets the {@link Icon} associated with the given {@link PhoneAccount}
- *
- * @param phoneAccount the PhoneAccount from which to retrieve the Icon
- * @return the Icon, or null
- */
- @Nullable
- public static Icon getIcon(@Nullable PhoneAccount phoneAccount) {
- if (phoneAccount == null) {
- return null;
- }
-
- if (CompatUtils.isMarshmallowCompatible()) {
- return phoneAccount.getIcon();
- }
-
- return null;
- }
-
/**
* Builds and returns an icon {@code Drawable} to represent this {@code PhoneAccount} in a user
* interface.
@@ -61,44 +38,16 @@ public class PhoneAccountCompat {
if (phoneAccount == null || context == null) {
return null;
}
-
- if (CompatUtils.isMarshmallowCompatible()) {
- return createIconDrawableMarshmallow(phoneAccount, context);
- }
-
- if (CompatUtils.isLollipopMr1Compatible()) {
- return createIconDrawableLollipopMr1(phoneAccount, context);
- }
- return null;
+ return createIconDrawableMarshmallow(phoneAccount, context);
}
@Nullable
private static Drawable createIconDrawableMarshmallow(
PhoneAccount phoneAccount, Context context) {
- Icon accountIcon = getIcon(phoneAccount);
+ Icon accountIcon = phoneAccount.getIcon();
if (accountIcon == null) {
return null;
}
return accountIcon.loadDrawable(context);
}
-
- @Nullable
- private static Drawable createIconDrawableLollipopMr1(
- PhoneAccount phoneAccount, Context context) {
- try {
- return (Drawable)
- PhoneAccount.class
- .getMethod("createIconDrawable", Context.class)
- .invoke(phoneAccount, context);
- } catch (ReflectiveOperationException e) {
- return null;
- } catch (Throwable t) {
- Log.e(
- TAG,
- "Unexpected exception when attempting to call "
- + "android.telecom.PhoneAccount#createIconDrawable",
- t);
- return null;
- }
- }
}
diff --git a/java/com/android/contacts/common/compat/PhoneNumberUtilsCompat.java b/java/com/android/contacts/common/compat/PhoneNumberUtilsCompat.java
index 960b340d8..a6cfe07cd 100644
--- a/java/com/android/contacts/common/compat/PhoneNumberUtilsCompat.java
+++ b/java/com/android/contacts/common/compat/PhoneNumberUtilsCompat.java
@@ -17,13 +17,7 @@
package com.android.contacts.common.compat;
import android.telephony.PhoneNumberUtils;
-import android.text.Spannable;
-import android.text.TextUtils;
import android.text.style.TtsSpan;
-import com.android.dialer.compat.CompatUtils;
-import com.google.i18n.phonenumbers.NumberParseException;
-import com.google.i18n.phonenumbers.PhoneNumberUtil;
-import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
/**
* This class contains static utility methods extracted from PhoneNumberUtils, and the methods were
@@ -37,138 +31,16 @@ public class PhoneNumberUtilsCompat {
/** Not instantiable. */
private PhoneNumberUtilsCompat() {}
- public static String normalizeNumber(String phoneNumber) {
- if (CompatUtils.isLollipopCompatible()) {
- return PhoneNumberUtils.normalizeNumber(phoneNumber);
- } else {
- return normalizeNumberInternal(phoneNumber);
- }
- }
-
- /** Implementation copied from {@link PhoneNumberUtils#normalizeNumber} */
- private static String normalizeNumberInternal(String phoneNumber) {
- if (TextUtils.isEmpty(phoneNumber)) {
- return "";
- }
- StringBuilder sb = new StringBuilder();
- int len = phoneNumber.length();
- for (int i = 0; i < len; i++) {
- char c = phoneNumber.charAt(i);
- // Character.digit() supports ASCII and Unicode digits (fullwidth, Arabic-Indic, etc.)
- int digit = Character.digit(c, 10);
- if (digit != -1) {
- sb.append(digit);
- } else if (sb.length() == 0 && c == '+') {
- sb.append(c);
- } else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
- return normalizeNumber(PhoneNumberUtils.convertKeypadLettersToDigits(phoneNumber));
- }
- }
- return sb.toString();
- }
-
public static String formatNumber(
String phoneNumber, String phoneNumberE164, String defaultCountryIso) {
- if (CompatUtils.isLollipopCompatible()) {
return PhoneNumberUtils.formatNumber(phoneNumber, phoneNumberE164, defaultCountryIso);
- } else {
- // This method was deprecated in API level 21, so it's only used on pre-L SDKs.
- return PhoneNumberUtils.formatNumber(phoneNumber);
- }
}
public static CharSequence createTtsSpannable(CharSequence phoneNumber) {
- if (CompatUtils.isMarshmallowCompatible()) {
- return PhoneNumberUtils.createTtsSpannable(phoneNumber);
- } else {
- return createTtsSpannableInternal(phoneNumber);
- }
+ return PhoneNumberUtils.createTtsSpannable(phoneNumber);
}
public static TtsSpan createTtsSpan(String phoneNumber) {
- if (CompatUtils.isMarshmallowCompatible()) {
- return PhoneNumberUtils.createTtsSpan(phoneNumber);
- } else if (CompatUtils.isLollipopCompatible()) {
- return createTtsSpanLollipop(phoneNumber);
- } else {
- return null;
- }
- }
-
- /** Copied from {@link PhoneNumberUtils#createTtsSpannable} */
- private static CharSequence createTtsSpannableInternal(CharSequence phoneNumber) {
- if (phoneNumber == null) {
- return null;
- }
- Spannable spannable = Spannable.Factory.getInstance().newSpannable(phoneNumber);
- addTtsSpanInternal(spannable, 0, spannable.length());
- return spannable;
- }
-
- /** Compat method for addTtsSpan, see {@link PhoneNumberUtils#addTtsSpan} */
- public static void addTtsSpan(Spannable s, int start, int endExclusive) {
- if (CompatUtils.isMarshmallowCompatible()) {
- PhoneNumberUtils.addTtsSpan(s, start, endExclusive);
- } else {
- addTtsSpanInternal(s, start, endExclusive);
- }
- }
-
- /** Copied from {@link PhoneNumberUtils#addTtsSpan} */
- private static void addTtsSpanInternal(Spannable s, int start, int endExclusive) {
- s.setSpan(
- createTtsSpan(s.subSequence(start, endExclusive).toString()),
- start,
- endExclusive,
- Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
-
- /** Copied from {@link PhoneNumberUtils#createTtsSpan} */
- private static TtsSpan createTtsSpanLollipop(String phoneNumberString) {
- if (phoneNumberString == null) {
- return null;
- }
-
- // Parse the phone number
- final PhoneNumberUtil phoneNumberUtil = PhoneNumberUtil.getInstance();
- PhoneNumber phoneNumber = null;
- try {
- // Don't supply a defaultRegion so this fails for non-international numbers because
- // we don't want to TalkBalk to read a country code (e.g. +1) if it is not already
- // present
- phoneNumber = phoneNumberUtil.parse(phoneNumberString, /* defaultRegion */ null);
- } catch (NumberParseException ignored) {
- }
-
- // Build a telephone tts span
- final TtsSpan.TelephoneBuilder builder = new TtsSpan.TelephoneBuilder();
- if (phoneNumber == null) {
- // Strip separators otherwise TalkBack will be silent
- // (this behavior was observed with TalkBalk 4.0.2 from their alpha channel)
- builder.setNumberParts(splitAtNonNumerics(phoneNumberString));
- } else {
- if (phoneNumber.hasCountryCode()) {
- builder.setCountryCode(Integer.toString(phoneNumber.getCountryCode()));
- }
- builder.setNumberParts(Long.toString(phoneNumber.getNationalNumber()));
- }
- return builder.build();
- }
-
- /**
- * Split a phone number using spaces, ignoring anything that is not a digit
- *
- * @param number A {@code CharSequence} before splitting, e.g., "+20(123)-456#"
- * @return A {@code String} after splitting, e.g., "20 123 456".
- */
- private static String splitAtNonNumerics(CharSequence number) {
- StringBuilder sb = new StringBuilder(number.length());
- for (int i = 0; i < number.length(); i++) {
- sb.append(PhoneNumberUtils.isISODigit(number.charAt(i)) ? number.charAt(i) : " ");
- }
- // It is very important to remove extra spaces. At time of writing, any leading or trailing
- // spaces, or any sequence of more than one space, will confuse TalkBack and cause the TTS
- // span to be non-functional!
- return sb.toString().replaceAll(" +", " ").trim();
+ return PhoneNumberUtils.createTtsSpan(phoneNumber);
}
}
diff --git a/java/com/android/contacts/common/compat/TelephonyManagerCompat.java b/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
index 7e4803ca5..02113ca55 100644
--- a/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
+++ b/java/com/android/contacts/common/compat/TelephonyManagerCompat.java
@@ -27,7 +27,7 @@ import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.CompatUtils;
+import com.android.dialer.telecom.TelecomUtil;
import java.lang.reflect.InvocationTargetException;
public class TelephonyManagerCompat {
@@ -40,6 +40,8 @@ public class TelephonyManagerCompat {
public static final String EVENT_CALL_REMOTELY_HELD = "android.telecom.event.CALL_REMOTELY_HELD";
public static final String EVENT_CALL_REMOTELY_UNHELD =
"android.telecom.event.CALL_REMOTELY_UNHELD";
+ public static final String EVENT_MERGE_START = "android.telecom.event.MERGE_START";
+ public static final String EVENT_MERGE_COMPLETE = "android.telecom.event.MERGE_COMPLETE";
public static final String EVENT_NOTIFY_INTERNATIONAL_CALL_ON_WFC =
"android.telephony.event.EVENT_NOTIFY_INTERNATIONAL_CALL_ON_WFC";
@@ -49,31 +51,6 @@ public class TelephonyManagerCompat {
private static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE";
/**
- * @param telephonyManager The telephony manager instance to use for method calls.
- * @return true if the current device is "voice capable".
- * <p>"Voice capable" means that this device supports circuit-switched (i.e. voice) phone
- * calls over the telephony network, and is allowed to display the in-call UI while a cellular
- * voice call is active. This will be false on "data only" devices which can't make voice
- * calls and don't support any in-call UI.
- * <p>Note: the meaning of this flag is subtly different from the
- * PackageManager.FEATURE_TELEPHONY system feature, which is available on any device with a
- * telephony radio, even if the device is data-only.
- */
- public static boolean isVoiceCapable(@Nullable TelephonyManager telephonyManager) {
- if (telephonyManager == null) {
- return false;
- }
- if (CompatUtils.isLollipopMr1Compatible()
- || CompatUtils.isMethodAvailable(TELEPHONY_MANAGER_CLASS, "isVoiceCapable")) {
- // isVoiceCapable was unhidden in L-MR1
- return telephonyManager.isVoiceCapable();
- }
- final int phoneType = telephonyManager.getPhoneType();
- return phoneType == TelephonyManager.PHONE_TYPE_CDMA
- || phoneType == TelephonyManager.PHONE_TYPE_GSM;
- }
-
- /**
* Returns the number of phones available. Returns 1 for Single standby mode (Single SIM
* functionality) Returns 2 for Dual standby mode.(Dual SIM functionality)
*
@@ -85,31 +62,7 @@ public class TelephonyManagerCompat {
if (telephonyManager == null) {
return 1;
}
- if (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(TELEPHONY_MANAGER_CLASS, "getPhoneCount")) {
- return telephonyManager.getPhoneCount();
- }
- return 1;
- }
-
- /**
- * Returns the unique device ID of a subscription, for example, the IMEI for GSM and the MEID for
- * CDMA phones. Return null if device ID is not available.
- *
- * <p>Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
- *
- * @param telephonyManager The telephony manager instance to use for method calls.
- * @param slotId of which deviceID is returned
- */
- public static String getDeviceId(@Nullable TelephonyManager telephonyManager, int slotId) {
- if (telephonyManager == null) {
- return null;
- }
- if (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(TELEPHONY_MANAGER_CLASS, "getDeviceId", Integer.class)) {
- return telephonyManager.getDeviceId(slotId);
- }
- return null;
+ return telephonyManager.getPhoneCount();
}
/**
@@ -119,14 +72,7 @@ public class TelephonyManagerCompat {
* @return {@code true} if the device supports TTY mode, and {@code false} otherwise.
*/
public static boolean isTtyModeSupported(@Nullable TelephonyManager telephonyManager) {
- if (telephonyManager == null) {
- return false;
- }
- if (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(TELEPHONY_MANAGER_CLASS, "isTtyModeSupported")) {
- return telephonyManager.isTtyModeSupported();
- }
- return false;
+ return telephonyManager != null && telephonyManager.isTtyModeSupported();
}
/**
@@ -138,15 +84,7 @@ public class TelephonyManagerCompat {
*/
public static boolean isHearingAidCompatibilitySupported(
@Nullable TelephonyManager telephonyManager) {
- if (telephonyManager == null) {
- return false;
- }
- if (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(
- TELEPHONY_MANAGER_CLASS, "isHearingAidCompatibilitySupported")) {
- return telephonyManager.isHearingAidCompatibilitySupported();
- }
- return false;
+ return telephonyManager != null && telephonyManager.isHearingAidCompatibilitySupported();
}
/**
@@ -228,6 +166,12 @@ public class TelephonyManagerCompat {
public static void handleSecretCode(Context context, String secretCode) {
// Must use system service on O+ to avoid using broadcasts, which are not allowed on O+.
if (BuildCompat.isAtLeastO()) {
+ if (!TelecomUtil.isDefaultDialer(context)) {
+ LogUtil.e(
+ "TelephonyManagerCompat.handleSecretCode",
+ "not default dialer, cannot send special code");
+ return;
+ }
context.getSystemService(TelephonyManager.class).sendDialerSpecialCode(secretCode);
} else {
// System service call is not supported pre-O, so must use a broadcast for N-.
diff --git a/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java b/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
index 5687f6fbf..8393b2601 100644
--- a/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
+++ b/java/com/android/contacts/common/compat/telecom/TelecomManagerCompat.java
@@ -15,273 +15,25 @@
*/
package com.android.contacts.common.compat.telecom;
-import android.app.Activity;
-import android.content.Intent;
-import android.net.Uri;
import android.support.annotation.Nullable;
-import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
-import android.telephony.PhoneNumberUtils;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import com.android.dialer.compat.CompatUtils;
-import java.util.ArrayList;
-import java.util.List;
+import java.lang.reflect.Field;
/** Compatibility class for {@link android.telecom.TelecomManager}. */
public class TelecomManagerCompat {
- public static final String TELECOM_MANAGER_CLASS = "android.telecom.TelecomManager";
-
// TODO: remove once this is available in android.telecom.Call
// b/33779976
public static final String EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS =
"android.telecom.extra.LAST_EMERGENCY_CALLBACK_TIME_MILLIS";
- /**
- * Places a new outgoing call to the provided address using the system telecom service with the
- * specified intent.
- *
- * @param activity {@link Activity} used to start another activity for the given intent
- * @param telecomManager the {@link TelecomManager} used to place a call, if possible
- * @param intent the intent for the call
- */
- public static void placeCall(
- @Nullable Activity activity,
- @Nullable TelecomManager telecomManager,
- @Nullable Intent intent) {
- if (activity == null || telecomManager == null || intent == null) {
- return;
- }
- if (CompatUtils.isMarshmallowCompatible()) {
- telecomManager.placeCall(intent.getData(), intent.getExtras());
- return;
- }
- activity.startActivityForResult(intent, 0);
- }
-
- /**
- * Get the URI for running an adn query.
- *
- * @param telecomManager the {@link TelecomManager} used for method calls, if possible.
- * @param accountHandle The handle for the account to derive an adn query URI for or {@code null}
- * to return a URI which will use the default account.
- * @return The URI (with the content:// scheme) specific to the specified {@link PhoneAccount} for
- * the the content retrieve.
- */
- public static Uri getAdnUriForPhoneAccount(
- @Nullable TelecomManager telecomManager, PhoneAccountHandle accountHandle) {
- if (telecomManager != null
- && (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(
- TELECOM_MANAGER_CLASS, "getAdnUriForPhoneAccount", PhoneAccountHandle.class))) {
- return telecomManager.getAdnUriForPhoneAccount(accountHandle);
- }
- return Uri.parse("content://icc/adn");
- }
-
- /**
- * Returns a list of {@link PhoneAccountHandle}s which can be used to make and receive phone
- * calls. The returned list includes only those accounts which have been explicitly enabled by the
- * user.
- *
- * @param telecomManager the {@link TelecomManager} used for method calls, if possible.
- * @return A list of PhoneAccountHandle objects.
- */
- public static List<PhoneAccountHandle> getCallCapablePhoneAccounts(
- @Nullable TelecomManager telecomManager) {
- if (telecomManager != null
- && (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(
- TELECOM_MANAGER_CLASS, "getCallCapablePhoneAccounts"))) {
- return telecomManager.getCallCapablePhoneAccounts();
- }
- return new ArrayList<>();
- }
-
- /**
- * Used to determine the currently selected default dialer package.
- *
- * @param telecomManager the {@link TelecomManager} used for method calls, if possible.
- * @return package name for the default dialer package or null if no package has been selected as
- * the default dialer.
- */
- @Nullable
- public static String getDefaultDialerPackage(@Nullable TelecomManager telecomManager) {
- if (telecomManager != null && CompatUtils.isDefaultDialerCompatible()) {
- return telecomManager.getDefaultDialerPackage();
- }
- return null;
- }
-
- /**
- * Return the {@link PhoneAccount} which will be used to place outgoing calls to addresses with
- * the specified {@code uriScheme}. This PhoneAccount will always be a member of the list which is
- * returned from invoking {@link TelecomManager#getCallCapablePhoneAccounts()}. The specific
- * account returned depends on the following priorities:
- *
- * <p>1. If the user-selected default PhoneAccount supports the specified scheme, it will be
- * returned. 2. If there exists only one PhoneAccount that supports the specified scheme, it will
- * be returned.
- *
- * <p>If no PhoneAccount fits the criteria above, this method will return {@code null}.
- *
- * @param telecomManager the {@link TelecomManager} used for method calls, if possible.
- * @param uriScheme The URI scheme.
- * @return The {@link PhoneAccountHandle} corresponding to the account to be used.
- */
- @Nullable
- public static PhoneAccountHandle getDefaultOutgoingPhoneAccount(
- @Nullable TelecomManager telecomManager, @Nullable String uriScheme) {
- if (telecomManager != null
- && (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(
- TELECOM_MANAGER_CLASS, "getDefaultOutgoingPhoneAccount", String.class))) {
- return telecomManager.getDefaultOutgoingPhoneAccount(uriScheme);
- }
- return null;
- }
-
- /**
- * Return the line 1 phone number for given phone account.
- *
- * @param telecomManager the {@link TelecomManager} to use in the event that {@link
- * TelecomManager#getLine1Number(PhoneAccountHandle)} is available
- * @param telephonyManager the {@link TelephonyManager} to use if TelecomManager#getLine1Number is
- * unavailable
- * @param phoneAccountHandle the phoneAccountHandle upon which to check the line one number
- * @return the line one number
- */
- @Nullable
- public static String getLine1Number(
- @Nullable TelecomManager telecomManager,
- @Nullable TelephonyManager telephonyManager,
- @Nullable PhoneAccountHandle phoneAccountHandle) {
- if (telecomManager != null && CompatUtils.isMarshmallowCompatible()) {
- return telecomManager.getLine1Number(phoneAccountHandle);
- }
- if (telephonyManager != null) {
- return telephonyManager.getLine1Number();
- }
- return null;
- }
-
- /**
- * Return whether a given phone number is the configured voicemail number for a particular phone
- * account.
- *
- * @param telecomManager the {@link TelecomManager} to use for checking the number.
- * @param accountHandle The handle for the account to check the voicemail number against
- * @param number The number to look up.
- */
- public static boolean isVoiceMailNumber(
- @Nullable TelecomManager telecomManager,
- @Nullable PhoneAccountHandle accountHandle,
- @Nullable String number) {
- if (telecomManager != null
- && (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(
- TELECOM_MANAGER_CLASS,
- "isVoiceMailNumber",
- PhoneAccountHandle.class,
- String.class))) {
- return telecomManager.isVoiceMailNumber(accountHandle, number);
- }
- return PhoneNumberUtils.isVoiceMailNumber(number);
- }
-
- /**
- * Return the {@link PhoneAccount} for a specified {@link PhoneAccountHandle}. Object includes
- * resources which can be used in a user interface.
- *
- * @param telecomManager the {@link TelecomManager} used for method calls, if possible.
- * @param account The {@link PhoneAccountHandle}.
- * @return The {@link PhoneAccount} object or null if it doesn't exist.
- */
- @Nullable
- public static PhoneAccount getPhoneAccount(
- @Nullable TelecomManager telecomManager, @Nullable PhoneAccountHandle accountHandle) {
- if (telecomManager != null
- && (CompatUtils.isMethodAvailable(
- TELECOM_MANAGER_CLASS, "getPhoneAccount", PhoneAccountHandle.class))) {
- return telecomManager.getPhoneAccount(accountHandle);
- }
- return null;
- }
-
- /**
- * Return the voicemail number for a given phone account.
- *
- * @param telecomManager The {@link TelecomManager} object to use for retrieving the voicemail
- * number if accountHandle is specified.
- * @param telephonyManager The {@link TelephonyManager} object to use for retrieving the voicemail
- * number if accountHandle is null.
- * @param accountHandle The handle for the phone account.
- * @return The voicemail number for the phone account, and {@code null} if one has not been
- * configured.
- */
- @Nullable
- public static String getVoiceMailNumber(
- @Nullable TelecomManager telecomManager,
- @Nullable TelephonyManager telephonyManager,
- @Nullable PhoneAccountHandle accountHandle) {
- if (telecomManager != null
- && (CompatUtils.isMethodAvailable(
- TELECOM_MANAGER_CLASS, "getVoiceMailNumber", PhoneAccountHandle.class))) {
- return telecomManager.getVoiceMailNumber(accountHandle);
- } else if (telephonyManager != null) {
- return telephonyManager.getVoiceMailNumber();
- }
- return null;
- }
-
- /**
- * Processes the specified dial string as an MMI code. MMI codes are any sequence of characters
- * entered into the dialpad that contain a "*" or "#". Some of these sequences launch special
- * behavior through handled by Telephony.
- *
- * @param telecomManager The {@link TelecomManager} object to use for handling MMI.
- * @param dialString The digits to dial.
- * @return {@code true} if the digits were processed as an MMI code, {@code false} otherwise.
- */
- public static boolean handleMmi(
- @Nullable TelecomManager telecomManager,
- @Nullable String dialString,
- @Nullable PhoneAccountHandle accountHandle) {
- if (telecomManager == null || TextUtils.isEmpty(dialString)) {
- return false;
- }
- if (CompatUtils.isMarshmallowCompatible()) {
- return telecomManager.handleMmi(dialString, accountHandle);
- }
-
- Object handleMmiResult =
- CompatUtils.invokeMethod(
- telecomManager,
- "handleMmi",
- new Class<?>[] {PhoneAccountHandle.class, String.class},
- new Object[] {accountHandle, dialString});
- if (handleMmiResult != null) {
- return (boolean) handleMmiResult;
- }
-
- return telecomManager.handleMmi(dialString);
- }
-
- /**
- * Silences the ringer if a ringing call exists. Noop if {@link TelecomManager#silenceRinger()} is
- * unavailable.
- *
- * @param telecomManager the TelecomManager to use to silence the ringer.
- */
- public static void silenceRinger(@Nullable TelecomManager telecomManager) {
- if (telecomManager != null
- && (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(TELECOM_MANAGER_CLASS, "silenceRinger"))) {
- telecomManager.silenceRinger();
- }
- }
+ // Constants from http://cs/android/frameworks/base/telecomm/java/android/telecom/Call.java.
+ public static final String EVENT_REQUEST_HANDOVER = "android.telecom.event.REQUEST_HANDOVER";
+ public static final String EXTRA_HANDOVER_PHONE_ACCOUNT_HANDLE =
+ "android.telecom.extra.HANDOVER_PHONE_ACCOUNT_HANDLE";
+ public static final String EXTRA_HANDOVER_VIDEO_STATE =
+ "android.telecom.extra.HANDOVER_VIDEO_STATE";
/**
* Returns the current SIM call manager. Apps must be prepared for this method to return null,
@@ -292,11 +44,25 @@ public class TelecomManagerCompat {
*/
@Nullable
public static PhoneAccountHandle getSimCallManager(TelecomManager telecomManager) {
- if (telecomManager != null
- && (CompatUtils.isMarshmallowCompatible()
- || CompatUtils.isMethodAvailable(TELECOM_MANAGER_CLASS, "getSimCallManager"))) {
+ if (telecomManager != null) {
return telecomManager.getSimCallManager();
}
return null;
}
+
+ /**
+ * Handovers are supported from Android O-DR onward. Since there is no API bump from O to O-DR, we
+ * need to use reflection to check the existence of TelecomManager.EXTRA_IS_HANDOVER in
+ * http://cs/android/frameworks/base/telecomm/java/android/telecom/TelecomManager.java.
+ */
+ public static boolean supportsHandover() {
+ //
+ try {
+ Field field = TelecomManager.class.getDeclaredField("EXTRA_IS_HANDOVER");
+ return "android.telecom.extra.IS_HANDOVER".equals(field.get(null /* obj (static field) */));
+ } catch (Exception e) {
+ // Do nothing
+ }
+ return false;
+ }
}
diff --git a/java/com/android/contacts/common/dialog/CallSubjectDialog.java b/java/com/android/contacts/common/dialog/CallSubjectDialog.java
index 0e7937102..88fac0256 100644
--- a/java/com/android/contacts/common/dialog/CallSubjectDialog.java
+++ b/java/com/android/contacts/common/dialog/CallSubjectDialog.java
@@ -45,7 +45,7 @@ import android.widget.QuickContactBadge;
import android.widget.TextView;
import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.R;
-import com.android.contacts.common.compat.telecom.TelecomManagerCompat;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
import com.android.dialer.animation.AnimUtils;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
@@ -154,11 +154,7 @@ public class CallSubjectDialog extends Activity {
.setCallSubject(subject)
.build();
- TelecomManagerCompat.placeCall(
- CallSubjectDialog.this,
- (TelecomManager) getSystemService(Context.TELECOM_SERVICE),
- intent);
-
+ getSystemService(TelecomManager.class).placeCall(intent.getData(), intent.getExtras());
mSubjectHistory.add(subject);
saveSubjectHistory(mSubjectHistory);
finish();
@@ -202,7 +198,7 @@ public class CallSubjectDialog extends Activity {
number /* number */,
null /* displayNumber */,
null /* numberLabel */,
- ContactPhotoManager.TYPE_DEFAULT,
+ LetterTileDrawable.TYPE_DEFAULT,
null /* phoneAccountHandle */);
}
@@ -356,7 +352,7 @@ public class CallSubjectDialog extends Activity {
mNumber = arguments.getString(ARG_NUMBER);
mDisplayNumber = arguments.getString(ARG_DISPLAY_NUMBER);
mNumberLabel = arguments.getString(ARG_NUMBER_LABEL);
- mContactType = arguments.getInt(ARG_CONTACT_TYPE, ContactPhotoManager.TYPE_DEFAULT);
+ mContactType = arguments.getInt(ARG_CONTACT_TYPE, LetterTileDrawable.TYPE_DEFAULT);
mPhoneAccountHandle = arguments.getParcelable(ARG_PHONE_ACCOUNT_HANDLE);
}
diff --git a/java/com/android/contacts/common/extensions/PhoneDirectoryExtender.java b/java/com/android/contacts/common/extensions/PhoneDirectoryExtender.java
index 2607ad19a..6c932daf5 100644
--- a/java/com/android/contacts/common/extensions/PhoneDirectoryExtender.java
+++ b/java/com/android/contacts/common/extensions/PhoneDirectoryExtender.java
@@ -15,14 +15,24 @@
package com.android.contacts.common.extensions;
import android.content.Context;
+import android.net.Uri;
+import android.support.annotation.Nullable;
import com.android.contacts.common.list.DirectoryPartition;
import java.util.List;
/** An interface for adding extended phone directories. */
public interface PhoneDirectoryExtender {
+
/**
* Return a list of extended directories to add. May return null if no directories are to be
* added.
*/
List<DirectoryPartition> getExtendedDirectories(Context context);
+
+ /** returns true if the nearby places directory is enabled. */
+ boolean isEnabled(Context context);
+
+ /** Returns the content uri for nearby places. */
+ @Nullable
+ Uri getContentUri();
}
diff --git a/java/com/android/contacts/common/extensions/PhoneDirectoryExtenderAccessor.java b/java/com/android/contacts/common/extensions/PhoneDirectoryExtenderAccessor.java
index 84649f1ed..7978831b0 100644
--- a/java/com/android/contacts/common/extensions/PhoneDirectoryExtenderAccessor.java
+++ b/java/com/android/contacts/common/extensions/PhoneDirectoryExtenderAccessor.java
@@ -16,6 +16,7 @@ package com.android.contacts.common.extensions;
import android.content.Context;
import android.support.annotation.NonNull;
+import android.support.annotation.VisibleForTesting;
import com.android.dialer.common.Assert;
/** Accessor for the phone directory extender singleton. */
@@ -25,6 +26,11 @@ public final class PhoneDirectoryExtenderAccessor {
private PhoneDirectoryExtenderAccessor() {}
+ @VisibleForTesting
+ public static void setForTesting(PhoneDirectoryExtender extender) {
+ instance = extender;
+ }
+
@NonNull
public static PhoneDirectoryExtender get(@NonNull Context context) {
Assert.isNotNull(context);
diff --git a/java/com/android/contacts/common/extensions/PhoneDirectoryExtenderStub.java b/java/com/android/contacts/common/extensions/PhoneDirectoryExtenderStub.java
index 95f971533..4c3d3d14d 100644
--- a/java/com/android/contacts/common/extensions/PhoneDirectoryExtenderStub.java
+++ b/java/com/android/contacts/common/extensions/PhoneDirectoryExtenderStub.java
@@ -15,6 +15,8 @@
package com.android.contacts.common.extensions;
import android.content.Context;
+import android.net.Uri;
+import android.support.annotation.Nullable;
import com.android.contacts.common.list.DirectoryPartition;
import java.util.Collections;
import java.util.List;
@@ -26,4 +28,15 @@ class PhoneDirectoryExtenderStub implements PhoneDirectoryExtender {
public List<DirectoryPartition> getExtendedDirectories(Context context) {
return Collections.emptyList();
}
+
+ @Override
+ public boolean isEnabled(Context context) {
+ return false;
+ }
+
+ @Nullable
+ @Override
+ public Uri getContentUri() {
+ return null;
+ }
}
diff --git a/java/com/android/contacts/common/format/FormatUtils.java b/java/com/android/contacts/common/format/FormatUtils.java
deleted file mode 100644
index 727c15b83..000000000
--- a/java/com/android/contacts/common/format/FormatUtils.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (C) 2011 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.common.format;
-
-import android.database.CharArrayBuffer;
-import android.graphics.Typeface;
-import android.support.annotation.VisibleForTesting;
-import android.text.SpannableString;
-import android.text.style.StyleSpan;
-import java.util.Arrays;
-
-/** Assorted utility methods related to text formatting in Contacts. */
-public class FormatUtils {
-
- /**
- * Finds the earliest point in buffer1 at which the first part of buffer2 matches. For example,
- * overlapPoint("abcd", "cdef") == 2.
- */
- public static int overlapPoint(CharArrayBuffer buffer1, CharArrayBuffer buffer2) {
- if (buffer1 == null || buffer2 == null) {
- return -1;
- }
- return overlapPoint(
- Arrays.copyOfRange(buffer1.data, 0, buffer1.sizeCopied),
- Arrays.copyOfRange(buffer2.data, 0, buffer2.sizeCopied));
- }
-
- /**
- * Finds the earliest point in string1 at which the first part of string2 matches. For example,
- * overlapPoint("abcd", "cdef") == 2.
- */
- @VisibleForTesting
- public static int overlapPoint(String string1, String string2) {
- if (string1 == null || string2 == null) {
- return -1;
- }
- return overlapPoint(string1.toCharArray(), string2.toCharArray());
- }
-
- /**
- * Finds the earliest point in array1 at which the first part of array2 matches. For example,
- * overlapPoint("abcd", "cdef") == 2.
- */
- public static int overlapPoint(char[] array1, char[] array2) {
- if (array1 == null || array2 == null) {
- return -1;
- }
- int count1 = array1.length;
- int count2 = array2.length;
-
- // Ignore matching tails of the two arrays.
- while (count1 > 0 && count2 > 0 && array1[count1 - 1] == array2[count2 - 1]) {
- count1--;
- count2--;
- }
-
- int size = count2;
- for (int i = 0; i < count1; i++) {
- if (i + size > count1) {
- size = count1 - i;
- }
- int j;
- for (j = 0; j < size; j++) {
- if (array1[i + j] != array2[j]) {
- break;
- }
- }
- if (j == size) {
- return i;
- }
- }
-
- return -1;
- }
-
- /**
- * Applies the given style to a range of the input CharSequence.
- *
- * @param style The style to apply (see the style constants in {@link Typeface}).
- * @param input The CharSequence to style.
- * @param start Starting index of the range to style (will be clamped to be a minimum of 0).
- * @param end Ending index of the range to style (will be clamped to a maximum of the input
- * length).
- * @param flags Bitmask for configuring behavior of the span. See {@link android.text.Spanned}.
- * @return The styled CharSequence.
- */
- public static CharSequence applyStyleToSpan(
- int style, CharSequence input, int start, int end, int flags) {
- // Enforce bounds of the char sequence.
- start = Math.max(0, start);
- end = Math.min(input.length(), end);
- SpannableString text = new SpannableString(input);
- text.setSpan(new StyleSpan(style), start, end, flags);
- return text;
- }
-
- @VisibleForTesting
- public static void copyToCharArrayBuffer(String text, CharArrayBuffer buffer) {
- if (text != null) {
- char[] data = buffer.data;
- if (data == null || data.length < text.length()) {
- buffer.data = text.toCharArray();
- } else {
- text.getChars(0, text.length(), data, 0);
- }
- buffer.sizeCopied = text.length();
- } else {
- buffer.sizeCopied = 0;
- }
- }
-
- /** Returns a String that represents the content of the given {@link CharArrayBuffer}. */
- @VisibleForTesting
- public static String charArrayBufferToString(CharArrayBuffer buffer) {
- return new String(buffer.data, 0, buffer.sizeCopied);
- }
-
- /**
- * Finds the index of the first word that starts with the given prefix.
- *
- * <p>If not found, returns -1.
- *
- * @param text the text in which to search for the prefix
- * @param prefix the text to find, in upper case letters
- */
- public static int indexOfWordPrefix(CharSequence text, String prefix) {
- if (prefix == null || text == null) {
- return -1;
- }
-
- int textLength = text.length();
- int prefixLength = prefix.length();
-
- if (prefixLength == 0 || textLength < prefixLength) {
- return -1;
- }
-
- int i = 0;
- while (i < textLength) {
- // Skip non-word characters
- while (i < textLength && !Character.isLetterOrDigit(text.charAt(i))) {
- i++;
- }
-
- if (i + prefixLength > textLength) {
- return -1;
- }
-
- // Compare the prefixes
- int j;
- for (j = 0; j < prefixLength; j++) {
- if (Character.toUpperCase(text.charAt(i + j)) != prefix.charAt(j)) {
- break;
- }
- }
- if (j == prefixLength) {
- return i;
- }
-
- // Skip this word
- while (i < textLength && Character.isLetterOrDigit(text.charAt(i))) {
- i++;
- }
- }
-
- return -1;
- }
-}
diff --git a/java/com/android/contacts/common/format/TextHighlighter.java b/java/com/android/contacts/common/format/TextHighlighter.java
index 30c03fdf3..f397f0429 100644
--- a/java/com/android/contacts/common/format/TextHighlighter.java
+++ b/java/com/android/contacts/common/format/TextHighlighter.java
@@ -24,8 +24,6 @@ import android.widget.TextView;
/** Highlights the text in a text field. */
public class TextHighlighter {
- private static final boolean DEBUG = false;
- private final String TAG = TextHighlighter.class.getSimpleName();
private int mTextStyle;
private CharacterStyle mTextStyleSpan;
@@ -81,7 +79,7 @@ public class TextHighlighter {
}
final String trimmedPrefix = prefix.substring(prefixStart);
- int index = FormatUtils.indexOfWordPrefix(text, trimmedPrefix);
+ int index = indexOfWordPrefix(text, trimmedPrefix);
if (index != -1) {
final SpannableString result = new SpannableString(text);
result.setSpan(mTextStyleSpan, index, index + trimmedPrefix.length(), 0 /* flags */);
@@ -90,4 +88,55 @@ public class TextHighlighter {
return text;
}
}
+
+ /**
+ * Finds the index of the first word that starts with the given prefix.
+ *
+ * <p>If not found, returns -1.
+ *
+ * @param text the text in which to search for the prefix
+ * @param prefix the text to find, in upper case letters
+ */
+ public static int indexOfWordPrefix(CharSequence text, String prefix) {
+ if (prefix == null || text == null) {
+ return -1;
+ }
+
+ int textLength = text.length();
+ int prefixLength = prefix.length();
+
+ if (prefixLength == 0 || textLength < prefixLength) {
+ return -1;
+ }
+
+ int i = 0;
+ while (i < textLength) {
+ // Skip non-word characters
+ while (i < textLength && !Character.isLetterOrDigit(text.charAt(i))) {
+ i++;
+ }
+
+ if (i + prefixLength > textLength) {
+ return -1;
+ }
+
+ // Compare the prefixes
+ int j;
+ for (j = 0; j < prefixLength; j++) {
+ if (Character.toUpperCase(text.charAt(i + j)) != prefix.charAt(j)) {
+ break;
+ }
+ }
+ if (j == prefixLength) {
+ return i;
+ }
+
+ // Skip this word
+ while (i < textLength && Character.isLetterOrDigit(text.charAt(i))) {
+ i++;
+ }
+ }
+
+ return -1;
+ }
}
diff --git a/java/com/android/contacts/common/format/testing/SpannedTestUtils.java b/java/com/android/contacts/common/format/testing/SpannedTestUtils.java
deleted file mode 100644
index 293d9d5ad..000000000
--- a/java/com/android/contacts/common/format/testing/SpannedTestUtils.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2011 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.common.format.testing;
-
-import android.test.suitebuilder.annotation.SmallTest;
-import android.text.Html;
-import android.text.SpannableString;
-import android.text.Spanned;
-import android.text.TextUtils;
-import android.text.style.StyleSpan;
-import android.widget.TextView;
-import junit.framework.Assert;
-
-/** Utility class to check the value of spanned text in text views. */
-@SmallTest
-public class SpannedTestUtils {
-
- /**
- * Checks that the text contained in the text view matches the given HTML text.
- *
- * @param expectedHtmlText the expected text to be in the text view
- * @param textView the text view from which to get the text
- */
- public static void checkHtmlText(String expectedHtmlText, TextView textView) {
- String actualHtmlText = Html.toHtml((Spanned) textView.getText());
- if (TextUtils.isEmpty(expectedHtmlText)) {
- // If the text is empty, it does not add the <p></p> bits to it.
- Assert.assertEquals("", actualHtmlText);
- } else {
- Assert.assertEquals("<p dir=ltr>" + expectedHtmlText + "</p>\n", actualHtmlText);
- }
- }
-
- /**
- * Assert span exists in the correct location.
- *
- * @param seq The spannable string to check.
- * @param start The starting index.
- * @param end The ending index.
- */
- public static void assertPrefixSpan(CharSequence seq, int start, int end) {
- Assert.assertTrue(seq instanceof Spanned);
- Spanned spannable = (Spanned) seq;
-
- if (start > 0) {
- Assert.assertEquals(0, getNumForegroundColorSpansBetween(spannable, 0, start - 1));
- }
- Assert.assertEquals(1, getNumForegroundColorSpansBetween(spannable, start, end));
- Assert.assertEquals(
- 0, getNumForegroundColorSpansBetween(spannable, end + 1, spannable.length() - 1));
- }
-
- private static int getNumForegroundColorSpansBetween(Spanned value, int start, int end) {
- return value.getSpans(start, end, StyleSpan.class).length;
- }
-
- /**
- * Asserts that the given character sequence is not a Spanned object and text is correct.
- *
- * @param seq The sequence to check.
- * @param expected The expected text.
- */
- public static void assertNotSpanned(CharSequence seq, String expected) {
- Assert.assertFalse(seq instanceof Spanned);
- Assert.assertEquals(expected, seq);
- }
-
- public static int getNextTransition(SpannableString seq, int start) {
- return seq.nextSpanTransition(start, seq.length(), StyleSpan.class);
- }
-}
diff --git a/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java b/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java
index 88522c44b..5c401fe38 100644
--- a/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java
+++ b/java/com/android/contacts/common/lettertiles/LetterTileDrawable.java
@@ -29,9 +29,12 @@ import android.graphics.Rect;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.support.annotation.IntDef;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.telecom.TelecomManager;
import android.text.TextUtils;
import com.android.contacts.common.R;
+import com.android.contacts.common.lettertiles.LetterTileDrawable.ContactType;
import com.android.dialer.common.Assert;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -122,10 +125,16 @@ public class LetterTileDrawable extends Drawable {
sLetterToTileRatio = res.getFraction(R.dimen.letter_to_tile_ratio, 1, 1);
sDefaultPersonAvatar =
res.getDrawable(R.drawable.product_logo_avatar_anonymous_white_color_120, null);
+ Assert.isNotNull(sDefaultPersonAvatar, "sDefaultPersonAvatar is null");
sDefaultBusinessAvatar = res.getDrawable(R.drawable.quantum_ic_business_vd_theme_24, null);
+ Assert.isNotNull(sDefaultBusinessAvatar, "sDefaultBusinessAvatar is null");
sDefaultVoicemailAvatar = res.getDrawable(R.drawable.quantum_ic_voicemail_vd_theme_24, null);
+ Assert.isNotNull(sDefaultVoicemailAvatar, "sDefaultVoicemailAvatar is null");
sDefaultSpamAvatar = res.getDrawable(R.drawable.quantum_ic_report_vd_theme_24, null);
+ Assert.isNotNull(sDefaultSpamAvatar, "sDefaultSpamAvatar is null");
sDefaultConferenceAvatar = res.getDrawable(R.drawable.quantum_ic_group_vd_theme_24, null);
+ Assert.isNotNull(sDefaultConferenceAvatar, "sDefaultConferenceAvatar is null");
+
sPaint.setTypeface(
Typeface.create(res.getString(R.string.letter_tile_letter_font_family), Typeface.NORMAL));
sPaint.setTextAlign(Align.CENTER);
@@ -178,7 +187,7 @@ public class LetterTileDrawable extends Drawable {
}
@Override
- public void draw(final Canvas canvas) {
+ public void draw(@NonNull final Canvas canvas) {
final Rect bounds = getBounds();
if (!isVisible() || bounds.isEmpty()) {
return;
@@ -233,6 +242,11 @@ public class LetterTileDrawable extends Drawable {
} else {
// Draw the default image if there is no letter/digit to be drawn
Drawable drawable = getDrawableForContactType(mContactType);
+ if (drawable == null) {
+ throw Assert.createIllegalStateFailException(
+ "Unable to find drawable for contact type " + mContactType);
+ }
+
drawable.setBounds(getScaledBounds(mScale, mOffset));
drawable.setAlpha(drawable == sDefaultSpamAvatar ? SPAM_ALPHA : ALPHA);
drawable.draw(canvas);
@@ -406,4 +420,30 @@ public class LetterTileDrawable extends Drawable {
}
return this;
}
+
+ /**
+ * Returns the appropriate LetterTileDrawable.TYPE_ based on the given primitive conditions.
+ *
+ * <p>If no special state is detected, yields TYPE_DEFAULT
+ */
+ public static @ContactType int getContactTypeFromPrimitives(
+ boolean isVoicemailNumber,
+ boolean isSpam,
+ boolean isBusiness,
+ int numberPresentation,
+ boolean isConference) {
+ if (isVoicemailNumber) {
+ return LetterTileDrawable.TYPE_VOICEMAIL;
+ } else if (isSpam) {
+ return LetterTileDrawable.TYPE_SPAM;
+ } else if (isBusiness) {
+ return LetterTileDrawable.TYPE_BUSINESS;
+ } else if (numberPresentation == TelecomManager.PRESENTATION_RESTRICTED) {
+ return LetterTileDrawable.TYPE_GENERIC_AVATAR;
+ } else if (isConference) {
+ return LetterTileDrawable.TYPE_CONFERENCE;
+ } else {
+ return LetterTileDrawable.TYPE_DEFAULT;
+ }
+ }
}
diff --git a/java/com/android/contacts/common/list/ContactEntryListAdapter.java b/java/com/android/contacts/common/list/ContactEntryListAdapter.java
index 18bbae382..7335297e0 100644
--- a/java/com/android/contacts/common/list/ContactEntryListAdapter.java
+++ b/java/com/android/contacts/common/list/ContactEntryListAdapter.java
@@ -26,7 +26,6 @@ import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Directory;
import android.text.TextUtils;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -39,7 +38,11 @@ import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.R;
import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.util.SearchUtil;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.CompatUtils;
+import com.android.dialer.configprovider.ConfigProviderBindings;
+import com.android.dialer.logging.InteractionEvent;
+import com.android.dialer.logging.Logger;
import java.util.HashSet;
/**
@@ -53,7 +56,6 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
*/
public static final boolean LOCAL_INVISIBLE_DIRECTORY_ENABLED = false;
- private static final String TAG = "ContactEntryListAdapter";
private int mDisplayOrder;
private int mSortOrder;
@@ -80,6 +82,8 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
private ContactListFilter mFilter;
private boolean mDarkTheme = false;
+ public static final int SUGGESTIONS_LOADER_ID = 0;
+
/** Resource used to provide header-text for default filter. */
private CharSequence mDefaultFilterHeaderText;
@@ -128,9 +132,22 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
}
protected void addPartitions() {
+ if (ConfigProviderBindings.get(getContext()).getBoolean("p13n_ranker_should_enable", false)) {
+ addPartition(createSuggestionsDirectoryPartition());
+ }
addPartition(createDefaultDirectoryPartition());
}
+ protected DirectoryPartition createSuggestionsDirectoryPartition() {
+ DirectoryPartition partition = new DirectoryPartition(true, true);
+ partition.setDirectoryId(SUGGESTIONS_LOADER_ID);
+ partition.setDirectoryType(getContext().getString(R.string.contact_suggestions));
+ partition.setPriorityDirectory(true);
+ partition.setPhotoSupported(true);
+ partition.setLabel(getContext().getString(R.string.local_suggestions_search_label));
+ return partition;
+ }
+
protected DirectoryPartition createDefaultDirectoryPartition() {
DirectoryPartition partition = new DirectoryPartition(true, true);
partition.setDirectoryId(Directory.DEFAULT);
@@ -243,6 +260,11 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
} else {
mUpperCaseQueryString = SearchUtil.cleanStartAndEndOfSearchQuery(queryString.toUpperCase());
}
+
+ // Enable default partition header if in search mode (including zero-suggest).
+ if (mQueryString != null) {
+ setDefaultPartitionHeader(true);
+ }
}
public String getUpperCaseQueryString() {
@@ -354,9 +376,9 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
if (cursor.getCount() == 0) {
// Directory table must have at least local directory, without which this adapter will
// enter very weird state.
- Log.e(
- TAG,
- "Directory search loader returned an empty cursor, which implies we have "
+ LogUtil.i(
+ "ContactEntryListAdapter.changeDirectories",
+ "directory search loader returned an empty cursor, which implies we have "
+ "no directory entries.",
new RuntimeException());
return;
@@ -529,22 +551,27 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
return false;
}
- /** Changes visibility parameters for the default directory partition. */
- public void configureDefaultPartition(boolean showIfEmpty, boolean hasHeader) {
+ /** Configures visibility parameters for the directory partitions. */
+ public void configurePartitionsVisibility(boolean isInSearchMode) {
+ for (int i = 0; i < getPartitionCount(); i++) {
+ setShowIfEmpty(i, false);
+ setHasHeader(i, isInSearchMode);
+ }
+ }
+
+ // Sets header for the default partition.
+ private void setDefaultPartitionHeader(boolean setHeader) {
+ // Iterate in reverse here to ensure the first DEFAULT directory has header.
+ // Both "Suggestions" and "All Contacts" directories have DEFAULT id.
int defaultPartitionIndex = -1;
- int count = getPartitionCount();
- for (int i = 0; i < count; i++) {
+ for (int i = getPartitionCount() - 1; i >= 0; i--) {
Partition partition = getPartition(i);
if (partition instanceof DirectoryPartition
&& ((DirectoryPartition) partition).getDirectoryId() == Directory.DEFAULT) {
defaultPartitionIndex = i;
- break;
}
}
- if (defaultPartitionIndex != -1) {
- setShowIfEmpty(defaultPartitionIndex, showIfEmpty);
- setHasHeader(defaultPartitionIndex, hasHeader);
- }
+ setHasHeader(defaultPartitionIndex, setHeader);
}
@Override
@@ -678,6 +705,9 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
// mimetype here is reasonable.
quickContact.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE);
}
+ Logger.get(mContext)
+ .logQuickContactOnTouch(
+ quickContact, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_SEARCH, true);
if (photoId != 0 || photoUriColumn == -1) {
getPhotoLoader().loadThumbnail(quickContact, photoId, mDarkTheme, mCircularPhotos, null);
diff --git a/java/com/android/contacts/common/list/ContactEntryListFragment.java b/java/com/android/contacts/common/list/ContactEntryListFragment.java
index 278175c0b..04658be89 100644
--- a/java/com/android/contacts/common/list/ContactEntryListFragment.java
+++ b/java/com/android/contacts/common/list/ContactEntryListFragment.java
@@ -47,6 +47,7 @@ import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.ContactListViewUtils;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.performancereport.PerformanceReport;
import java.lang.ref.WeakReference;
import java.util.Locale;
@@ -440,6 +441,11 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
return;
}
+ // Return for non-"Suggestions" if on the zero-suggest screen.
+ if (TextUtils.isEmpty(mQueryString) && partitionIndex > 0) {
+ return;
+ }
+
mAdapter.changeCursor(partitionIndex, data);
setProfileHeader();
@@ -555,7 +561,6 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
protected void setSearchMode(boolean flag) {
if (mSearchMode != flag) {
mSearchMode = flag;
- setSectionHeaderDisplayEnabled(!mSearchMode);
if (!flag) {
mDirectoryListStatus = STATUS_NOT_LOADED;
@@ -572,7 +577,7 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
// should be cleaned up on exiting the search mode.
mAdapter.removeDirectoriesAfterDefault();
}
- mAdapter.configureDefaultPartition(false, flag);
+ mAdapter.configurePartitionsVisibility(flag);
}
if (mListView != null) {
@@ -676,22 +681,16 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
boolean searchMode = isSearchMode();
mAdapter.setSearchMode(searchMode);
- mAdapter.configureDefaultPartition(false, searchMode);
+ mAdapter.configurePartitionsVisibility(searchMode);
mAdapter.setPhotoLoader(mPhotoManager);
mListView.setAdapter(mAdapter);
-
- if (!isSearchMode()) {
- mListView.setFocusableInTouchMode(true);
- mListView.requestFocus();
- }
-
return mView;
}
protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
mView = inflateView(inflater, container);
- mListView = (ListView) mView.findViewById(android.R.id.list);
+ mListView = mView.findViewById(android.R.id.list);
if (mListView == null) {
throw new RuntimeException(
"Your content must have a ListView whose id attribute is " + "'android.R.id.list'");
@@ -770,6 +769,7 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
+ PerformanceReport.recordScrollStateChange(scrollState);
if (scrollState == OnScrollListener.SCROLL_STATE_FLING) {
mPhotoManager.pause();
} else if (isPhotoLoaderEnabled()) {
diff --git a/java/com/android/contacts/common/list/ContactListItemView.java b/java/com/android/contacts/common/list/ContactListItemView.java
index 7a3194720..91abe4c4f 100644
--- a/java/com/android/contacts/common/list/ContactListItemView.java
+++ b/java/com/android/contacts/common/list/ContactListItemView.java
@@ -30,8 +30,8 @@ import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.SearchSnippets;
import android.support.annotation.IntDef;
+import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
-import android.support.v4.graphics.drawable.DrawableCompat;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.TextUtils;
@@ -55,7 +55,6 @@ import com.android.contacts.common.format.TextHighlighter;
import com.android.contacts.common.list.PhoneNumberListAdapter.Listener;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.contacts.common.util.SearchUtil;
-import com.android.dialer.compat.CompatUtils;
import com.android.dialer.util.ViewUtil;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -81,13 +80,15 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
/** IntDef for indices of ViewPager tabs. */
@Retention(RetentionPolicy.SOURCE)
- @IntDef({NONE, VIDEO, CALL_AND_SHARE})
+ @IntDef({NONE, VIDEO, LIGHTBRINGER, CALL_AND_SHARE})
public @interface CallToAction {}
public static final int NONE = 0;
public static final int VIDEO = 1;
- public static final int CALL_AND_SHARE = 2;
+ public static final int LIGHTBRINGER = 2;
+ public static final int CALL_AND_SHARE = 3;
+ private final PhotoPosition mPhotoPosition = getDefaultPhotoPosition();
private static final Pattern SPLIT_PATTERN =
Pattern.compile("([\\w-\\.]+)@((?:[\\w]+\\.)+)([a-zA-Z]{2,4})|[\\w]+");
static final char SNIPPET_START_MATCH = '[';
@@ -106,7 +107,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
private int mNameTextViewTextSize;
private int mHeaderWidth;
private Drawable mActivatedBackgroundDrawable;
- private int mCallToActionSize = 32;
+ private int mCallToActionSize = 48;
private int mCallToActionMargin = 16;
// Set in onLayout. Represent left and right position of the View on the screen.
private int mLeftOffset;
@@ -122,10 +123,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
private String mHighlightedPrefix;
/** Indicates whether the view should leave room for the "video call" icon. */
private boolean mSupportVideoCall;
- /** Indicates whether the view should leave room for the "call and share" icon. */
- private boolean mSupportCallAndShare;
- private PhotoPosition mPhotoPosition = getDefaultPhotoPosition(false /* normal/non opposite */);
// Header layout data
private TextView mHeaderTextView;
private boolean mIsSectionHeaderEnabled;
@@ -139,7 +137,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
private TextView mSnippetView;
private TextView mStatusView;
private ImageView mPresenceIcon;
- private ImageView mCallToAction;
+ @NonNull private final ImageView mCallToActionView;
private ImageView mWorkProfileIcon;
private ColorStateList mSecondaryTextColor;
private int mDefaultPhotoViewSize = 0;
@@ -181,23 +179,14 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
private Rect mBoundsWithoutHeader = new Rect();
private CharSequence mUnknownNameText;
- public ContactListItemView(Context context) {
- super(context);
+ private String mPhoneNumber;
+ private int mPosition = -1;
+ private @CallToAction int mCallToAction = NONE;
- mTextHighlighter = new TextHighlighter(Typeface.BOLD);
- mNameHighlightSequence = new ArrayList<>();
- mNumberHighlightSequence = new ArrayList<>();
- }
-
- public ContactListItemView(
- Context context,
- AttributeSet attrs,
- boolean supportVideoCallIcon,
- boolean supportCallAndShare) {
+ public ContactListItemView(Context context, AttributeSet attrs, boolean supportVideoCallIcon) {
this(context, attrs);
mSupportVideoCall = supportVideoCallIcon;
- mSupportCallAndShare = supportCallAndShare;
}
public ContactListItemView(Context context, AttributeSet attrs) {
@@ -284,19 +273,20 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
mNameHighlightSequence = new ArrayList<>();
mNumberHighlightSequence = new ArrayList<>();
+ mCallToActionView = new ImageView(getContext());
+ mCallToActionView.setId(R.id.call_to_action);
+ mCallToActionView.setLayoutParams(new LayoutParams(mCallToActionSize, mCallToActionSize));
+ mCallToActionView.setScaleType(ScaleType.CENTER);
+ mCallToActionView.setImageTintList(
+ ContextCompat.getColorStateList(getContext(), R.color.search_video_call_icon_tint));
+ addView(mCallToActionView);
+
setLayoutDirection(View.LAYOUT_DIRECTION_LOCALE);
}
- public static PhotoPosition getDefaultPhotoPosition(boolean opposite) {
- final Locale locale = Locale.getDefault();
- final int layoutDirection = TextUtils.getLayoutDirectionFromLocale(locale);
- switch (layoutDirection) {
- case View.LAYOUT_DIRECTION_RTL:
- return (opposite ? PhotoPosition.LEFT : PhotoPosition.RIGHT);
- case View.LAYOUT_DIRECTION_LTR:
- default:
- return (opposite ? PhotoPosition.RIGHT : PhotoPosition.LEFT);
- }
+ public static PhotoPosition getDefaultPhotoPosition() {
+ int layoutDirection = TextUtils.getLayoutDirectionFromLocale(Locale.getDefault());
+ return layoutDirection == View.LAYOUT_DIRECTION_RTL ? PhotoPosition.RIGHT : PhotoPosition.LEFT;
}
/**
@@ -333,35 +323,47 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
* @param position The position in the adapter of the call to action.
*/
public void setCallToAction(@CallToAction int action, Listener listener, int position) {
- int drawable;
+ mCallToAction = action;
+ mPosition = position;
+
+ Drawable drawable;
int description;
OnClickListener onClickListener;
- if (action == CALL_AND_SHARE && mSupportCallAndShare) {
- drawable = R.drawable.ic_call_and_share;
- description = R.string.description_search_video_call;
+ if (action == CALL_AND_SHARE) {
+ drawable = ContextCompat.getDrawable(getContext(), R.drawable.ic_phone_attach);
+ drawable.setAutoMirrored(true);
+ description = R.string.description_search_call_and_share;
onClickListener = v -> listener.onCallAndShareIconClicked(position);
} else if (action == VIDEO && mSupportVideoCall) {
- drawable = R.drawable.ic_search_video_call;
- description = R.string.description_search_call_and_share;
+ drawable =
+ ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_videocam_vd_theme_24);
+ drawable.setAutoMirrored(true);
+ description = R.string.description_search_video_call;
onClickListener = v -> listener.onVideoCallIconClicked(position);
+ } else if (action == LIGHTBRINGER) {
+ drawable =
+ ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_videocam_vd_theme_24);
+ drawable.setAutoMirrored(true);
+ description = R.string.description_search_video_call;
+ onClickListener = v -> listener.onLightbringerIconClicked(position);
} else {
- if (mCallToAction != null) {
- mCallToAction.setVisibility(View.GONE);
- mCallToAction.setOnClickListener(null);
- }
+ mCallToActionView.setVisibility(View.GONE);
+ mCallToActionView.setOnClickListener(null);
return;
}
- if (mCallToAction == null) {
- mCallToAction = new ImageView(getContext());
- mCallToAction.setLayoutParams(new LayoutParams(mCallToActionSize, mCallToActionSize));
- mCallToAction.setScaleType(ScaleType.CENTER);
- addView(mCallToAction);
- }
- mCallToAction.setContentDescription(getContext().getString(description));
- mCallToAction.setOnClickListener(onClickListener);
- mCallToAction.setImageResource(drawable);
- mCallToAction.setVisibility(View.VISIBLE);
+ mCallToActionView.setContentDescription(getContext().getString(description));
+ mCallToActionView.setOnClickListener(onClickListener);
+ mCallToActionView.setImageDrawable(drawable);
+ mCallToActionView.setVisibility(View.VISIBLE);
+ }
+
+ public @CallToAction int getCallToAction() {
+ return mCallToAction;
+ }
+
+ public int getPosition() {
+ return mPosition;
}
/**
@@ -376,18 +378,6 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
mSupportVideoCall = supportVideoCall;
}
- /**
- * Sets whether the view supports a call and share icon. This is independent of whether the view
- * is actually showing an icon. Support for the icon ensures that the layout leaves space for it,
- * should it be shown.
- *
- * @param supportCallAndShare {@code true} if the call and share icon is supported, {@code false}
- * otherwise.
- */
- public void setSupportCallAndShareIcon(boolean supportCallAndShare) {
- mSupportCallAndShare = supportCallAndShare;
- }
-
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// We will match parent's width and wrap content vertically, but make sure
@@ -423,9 +413,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
effectiveWidth -= mHeaderWidth + mGapBetweenImageAndText;
}
- if (mSupportVideoCall || mSupportCallAndShare) {
- effectiveWidth -= (mCallToActionSize + mCallToActionMargin);
- }
+ effectiveWidth -= (mCallToActionSize + mCallToActionMargin);
// Go over all visible text views and measure actual width of each of them.
// Also calculate their heights to get the total height for this entire view.
@@ -496,11 +484,9 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
mStatusTextViewHeight = mPresenceIcon.getMeasuredHeight();
}
- if ((mSupportVideoCall || mSupportCallAndShare) && isVisible(mCallToAction)) {
- mCallToAction.measure(
- MeasureSpec.makeMeasureSpec(mCallToActionSize, MeasureSpec.EXACTLY),
- MeasureSpec.makeMeasureSpec(mCallToActionSize, MeasureSpec.EXACTLY));
- }
+ mCallToActionView.measure(
+ MeasureSpec.makeMeasureSpec(mCallToActionSize, MeasureSpec.EXACTLY),
+ MeasureSpec.makeMeasureSpec(mCallToActionSize, MeasureSpec.EXACTLY));
if (isVisible(mWorkProfileIcon)) {
mWorkProfileIcon.measure(
@@ -629,34 +615,30 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
leftBound += mTextIndent;
}
- if (mSupportVideoCall || mSupportCallAndShare) {
- // Place the call to action at the end of the list (e.g. take into account RTL mode).
- if (isVisible(mCallToAction)) {
- // Center the icon vertically
- final int callToActionTop = topBound + (height - topBound - mCallToActionSize) / 2;
+ // Place the call to action at the end of the list (e.g. take into account RTL mode).
+ // Center the icon vertically
+ final int callToActionTop = topBound + (height - topBound - mCallToActionSize) / 2;
- if (!isLayoutRtl) {
- // When photo is on left, icon is placed on the right edge.
- mCallToAction.layout(
- rightBound - mCallToActionSize,
- callToActionTop,
- rightBound,
- callToActionTop + mCallToActionSize);
- } else {
- // When photo is on right, icon is placed on the left edge.
- mCallToAction.layout(
- leftBound,
- callToActionTop,
- leftBound + mCallToActionSize,
- callToActionTop + mCallToActionSize);
- }
- }
+ if (!isLayoutRtl) {
+ // When photo is on left, icon is placed on the right edge.
+ mCallToActionView.layout(
+ rightBound - mCallToActionSize,
+ callToActionTop,
+ rightBound,
+ callToActionTop + mCallToActionSize);
+ } else {
+ // When photo is on right, icon is placed on the left edge.
+ mCallToActionView.layout(
+ leftBound,
+ callToActionTop,
+ leftBound + mCallToActionSize,
+ callToActionTop + mCallToActionSize);
+ }
- if (mPhotoPosition == PhotoPosition.LEFT) {
- rightBound -= (mCallToActionSize + mCallToActionMargin);
- } else {
- leftBound += mCallToActionSize + mCallToActionMargin;
- }
+ if (mPhotoPosition == PhotoPosition.LEFT) {
+ rightBound -= (mCallToActionSize + mCallToActionMargin);
+ } else {
+ leftBound += mCallToActionSize + mCallToActionMargin;
}
// Center text vertically, then apply the top offset.
@@ -901,9 +883,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
}
if (mQuickContact == null) {
mQuickContact = new QuickContactBadge(getContext());
- if (CompatUtils.isLollipopCompatible()) {
- mQuickContact.setOverlay(null);
- }
+ mQuickContact.setOverlay(null);
mQuickContact.setLayoutParams(getDefaultPhotoLayoutParams());
if (mNameTextView != null) {
mQuickContact.setContentDescription(
@@ -1008,9 +988,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
mNameTextView.setGravity(Gravity.CENTER_VERTICAL);
mNameTextView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START);
mNameTextView.setId(R.id.cliv_name_textview);
- if (CompatUtils.isLollipopCompatible()) {
- mNameTextView.setElegantTextHeight(false);
- }
+ mNameTextView.setElegantTextHeight(false);
addView(mNameTextView);
}
return mNameTextView;
@@ -1056,6 +1034,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
* exists.
*/
public void setPhoneNumber(String text) {
+ mPhoneNumber = text;
if (text == null) {
if (mDataView != null) {
mDataView.setVisibility(View.GONE);
@@ -1086,6 +1065,10 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
}
}
+ public String getPhoneNumber() {
+ return mPhoneNumber;
+ }
+
private void setMarqueeText(TextView textView, CharSequence text) {
if (getTextEllipsis() == TruncateAt.MARQUEE) {
// To show MARQUEE correctly (with END effect during non-active state), we need
@@ -1109,9 +1092,7 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
mDataView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START);
mDataView.setActivated(isActivated());
mDataView.setId(R.id.cliv_data_view);
- if (CompatUtils.isLollipopCompatible()) {
- mDataView.setElegantTextHeight(false);
- }
+ mDataView.setElegantTextHeight(false);
addView(mDataView);
}
return mDataView;
@@ -1469,28 +1450,17 @@ public class ContactListItemView extends ViewGroup implements SelectionBoundsAdj
forceLayout();
}
- public void setPhotoPosition(PhotoPosition photoPosition) {
- mPhotoPosition = photoPosition;
- }
-
/**
* Set drawable resources directly for the drawable resource of the photo view.
*
- * @param drawableId Id of drawable resource.
+ * @param drawable A drawable resource.
*/
- public void setDrawableResource(int drawableId) {
+ public void setDrawable(Drawable drawable) {
ImageView photo = getPhotoView();
photo.setScaleType(ImageView.ScaleType.CENTER);
- final Drawable drawable = ContextCompat.getDrawable(getContext(), drawableId);
- final int iconColor = ContextCompat.getColor(getContext(), R.color.search_shortcut_icon_color);
- if (CompatUtils.isLollipopCompatible()) {
- photo.setImageDrawable(drawable);
- photo.setImageTintList(ColorStateList.valueOf(iconColor));
- } else {
- final Drawable drawableWrapper = DrawableCompat.wrap(drawable).mutate();
- DrawableCompat.setTint(drawableWrapper, iconColor);
- photo.setImageDrawable(drawableWrapper);
- }
+ int iconColor = ContextCompat.getColor(getContext(), R.color.search_shortcut_icon_color);
+ photo.setImageDrawable(drawable);
+ photo.setImageTintList(ColorStateList.valueOf(iconColor));
}
@Override
diff --git a/java/com/android/contacts/common/list/ContactTileView.java b/java/com/android/contacts/common/list/ContactTileView.java
index 9273b0583..15582d684 100644
--- a/java/com/android/contacts/common/list/ContactTileView.java
+++ b/java/com/android/contacts/common/list/ContactTileView.java
@@ -19,7 +19,6 @@ import android.content.Context;
import android.graphics.Rect;
import android.net.Uri;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
@@ -28,6 +27,9 @@ import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
import com.android.contacts.common.MoreContactUtils;
import com.android.contacts.common.R;
+import com.android.dialer.callintent.CallInitiationType;
+import com.android.dialer.callintent.CallSpecificAppData;
+import com.android.dialer.common.LogUtil;
/** A ContactTile displays a contact's picture and name */
public abstract class ContactTileView extends FrameLayout {
@@ -60,8 +62,14 @@ public abstract class ContactTileView extends FrameLayout {
if (mListener == null) {
return;
}
+ CallSpecificAppData callSpecificAppData =
+ CallSpecificAppData.newBuilder()
+ .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL)
+ .build();
mListener.onContactSelected(
- getLookupUri(), MoreContactUtils.getTargetRectFromView(ContactTileView.this));
+ getLookupUri(),
+ MoreContactUtils.getTargetRectFromView(ContactTileView.this),
+ callSpecificAppData);
}
};
}
@@ -97,7 +105,7 @@ public abstract class ContactTileView extends FrameLayout {
}
} else {
- Log.w(TAG, "contactPhotoManager not set");
+ LogUtil.w(TAG, "contactPhotoManager not set");
}
} else {
setVisibility(View.INVISIBLE);
@@ -163,9 +171,10 @@ public abstract class ContactTileView extends FrameLayout {
public interface Listener {
/** Notification that the contact was selected; no specific action is dictated. */
- void onContactSelected(Uri contactLookupUri, Rect viewRect);
+ void onContactSelected(
+ Uri contactLookupUri, Rect viewRect, CallSpecificAppData callSpecificAppData);
/** Notification that the specified number is to be called. */
- void onCallNumberDirectly(String phoneNumber);
+ void onCallNumberDirectly(String phoneNumber, CallSpecificAppData callSpecificAppData);
}
}
diff --git a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
index 9a490d78a..d1118c3c7 100644
--- a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
+++ b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
@@ -30,7 +30,6 @@ import android.provider.ContactsContract.Directory;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
-import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.R;
@@ -38,15 +37,17 @@ import com.android.contacts.common.compat.CallableCompat;
import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.compat.PhoneCompat;
import com.android.contacts.common.extensions.PhoneDirectoryExtenderAccessor;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
import com.android.contacts.common.list.ContactListItemView.CallToAction;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.Constants;
-import com.android.dialer.callcomposer.CallComposerContact;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.CompatUtils;
+import com.android.dialer.dialercontact.DialerContact;
import com.android.dialer.enrichedcall.EnrichedCallCapabilities;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.enrichedcall.EnrichedCallManager;
+import com.android.dialer.lightbringer.LightbringerComponent;
import com.android.dialer.location.GeoUtil;
import com.android.dialer.util.CallUtil;
import java.util.ArrayList;
@@ -68,16 +69,14 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
// A list of extended directories to add to the directories from the database
private final List<DirectoryPartition> mExtendedDirectories;
private final CharSequence mUnknownNameText;
- private final boolean mCallAndShareEnabled;
+ protected final boolean mIsImsVideoEnabled;
+
// Extended directories will have ID's that are higher than any of the id's from the database,
// so that we can identify them and set them up properly. If no extended directories
// exist, this will be Long.MAX_VALUE
private long mFirstExtendedDirectoryId = Long.MAX_VALUE;
- private ContactListItemView.PhotoPosition mPhotoPosition;
private boolean mUseCallableUri;
private Listener mListener;
- private boolean mIsVideoEnabled;
- private boolean mIsPresenceEnabled;
public PhoneNumberListAdapter(Context context) {
super(context);
@@ -88,11 +87,9 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
PhoneDirectoryExtenderAccessor.get(mContext).getExtendedDirectories(mContext);
int videoCapabilities = CallUtil.getVideoCallingAvailability(context);
- mIsVideoEnabled = (videoCapabilities & CallUtil.VIDEO_CALLING_ENABLED) != 0;
- mIsPresenceEnabled = (videoCapabilities & CallUtil.VIDEO_CALLING_PRESENCE) != 0;
-
- // TODO
- mCallAndShareEnabled = true;
+ mIsImsVideoEnabled =
+ CallUtil.isVideoEnabled(context)
+ && (videoCapabilities & CallUtil.VIDEO_CALLING_PRESENCE) != 0;
}
@Override
@@ -249,10 +246,10 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
return item != null ? item.getString(PhoneQuery.LOOKUP_KEY) : null;
}
- public CallComposerContact getCallComposerContact(int position) {
+ public DialerContact getDialerContact(int position) {
Cursor cursor = (Cursor) getItem(position);
if (cursor == null) {
- LogUtil.e("PhoneNumberListAdapter.getCallComposerContact", "cursor was null.");
+ LogUtil.e("PhoneNumberListAdapter.getDialerContact", "cursor was null.");
return null;
}
@@ -263,11 +260,11 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
Contacts.getLookupUri(
cursor.getLong(PhoneQuery.CONTACT_ID), cursor.getString(PhoneQuery.LOOKUP_KEY));
- CallComposerContact.Builder contact = CallComposerContact.newBuilder();
+ DialerContact.Builder contact = DialerContact.newBuilder();
contact
.setNumber(number)
.setPhotoId(cursor.getLong(PhoneQuery.PHOTO_ID))
- .setContactType(ContactPhotoManager.TYPE_DEFAULT)
+ .setContactType(LetterTileDrawable.TYPE_DEFAULT)
.setNameOrNumber(displayName)
.setNumberLabel(
Phone.getTypeLabel(
@@ -297,7 +294,6 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
ContactListItemView view = super.newView(context, partition, cursor, position, parent);
view.setUnknownNameText(mUnknownNameText);
view.setQuickContactEnabled(isQuickContactEnabled());
- view.setPhotoPosition(mPhotoPosition);
return view;
}
@@ -355,14 +351,8 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
}
final DirectoryPartition directory = (DirectoryPartition) getPartition(partition);
-
- // If the first partition does not have a header, then all subsequent partitions'
- // getPositionForPartition returns an index off by 1.
- int partitionOffset = 0;
- if (partition > 0 && !getPartition(0).getHasHeader()) {
- partitionOffset = 1;
- }
- position += getPositionForPartition(partition) + partitionOffset;
+ // All sections have headers, so scroll position is off by 1.
+ position += getPositionForPartition(partition) + 1;
bindPhoneNumber(view, cursor, directory.isDisplayNumber(), position);
}
@@ -401,13 +391,17 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
int carrierPresence = cursor.getInt(PhoneQuery.CARRIER_PRESENCE);
boolean isPresent = (carrierPresence & Phone.CARRIER_PRESENCE_VT_CAPABLE) != 0;
- boolean isVideoIconShown = mIsVideoEnabled && (!mIsPresenceEnabled || isPresent);
- if (isVideoIconShown) {
+ boolean showViewIcon = mIsImsVideoEnabled && isPresent;
+ if (showViewIcon) {
action = ContactListItemView.VIDEO;
}
}
- if (isCallAndShareEnabled() && action == ContactListItemView.NONE && number != null) {
+ if (LightbringerComponent.get(mContext).getLightbringer().isReachable(mContext, number)) {
+ action = ContactListItemView.LIGHTBRINGER;
+ }
+
+ if (action == ContactListItemView.NONE) {
EnrichedCallManager manager = EnrichedCallComponent.get(mContext).getEnrichedCallManager();
EnrichedCallCapabilities capabilities = manager.getCapabilities(number);
if (capabilities != null && capabilities.supportsCallComposer()) {
@@ -481,14 +475,6 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
}
}
- public ContactListItemView.PhotoPosition getPhotoPosition() {
- return mPhotoPosition;
- }
-
- public void setPhotoPosition(ContactListItemView.PhotoPosition photoPosition) {
- mPhotoPosition = photoPosition;
- }
-
public void setUseCallableUri(boolean useCallableUri) {
mUseCallableUri = useCallableUri;
}
@@ -570,14 +556,12 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
mListener = listener;
}
- public boolean isCallAndShareEnabled() {
- return mCallAndShareEnabled;
- }
-
public interface Listener {
void onVideoCallIconClicked(int position);
+ void onLightbringerIconClicked(int position);
+
void onCallAndShareIconClicked(int position);
}
@@ -642,18 +626,14 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
static {
final List<String> projectionList =
new ArrayList<>(Arrays.asList(PROJECTION_PRIMARY_INTERNAL));
- if (CompatUtils.isMarshmallowCompatible()) {
- projectionList.add(Phone.CARRIER_PRESENCE); // 9
- }
+ projectionList.add(Phone.CARRIER_PRESENCE); // 9
PROJECTION_PRIMARY = projectionList.toArray(new String[projectionList.size()]);
}
static {
final List<String> projectionList =
new ArrayList<>(Arrays.asList(PROJECTION_ALTERNATIVE_INTERNAL));
- if (CompatUtils.isMarshmallowCompatible()) {
- projectionList.add(Phone.CARRIER_PRESENCE); // 9
- }
+ projectionList.add(Phone.CARRIER_PRESENCE); // 9
PROJECTION_ALTERNATIVE = projectionList.toArray(new String[projectionList.size()]);
}
}
diff --git a/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java b/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java
index 8f25f82a5..de7903e83 100644
--- a/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java
+++ b/java/com/android/contacts/common/list/PhoneNumberPickerFragment.java
@@ -29,16 +29,20 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.android.contacts.common.R;
+import com.android.contacts.common.list.PhoneNumberListAdapter.Listener;
import com.android.contacts.common.util.AccountFilterUtil;
-import com.android.dialer.callcomposer.CallComposerContact;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallInitiationType.Type;
import com.android.dialer.callintent.CallSpecificAppData;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.dialercontact.DialerContact;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.enrichedcall.EnrichedCallManager;
+import com.android.dialer.lightbringer.LightbringerComponent;
+import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.protos.ProtoParsers;
import java.util.Set;
import org.json.JSONException;
@@ -61,9 +65,6 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactE
private boolean mUseCallableUri;
- private ContactListItemView.PhotoPosition mPhotoPosition =
- ContactListItemView.getDefaultPhotoPosition(false /* normal/non opposite */);
-
private final Set<OnLoadFinishedListener> mLoadFinishedListeners = new ArraySet<>();
private CursorReranker mCursorReranker;
@@ -71,7 +72,7 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactE
public PhoneNumberPickerFragment() {
setQuickContactEnabled(false);
setPhotoLoaderEnabled(true);
- setSectionHeaderDisplayEnabled(true);
+ setSectionHeaderDisplayEnabled(false);
setDirectorySearchMode(DirectoryListLoader.SEARCH_MODE_NONE);
// Show nothing instead of letting caller Activity show something.
@@ -85,17 +86,33 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactE
*/
@Override
public void onVideoCallIconClicked(int position) {
+ Logger.get(getContext()).logImpression(DialerImpression.Type.IMS_VIDEO_REQUESTED_FROM_SEARCH);
callNumber(position, true /* isVideoCall */);
}
@Override
+ public void onLightbringerIconClicked(int position) {
+ PerformanceReport.stopRecording();
+ String phoneNumber = getPhoneNumber(position);
+ Intent intent =
+ LightbringerComponent.get(getContext())
+ .getLightbringer()
+ .getIntent(getContext(), phoneNumber);
+ // DialtactsActivity.ACTIVITY_REQUEST_CODE_LIGHTBRINGER
+ // Cannot reference because of cyclic dependencies
+ Logger.get(getContext())
+ .logImpression(DialerImpression.Type.LIGHTBRINGER_VIDEO_REQUESTED_FROM_SEARCH);
+ int dialactsActivityRequestCode = 3;
+ getActivity().startActivityForResult(intent, dialactsActivityRequestCode);
+ }
+
+ @Override
public void onCallAndShareIconClicked(int position) {
// Required because of cyclic dependencies of everything depending on contacts/common.
String componentName = "com.android.dialer.callcomposer.CallComposerActivity";
Intent intent = new Intent();
intent.setComponent(new ComponentName(getContext(), componentName));
- CallComposerContact contact =
- ((PhoneNumberListAdapter) getAdapter()).getCallComposerContact(position);
+ DialerContact contact = ((PhoneNumberListAdapter) getAdapter()).getDialerContact(position);
ProtoParsers.put(intent, "CALL_COMPOSER_CONTACT", contact);
startActivity(intent);
}
@@ -267,7 +284,7 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactE
&& data != null
&& !data.isClosed()
&& data.getCount() > 0
- && loader.getId() != -1) { // skip invalid directory ID of -1
+ && loader.getId() == 0) { // only re-rank if a suggestions loader with id of 0.
data = mCursorReranker.rerankCursor(data);
}
super.onLoadFinished(loader, data);
@@ -320,7 +337,27 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactE
@Override
public void onCapabilitiesUpdated() {
if (getAdapter() != null) {
- getAdapter().notifyDataSetChanged();
+ EnrichedCallManager manager =
+ EnrichedCallComponent.get(getContext()).getEnrichedCallManager();
+ Listener listener = ((PhoneNumberListAdapter) getAdapter()).getListener();
+
+ for (int i = 0; i < getListView().getChildCount(); i++) {
+ if (!(getListView().getChildAt(i) instanceof ContactListItemView)) {
+ continue;
+ }
+
+ // Since call and share is the lowest priority call to action, if any others are set,
+ // do not reset the call to action. Also do not set the call and share call to action if
+ // the number doesn't support call composer.
+ ContactListItemView view = (ContactListItemView) getListView().getChildAt(i);
+ if (view.getCallToAction() != ContactListItemView.NONE
+ || view.getPhoneNumber() == null
+ || manager.getCapabilities(view.getPhoneNumber()) == null
+ || !manager.getCapabilities(view.getPhoneNumber()).supportsCallComposer()) {
+ continue;
+ }
+ view.setCallToAction(ContactListItemView.CALL_AND_SHARE, listener, view.getPosition());
+ }
}
}
@@ -360,12 +397,6 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactE
if (!isSearchMode() && mFilter != null) {
adapter.setFilter(mFilter);
}
-
- setPhotoPosition(adapter);
- }
-
- protected void setPhotoPosition(ContactEntryListAdapter adapter) {
- ((PhoneNumberListAdapter) adapter).setPhotoPosition(mPhotoPosition);
}
@Override
@@ -389,15 +420,6 @@ public class PhoneNumberPickerFragment extends ContactEntryListFragment<ContactE
updateFilterHeaderView();
}
- public void setPhotoPosition(ContactListItemView.PhotoPosition photoPosition) {
- mPhotoPosition = photoPosition;
-
- final PhoneNumberListAdapter adapter = (PhoneNumberListAdapter) getAdapter();
- if (adapter != null) {
- adapter.setPhotoPosition(photoPosition);
- }
- }
-
/**
* @param isRemoteDirectory {@code true} if the call was initiated using a contact/phone number
* not in the local contacts database
diff --git a/java/com/android/contacts/common/list/ViewPagerTabs.java b/java/com/android/contacts/common/list/ViewPagerTabs.java
index 34f623ef4..1e6cf1354 100644
--- a/java/com/android/contacts/common/list/ViewPagerTabs.java
+++ b/java/com/android/contacts/common/list/ViewPagerTabs.java
@@ -33,7 +33,6 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.android.contacts.common.R;
-import com.android.dialer.compat.CompatUtils;
/**
* Lightweight implementation of ViewPager tabs. This looks similar to traditional actionBar tabs,
@@ -43,7 +42,13 @@ import com.android.dialer.compat.CompatUtils;
*/
public class ViewPagerTabs extends HorizontalScrollView implements ViewPager.OnPageChangeListener {
- private static final ViewOutlineProvider VIEW_BOUNDS_OUTLINE_PROVIDER;
+ private static final ViewOutlineProvider VIEW_BOUNDS_OUTLINE_PROVIDER =
+ new ViewOutlineProvider() {
+ @Override
+ public void getOutline(View view, Outline outline) {
+ outline.setRect(0, 0, view.getWidth(), view.getHeight());
+ }
+ };
private static final int TAB_SIDE_PADDING_IN_DPS = 10;
// TODO: This should use <declare-styleable> in the future
private static final int[] ATTRS =
@@ -54,20 +59,6 @@ public class ViewPagerTabs extends HorizontalScrollView implements ViewPager.OnP
android.R.attr.textAllCaps
};
- static {
- if (CompatUtils.isLollipopCompatible()) {
- VIEW_BOUNDS_OUTLINE_PROVIDER =
- new ViewOutlineProvider() {
- @Override
- public void getOutline(View view, Outline outline) {
- outline.setRect(0, 0, view.getWidth(), view.getHeight());
- }
- };
- } else {
- VIEW_BOUNDS_OUTLINE_PROVIDER = null;
- }
- }
-
/**
* Linearlayout that will contain the TextViews serving as tabs. This is the only child of the
* parent HorizontalScrollView.
@@ -111,10 +102,8 @@ public class ViewPagerTabs extends HorizontalScrollView implements ViewPager.OnP
new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
a.recycle();
- if (CompatUtils.isLollipopCompatible()) {
- // enable shadow casting from view bounds
- setOutlineProvider(VIEW_BOUNDS_OUTLINE_PROVIDER);
- }
+ // enable shadow casting from view bounds
+ setOutlineProvider(VIEW_BOUNDS_OUTLINE_PROVIDER);
}
public void setViewPager(ViewPager viewPager) {
diff --git a/java/com/android/contacts/common/location/CountryDetector.java b/java/com/android/contacts/common/location/CountryDetector.java
deleted file mode 100644
index 7d9e42b38..000000000
--- a/java/com/android/contacts/common/location/CountryDetector.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (C) 2016 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.common.location;
-
-import android.app.PendingIntent;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.location.Geocoder;
-import android.location.Location;
-import android.location.LocationManager;
-import android.preference.PreferenceManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.Log;
-import com.android.dialer.util.PermissionsUtil;
-import java.util.Locale;
-
-/**
- * This class is used to detect the country where the user is. It is a simplified version of the
- * country detector service in the framework. The sources of country location are queried in the
- * following order of reliability:
- *
- * <ul>
- * <li>Mobile network
- * <li>Location manager
- * <li>SIM's country
- * <li>User's default locale
- * </ul>
- *
- * As far as possible this class tries to replicate the behavior of the system's country detector
- * service: 1) Order in priority of sources of country location 2) Mobile network information
- * provided by CDMA phones is ignored 3) Location information is updated every 12 hours (instead of
- * 24 hours in the system) 4) Location updates only uses the {@link
- * LocationManager#PASSIVE_PROVIDER} to avoid active use of the GPS 5) If a location is successfully
- * obtained and geocoded, we never fall back to use of the SIM's country (for the system, the
- * fallback never happens without a reboot) 6) Location is not used if the device does not implement
- * a {@link android.location.Geocoder}
- */
-public class CountryDetector {
-
- public static final String KEY_PREFERENCE_TIME_UPDATED = "preference_time_updated";
- public static final String KEY_PREFERENCE_CURRENT_COUNTRY = "preference_current_country";
- private static final String TAG = "CountryDetector";
- // Wait 12 hours between updates
- private static final long TIME_BETWEEN_UPDATES_MS = 1000L * 60 * 60 * 12;
- // Minimum distance before an update is triggered, in meters. We don't need this to be too
- // exact because all we care about is what country the user is in.
- private static final long DISTANCE_BETWEEN_UPDATES_METERS = 5000;
- private static CountryDetector sInstance;
- private final TelephonyManager mTelephonyManager;
- private final LocationManager mLocationManager;
- private final LocaleProvider mLocaleProvider;
- // Used as a default country code when all the sources of country data have failed in the
- // exceedingly rare event that the device does not have a default locale set for some reason.
- private static final String DEFAULT_COUNTRY_ISO = "US";
- private final Context mContext;
-
- private CountryDetector(Context context) {
- this(
- context,
- (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE),
- (LocationManager) context.getSystemService(Context.LOCATION_SERVICE),
- new LocaleProvider());
- }
-
- private CountryDetector(
- Context context,
- TelephonyManager telephonyManager,
- LocationManager locationManager,
- LocaleProvider localeProvider) {
- mTelephonyManager = telephonyManager;
- mLocationManager = locationManager;
- mLocaleProvider = localeProvider;
- mContext = context;
-
- registerForLocationUpdates(context, mLocationManager);
- }
-
- public static void registerForLocationUpdates(Context context, LocationManager locationManager) {
- if (!PermissionsUtil.hasLocationPermissions(context)) {
- Log.w(TAG, "No location permissions, not registering for location updates.");
- return;
- }
-
- if (!Geocoder.isPresent()) {
- // Certain devices do not have an implementation of a geocoder - in that case there is
- // no point trying to get location updates because we cannot retrieve the country based
- // on the location anyway.
- return;
- }
- final Intent activeIntent = new Intent(context, LocationChangedReceiver.class);
- final PendingIntent pendingIntent =
- PendingIntent.getBroadcast(context, 0, activeIntent, PendingIntent.FLAG_UPDATE_CURRENT);
-
- locationManager.requestLocationUpdates(
- LocationManager.PASSIVE_PROVIDER,
- TIME_BETWEEN_UPDATES_MS,
- DISTANCE_BETWEEN_UPDATES_METERS,
- pendingIntent);
- }
-
- /**
- * Returns the instance of the country detector. {@link #initialize(Context)} must have been
- * called previously.
- *
- * @return the initialized country detector.
- */
- public static synchronized CountryDetector getInstance(Context context) {
- if (sInstance == null) {
- sInstance = new CountryDetector(context.getApplicationContext());
- }
- return sInstance;
- }
-
- /** Factory method for {@link CountryDetector} that allows the caller to provide mock objects. */
- public CountryDetector getInstanceForTest(
- Context context,
- TelephonyManager telephonyManager,
- LocationManager locationManager,
- LocaleProvider localeProvider,
- Geocoder geocoder) {
- return new CountryDetector(context, telephonyManager, locationManager, localeProvider);
- }
-
- public String getCurrentCountryIso() {
- String result = null;
- if (isNetworkCountryCodeAvailable()) {
- result = getNetworkBasedCountryIso();
- }
- if (TextUtils.isEmpty(result)) {
- result = getLocationBasedCountryIso();
- }
- if (TextUtils.isEmpty(result)) {
- result = getSimBasedCountryIso();
- }
- if (TextUtils.isEmpty(result)) {
- result = getLocaleBasedCountryIso();
- }
- if (TextUtils.isEmpty(result)) {
- result = DEFAULT_COUNTRY_ISO;
- }
- return result.toUpperCase(Locale.US);
- }
-
- /** @return the country code of the current telephony network the user is connected to. */
- private String getNetworkBasedCountryIso() {
- return mTelephonyManager.getNetworkCountryIso();
- }
-
- /** @return the geocoded country code detected by the {@link LocationManager}. */
- private String getLocationBasedCountryIso() {
- if (!Geocoder.isPresent() || !PermissionsUtil.hasLocationPermissions(mContext)) {
- return null;
- }
- final SharedPreferences sharedPreferences =
- PreferenceManager.getDefaultSharedPreferences(mContext);
- return sharedPreferences.getString(KEY_PREFERENCE_CURRENT_COUNTRY, null);
- }
-
- /** @return the country code of the SIM card currently inserted in the device. */
- private String getSimBasedCountryIso() {
- return mTelephonyManager.getSimCountryIso();
- }
-
- /** @return the country code of the user's currently selected locale. */
- private String getLocaleBasedCountryIso() {
- Locale defaultLocale = mLocaleProvider.getDefaultLocale();
- if (defaultLocale != null) {
- return defaultLocale.getCountry();
- }
- return null;
- }
-
- private boolean isNetworkCountryCodeAvailable() {
- // On CDMA TelephonyManager.getNetworkCountryIso() just returns the SIM's country code.
- // In this case, we want to ignore the value returned and fallback to location instead.
- return mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM;
- }
-
- /**
- * Class that can be used to return the user's default locale. This is in its own class so that it
- * can be mocked out.
- */
- public static class LocaleProvider {
-
- public Locale getDefaultLocale() {
- return Locale.getDefault();
- }
- }
-
- public static class LocationChangedReceiver extends BroadcastReceiver {
-
- @Override
- public void onReceive(final Context context, Intent intent) {
- if (!intent.hasExtra(LocationManager.KEY_LOCATION_CHANGED)) {
- return;
- }
-
- final Location location =
- (Location) intent.getExtras().get(LocationManager.KEY_LOCATION_CHANGED);
-
- UpdateCountryService.updateCountry(context, location);
- }
- }
-}
diff --git a/java/com/android/contacts/common/location/UpdateCountryService.java b/java/com/android/contacts/common/location/UpdateCountryService.java
deleted file mode 100644
index f23e09e20..000000000
--- a/java/com/android/contacts/common/location/UpdateCountryService.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2016 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.common.location;
-
-import android.app.IntentService;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.Editor;
-import android.location.Address;
-import android.location.Geocoder;
-import android.location.Location;
-import android.preference.PreferenceManager;
-import android.util.Log;
-import java.io.IOException;
-import java.util.List;
-
-/**
- * Service used to perform asynchronous geocoding from within a broadcast receiver. Given a {@link
- * Location}, convert it into a country code, and save it in shared preferences.
- */
-public class UpdateCountryService extends IntentService {
-
- private static final String TAG = UpdateCountryService.class.getSimpleName();
-
- private static final String ACTION_UPDATE_COUNTRY = "saveCountry";
-
- private static final String KEY_INTENT_LOCATION = "location";
-
- public UpdateCountryService() {
- super(TAG);
- }
-
- public static void updateCountry(Context context, Location location) {
- final Intent serviceIntent = new Intent(context, UpdateCountryService.class);
- serviceIntent.setAction(ACTION_UPDATE_COUNTRY);
- serviceIntent.putExtra(UpdateCountryService.KEY_INTENT_LOCATION, location);
- context.startService(serviceIntent);
- }
-
- @Override
- protected void onHandleIntent(Intent intent) {
- if (intent == null) {
- Log.d(TAG, "onHandleIntent: could not handle null intent");
- return;
- }
- if (ACTION_UPDATE_COUNTRY.equals(intent.getAction())) {
- final Location location = intent.getParcelableExtra(KEY_INTENT_LOCATION);
- final String country = getCountryFromLocation(getApplicationContext(), location);
-
- if (country == null) {
- return;
- }
-
- final SharedPreferences prefs =
- PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-
- final Editor editor = prefs.edit();
- editor.putLong(CountryDetector.KEY_PREFERENCE_TIME_UPDATED, System.currentTimeMillis());
- editor.putString(CountryDetector.KEY_PREFERENCE_CURRENT_COUNTRY, country);
- editor.commit();
- }
- }
-
- /**
- * Given a {@link Location}, return a country code.
- *
- * @return the ISO 3166-1 two letter country code
- */
- private String getCountryFromLocation(Context context, Location location) {
- final Geocoder geocoder = new Geocoder(context);
- String country = null;
- try {
- double latitude = location.getLatitude();
- // Latitude has to be between 90 and -90 (latitude of north and south poles wrt equator)
- if (latitude <= 90 && latitude >= -90) {
- final List<Address> addresses =
- geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
- if (addresses != null && addresses.size() > 0) {
- country = addresses.get(0).getCountryCode();
- }
- } else {
- Log.w(TAG, "Invalid latitude");
- }
- } catch (IOException e) {
- Log.w(TAG, "Exception occurred when getting geocoded country from location");
- }
- return country;
- }
-}
diff --git a/java/com/android/contacts/common/model/ContactLoader.java b/java/com/android/contacts/common/model/ContactLoader.java
index 55464b161..7ef3b73a0 100644
--- a/java/com/android/contacts/common/model/ContactLoader.java
+++ b/java/com/android/contacts/common/model/ContactLoader.java
@@ -522,6 +522,7 @@ public class ContactLoader extends AsyncTaskLoader<Contact> {
cursorColumnToContentValues(cursor, cv, ContactQuery.TIMES_USED);
cursorColumnToContentValues(cursor, cv, ContactQuery.LAST_TIME_USED);
cursorColumnToContentValues(cursor, cv, ContactQuery.CARRIER_PRESENCE);
+
return cv;
}
diff --git a/java/com/android/contacts/common/model/account/AccountType.java b/java/com/android/contacts/common/model/account/AccountType.java
index 1ae485a5f..ed0d421a9 100644
--- a/java/com/android/contacts/common/model/account/AccountType.java
+++ b/java/com/android/contacts/common/model/account/AccountType.java
@@ -25,6 +25,7 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.RawContacts;
import android.support.annotation.VisibleForTesting;
+import android.support.v4.content.ContextCompat;
import android.util.ArrayMap;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
@@ -113,7 +114,7 @@ public abstract class AccountType {
final PackageManager pm = context.getPackageManager();
return pm.getDrawable(syncAdapterPackageName, iconRes, null);
} else if (titleRes != -1) {
- return context.getResources().getDrawable(iconRes);
+ return ContextCompat.getDrawable(context, iconRes);
} else {
return null;
}
diff --git a/java/com/android/contacts/common/model/account/BaseAccountType.java b/java/com/android/contacts/common/model/account/BaseAccountType.java
index 8e9ba738c..ccdad3641 100644
--- a/java/com/android/contacts/common/model/account/BaseAccountType.java
+++ b/java/com/android/contacts/common/model/account/BaseAccountType.java
@@ -307,7 +307,7 @@ public abstract class BaseAccountType extends AccountType {
DataKind kind =
addKind(
new DataKind(Phone.CONTENT_ITEM_TYPE, R.string.phoneLabelsGroup, Weight.PHONE, true));
- kind.iconAltRes = R.drawable.quantum_ic_message_white_24;
+ kind.iconAltRes = R.drawable.quantum_ic_message_vd_theme_24;
kind.iconAltDescriptionRes = R.string.sms;
kind.actionHeader = new PhoneActionInflater();
kind.actionAltHeader = new PhoneActionAltInflater();
@@ -1228,7 +1228,7 @@ public abstract class BaseAccountType extends AccountType {
new PhoneActionInflater(),
new SimpleInflater(Phone.NUMBER));
- kind.iconAltRes = R.drawable.quantum_ic_message_white_24;
+ kind.iconAltRes = R.drawable.quantum_ic_message_vd_theme_24;
kind.iconAltDescriptionRes = R.string.sms;
kind.actionAltHeader = new PhoneActionAltInflater();
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_ab_search.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_ab_search.png
deleted file mode 100644
index d86b2195a..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_ab_search.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_arrow_back_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_arrow_back_24dp.png
deleted file mode 100644
index ddbb2c459..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_arrow_back_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_business_white_120dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_business_white_120dp.png
deleted file mode 100644
index d5942dcad..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_business_white_120dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_call_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_call_24dp.png
deleted file mode 100644
index 4dc506515..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_call_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_close_dk.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_close_dk.png
deleted file mode 100644
index 969552935..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_close_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_create_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_create_24dp.png
deleted file mode 100644
index 540ab4dee..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_create_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_group_white_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_group_white_24dp.png
deleted file mode 100644
index 017e4bbf7..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_group_white_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_history_white_drawable_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_history_white_drawable_24dp.png
deleted file mode 100644
index 703d30b92..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_history_white_drawable_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_info_outline_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_info_outline_24dp.png
deleted file mode 100644
index c7b1113cf..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_info_outline_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_back.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_back.png
deleted file mode 100644
index deb3a6dc1..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_back.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_group_dk.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_group_dk.png
deleted file mode 100644
index 06bd18fbb..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_group_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_group_lt.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_group_lt.png
deleted file mode 100644
index d829d11e2..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_group_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_overflow_lt.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_overflow_lt.png
deleted file mode 100644
index 1ba12950c..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_overflow_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_person_dk.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_person_dk.png
deleted file mode 100644
index 5ff3ac574..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_person_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_person_lt.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_person_lt.png
deleted file mode 100644
index b4ebfc7b2..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_person_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_remove_field_holo_light.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_remove_field_holo_light.png
deleted file mode 100644
index 03fd2fb10..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_remove_field_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_dk.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_dk.png
deleted file mode 100644
index e8cb0f5fe..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_dk.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_holo_light.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_holo_light.png
deleted file mode 100644
index 45137967c..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_lt.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_lt.png
deleted file mode 100644
index 1c9bb81fa..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_menu_star_lt.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_person_24dp.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_person_24dp.png
deleted file mode 100644
index 56708b0ba..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_person_24dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_rx_videocam.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_rx_videocam.png
deleted file mode 100644
index ccdda6701..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_rx_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_tx_videocam.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_tx_videocam.png
deleted file mode 100644
index 603ddc895..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_tx_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_videocam.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_videocam.png
deleted file mode 100644
index 97905c9f5..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_videocam.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/ic_voicemail_avatar.png b/java/com/android/contacts/common/res/drawable-hdpi/ic_voicemail_avatar.png
deleted file mode 100644
index 2121878ae..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/ic_voicemail_avatar.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-hdpi/list_activated_holo.9.png
deleted file mode 100644
index 4ea7afa00..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/list_background_holo.9.png b/java/com/android/contacts/common/res/drawable-hdpi/list_background_holo.9.png
deleted file mode 100644
index cddf9be75..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/list_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/list_focused_holo.9.png b/java/com/android/contacts/common/res/drawable-hdpi/list_focused_holo.9.png
deleted file mode 100644
index 86578be45..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/list_longpressed_holo_light.9.png b/java/com/android/contacts/common/res/drawable-hdpi/list_longpressed_holo_light.9.png
deleted file mode 100644
index e9afcc924..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/list_longpressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/list_pressed_holo_light.9.png b/java/com/android/contacts/common/res/drawable-hdpi/list_pressed_holo_light.9.png
deleted file mode 100644
index 2054530ed..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/list_pressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/list_section_divider_holo_custom.9.png b/java/com/android/contacts/common/res/drawable-hdpi/list_section_divider_holo_custom.9.png
deleted file mode 100644
index a0f17568e..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/list_section_divider_holo_custom.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-hdpi/list_title_holo.9.png b/java/com/android/contacts/common/res/drawable-hdpi/list_title_holo.9.png
deleted file mode 100644
index ae937176e..000000000
--- a/java/com/android/contacts/common/res/drawable-hdpi/list_title_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_focused_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_focused_holo.9.png
deleted file mode 100644
index 4139942d6..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_section_divider_holo_custom.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_section_divider_holo_custom.9.png
deleted file mode 100644
index 569d28f54..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_section_divider_holo_custom.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_title_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_title_holo.9.png
deleted file mode 100644
index 5ec4c96a7..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-hdpi/list_title_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_focused_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_focused_holo.9.png
deleted file mode 100644
index 4139942d6..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_section_divider_holo_custom.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_section_divider_holo_custom.9.png
deleted file mode 100644
index 065ff62ce..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_section_divider_holo_custom.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_title_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_title_holo.9.png
deleted file mode 100644
index 013d5e711..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-mdpi/list_title_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-hdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-hdpi/list_activated_holo.9.png
deleted file mode 100644
index 947f03cec..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-hdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-mdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-mdpi/list_activated_holo.9.png
deleted file mode 100644
index 6d09d7278..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-mdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-xhdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-xhdpi/list_activated_holo.9.png
deleted file mode 100644
index 63c7456f0..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-sw600dp-xhdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_focused_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_focused_holo.9.png
deleted file mode 100644
index 4139942d6..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_section_divider_holo_custom.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_section_divider_holo_custom.9.png
deleted file mode 100644
index af5855420..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_section_divider_holo_custom.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_title_holo.9.png b/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_title_holo.9.png
deleted file mode 100644
index cb801ac1b..000000000
--- a/java/com/android/contacts/common/res/drawable-ldrtl-xhdpi/list_title_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-mdpi/list_activated_holo.9.png
deleted file mode 100644
index 3bf8e0362..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/list_focused_holo.9.png b/java/com/android/contacts/common/res/drawable-mdpi/list_focused_holo.9.png
deleted file mode 100644
index 86578be45..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/list_longpressed_holo_light.9.png b/java/com/android/contacts/common/res/drawable-mdpi/list_longpressed_holo_light.9.png
deleted file mode 100644
index 3226ab760..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/list_longpressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/list_pressed_holo_light.9.png b/java/com/android/contacts/common/res/drawable-mdpi/list_pressed_holo_light.9.png
deleted file mode 100644
index 061904c42..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/list_pressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-mdpi/list_section_divider_holo_custom.9.png b/java/com/android/contacts/common/res/drawable-mdpi/list_section_divider_holo_custom.9.png
deleted file mode 100644
index 1d9371de0..000000000
--- a/java/com/android/contacts/common/res/drawable-mdpi/list_section_divider_holo_custom.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-sw600dp-hdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-sw600dp-hdpi/list_activated_holo.9.png
deleted file mode 100644
index 046b24a96..000000000
--- a/java/com/android/contacts/common/res/drawable-sw600dp-hdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-sw600dp-mdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-sw600dp-mdpi/list_activated_holo.9.png
deleted file mode 100644
index 1ff337370..000000000
--- a/java/com/android/contacts/common/res/drawable-sw600dp-mdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-sw600dp-xhdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-sw600dp-xhdpi/list_activated_holo.9.png
deleted file mode 100644
index 2eb7c7ebc..000000000
--- a/java/com/android/contacts/common/res/drawable-sw600dp-xhdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-xhdpi/list_activated_holo.9.png
deleted file mode 100644
index eda10e612..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/list_focused_holo.9.png b/java/com/android/contacts/common/res/drawable-xhdpi/list_focused_holo.9.png
deleted file mode 100644
index 86578be45..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/list_longpressed_holo_light.9.png b/java/com/android/contacts/common/res/drawable-xhdpi/list_longpressed_holo_light.9.png
deleted file mode 100644
index 5532e88c2..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/list_longpressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/list_pressed_holo_light.9.png b/java/com/android/contacts/common/res/drawable-xhdpi/list_pressed_holo_light.9.png
deleted file mode 100644
index f4af92657..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/list_pressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xhdpi/list_section_divider_holo_custom.9.png b/java/com/android/contacts/common/res/drawable-xhdpi/list_section_divider_holo_custom.9.png
deleted file mode 100644
index 8fb0636cf..000000000
--- a/java/com/android/contacts/common/res/drawable-xhdpi/list_section_divider_holo_custom.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/list_activated_holo.9.png b/java/com/android/contacts/common/res/drawable-xxhdpi/list_activated_holo.9.png
deleted file mode 100644
index 52c00ddcd..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/list_activated_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/list_focused_holo.9.png b/java/com/android/contacts/common/res/drawable-xxhdpi/list_focused_holo.9.png
deleted file mode 100644
index 3e4ca684e..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/list_focused_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/list_longpressed_holo_light.9.png b/java/com/android/contacts/common/res/drawable-xxhdpi/list_longpressed_holo_light.9.png
deleted file mode 100644
index 230d649bf..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/list_longpressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable-xxhdpi/list_pressed_holo_light.9.png b/java/com/android/contacts/common/res/drawable-xxhdpi/list_pressed_holo_light.9.png
deleted file mode 100644
index 1352a1702..000000000
--- a/java/com/android/contacts/common/res/drawable-xxhdpi/list_pressed_holo_light.9.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/contacts/common/res/drawable/ic_search_add_contact.xml b/java/com/android/contacts/common/res/drawable/ic_search_add_contact.xml
deleted file mode 100644
index 476212d24..000000000
--- a/java/com/android/contacts/common/res/drawable/ic_search_add_contact.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2014 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.
--->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
- android:src="@drawable/quantum_ic_person_add_white_24"/>
diff --git a/java/com/android/contacts/common/res/drawable/list_selector_background_transition_holo_light.xml b/java/com/android/contacts/common/res/drawable/list_selector_background_transition_holo_light.xml
deleted file mode 100644
index 35fff99c2..000000000
--- a/java/com/android/contacts/common/res/drawable/list_selector_background_transition_holo_light.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 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.
--->
-
-<transition xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@drawable/list_pressed_holo_light"/>
- <item android:drawable="@drawable/list_longpressed_holo_light"/>
-</transition>
diff --git a/java/com/android/contacts/common/res/layout/dialog_call_subject.xml b/java/com/android/contacts/common/res/layout/dialog_call_subject.xml
index a33b2ac85..df8e8d299 100644
--- a/java/com/android/contacts/common/res/layout/dialog_call_subject.xml
+++ b/java/com/android/contacts/common/res/layout/dialog_call_subject.xml
@@ -129,7 +129,7 @@
android:layout_height="25dp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
- android:src="@drawable/quantum_ic_history_white_24"
+ android:src="@drawable/quantum_ic_history_vd_theme_24"
android:tint="@color/call_subject_history_icon"/>
<TextView
diff --git a/java/com/android/contacts/common/res/layout/search_bar_expanded.xml b/java/com/android/contacts/common/res/layout/search_bar_expanded.xml
index fa16083e2..7192eb030 100644
--- a/java/com/android/contacts/common/res/layout/search_bar_expanded.xml
+++ b/java/com/android/contacts/common/res/layout/search_bar_expanded.xml
@@ -29,7 +29,7 @@
android:layout_margin="@dimen/search_box_navigation_icon_margin"
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/action_menu_back_from_search"
- android:src="@drawable/ic_back_arrow"
+ android:src="@drawable/quantum_ic_arrow_back_vd_theme_24"
android:tint="@color/contactscommon_actionbar_background_color"/>
<EditText
@@ -56,7 +56,7 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/description_clear_search"
- android:src="@drawable/quantum_ic_close_white_24"
+ android:src="@drawable/quantum_ic_close_vd_theme_24"
android:tint="@color/searchbox_icon_tint"/>
</LinearLayout>
diff --git a/java/com/android/contacts/common/res/values-af/strings.xml b/java/com/android/contacts/common/res/values-af/strings.xml
index 52e612da9..4ca39cf96 100644
--- a/java/com/android/contacts/common/res/values-af/strings.xml
+++ b/java/com/android/contacts/common/res/values-af/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Weg"</string>
<string name="status_busy" msgid="5990832098713248503">"Besig"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakte"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Topvoorgestel"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Ander"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Gids"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Werkgids"</string>
<string name="local_search_label" msgid="907622822323119235">"Alle kontakte"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Voorstelle"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ek"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Soek tans…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Meer as <xliff:g id="COUNT">%d</xliff:g> gevind."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Tik \'n nota om saam met oproep te stuur …"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"STUUR EN BEL"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g>-oortjie"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g>-oortjie <xliff:g id="COUNT_3">%2$d</xliff:g> ongelese items. </item>
diff --git a/java/com/android/contacts/common/res/values-am/strings.xml b/java/com/android/contacts/common/res/values-am/strings.xml
index 0283fbb0a..d216b0be6 100644
--- a/java/com/android/contacts/common/res/values-am/strings.xml
+++ b/java/com/android/contacts/common/res/values-am/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"ወጣ ብሏል"</string>
<string name="status_busy" msgid="5990832098713248503">"ተይዟል"</string>
<string name="contactsList" msgid="8806067891419291513">"እውቅያዎች"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"በብዛት የተጠቆሙ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"ሌላ"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ማውጫ"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"የሥራ ስልክ ማውጫ"</string>
<string name="local_search_label" msgid="907622822323119235">"ሁሉም እውቅያዎች"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"ጥቆማዎች"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"እኔ"</string>
<string name="search_results_searching" msgid="3710866752172327451">"በመፈለግ ላይ…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"ከ<xliff:g id="COUNT">%d</xliff:g> በላይ ተገኝተዋል።"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"ከጥሪ ጋር ለመላክ የማስታወሻ ጽሑፍ ይተይቡ ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ላክ እና ደውል"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g><xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"የ<xliff:g id="TITLE">%1$s</xliff:g> ትር።"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> የ<xliff:g id="TITLE_2">%1$s</xliff:g> ትር። <xliff:g id="COUNT_3">%2$d</xliff:g> ያልተነበቡ ንጥሎች። </item>
diff --git a/java/com/android/contacts/common/res/values-ar/strings.xml b/java/com/android/contacts/common/res/values-ar/strings.xml
index a3862fe09..040b54477 100644
--- a/java/com/android/contacts/common/res/values-ar/strings.xml
+++ b/java/com/android/contacts/common/res/values-ar/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"بالخارج"</string>
<string name="status_busy" msgid="5990832098713248503">"مشغول"</string>
<string name="contactsList" msgid="8806067891419291513">"جهات الاتصال"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"أهم المقترحات"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"غير ذلك"</string>
<string name="directory_search_label" msgid="4621215895484025229">"الدليل"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"دليل العمل"</string>
<string name="local_search_label" msgid="907622822323119235">"جميع جهات الاتصال"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"الاقتراحات"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"أنا"</string>
<string name="search_results_searching" msgid="3710866752172327451">"جارِ البحث…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"تم العثور على أكثر من <xliff:g id="COUNT">%d</xliff:g> من جهات الاتصال."</string>
@@ -252,7 +254,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"اكتب ملاحظة لإرسالها مع المكالمة ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"إرسال واتصال"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"علامة تبويب <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="zero"> <xliff:g id="TITLE_2">%1$s</xliff:g> علامة تبويب. <xliff:g id="COUNT_3">%2$d</xliff:g> عناصر غير مقروءة. </item>
diff --git a/java/com/android/contacts/common/res/values-az/strings.xml b/java/com/android/contacts/common/res/values-az/strings.xml
index 943377127..13250f7e0 100644
--- a/java/com/android/contacts/common/res/values-az/strings.xml
+++ b/java/com/android/contacts/common/res/values-az/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Kənar"</string>
<string name="status_busy" msgid="5990832098713248503">"Məşğul"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontaktlar"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Ən yaxşı Təkliflər"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Digər"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Kataloq"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"İş kataloqu"</string>
<string name="local_search_label" msgid="907622822323119235">"Bütün kontaktlar"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Təkliflər"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Mən"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Axtarılır..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> ədəddən çox tapılıb."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Zəng ilə göndərmək üçün qeyd yazın..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"GÖNDƏRİN VƏ ZƏNG EDİN"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> tabel."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> tabel. <xliff:g id="COUNT_3">%2$d</xliff:g> oxunmamış element. </item>
diff --git a/java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml b/java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml
index fc99567f1..d3b6b0c05 100644
--- a/java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/contacts/common/res/values-b+sr+Latn/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Odsutan/na"</string>
<string name="status_busy" msgid="5990832098713248503">"Zauzet/a"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakti"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Najpopularniji predlozi"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Drugo"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Direktorijum"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Direktorijum za Work"</string>
<string name="local_search_label" msgid="907622822323119235">"Svi kontakti"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Predlozi"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ja"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Pretražuje se…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Pronađeno je više od <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -249,7 +251,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Unesite belešku koju ćete poslati uz poziv..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"POŠALJI I POZOVI"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Kartica <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Kartica <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> nepročitana stavka. </item>
diff --git a/java/com/android/contacts/common/res/values-be/strings.xml b/java/com/android/contacts/common/res/values-be/strings.xml
index a9652a1c1..ca8f16421 100644
--- a/java/com/android/contacts/common/res/values-be/strings.xml
+++ b/java/com/android/contacts/common/res/values-be/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Адсутнічае"</string>
<string name="status_busy" msgid="5990832098713248503">"Заняты"</string>
<string name="contactsList" msgid="8806067891419291513">"Кантакты"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Лепшыя прапановы"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Іншае"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Дырэкторыя"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Працоўны каталог"</string>
<string name="local_search_label" msgid="907622822323119235">"Усе кантакты"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Прапановы"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Я"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Пошук..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Знойдзена вынікаў: больш за <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Увесці нататку для адпраўкі з выклікам…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"АДПРАВІЦЬ І ВЫКЛІКАЦЬ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Укладка <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one">Укладка <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> непрачытаны элемент. </item>
diff --git a/java/com/android/contacts/common/res/values-bg/strings.xml b/java/com/android/contacts/common/res/values-bg/strings.xml
index 0b57eb6a5..4fdcc8c01 100644
--- a/java/com/android/contacts/common/res/values-bg/strings.xml
+++ b/java/com/android/contacts/common/res/values-bg/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Отсъства"</string>
<string name="status_busy" msgid="5990832098713248503">"Зает/а"</string>
<string name="contactsList" msgid="8806067891419291513">"Контакти"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Водещи предложения"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Други"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Директория"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Служебен указател"</string>
<string name="local_search_label" msgid="907622822323119235">"Всички контакти"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Предложения"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Аз"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Търси се…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Намерени са повече от <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Напишете придружаваща бележка, която ще се изпрати при извършване на обаждането..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ИЗПРАЩАНЕ И ОБАЖДАНЕ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Раздел „<xliff:g id="TITLE">%1$s</xliff:g>“."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">Раздел „<xliff:g id="TITLE_2">%1$s</xliff:g>“. <xliff:g id="COUNT_3">%2$d</xliff:g> непрочетени елемента. </item>
diff --git a/java/com/android/contacts/common/res/values-bn/strings.xml b/java/com/android/contacts/common/res/values-bn/strings.xml
index 8e783d129..debbe582e 100644
--- a/java/com/android/contacts/common/res/values-bn/strings.xml
+++ b/java/com/android/contacts/common/res/values-bn/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"অন্যত্র"</string>
<string name="status_busy" msgid="5990832098713248503">"ব্যস্ত"</string>
<string name="contactsList" msgid="8806067891419291513">"পরিচিতিগুলি"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"শীর্ষস্থানীয় প্রস্তাবনা"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"অন্যান্য"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ডিরেক্টরি"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"কাজের সংগ্রহ"</string>
<string name="local_search_label" msgid="907622822323119235">"সকল পরিচিতি"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"প্রস্তাবনাগুলি"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"আমি"</string>
<string name="search_results_searching" msgid="3710866752172327451">"অনুসন্ধান করছে..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g>টির থেকে বেশি খুঁজে পাওয়া গিয়েছে৷"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"কলের সাথে পাঠানোর জন্য একটি নোট লিখুন ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"পাঠান এবং কল করুন"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ট্যাব৷"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> ট্যাব৷ <xliff:g id="COUNT_3">%2$d</xliff:g>টি অপঠিত আইটেম৷ </item>
diff --git a/java/com/android/contacts/common/res/values-bs/strings.xml b/java/com/android/contacts/common/res/values-bs/strings.xml
index 278f6a8d0..c5f85e588 100644
--- a/java/com/android/contacts/common/res/values-bs/strings.xml
+++ b/java/com/android/contacts/common/res/values-bs/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Odsutan"</string>
<string name="status_busy" msgid="5990832098713248503">"Zauzeto"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakti"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Najbolji prijedlozi"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Ostalo"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Imenik"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Poslovni imenik"</string>
<string name="local_search_label" msgid="907622822323119235">"Svi kontakti"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Prijedlozi"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ja"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Pretraživanje…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Pronađeno je više od <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -249,7 +251,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Upišite bilješku koja će se poslati uz poziv ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"POŠALJI I POZOVI"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Kartica <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Kartica <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> nepročitana stavka. </item>
diff --git a/java/com/android/contacts/common/res/values-ca/strings.xml b/java/com/android/contacts/common/res/values-ca/strings.xml
index ad31a01b6..7e814ff32 100644
--- a/java/com/android/contacts/common/res/values-ca/strings.xml
+++ b/java/com/android/contacts/common/res/values-ca/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Absent"</string>
<string name="status_busy" msgid="5990832098713248503">"Ocupat"</string>
<string name="contactsList" msgid="8806067891419291513">"Contactes"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Suggeriments principals"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Altres"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directori"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Directori de la feina"</string>
<string name="local_search_label" msgid="907622822323119235">"Tots els contactes"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suggeriments"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Jo"</string>
<string name="search_results_searching" msgid="3710866752172327451">"S\'està cercant…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Se n\'han trobat més de <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Escriu una nota per enviar-la juntament amb la trucada..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVIA I TRUCA"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Pestanya <xliff:g id="TITLE">%1$s</xliff:g>"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">Pestanya <xliff:g id="TITLE_2">%1$s</xliff:g>: <xliff:g id="COUNT_3">%2$d</xliff:g> elements no llegits </item>
diff --git a/java/com/android/contacts/common/res/values-cs/strings.xml b/java/com/android/contacts/common/res/values-cs/strings.xml
index ab54be93a..0bea069ce 100644
--- a/java/com/android/contacts/common/res/values-cs/strings.xml
+++ b/java/com/android/contacts/common/res/values-cs/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Pryč"</string>
<string name="status_busy" msgid="5990832098713248503">"Nemám čas"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakty"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Hlavní návrhy"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Ostatní"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Adresář"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Pracovní adresář"</string>
<string name="local_search_label" msgid="907622822323119235">"Všechny kontakty"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Návrhy"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Já"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Vyhledávání..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Nalezeno více kontaktů než <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Zadejte poznámku, která se odešle pomocí volání…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ODESLAT A ZAVOLAT"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Karta <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="few"> Karta <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> nepřečtené položky. </item>
diff --git a/java/com/android/contacts/common/res/values-da/strings.xml b/java/com/android/contacts/common/res/values-da/strings.xml
index 965d04a73..c000b2fe5 100644
--- a/java/com/android/contacts/common/res/values-da/strings.xml
+++ b/java/com/android/contacts/common/res/values-da/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Ikke til stede"</string>
<string name="status_busy" msgid="5990832098713248503">"Optaget"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakter"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Populære forslag"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Andre"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Indeks"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Indeks for arbejde"</string>
<string name="local_search_label" msgid="907622822323119235">"Alle kontakter"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Forslag"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Mig"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Søger..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Der er fundet mere end <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Indtast en note, som skal sendes ved opkald..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SEND OG RING"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Fanen <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Fanen <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> ulæst element. </item>
diff --git a/java/com/android/contacts/common/res/values-de/strings.xml b/java/com/android/contacts/common/res/values-de/strings.xml
index 60c5e6806..90e133608 100644
--- a/java/com/android/contacts/common/res/values-de/strings.xml
+++ b/java/com/android/contacts/common/res/values-de/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Abwesend"</string>
<string name="status_busy" msgid="5990832098713248503">"Beschäftigt"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakte"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Top-Vorschläge"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Andere"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Verzeichnis"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Verzeichnis geschäftlicher Kontakte"</string>
<string name="local_search_label" msgid="907622822323119235">"Alle Kontakte"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Vorschläge"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ich"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Suche läuft..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Mehr als <xliff:g id="COUNT">%d</xliff:g> Kontakte gefunden"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Notiz eingeben, die beim Anrufen gesendet wird..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SENDEN UND ANRUFEN"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Tab \"<xliff:g id="TITLE">%1$s</xliff:g>\"."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">Tab \"<xliff:g id="TITLE_2">%1$s</xliff:g>\". <xliff:g id="COUNT_3">%2$d</xliff:g> ungelesene Elemente. </item>
diff --git a/java/com/android/contacts/common/res/values-el/strings.xml b/java/com/android/contacts/common/res/values-el/strings.xml
index 9af3bc55a..33d2db4f6 100644
--- a/java/com/android/contacts/common/res/values-el/strings.xml
+++ b/java/com/android/contacts/common/res/values-el/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Μη διαθέσιμος"</string>
<string name="status_busy" msgid="5990832098713248503">"Απασχολημένος"</string>
<string name="contactsList" msgid="8806067891419291513">"Επαφές"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Κορυφαίες προτάσεις"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Άλλο"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Κατάλογος"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Κατάλογος εργασίας"</string>
<string name="local_search_label" msgid="907622822323119235">"Όλες οι επαφές"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Προτάσεις"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Εγώ"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Αναζήτηση..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Βρέθηκαν περισσότερα από <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Πληκτρολογήστε μια σημείωση για αποστολή με την κλήση…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ΑΠΟΣΤΟΛΗ ΚΑΙ ΚΛΗΣΗ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Καρτέλα <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Καρτέλα <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> μη αναγνωσμένα στοιχεία. </item>
diff --git a/java/com/android/contacts/common/res/values-en-rAU/strings.xml b/java/com/android/contacts/common/res/values-en-rAU/strings.xml
index 996c6ee18..e4e09dcaf 100644
--- a/java/com/android/contacts/common/res/values-en-rAU/strings.xml
+++ b/java/com/android/contacts/common/res/values-en-rAU/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Away"</string>
<string name="status_busy" msgid="5990832098713248503">"Busy"</string>
<string name="contactsList" msgid="8806067891419291513">"Contacts"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Top suggested"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Other"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directory"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Work directory"</string>
<string name="local_search_label" msgid="907622822323119235">"All contacts"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suggestions"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Me"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Searching…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"More than <xliff:g id="COUNT">%d</xliff:g> found."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Type a note to send with call ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SEND &amp; CALL"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> tab."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> tab. <xliff:g id="COUNT_3">%2$d</xliff:g> unread items. </item>
diff --git a/java/com/android/contacts/common/res/values-en-rGB/strings.xml b/java/com/android/contacts/common/res/values-en-rGB/strings.xml
index 996c6ee18..e4e09dcaf 100644
--- a/java/com/android/contacts/common/res/values-en-rGB/strings.xml
+++ b/java/com/android/contacts/common/res/values-en-rGB/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Away"</string>
<string name="status_busy" msgid="5990832098713248503">"Busy"</string>
<string name="contactsList" msgid="8806067891419291513">"Contacts"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Top suggested"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Other"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directory"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Work directory"</string>
<string name="local_search_label" msgid="907622822323119235">"All contacts"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suggestions"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Me"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Searching…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"More than <xliff:g id="COUNT">%d</xliff:g> found."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Type a note to send with call ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SEND &amp; CALL"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> tab."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> tab. <xliff:g id="COUNT_3">%2$d</xliff:g> unread items. </item>
diff --git a/java/com/android/contacts/common/res/values-en-rIN/strings.xml b/java/com/android/contacts/common/res/values-en-rIN/strings.xml
index 996c6ee18..e4e09dcaf 100644
--- a/java/com/android/contacts/common/res/values-en-rIN/strings.xml
+++ b/java/com/android/contacts/common/res/values-en-rIN/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Away"</string>
<string name="status_busy" msgid="5990832098713248503">"Busy"</string>
<string name="contactsList" msgid="8806067891419291513">"Contacts"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Top suggested"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Other"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directory"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Work directory"</string>
<string name="local_search_label" msgid="907622822323119235">"All contacts"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suggestions"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Me"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Searching…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"More than <xliff:g id="COUNT">%d</xliff:g> found."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Type a note to send with call ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SEND &amp; CALL"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> tab."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> tab. <xliff:g id="COUNT_3">%2$d</xliff:g> unread items. </item>
diff --git a/java/com/android/contacts/common/res/values-es-rUS/strings.xml b/java/com/android/contacts/common/res/values-es-rUS/strings.xml
index acb563cab..894c352d6 100644
--- a/java/com/android/contacts/common/res/values-es-rUS/strings.xml
+++ b/java/com/android/contacts/common/res/values-es-rUS/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Ausente"</string>
<string name="status_busy" msgid="5990832098713248503">"Ocupado"</string>
<string name="contactsList" msgid="8806067891419291513">"Contactos"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Principales lugares sugeridos"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Otros"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directorio"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Directorio del trabajo"</string>
<string name="local_search_label" msgid="907622822323119235">"Todos los contactos"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Sugerencias"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Yo"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Buscando..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Más de <xliff:g id="COUNT">%d</xliff:g> encontrados"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Escribe una nota para enviar con la llamada…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVIAR Y LLAMAR"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Pestaña <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Pestaña <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> elementos no leídos. </item>
diff --git a/java/com/android/contacts/common/res/values-es/strings.xml b/java/com/android/contacts/common/res/values-es/strings.xml
index def7a447c..39e11d750 100644
--- a/java/com/android/contacts/common/res/values-es/strings.xml
+++ b/java/com/android/contacts/common/res/values-es/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Ausente"</string>
<string name="status_busy" msgid="5990832098713248503">"Ocupado"</string>
<string name="contactsList" msgid="8806067891419291513">"Contactos"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Sugerencias principales"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Otro"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directorio"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Directorio de trabajo"</string>
<string name="local_search_label" msgid="907622822323119235">"Todos los contactos"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Sugerencias"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Yo"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Buscando..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Se han encontrado más de <xliff:g id="COUNT">%d</xliff:g> contactos."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Escribe una nota para enviarla con la llamada..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVIAR Y LLAMAR"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Pestaña <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Pestaña <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> elementos no leídos. </item>
diff --git a/java/com/android/contacts/common/res/values-et/strings.xml b/java/com/android/contacts/common/res/values-et/strings.xml
index c80d54214..e1460382d 100644
--- a/java/com/android/contacts/common/res/values-et/strings.xml
+++ b/java/com/android/contacts/common/res/values-et/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Eemal"</string>
<string name="status_busy" msgid="5990832098713248503">"Hõivatud"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontaktid"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Populaarsed soovitused"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Muu"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Kataloog"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Töökontaktide kataloog"</string>
<string name="local_search_label" msgid="907622822323119235">"Kõik kontaktid"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Soovitused"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Mina"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Otsimine ..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Leitud rohkem kui <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Sisestage märkus, mis koos kõnega saata ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SAADA JA HELISTA"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Vahekaart <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Vahekaart <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> lugemata üksust. </item>
diff --git a/java/com/android/contacts/common/res/values-eu/strings.xml b/java/com/android/contacts/common/res/values-eu/strings.xml
index 868d668b5..9caf1f111 100644
--- a/java/com/android/contacts/common/res/values-eu/strings.xml
+++ b/java/com/android/contacts/common/res/values-eu/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Kanpoan"</string>
<string name="status_busy" msgid="5990832098713248503">"Okupatuta"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontaktuak"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Iradokizun garrantzitsuenak"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Beste bat"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Direktorioa"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Laneko kontaktuak"</string>
<string name="local_search_label" msgid="907622822323119235">"Kontaktu guztiak"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Iradokizunak"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ni"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Bilatzen…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> baino gehiago aurkitu dira."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Idatzi deiarekin batera bidali beharreko oharra…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"BIDALI ETA DEITU"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g>: <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> fitxa."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> fitxa. Irakurri gabeko <xliff:g id="COUNT_3">%2$d</xliff:g> elementu. </item>
diff --git a/java/com/android/contacts/common/res/values-fa/strings.xml b/java/com/android/contacts/common/res/values-fa/strings.xml
index dda10647c..c0bc0109d 100644
--- a/java/com/android/contacts/common/res/values-fa/strings.xml
+++ b/java/com/android/contacts/common/res/values-fa/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"غایب"</string>
<string name="status_busy" msgid="5990832098713248503">"مشغول"</string>
<string name="contactsList" msgid="8806067891419291513">"مخاطبین"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"پیشنهادهای برتر"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"سایر موارد"</string>
<string name="directory_search_label" msgid="4621215895484025229">"فهرست"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"فهرست کار"</string>
<string name="local_search_label" msgid="907622822323119235">"همه مخاطبین"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"پیشنهادها"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"من"</string>
<string name="search_results_searching" msgid="3710866752172327451">"در حال جستجو…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"بیش از <xliff:g id="COUNT">%d</xliff:g> مورد یافت شد."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"یادداشتی بنویسید که همراه تماس ارسال شود…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ارسال و تماس"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / ‏<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"برگه «<xliff:g id="TITLE">%1$s</xliff:g>»."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> برگه «<xliff:g id="TITLE_2">%1$s</xliff:g>». <xliff:g id="COUNT_3">%2$d</xliff:g> مورد خوانده‌نشده. </item>
diff --git a/java/com/android/contacts/common/res/values-fi/strings.xml b/java/com/android/contacts/common/res/values-fi/strings.xml
index b8065b2bf..c12476560 100644
--- a/java/com/android/contacts/common/res/values-fi/strings.xml
+++ b/java/com/android/contacts/common/res/values-fi/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Poissa"</string>
<string name="status_busy" msgid="5990832098713248503">"Varattu"</string>
<string name="contactsList" msgid="8806067891419291513">"Yhteystiedot"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Kiinnostavimmat ehdotukset"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Muu"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Osoitekirja"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Työhakemisto"</string>
<string name="local_search_label" msgid="907622822323119235">"Kaikki yhteystiedot"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Ehdotukset"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Minä"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Haetaan…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Löytyi yli <xliff:g id="COUNT">%d</xliff:g> yhteystietoa."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Kirjoita muistiinpano lähetettäväksi puhelun kanssa…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"LÄHETÄ JA SOITA"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g>-välilehti."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g>-välilehti. <xliff:g id="COUNT_3">%2$d</xliff:g> lukematonta kohdetta. </item>
diff --git a/java/com/android/contacts/common/res/values-fr-rCA/strings.xml b/java/com/android/contacts/common/res/values-fr-rCA/strings.xml
index 82f549292..c05540841 100644
--- a/java/com/android/contacts/common/res/values-fr-rCA/strings.xml
+++ b/java/com/android/contacts/common/res/values-fr-rCA/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Absent"</string>
<string name="status_busy" msgid="5990832098713248503">"Occupé(e)"</string>
<string name="contactsList" msgid="8806067891419291513">"Contacts"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Meilleures suggestions"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Autre"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Répertoire"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Annuaire professionnel"</string>
<string name="local_search_label" msgid="907622822323119235">"Tous les contacts"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suggestions"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Moi"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Recherche en cours…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Plus de <xliff:g id="COUNT">%d</xliff:g> contacts ont été trouvés."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Tapez une note à envoyer avec l\'appel..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVOYER ET APPELER"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> : <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Onglet <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Onglet <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> élément non lu. </item>
diff --git a/java/com/android/contacts/common/res/values-fr/strings.xml b/java/com/android/contacts/common/res/values-fr/strings.xml
index 474d721dc..a47a5a283 100644
--- a/java/com/android/contacts/common/res/values-fr/strings.xml
+++ b/java/com/android/contacts/common/res/values-fr/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Absent"</string>
<string name="status_busy" msgid="5990832098713248503">"Occupé"</string>
<string name="contactsList" msgid="8806067891419291513">"Contacts"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Principaux dossiers recommandés"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Autre"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Répertoire"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Contacts professionnels"</string>
<string name="local_search_label" msgid="907622822323119235">"Tous les contacts"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suggestions"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Moi"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Recherche..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Plus de <xliff:g id="COUNT">%d</xliff:g> contacts ont été trouvés."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Saisissez une note pour accompagner l\'appel..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVOYER ET APPELER"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Onglet <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Onglet <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> élément non lu. </item>
diff --git a/java/com/android/contacts/common/res/values-gl/strings.xml b/java/com/android/contacts/common/res/values-gl/strings.xml
index 4a3262a2b..a90481d6c 100644
--- a/java/com/android/contacts/common/res/values-gl/strings.xml
+++ b/java/com/android/contacts/common/res/values-gl/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Ausente"</string>
<string name="status_busy" msgid="5990832098713248503">"Ocupado"</string>
<string name="contactsList" msgid="8806067891419291513">"Contactos"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Suxestións destacadas"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Outro"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directorio"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Directorio de traballo"</string>
<string name="local_search_label" msgid="907622822323119235">"Todos os contactos"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suxestións"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Eu"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Buscando..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Encontráronse máis de <xliff:g id="COUNT">%d</xliff:g> contactos."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Escribe unha nota para enviala coa chamada…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVIAR E CHAMAR"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Pestana <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Pestana <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> elementos non lidos. </item>
diff --git a/java/com/android/contacts/common/res/values-gu/strings.xml b/java/com/android/contacts/common/res/values-gu/strings.xml
index 536aceb9c..9b1a6a894 100644
--- a/java/com/android/contacts/common/res/values-gu/strings.xml
+++ b/java/com/android/contacts/common/res/values-gu/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"દૂર"</string>
<string name="status_busy" msgid="5990832098713248503">"વ્યસ્ત"</string>
<string name="contactsList" msgid="8806067891419291513">"સંપર્કો"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"ટોચના સૂચવેલ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"અન્ય"</string>
<string name="directory_search_label" msgid="4621215895484025229">"નિર્દેશિકા"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"કાર્ય નિર્દેશિકા"</string>
<string name="local_search_label" msgid="907622822323119235">"તમામ સંપર્કો"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"સૂચનો"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"હું"</string>
<string name="search_results_searching" msgid="3710866752172327451">"શોધી રહ્યું છે..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> કરતાં વધુ મળ્યાં."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"કૉલ સાથે મોકલવા માટે એક નોંધ લખો ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"મોકલો અને કૉલ કરો"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ટૅબ."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> ટૅબ. <xliff:g id="COUNT_3">%2$d</xliff:g> વાંચ્યા વગરની આઇટમ. </item>
diff --git a/java/com/android/contacts/common/res/values-hi/strings.xml b/java/com/android/contacts/common/res/values-hi/strings.xml
index c61e195cb..e33f7d294 100644
--- a/java/com/android/contacts/common/res/values-hi/strings.xml
+++ b/java/com/android/contacts/common/res/values-hi/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"दूर"</string>
<string name="status_busy" msgid="5990832098713248503">"व्यस्त"</string>
<string name="contactsList" msgid="8806067891419291513">"संपर्क"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"शीर्ष सुझाव"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"अन्य"</string>
<string name="directory_search_label" msgid="4621215895484025229">"निर्देशिका"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"कार्य निर्देशिका"</string>
<string name="local_search_label" msgid="907622822323119235">"सभी संपर्क"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"सुझाव"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"मुझे"</string>
<string name="search_results_searching" msgid="3710866752172327451">"खोज रहा है..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> से अधिक मिले."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"कॉल के साथ भेजने के लिए नोट लिखें ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"भेजें और कॉल करें"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> टैब."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> टैब. <xliff:g id="COUNT_3">%2$d</xliff:g> नहीं पढ़े गए आइटम. </item>
diff --git a/java/com/android/contacts/common/res/values-hr/strings.xml b/java/com/android/contacts/common/res/values-hr/strings.xml
index 66986dd38..d6e0b10ac 100644
--- a/java/com/android/contacts/common/res/values-hr/strings.xml
+++ b/java/com/android/contacts/common/res/values-hr/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Odsutan"</string>
<string name="status_busy" msgid="5990832098713248503">"Zauzet"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakti"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Najbolji prijedlozi"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Drugo"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Direktorij"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Poslovni direktorij"</string>
<string name="local_search_label" msgid="907622822323119235">"Svi kontakti"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Prijedlozi"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ja"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Pretraživanje…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Pronađeno je više od <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -249,7 +251,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Napišite bilješku koju ćete poslati uz poziv..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"POŠALJI I NAZOVI"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Kartica <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Kartica <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> nepročitana stavka. </item>
diff --git a/java/com/android/contacts/common/res/values-hu/strings.xml b/java/com/android/contacts/common/res/values-hu/strings.xml
index 22bf5094c..44bf9c8c3 100644
--- a/java/com/android/contacts/common/res/values-hu/strings.xml
+++ b/java/com/android/contacts/common/res/values-hu/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Nincs a gépnél"</string>
<string name="status_busy" msgid="5990832098713248503">"Elfoglalt"</string>
<string name="contactsList" msgid="8806067891419291513">"Címtár"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Legjobb javaslatok"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Egyéb"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Címtár"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Munkahelyi névjegyek címtára"</string>
<string name="local_search_label" msgid="907622822323119235">"Összes névjegy"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Javaslatok"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Én"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Keresés…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Több mint <xliff:g id="COUNT">%d</xliff:g> találat."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Írjon üzenetet, amelyet elküldhetünk a hívással együtt…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"KÜLDÉS ÉS HÍVÁS"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="LIMIT">%2$s</xliff:g>/<xliff:g id="COUNT">%1$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> lap."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> lap. <xliff:g id="COUNT_3">%2$d</xliff:g> olvasatlan elem. </item>
diff --git a/java/com/android/contacts/common/res/values-hy/strings.xml b/java/com/android/contacts/common/res/values-hy/strings.xml
index 85c902347..b1490c764 100644
--- a/java/com/android/contacts/common/res/values-hy/strings.xml
+++ b/java/com/android/contacts/common/res/values-hy/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Տեղում չէ"</string>
<string name="status_busy" msgid="5990832098713248503">"Զբաղված"</string>
<string name="contactsList" msgid="8806067891419291513">"Կոնտակտներ"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Լավագույն առաջարկներ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Այլ"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Գրացուցակ"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Աշխատանքային գրացուցակ"</string>
<string name="local_search_label" msgid="907622822323119235">"Բոլոր կոնտակտները"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Առաջարկներ"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ես"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Որոնում..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Գտնվել են <xliff:g id="COUNT">%d</xliff:g>-ից ավելի:"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Մուտքագրեք նշում՝ զանգի հետ ուղարկելու համար ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ՈՒՂԱՐԿԵԼ ԵՎ ԶԱՆԳԵԼ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ներդիր:"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> tab. <xliff:g id="COUNT_3">%2$d</xliff:g> unread items. </item>
diff --git a/java/com/android/contacts/common/res/values-in/strings.xml b/java/com/android/contacts/common/res/values-in/strings.xml
index d7ee8bfb9..a54821e1d 100644
--- a/java/com/android/contacts/common/res/values-in/strings.xml
+++ b/java/com/android/contacts/common/res/values-in/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Keluar"</string>
<string name="status_busy" msgid="5990832098713248503">"Sibuk"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontak"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Paling Disarankan"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Lainnya"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Direktori"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Direktori kerja"</string>
<string name="local_search_label" msgid="907622822323119235">"Semua kontak"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Saran"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Saya"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Menelusuri…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Ditemukan lebih dari <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Ketik catatan untuk dikirim dengan panggilan telepon ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"KIRIM &amp; TELEPON"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Tab <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Tab <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> item belum dibaca. </item>
diff --git a/java/com/android/contacts/common/res/values-is/strings.xml b/java/com/android/contacts/common/res/values-is/strings.xml
index 26c1aefd1..803a44bd7 100644
--- a/java/com/android/contacts/common/res/values-is/strings.xml
+++ b/java/com/android/contacts/common/res/values-is/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Í burtu"</string>
<string name="status_busy" msgid="5990832098713248503">"Upptekin(n)"</string>
<string name="contactsList" msgid="8806067891419291513">"Tengiliðir"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Helstu tillögur"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Annað"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Skrá"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Vinnuskrá"</string>
<string name="local_search_label" msgid="907622822323119235">"Allir tengiliðir"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Tillögur"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ég"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Leitar…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Yfir <xliff:g id="COUNT">%d</xliff:g> fundust."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Sláðu inn texta til að senda með símtalinu..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SENDA OG HRINGJA"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Flipinn <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Flipinn <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> ólesið atriði. </item>
diff --git a/java/com/android/contacts/common/res/values-it/strings.xml b/java/com/android/contacts/common/res/values-it/strings.xml
index 8ea564854..1c4c769eb 100644
--- a/java/com/android/contacts/common/res/values-it/strings.xml
+++ b/java/com/android/contacts/common/res/values-it/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Assente"</string>
<string name="status_busy" msgid="5990832098713248503">"Occupato"</string>
<string name="contactsList" msgid="8806067891419291513">"Contatti"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Suggerimenti più popolari"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Altro"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directory"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Directory di lavoro"</string>
<string name="local_search_label" msgid="907622822323119235">"Tutti i contatti"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suggerimenti"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Io"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Ricerca..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Più di <xliff:g id="COUNT">%d</xliff:g> trovati."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Digita una nota da inviare con la chiamata..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"INVIA E CHIAMA"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Scheda <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Scheda <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> elementi da leggere. </item>
diff --git a/java/com/android/contacts/common/res/values-iw/strings.xml b/java/com/android/contacts/common/res/values-iw/strings.xml
index 2a6b2c189..9f1fd4927 100644
--- a/java/com/android/contacts/common/res/values-iw/strings.xml
+++ b/java/com/android/contacts/common/res/values-iw/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"לא נמצא"</string>
<string name="status_busy" msgid="5990832098713248503">"לא פנוי"</string>
<string name="contactsList" msgid="8806067891419291513">"אנשי קשר"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"הצעות מובילות"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"אחר"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ספריה"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"ספריית עבודה"</string>
<string name="local_search_label" msgid="907622822323119235">"כל אנשי הקשר"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"הצעות"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"אני"</string>
<string name="search_results_searching" msgid="3710866752172327451">"מחפש..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"נמצאו יותר מ-<xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"הקלד הערה לשליחה עם השיחה..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"שלח והתקשר"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"‎<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>‎"</string>
<string name="tab_title" msgid="3387876802026074288">"הכרטיסייה <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="two">הכרטיסייה <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> פריטים שלא נקראו. </item>
diff --git a/java/com/android/contacts/common/res/values-ja/strings.xml b/java/com/android/contacts/common/res/values-ja/strings.xml
index 3271b46bb..8dd776887 100644
--- a/java/com/android/contacts/common/res/values-ja/strings.xml
+++ b/java/com/android/contacts/common/res/values-ja/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"不在"</string>
<string name="status_busy" msgid="5990832098713248503">"取り込み中"</string>
<string name="contactsList" msgid="8806067891419291513">"連絡先"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"おすすめ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"その他"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ディレクトリ"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"仕事用の連絡先リスト"</string>
<string name="local_search_label" msgid="907622822323119235">"すべての連絡先"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"候補"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"自分"</string>
<string name="search_results_searching" msgid="3710866752172327451">"検索中..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g>件以上見つかりました。"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"発信時に送信するメモを入力..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"送信 / 通話"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g>、<xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> タブ。"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> タブ。<xliff:g id="COUNT_3">%2$d</xliff:g> 件の未読項目。</item>
diff --git a/java/com/android/contacts/common/res/values-ka/strings.xml b/java/com/android/contacts/common/res/values-ka/strings.xml
index ebbee6e33..a7f536d25 100644
--- a/java/com/android/contacts/common/res/values-ka/strings.xml
+++ b/java/com/android/contacts/common/res/values-ka/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"გასული"</string>
<string name="status_busy" msgid="5990832098713248503">"დაკავებული"</string>
<string name="contactsList" msgid="8806067891419291513">"კონტაქტები"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"საუკეთესო შეთავაზებები"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"სხვა"</string>
<string name="directory_search_label" msgid="4621215895484025229">"კატალოგი"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"სამსახურის კატალოგი"</string>
<string name="local_search_label" msgid="907622822323119235">"ყველა კონტაქტი"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"შეთავაზებები"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"მე"</string>
<string name="search_results_searching" msgid="3710866752172327451">"ძიება..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"ნაპოვნია <xliff:g id="COUNT">%d</xliff:g>-ზე მეტი."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"აკრიფეთ შენიშვნა ზართან ერთად გასაგზავნად ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"გაგზავნა და დარეკვა"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ცხრ."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> ცხრ. <xliff:g id="COUNT_3">%2$d</xliff:g> წაუკითხავი ერთეული. </item>
diff --git a/java/com/android/contacts/common/res/values-kk/strings.xml b/java/com/android/contacts/common/res/values-kk/strings.xml
index 327532abc..cf2f5f156 100644
--- a/java/com/android/contacts/common/res/values-kk/strings.xml
+++ b/java/com/android/contacts/common/res/values-kk/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Желіден тыс"</string>
<string name="status_busy" msgid="5990832098713248503">"Бос емес"</string>
<string name="contactsList" msgid="8806067891419291513">"Контактілер"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Үздік ұсыныстар"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Басқа"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Анықтама"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Жұмыс каталогы"</string>
<string name="local_search_label" msgid="907622822323119235">"Барлық контактілер"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Ұсыныстар"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Мен"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Іздеуде…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> көбірек табылды."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Қоңыраумен жіберу үшін ескертпе теріңіз ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ЖІБЕРУ ЖӘНЕ ҚОҢЫРАУ ШАЛУ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> қойындысы."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> қойындысы. <xliff:g id="COUNT_3">%2$d</xliff:g> оқылмаған элемент. </item>
diff --git a/java/com/android/contacts/common/res/values-km/strings.xml b/java/com/android/contacts/common/res/values-km/strings.xml
index 503016792..d22ebb230 100644
--- a/java/com/android/contacts/common/res/values-km/strings.xml
+++ b/java/com/android/contacts/common/res/values-km/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"ចាក​ឆ្ងាយ"</string>
<string name="status_busy" msgid="5990832098713248503">"រវល់"</string>
<string name="contactsList" msgid="8806067891419291513">"ទំនាក់ទំនង"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"បាន​ណែនាំ​​កម្រិត​ខ្ពស់"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"ផ្សេងៗ"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ថត"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"ថតកន្លែងការងារ"</string>
<string name="local_search_label" msgid="907622822323119235">"ទំនាក់ទំនង​ទាំងអស់"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"ការ​ណែនាំ"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"ខ្ញុំ"</string>
<string name="search_results_searching" msgid="3710866752172327451">"កំពុង​ស្វែងរក..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"បាន​រក​ឃើញ​ច្រើន​ជាង <xliff:g id="COUNT">%d</xliff:g> ។"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"វាយបញ្ចូលចំណាំដែលត្រូវផ្ញើជាមួយការហៅទូរស័ព្ទ ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ផ្ញើ &amp; ហៅ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"ផ្ទាំង <xliff:g id="TITLE">%1$s</xliff:g>។"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">ផ្ទាំង <xliff:g id="TITLE_2">%1$s</xliff:g>។ ធាតុមិនទាន់​អាន <xliff:g id="COUNT_3">%2$d</xliff:g> </item>
diff --git a/java/com/android/contacts/common/res/values-kn/strings.xml b/java/com/android/contacts/common/res/values-kn/strings.xml
index 446e078a6..6b49a0bb4 100644
--- a/java/com/android/contacts/common/res/values-kn/strings.xml
+++ b/java/com/android/contacts/common/res/values-kn/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"ದೂರ"</string>
<string name="status_busy" msgid="5990832098713248503">"ಕಾರ್ಯನಿರತ"</string>
<string name="contactsList" msgid="8806067891419291513">"ಸಂಪರ್ಕಗಳು"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"ಉನ್ನತ ಸಲಹೆ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"ಇತರೆ"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ಡೈರೆಕ್ಟರಿ"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"ಕೆಲಸದ ಡೈರೆಕ್ಟರಿ"</string>
<string name="local_search_label" msgid="907622822323119235">"ಎಲ್ಲಾ ಸಂಪರ್ಕಗಳು"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"ಸಲಹೆಗಳು"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"ನಾನು"</string>
<string name="search_results_searching" msgid="3710866752172327451">"ಹುಡುಕಲಾಗುತ್ತಿದೆ…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> ಗಿಂತ ಹೆಚ್ಚಾಗಿ ಕಂಡುಬಂದಿದೆ."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"ಕರೆ ಕಳುಹಿಸಲು ಟಿಪ್ಪಣಿಯನ್ನು ಟೈಪ್ ಮಾಡಿ ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ಕಳುಹಿಸು ಮತ್ತು ಕರೆಮಾಡು"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ಟ್ಯಾಬ್."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> ಟ್ಯಾಬ್. <xliff:g id="COUNT_3">%2$d</xliff:g> ಓದದಿರುವ ಐಟಂಗಳು. </item>
diff --git a/java/com/android/contacts/common/res/values-ko/strings.xml b/java/com/android/contacts/common/res/values-ko/strings.xml
index 4c2bd4f62..f18659687 100644
--- a/java/com/android/contacts/common/res/values-ko/strings.xml
+++ b/java/com/android/contacts/common/res/values-ko/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"자리 비움"</string>
<string name="status_busy" msgid="5990832098713248503">"다른 용무 중"</string>
<string name="contactsList" msgid="8806067891419291513">"주소록"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"인기 추천"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"기타"</string>
<string name="directory_search_label" msgid="4621215895484025229">"디렉토리"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"직장 디렉토리"</string>
<string name="local_search_label" msgid="907622822323119235">"모든 연락처"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"추천"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"나"</string>
<string name="search_results_searching" msgid="3710866752172327451">"검색 중..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g>개 이상 찾았습니다."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"통화에 함께 전송할 메모를 입력하세요..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"보내기 및 전화 걸기"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> 탭"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> 탭. 읽지 않은 항목 <xliff:g id="COUNT_3">%2$d</xliff:g>개 </item>
diff --git a/java/com/android/contacts/common/res/values-ky/strings.xml b/java/com/android/contacts/common/res/values-ky/strings.xml
index e5bab4550..eaa7dccad 100644
--- a/java/com/android/contacts/common/res/values-ky/strings.xml
+++ b/java/com/android/contacts/common/res/values-ky/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Чыгып кетти"</string>
<string name="status_busy" msgid="5990832098713248503">"Бош эмес"</string>
<string name="contactsList" msgid="8806067891419291513">"Байланыштар"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Эң көп сунушталгандар"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Башка"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Директорий"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Жумуш профилиндеги байланыштар китепчеси"</string>
<string name="local_search_label" msgid="907622822323119235">"Бардык байланыштар"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Сунуштар"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Мен"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Изделүүдө…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> ашык табылды."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Чалуу менен жөнөтүлө турган кыска жазууну териңиз …"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ЖӨНӨТҮҮ ЖАНА ЧАЛУУ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"\"<xliff:g id="TITLE">%1$s</xliff:g>\" өтмөгү."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> \"<xliff:g id="TITLE_2">%1$s</xliff:g>\" өтмөгү. <xliff:g id="COUNT_3">%2$d</xliff:g> нерсе окула элек. </item>
diff --git a/java/com/android/contacts/common/res/values-lo/strings.xml b/java/com/android/contacts/common/res/values-lo/strings.xml
index c649539d4..fa6d3c63a 100644
--- a/java/com/android/contacts/common/res/values-lo/strings.xml
+++ b/java/com/android/contacts/common/res/values-lo/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"ບໍ່ຢູ່"</string>
<string name="status_busy" msgid="5990832098713248503">"ບໍ່ຫວ່າງ"</string>
<string name="contactsList" msgid="8806067891419291513">"ລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"ແນະນຳຫຼາຍທີ່ສຸດ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"ອື່ນໆ"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ໄດເຣັກທໍຣີ"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"ໄດເຣັກທໍຣີບ່ອນເຮັດວຽກ"</string>
<string name="local_search_label" msgid="907622822323119235">"ລາຍຊື່ຜູ້ຕິດຕໍ່ທັງໝົດ"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"ຄຳແນະນຳ"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"ຂ້ອຍ"</string>
<string name="search_results_searching" msgid="3710866752172327451">"ກຳລັງຊອກຫາ..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"ພົບຫຼາຍກວ່າ <xliff:g id="COUNT">%d</xliff:g> ລາຍການ."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"ພິມ​ບັນ​ທຶກ ເພື່ອ​ສົ່ງ​ກັບ​ການ​ໂທ ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ສົ່ງ ແລະ ໂທ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"ແຖບ <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">ແຖບ <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> ລາຍການບໍ່ທັນໄດ້ອ່ານ. </item>
diff --git a/java/com/android/contacts/common/res/values-lt/strings.xml b/java/com/android/contacts/common/res/values-lt/strings.xml
index b74bd99ee..b577260e1 100644
--- a/java/com/android/contacts/common/res/values-lt/strings.xml
+++ b/java/com/android/contacts/common/res/values-lt/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Pasišalinęs"</string>
<string name="status_busy" msgid="5990832098713248503">"Užsiėmęs"</string>
<string name="contactsList" msgid="8806067891419291513">"Adresinė"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Populiariausi siūlomi"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Kita"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Katalogas"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Darbo katalogas"</string>
<string name="local_search_label" msgid="907622822323119235">"Visi kontaktai"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Pasiūlymai"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Aš"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Ieškoma…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Rasta daugiau nei <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Įveskite užrašą, kurį galima išsiųsti skambinant..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SIŲSTI IR SKAMBINTI"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Skirtukas „<xliff:g id="TITLE">%1$s</xliff:g>“."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Skirtukas „<xliff:g id="TITLE_2">%1$s</xliff:g>“. <xliff:g id="COUNT_3">%2$d</xliff:g> neskaitytas elementas. </item>
diff --git a/java/com/android/contacts/common/res/values-lv/strings.xml b/java/com/android/contacts/common/res/values-lv/strings.xml
index c09a27f5d..81551e220 100644
--- a/java/com/android/contacts/common/res/values-lv/strings.xml
+++ b/java/com/android/contacts/common/res/values-lv/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Prombūtnē"</string>
<string name="status_busy" msgid="5990832098713248503">"Aizņemts"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontaktpersonas"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Populārākie ieteikumi"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Cits"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Katalogs"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Darba katalogs"</string>
<string name="local_search_label" msgid="907622822323119235">"Visas kontaktpersonas"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Ieteikumi"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Es"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Notiek meklēšana…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Atrastas vairāk nekā <xliff:g id="COUNT">%d</xliff:g> kontaktpersonas."</string>
@@ -249,7 +251,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Ierakstiet piezīmi, ko nosūtīt ar zvanu..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SŪTĪT UN ZVANĪT"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> no <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g>: <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Cilne “<xliff:g id="TITLE">%1$s</xliff:g>”"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="zero"> Cilne “<xliff:g id="TITLE_2">%1$s</xliff:g>”. <xliff:g id="COUNT_3">%2$d</xliff:g> nelasīti vienumi. </item>
diff --git a/java/com/android/contacts/common/res/values-mk/strings.xml b/java/com/android/contacts/common/res/values-mk/strings.xml
index da1530f2a..475ea174e 100644
--- a/java/com/android/contacts/common/res/values-mk/strings.xml
+++ b/java/com/android/contacts/common/res/values-mk/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Отсутен"</string>
<string name="status_busy" msgid="5990832098713248503">"Зафатен"</string>
<string name="contactsList" msgid="8806067891419291513">"Контакти"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Нејдобри предложени"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Друг"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Адресар"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Работен директориум"</string>
<string name="local_search_label" msgid="907622822323119235">"Сите контакти"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Предлози"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Јас"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Се пребарува..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Повеќе од <xliff:g id="COUNT">%d</xliff:g> се пронајдени."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Напишете белешка да се испрати со повикот..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ИСПРАТИ И ПОВИКАЈ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Картичка <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Картичка <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> непрочитана ставка. </item>
diff --git a/java/com/android/contacts/common/res/values-ml/strings.xml b/java/com/android/contacts/common/res/values-ml/strings.xml
index 7e927499a..969a99b5a 100644
--- a/java/com/android/contacts/common/res/values-ml/strings.xml
+++ b/java/com/android/contacts/common/res/values-ml/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"ലഭ്യമല്ല"</string>
<string name="status_busy" msgid="5990832098713248503">"തിരക്കിലാണ്"</string>
<string name="contactsList" msgid="8806067891419291513">"കോണ്ടാക്റ്റ്"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"കൂടുതൽ നിർദ്ദേശിച്ചിരിക്കുന്നവ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"മറ്റുള്ളവ"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ഡയറക്‌ടറി"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"ഔദ്യോഗിക ഡയറക്‌ടറി"</string>
<string name="local_search_label" msgid="907622822323119235">"എല്ലാ കോൺടാക്റ്റുകളും"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"നിര്‍ദ്ദേശങ്ങള്‍"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"ഞാന്‍"</string>
<string name="search_results_searching" msgid="3710866752172327451">"തിരയുന്നു…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g>-ൽ കൂടുതൽ കണ്ടെത്തി."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"കോളിനൊപ്പം അയയ്ക്കുന്നതിന് ഒരു കുറിപ്പ് ടൈപ്പുചെയ്യുക ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"അയയ്‌ക്കുകയും വിളിക്കുകയും ചെയ്യുക"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ടാബ്."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> ടാബ്. <xliff:g id="COUNT_3">%2$d</xliff:g> വായിക്കാത്ത ഇനങ്ങൾ. </item>
diff --git a/java/com/android/contacts/common/res/values-mn/strings.xml b/java/com/android/contacts/common/res/values-mn/strings.xml
index f0a8c9245..12fba53c7 100644
--- a/java/com/android/contacts/common/res/values-mn/strings.xml
+++ b/java/com/android/contacts/common/res/values-mn/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Холдсон"</string>
<string name="status_busy" msgid="5990832098713248503">"Завгүй"</string>
<string name="contactsList" msgid="8806067891419291513">"Харилцагчид"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Санал болгосон шилдэг"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Бусад"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Директор"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Ажлын лавлагаа"</string>
<string name="local_search_label" msgid="907622822323119235">"Бүх харилцагчид"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Санал болголт"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Би"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Хайж байна..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g>-с олон олдлоо."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Дуудлаганд илгээх тэмдэглэл бичнэ үү..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ИЛГЭЭХ, ДУУДЛАГА"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> таб."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> таб. <xliff:g id="COUNT_3">%2$d</xliff:g> уншаагүй зүйл. </item>
diff --git a/java/com/android/contacts/common/res/values-mr/strings.xml b/java/com/android/contacts/common/res/values-mr/strings.xml
index 96504c7bc..8770f8b53 100644
--- a/java/com/android/contacts/common/res/values-mr/strings.xml
+++ b/java/com/android/contacts/common/res/values-mr/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"दूर आहे"</string>
<string name="status_busy" msgid="5990832098713248503">"व्यस्त"</string>
<string name="contactsList" msgid="8806067891419291513">"संपर्क"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"सुचविलेले उत्कृष्ट"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"इतर"</string>
<string name="directory_search_label" msgid="4621215895484025229">"निर्देशिका"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"कार्य निर्देशिका"</string>
<string name="local_search_label" msgid="907622822323119235">"सर्व संपर्क"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"सूचना"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"मी"</string>
<string name="search_results_searching" msgid="3710866752172327451">"शोधत आहे..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> पेक्षा जास्त आढळले."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"कॉलसह पाठविण्‍यासाठी एक टीप टाइप करा..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"पाठवा आणि कॉल करा"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> टॅब."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> टॅब. <xliff:g id="COUNT_3">%2$d</xliff:g> न वाचलेला आयटम. </item>
diff --git a/java/com/android/contacts/common/res/values-ms/strings.xml b/java/com/android/contacts/common/res/values-ms/strings.xml
index 60d2b7acc..45c297f60 100644
--- a/java/com/android/contacts/common/res/values-ms/strings.xml
+++ b/java/com/android/contacts/common/res/values-ms/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Tiada"</string>
<string name="status_busy" msgid="5990832098713248503">"Sibuk"</string>
<string name="contactsList" msgid="8806067891419291513">"Kenalan"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Teratas Dicadangkan"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Lain-lain"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Direktori"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Direktori kerja"</string>
<string name="local_search_label" msgid="907622822323119235">"Semua kenalan"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Cadangan"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Saya"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Mencari..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"lebih daripada <xliff:g id="COUNT">%d</xliff:g> ditemui"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Taip nota untuk dihantar dengan panggilan…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"HANTAR &amp; PANGGIL"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Tab <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">Tab <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> item belum dibaca. </item>
diff --git a/java/com/android/contacts/common/res/values-my/strings.xml b/java/com/android/contacts/common/res/values-my/strings.xml
index d81e8950d..6fbad16be 100644
--- a/java/com/android/contacts/common/res/values-my/strings.xml
+++ b/java/com/android/contacts/common/res/values-my/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"အဝေးရောက်နေပါသည်"</string>
<string name="status_busy" msgid="5990832098713248503">"အလုပ်များနေသည်"</string>
<string name="contactsList" msgid="8806067891419291513">"အဆက်အသွယ်များ"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"ထိပ်တန်း အကြံပြုထားပါသည်"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"တစ်ခြား"</string>
<string name="directory_search_label" msgid="4621215895484025229">"လမ်းညွှန်"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"အလုပ်လမ်းညွှန်"</string>
<string name="local_search_label" msgid="907622822323119235">"လိပ်စာများအားလုံး"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"အကြံပြုချက်များ"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"ကျွန်ုပ်"</string>
<string name="search_results_searching" msgid="3710866752172327451">"ရှာဖွေနေသည်…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> ထက်ပိုတွေ့ရှိသည်"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"ခေါ်ဆိုမှုဖြင့် ပေးပို့ရန် မှတ်စုတစ်ခု ရိုက်ပါ ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ပေးပို့ပြီး ခေါ်ပါ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> တဘ်။"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> တဘ်။ မဖတ်ရသေးသည့် အရာ <xliff:g id="COUNT_3">%2$d</xliff:g> ခု။ </item>
diff --git a/java/com/android/contacts/common/res/values-nb/strings.xml b/java/com/android/contacts/common/res/values-nb/strings.xml
index 7085cb381..8162ee732 100644
--- a/java/com/android/contacts/common/res/values-nb/strings.xml
+++ b/java/com/android/contacts/common/res/values-nb/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Borte"</string>
<string name="status_busy" msgid="5990832098713248503">"Opptatt"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakter"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Toppforslag"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Annen"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Katalog"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Jobbkatalog"</string>
<string name="local_search_label" msgid="907622822323119235">"Alle kontakter"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Forslag"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Meg"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Søker …"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Fant mer enn <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Skriv et notat du vil sende med anropet …"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SEND OG RING"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g>-fanen."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g>-fanen. <xliff:g id="COUNT_3">%2$d</xliff:g> uleste elementer. </item>
diff --git a/java/com/android/contacts/common/res/values-ne/strings.xml b/java/com/android/contacts/common/res/values-ne/strings.xml
index 1f54232af..0034852e6 100644
--- a/java/com/android/contacts/common/res/values-ne/strings.xml
+++ b/java/com/android/contacts/common/res/values-ne/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"टाढा"</string>
<string name="status_busy" msgid="5990832098713248503">"व्यस्त"</string>
<string name="contactsList" msgid="8806067891419291513">"सम्पर्क"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"सबैभन्दा धेरै सुझाव दिइएको"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"अन्य"</string>
<string name="directory_search_label" msgid="4621215895484025229">"निर्देशिका"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"कार्यको निर्देशिका"</string>
<string name="local_search_label" msgid="907622822323119235">"सबै सम्पर्कहरू"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"सुझावहरू"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"म"</string>
<string name="search_results_searching" msgid="3710866752172327451">"खोजी गर्दै..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g>भन्दा बढी पाइयो।"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"यस कलसँग पठाउन एक टिप्पणी टाइप गर्नुहोस्"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"पठाउनुहोस् र कल गर्नुहोस्"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ट्याब।"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> ट्याब। <xliff:g id="COUNT_3">%2$d</xliff:g> नपढिएका वस्तुहरू। </item>
diff --git a/java/com/android/contacts/common/res/values-nl/strings.xml b/java/com/android/contacts/common/res/values-nl/strings.xml
index 9d41899f1..e8f1b150b 100644
--- a/java/com/android/contacts/common/res/values-nl/strings.xml
+++ b/java/com/android/contacts/common/res/values-nl/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Niet beschikbaar"</string>
<string name="status_busy" msgid="5990832098713248503">"Bezet"</string>
<string name="contactsList" msgid="8806067891419291513">"Contacten"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Populaire suggesties"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Overig"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Directory"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Zakelijke contactenlijst"</string>
<string name="local_search_label" msgid="907622822323119235">"Alle contacten"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Suggesties"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ik"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Zoeken..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Meer dan <xliff:g id="COUNT">%d</xliff:g> gevonden."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Typ een notitie om te verzenden met de oproep..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"VERZENDEN EN BELLEN"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Tabblad <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">Tabblad <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> ongelezen items. </item>
diff --git a/java/com/android/contacts/common/res/values-no/strings.xml b/java/com/android/contacts/common/res/values-no/strings.xml
index 7085cb381..8162ee732 100644
--- a/java/com/android/contacts/common/res/values-no/strings.xml
+++ b/java/com/android/contacts/common/res/values-no/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Borte"</string>
<string name="status_busy" msgid="5990832098713248503">"Opptatt"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakter"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Toppforslag"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Annen"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Katalog"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Jobbkatalog"</string>
<string name="local_search_label" msgid="907622822323119235">"Alle kontakter"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Forslag"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Meg"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Søker …"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Fant mer enn <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Skriv et notat du vil sende med anropet …"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SEND OG RING"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g>-fanen."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g>-fanen. <xliff:g id="COUNT_3">%2$d</xliff:g> uleste elementer. </item>
diff --git a/java/com/android/contacts/common/res/values-pa/strings.xml b/java/com/android/contacts/common/res/values-pa/strings.xml
index c96510cc7..8a1a13441 100644
--- a/java/com/android/contacts/common/res/values-pa/strings.xml
+++ b/java/com/android/contacts/common/res/values-pa/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"ਦੂਰ"</string>
<string name="status_busy" msgid="5990832098713248503">"ਰੁੱਝਾ ਹੋਇਆ ਹੈ"</string>
<string name="contactsList" msgid="8806067891419291513">"ਸੰਪਰਕ"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"ਪ੍ਰਮੁੱਖ ਸੁਝਾਏ ਗਏ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"ਹੋਰ"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ਡਾਇਰੈਕਟਰੀ"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"ਕੰਮ ਡਾਇਰੈਕਟਰੀ"</string>
<string name="local_search_label" msgid="907622822323119235">"ਸਾਰੇ ਸੰਪਰਕ"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"ਸੁਝਾਅ"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"ਮੈਂ"</string>
<string name="search_results_searching" msgid="3710866752172327451">"ਖੋਜ ਰਿਹਾ ਹੈ..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> ਤੋਂ ਵੱਧ ਮਿਲੇ।"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"ਕਾਲ ਦੇ ਨਾਲ ਭੇਜਣ ਲਈ ਕੋਈ ਨੋਟ ਟਾਈਪ ਕਰੋ ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ਭੇਜੋ ਅਤੇ ਕਾਲ ਕਰੋ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ਟੈਬ।"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> ਟੈਬ। <xliff:g id="COUNT_3">%2$d</xliff:g> ਅਣ-ਪੜ੍ਹੀਆਂ ਆਈਟਮਾਂ। </item>
diff --git a/java/com/android/contacts/common/res/values-pl/strings.xml b/java/com/android/contacts/common/res/values-pl/strings.xml
index c4e65f556..37d5b621e 100644
--- a/java/com/android/contacts/common/res/values-pl/strings.xml
+++ b/java/com/android/contacts/common/res/values-pl/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Nieobecny"</string>
<string name="status_busy" msgid="5990832098713248503">"Zajęty"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakty"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Najlepsze sugestie"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Inny"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Katalog"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Katalog służbowy"</string>
<string name="local_search_label" msgid="907622822323119235">"Wszystkie kontakty"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Sugestie"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ja"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Wyszukiwanie..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Znaleziono więcej niż <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Wpisz notatkę, którą chcesz wysłać razem z połączeniem..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"WYŚLIJ I ZADZWOŃ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Karta <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="few"> Karta <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> nieprzeczytane elementy. </item>
diff --git a/java/com/android/contacts/common/res/values-pt-rBR/strings.xml b/java/com/android/contacts/common/res/values-pt-rBR/strings.xml
index ee2b87c68..5083c4ad0 100644
--- a/java/com/android/contacts/common/res/values-pt-rBR/strings.xml
+++ b/java/com/android/contacts/common/res/values-pt-rBR/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Ausente"</string>
<string name="status_busy" msgid="5990832098713248503">"Ocupado"</string>
<string name="contactsList" msgid="8806067891419291513">"Contatos"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Principais sugestões"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Outros"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Diretório"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Diretório de trabalho"</string>
<string name="local_search_label" msgid="907622822323119235">"Todos os contatos"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Sugestões"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Eu"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Pesquisando..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Mais de <xliff:g id="COUNT">%d</xliff:g> encontrados."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Escreva uma nota para enviar com a chamada..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVIAR E LIGAR"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Guia \"<xliff:g id="TITLE">%1$s</xliff:g>\"."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one">Guia \"<xliff:g id="TITLE_2">%1$s</xliff:g>\". <xliff:g id="COUNT_3">%2$d</xliff:g> item não lido. </item>
diff --git a/java/com/android/contacts/common/res/values-pt-rPT/strings.xml b/java/com/android/contacts/common/res/values-pt-rPT/strings.xml
index 44bba149d..298b7a263 100644
--- a/java/com/android/contacts/common/res/values-pt-rPT/strings.xml
+++ b/java/com/android/contacts/common/res/values-pt-rPT/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Ausente"</string>
<string name="status_busy" msgid="5990832098713248503">"Ocupado(a)"</string>
<string name="contactsList" msgid="8806067891419291513">"Contactos"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Principais sugestões"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Outro"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Diretório"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Diretório de trabalho"</string>
<string name="local_search_label" msgid="907622822323119235">"Todos os contactos"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Sugestões"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Eu"</string>
<string name="search_results_searching" msgid="3710866752172327451">"A pesquisar..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Foram encontrados mais de <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Escrever uma nota para enviar com a chamada..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVIAR E LIGAR"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Separador <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> tab. <xliff:g id="COUNT_3">%2$d</xliff:g> unread items. </item>
diff --git a/java/com/android/contacts/common/res/values-pt/strings.xml b/java/com/android/contacts/common/res/values-pt/strings.xml
index ee2b87c68..5083c4ad0 100644
--- a/java/com/android/contacts/common/res/values-pt/strings.xml
+++ b/java/com/android/contacts/common/res/values-pt/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Ausente"</string>
<string name="status_busy" msgid="5990832098713248503">"Ocupado"</string>
<string name="contactsList" msgid="8806067891419291513">"Contatos"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Principais sugestões"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Outros"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Diretório"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Diretório de trabalho"</string>
<string name="local_search_label" msgid="907622822323119235">"Todos os contatos"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Sugestões"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Eu"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Pesquisando..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Mais de <xliff:g id="COUNT">%d</xliff:g> encontrados."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Escreva uma nota para enviar com a chamada..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ENVIAR E LIGAR"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Guia \"<xliff:g id="TITLE">%1$s</xliff:g>\"."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one">Guia \"<xliff:g id="TITLE_2">%1$s</xliff:g>\". <xliff:g id="COUNT_3">%2$d</xliff:g> item não lido. </item>
diff --git a/java/com/android/contacts/common/res/values-ro/strings.xml b/java/com/android/contacts/common/res/values-ro/strings.xml
index 358e7af93..2fd5e5b06 100644
--- a/java/com/android/contacts/common/res/values-ro/strings.xml
+++ b/java/com/android/contacts/common/res/values-ro/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Plecat(ă)"</string>
<string name="status_busy" msgid="5990832098713248503">"Ocupat(ă)"</string>
<string name="contactsList" msgid="8806067891419291513">"Agendă"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Cele mai populare sugestii"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Altul"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Director"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Directorul de serviciu"</string>
<string name="local_search_label" msgid="907622822323119235">"Toată agenda"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Sugestii"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Eu"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Se caută…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"S-au găsit peste <xliff:g id="COUNT">%d</xliff:g> persoane de contact."</string>
@@ -249,7 +251,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Introduceți o notă ca să o trimiteți împreună cu apelul..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"TRIMITEȚI ȘI APELAȚI"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Fila <xliff:g id="TITLE">%1$s</xliff:g>"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="few"> Fila <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> elemente necitite. </item>
diff --git a/java/com/android/contacts/common/res/values-ru/strings.xml b/java/com/android/contacts/common/res/values-ru/strings.xml
index 3442f2c60..530732edf 100644
--- a/java/com/android/contacts/common/res/values-ru/strings.xml
+++ b/java/com/android/contacts/common/res/values-ru/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Отсутствует"</string>
<string name="status_busy" msgid="5990832098713248503">"Не беспокоить"</string>
<string name="contactsList" msgid="8806067891419291513">"Контакты"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Топ рекомендуемых"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Другое"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Каталог"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Каталог контактов из рабочего профиля"</string>
<string name="local_search_label" msgid="907622822323119235">"Все контакты"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Рекомендуемые"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Вы"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Поиск…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Найдено контактов: более <xliff:g id="COUNT">%d</xliff:g>"</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Введите текст…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ОТПРАВИТЬ И ПОЗВОНИТЬ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Вкладка \"<xliff:g id="TITLE">%1$s</xliff:g>\"."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one">Вкладка <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> непрочитанный элемент. </item>
diff --git a/java/com/android/contacts/common/res/values-si/strings.xml b/java/com/android/contacts/common/res/values-si/strings.xml
index 72ca32d9c..1bd906332 100644
--- a/java/com/android/contacts/common/res/values-si/strings.xml
+++ b/java/com/android/contacts/common/res/values-si/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"ළඟ නැත"</string>
<string name="status_busy" msgid="5990832098713248503">"කාර්යබහුල"</string>
<string name="contactsList" msgid="8806067891419291513">"සම්බන්ධතා"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"ඉහළින්ම යෝජිත"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"වෙනත්"</string>
<string name="directory_search_label" msgid="4621215895484025229">"නාමාවලිය"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"කාර්යාල සම්බන්ධතා නාමාවලිය"</string>
<string name="local_search_label" msgid="907622822323119235">"සියලුම සම්බන්ධතා"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"යෝජනා"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"මම"</string>
<string name="search_results_searching" msgid="3710866752172327451">"සොයමින්..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> ට වඩා සොයාගන්නා ලදී."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"ඇමතුම සමග යැවීමට සටහනක් ටයිප් කරන්න ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"යවන්න සහ අමතන්න"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ටැබය."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> <xliff:g id="TITLE_2">%1$s</xliff:g> ටැබය. නොකියවූ අයිතම <xliff:g id="COUNT_3">%2$d</xliff:g>. </item>
diff --git a/java/com/android/contacts/common/res/values-sk/strings.xml b/java/com/android/contacts/common/res/values-sk/strings.xml
index b85f63f1b..59d666e5e 100644
--- a/java/com/android/contacts/common/res/values-sk/strings.xml
+++ b/java/com/android/contacts/common/res/values-sk/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Som preč"</string>
<string name="status_busy" msgid="5990832098713248503">"Nemám čas"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakty"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Najviac odporúčané"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Iné"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Adresár"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Pracovný adresár"</string>
<string name="local_search_label" msgid="907622822323119235">"Všetky kontakty"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Návrhy"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ja"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Hľadá sa…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Našlo sa viac ako <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Napíšte poznámku, ktorá sa odošle s hovorom..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ODOSLAŤ A VOLAŤ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Karta <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="few"> Karta <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> neprečítané položky. </item>
diff --git a/java/com/android/contacts/common/res/values-sl/strings.xml b/java/com/android/contacts/common/res/values-sl/strings.xml
index f4c39dea9..dc6e690da 100644
--- a/java/com/android/contacts/common/res/values-sl/strings.xml
+++ b/java/com/android/contacts/common/res/values-sl/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Odsoten"</string>
<string name="status_busy" msgid="5990832098713248503">"Zaseden"</string>
<string name="contactsList" msgid="8806067891419291513">"Stiki"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Najboljši predlogi"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Drugo"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Imenik"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Delovni imenik"</string>
<string name="local_search_label" msgid="907622822323119235">"Vsi stiki"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Predlogi"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Jaz"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Iskanje ..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Najdenih je bilo več kot toliko stikov: <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Vnesite zapisek, ki ga želite poslati s klicem ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"POŠLJI IN KLIČI"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g>: <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Zavihek »<xliff:g id="TITLE">%1$s</xliff:g>«."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Zavihek »<xliff:g id="TITLE_2">%1$s</xliff:g>«. <xliff:g id="COUNT_3">%2$d</xliff:g> neprebran element. </item>
diff --git a/java/com/android/contacts/common/res/values-sq/strings.xml b/java/com/android/contacts/common/res/values-sq/strings.xml
index 553c46df5..64b43889c 100644
--- a/java/com/android/contacts/common/res/values-sq/strings.xml
+++ b/java/com/android/contacts/common/res/values-sq/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"I larguar"</string>
<string name="status_busy" msgid="5990832098713248503">"I zënë"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontaktet"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Sugjerimet kryesore"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Tjetër"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Direktoria"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Direktoria e punës"</string>
<string name="local_search_label" msgid="907622822323119235">"Të gjitha kontaktet"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Sugjerimet"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Unë"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Po kërkon..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"U gjetën më shumë se <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Shkruaj një shënim për të dërguar një telefonatë..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"DËRGO DHE TELEFONO"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Skeda <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Skeda <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> artikuj të palexuar. </item>
diff --git a/java/com/android/contacts/common/res/values-sr/strings.xml b/java/com/android/contacts/common/res/values-sr/strings.xml
index 99997e656..e139662e2 100644
--- a/java/com/android/contacts/common/res/values-sr/strings.xml
+++ b/java/com/android/contacts/common/res/values-sr/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Одсутан/на"</string>
<string name="status_busy" msgid="5990832098713248503">"Заузет/а"</string>
<string name="contactsList" msgid="8806067891419291513">"Контакти"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Најпопуларнији предлози"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Другo"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Директоријум"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Директоријум за Work"</string>
<string name="local_search_label" msgid="907622822323119235">"Сви контакти"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Предлози"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ја"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Претражује се…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Пронађено је више од <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -249,7 +251,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Унесите белешку коју ћете послати уз позив..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ПОШАЉИ И ПОЗОВИ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Картица <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Картица <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> непрочитана ставка. </item>
diff --git a/java/com/android/contacts/common/res/values-sv/strings.xml b/java/com/android/contacts/common/res/values-sv/strings.xml
index 79e56e504..cd095179b 100644
--- a/java/com/android/contacts/common/res/values-sv/strings.xml
+++ b/java/com/android/contacts/common/res/values-sv/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Borta"</string>
<string name="status_busy" msgid="5990832098713248503">"Upptagen"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontakter"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Bästa förslagen"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Övrigt"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Katalog"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Jobbkatalog"</string>
<string name="local_search_label" msgid="907622822323119235">"Alla kontakter"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Förslag"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Jag"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Söker…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Fler än <xliff:g id="COUNT">%d</xliff:g> hittades."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Gör en anteckning som skickas när du ringer …"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"SKICKA OCH RING"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Fliken <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">Fliken <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> olästa poster. </item>
diff --git a/java/com/android/contacts/common/res/values-sw/strings.xml b/java/com/android/contacts/common/res/values-sw/strings.xml
index 4d30271f3..5c41d8780 100644
--- a/java/com/android/contacts/common/res/values-sw/strings.xml
+++ b/java/com/android/contacts/common/res/values-sw/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Mbali"</string>
<string name="status_busy" msgid="5990832098713248503">"Ana shughuli"</string>
<string name="contactsList" msgid="8806067891419291513">"Anwani"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Mapendekezo Maarufu"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Nyingineyo"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Saraka"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Anwani za kazi"</string>
<string name="local_search_label" msgid="907622822323119235">"Anwani zote"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Mapendekezo"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Mimi"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Inatafuta…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Zaidi ya <xliff:g id="COUNT">%d</xliff:g> zimepatikana."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Andika dokezo litakaloambatana na simu utakayopiga ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"TUMA na UPIGE SIMU"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Kichupo cha <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Kichupo cha <xliff:g id="TITLE_2">%1$s</xliff:g>. Vipengee <xliff:g id="COUNT_3">%2$d</xliff:g> havijasomwa. </item>
diff --git a/java/com/android/contacts/common/res/values-ta/strings.xml b/java/com/android/contacts/common/res/values-ta/strings.xml
index e041a999d..df7ee067c 100644
--- a/java/com/android/contacts/common/res/values-ta/strings.xml
+++ b/java/com/android/contacts/common/res/values-ta/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"வெளியே"</string>
<string name="status_busy" msgid="5990832098713248503">"பணிமிகுதி"</string>
<string name="contactsList" msgid="8806067891419291513">"தொடர்புகள்"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"அதிகம் பரிந்துரைத்தவை"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"மற்றவை"</string>
<string name="directory_search_label" msgid="4621215895484025229">"கோப்பகம்"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"பணிக் கோப்பகம்"</string>
<string name="local_search_label" msgid="907622822323119235">"எல்லா தொடர்புகளும்"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"பரிந்துரைகள்"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"எனக்கு"</string>
<string name="search_results_searching" msgid="3710866752172327451">"தேடுகிறது..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> க்கும் மேற்பட்டவை கண்டறியப்பட்டன."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"அழைப்புடன் சேர்த்து அனுப்ப, குறிப்பை உள்ளிடவும்..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"அனுப்பி அழை"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> தாவல்."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> தாவல். படிக்காதவை (<xliff:g id="COUNT_3">%2$d</xliff:g>). </item>
diff --git a/java/com/android/contacts/common/res/values-te/strings.xml b/java/com/android/contacts/common/res/values-te/strings.xml
index 6dd0e2143..c97cded6a 100644
--- a/java/com/android/contacts/common/res/values-te/strings.xml
+++ b/java/com/android/contacts/common/res/values-te/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"దూరంగా ఉన్నారు"</string>
<string name="status_busy" msgid="5990832098713248503">"బిజీగా ఉన్నారు"</string>
<string name="contactsList" msgid="8806067891419291513">"పరిచయాలు"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"ఉత్తమ సూచనలు"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"ఇతరం"</string>
<string name="directory_search_label" msgid="4621215895484025229">"డైరెక్టరీ"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"కార్యాలయ డైరెక్టరీ"</string>
<string name="local_search_label" msgid="907622822323119235">"అన్ని పరిచయాలు"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"సూచనలు"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"నేను"</string>
<string name="search_results_searching" msgid="3710866752172327451">"శోధిస్తోంది..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> కంటే ఎక్కువ కనుగొనబడ్డాయి."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"కాల్‌తో పాటు పంపడానికి గమనికను టైప్ చేయండి ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"పంపు &amp; కాల్ చేయి"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ట్యాబ్."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> ట్యాబ్. <xliff:g id="COUNT_3">%2$d</xliff:g> చదవని అంశాలు. </item>
diff --git a/java/com/android/contacts/common/res/values-th/strings.xml b/java/com/android/contacts/common/res/values-th/strings.xml
index b979e7424..aff4a9c5d 100644
--- a/java/com/android/contacts/common/res/values-th/strings.xml
+++ b/java/com/android/contacts/common/res/values-th/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"ไม่อยู่"</string>
<string name="status_busy" msgid="5990832098713248503">"ไม่ว่าง"</string>
<string name="contactsList" msgid="8806067891419291513">"รายชื่อติดต่อ"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"รายการแนะนำยอดนิยม"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"อื่นๆ"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ไดเรกทอรี"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"ไดเรกทอรีที่ทำงาน"</string>
<string name="local_search_label" msgid="907622822323119235">"รายชื่อติดต่อทั้งหมด"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"รายการแนะนำ"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"ฉัน"</string>
<string name="search_results_searching" msgid="3710866752172327451">"กำลังค้นหา…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"พบมากกว่า <xliff:g id="COUNT">%d</xliff:g> รายการ"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"พิมพ์โน้ตเพื่อส่งพร้อมการโทร ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ส่งและโทร"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"แท็บ <xliff:g id="TITLE">%1$s</xliff:g>"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> แท็บ <xliff:g id="TITLE_2">%1$s</xliff:g> ยังไม่อ่าน <xliff:g id="COUNT_3">%2$d</xliff:g> รายการ </item>
diff --git a/java/com/android/contacts/common/res/values-tl/strings.xml b/java/com/android/contacts/common/res/values-tl/strings.xml
index 62caef820..edf2cafeb 100644
--- a/java/com/android/contacts/common/res/values-tl/strings.xml
+++ b/java/com/android/contacts/common/res/values-tl/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Wala"</string>
<string name="status_busy" msgid="5990832098713248503">"Abala"</string>
<string name="contactsList" msgid="8806067891419291513">"Mga Contact"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Mga Madalas Imungkahi"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Iba pa"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Direktoryo"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Directory sa trabaho"</string>
<string name="local_search_label" msgid="907622822323119235">"Lahat ng mga contact"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Mga Mungkahi"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ako"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Naghahanap…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Higit sa <xliff:g id="COUNT">%d</xliff:g> ang nakita."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Mag-type ng isang tala na ipadadala kasama ng tawag ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"IPADALA AT TAWAGAN"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Tab ng <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Tab ng <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> hindi pa nababasang item. </item>
diff --git a/java/com/android/contacts/common/res/values-tr/strings.xml b/java/com/android/contacts/common/res/values-tr/strings.xml
index ce3c109d2..9ec983f02 100644
--- a/java/com/android/contacts/common/res/values-tr/strings.xml
+++ b/java/com/android/contacts/common/res/values-tr/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Dışarıda"</string>
<string name="status_busy" msgid="5990832098713248503">"Meşgul"</string>
<string name="contactsList" msgid="8806067891419291513">"Kişiler"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"En Çok Önerilenler"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Diğer"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Dizin"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"İş dizini"</string>
<string name="local_search_label" msgid="907622822323119235">"Tüm kişiler"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Öneriler"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Ben"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Aranıyor..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> kişiden fazla bulundu."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Çağrıyla göndermek için bir not yazın..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"GÖNDER VE ARA"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> sekmesi."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> sekmesi. <xliff:g id="COUNT_3">%2$d</xliff:g> okunmamış öğe. </item>
diff --git a/java/com/android/contacts/common/res/values-uk/strings.xml b/java/com/android/contacts/common/res/values-uk/strings.xml
index f6d1e4731..6d5d4eb0a 100644
--- a/java/com/android/contacts/common/res/values-uk/strings.xml
+++ b/java/com/android/contacts/common/res/values-uk/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Не на місці"</string>
<string name="status_busy" msgid="5990832098713248503">"Не турбувати"</string>
<string name="contactsList" msgid="8806067891419291513">"Контакти"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Найкращі пропозиції"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Інші"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Каталог"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Робочі контакти"</string>
<string name="local_search_label" msgid="907622822323119235">"Усі контакти"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Пропозиції"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Я"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Пошук…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Знайдено понад <xliff:g id="COUNT">%d</xliff:g>."</string>
@@ -250,7 +252,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Введіть нотатку, яку хочете надіслати під час дзвінка…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"ЗАТЕЛЕФОНУВАТИ Й НАДІСЛАТИ"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> з <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Вкладка \"<xliff:g id="TITLE">%1$s</xliff:g>\"."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"> Вкладка \"<xliff:g id="TITLE_2">%1$s</xliff:g>\". <xliff:g id="COUNT_3">%2$d</xliff:g> непрочитаний елемент. </item>
diff --git a/java/com/android/contacts/common/res/values-ur/strings.xml b/java/com/android/contacts/common/res/values-ur/strings.xml
index b34c78d95..79cf8335d 100644
--- a/java/com/android/contacts/common/res/values-ur/strings.xml
+++ b/java/com/android/contacts/common/res/values-ur/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"دور"</string>
<string name="status_busy" msgid="5990832098713248503">"مصروف"</string>
<string name="contactsList" msgid="8806067891419291513">"رابطے"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"سرفہرست تجویز کردہ"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"دیگر"</string>
<string name="directory_search_label" msgid="4621215895484025229">"ڈائریکٹری"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"دفتری ڈائرکٹری"</string>
<string name="local_search_label" msgid="907622822323119235">"سبھی رابطے"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"تجاویز"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"میں"</string>
<string name="search_results_searching" msgid="3710866752172327451">"تلاش کر رہا ہے…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g> سے زیادہ ملے۔"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"کال کے ساتھ بھیجنے کیلئے ایک نوٹ ٹائپ کریں…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"بھیجیں اور کال کریں"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ٹیب۔"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> ٹیب۔ <xliff:g id="COUNT_3">%2$d</xliff:g> بغیر پڑھی ہوئی آئٹمز۔ </item>
diff --git a/java/com/android/contacts/common/res/values-uz/strings.xml b/java/com/android/contacts/common/res/values-uz/strings.xml
index 44bfd9999..489846fcb 100644
--- a/java/com/android/contacts/common/res/values-uz/strings.xml
+++ b/java/com/android/contacts/common/res/values-uz/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Tashqarida"</string>
<string name="status_busy" msgid="5990832098713248503">"Band"</string>
<string name="contactsList" msgid="8806067891419291513">"Kontaktlar"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Eng faol"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Boshqa"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Direktoriya"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Ishchi katalogi"</string>
<string name="local_search_label" msgid="907622822323119235">"Barcha kontaktlar"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Takliflar"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Men"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Qidirilmoqda…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"<xliff:g id="COUNT">%d</xliff:g>dan ko‘proq topildi."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Qo‘ng‘iroqqa qo‘shib yuborish uchun izoh yozing ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"YUBORISH va QO‘NG‘IROQ QILISH"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ichki oynasi."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g> ichki oynasi. <xliff:g id="COUNT_3">%2$d</xliff:g> ta o‘qilmagan narsa. </item>
diff --git a/java/com/android/contacts/common/res/values-vi/strings.xml b/java/com/android/contacts/common/res/values-vi/strings.xml
index dadb78a7d..65a1c65a4 100644
--- a/java/com/android/contacts/common/res/values-vi/strings.xml
+++ b/java/com/android/contacts/common/res/values-vi/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Đã ra ngoài"</string>
<string name="status_busy" msgid="5990832098713248503">"Bận"</string>
<string name="contactsList" msgid="8806067891419291513">"Danh bạ"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Đề xuất hàng đầu"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Khác"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Thư mục"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Thư mục công việc"</string>
<string name="local_search_label" msgid="907622822323119235">"Tất cả liên hệ"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Đề xuất"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Tôi"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Đang tìm kiếm…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Đã tìm thấy hơn <xliff:g id="COUNT">%d</xliff:g> người liên hệ."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Nhập ghi chú để gửi kèm cuộc gọi..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"GỬI và GỌI"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"Tab <xliff:g id="TITLE">%1$s</xliff:g>."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> Tab <xliff:g id="TITLE_2">%1$s</xliff:g>. <xliff:g id="COUNT_3">%2$d</xliff:g> mục chưa đọc. </item>
diff --git a/java/com/android/contacts/common/res/values-zh-rCN/strings.xml b/java/com/android/contacts/common/res/values-zh-rCN/strings.xml
index 161638e66..ee4451378 100644
--- a/java/com/android/contacts/common/res/values-zh-rCN/strings.xml
+++ b/java/com/android/contacts/common/res/values-zh-rCN/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"离开"</string>
<string name="status_busy" msgid="5990832098713248503">"忙碌"</string>
<string name="contactsList" msgid="8806067891419291513">"通讯录"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"常用联系人推荐"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"其他"</string>
<string name="directory_search_label" msgid="4621215895484025229">"目录"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"工作目录"</string>
<string name="local_search_label" msgid="907622822323119235">"所有联系人"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"建议"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"我"</string>
<string name="search_results_searching" msgid="3710866752172327451">"正在搜索..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"找到超过 <xliff:g id="COUNT">%d</xliff:g> 位联系人。"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"输入要在拨打电话时发送的备注…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"发送并拨打电话"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g>:<xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g>标签。"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g>标签。<xliff:g id="COUNT_3">%2$d</xliff:g> 项未读内容。</item>
diff --git a/java/com/android/contacts/common/res/values-zh-rHK/strings.xml b/java/com/android/contacts/common/res/values-zh-rHK/strings.xml
index 9952ab626..122d0febc 100644
--- a/java/com/android/contacts/common/res/values-zh-rHK/strings.xml
+++ b/java/com/android/contacts/common/res/values-zh-rHK/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"離開"</string>
<string name="status_busy" msgid="5990832098713248503">"忙碌"</string>
<string name="contactsList" msgid="8806067891419291513">"通訊錄"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"熱門建議"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"其他"</string>
<string name="directory_search_label" msgid="4621215895484025229">"名錄"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"工作目錄"</string>
<string name="local_search_label" msgid="907622822323119235">"所有聯絡人"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"建議"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"我"</string>
<string name="search_results_searching" msgid="3710866752172327451">"正在搜尋..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"找到超過 <xliff:g id="COUNT">%d</xliff:g> 位聯絡人。"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"撥號時可以書寫和傳送筆記…"</string>
<string name="send_and_call_button" msgid="4735168294120154013">"傳送和撥號"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"「<xliff:g id="TITLE">%1$s</xliff:g>」標籤。"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other">「<xliff:g id="TITLE_2">%1$s</xliff:g>」標籤 (<xliff:g id="COUNT_3">%2$d</xliff:g> 個未讀取項目)。</item>
diff --git a/java/com/android/contacts/common/res/values-zh-rTW/strings.xml b/java/com/android/contacts/common/res/values-zh-rTW/strings.xml
index e5ad61fac..64b6105cf 100644
--- a/java/com/android/contacts/common/res/values-zh-rTW/strings.xml
+++ b/java/com/android/contacts/common/res/values-zh-rTW/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"離開"</string>
<string name="status_busy" msgid="5990832098713248503">"忙碌"</string>
<string name="contactsList" msgid="8806067891419291513">"聯絡人"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"常用聯絡人建議"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"其他"</string>
<string name="directory_search_label" msgid="4621215895484025229">"目錄"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Work 聯絡人目錄"</string>
<string name="local_search_label" msgid="907622822323119235">"所有聯絡人"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"建議"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"我"</string>
<string name="search_results_searching" msgid="3710866752172327451">"搜尋中…"</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"找到 <xliff:g id="COUNT">%d</xliff:g> 位以上的聯絡人。"</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"輸入可在撥號時傳送的備註..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"傳送並撥打"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g>/<xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g>分頁。"</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="other"> <xliff:g id="TITLE_2">%1$s</xliff:g>分頁。<xliff:g id="COUNT_3">%2$d</xliff:g> 個未讀項目。</item>
diff --git a/java/com/android/contacts/common/res/values-zu/strings.xml b/java/com/android/contacts/common/res/values-zu/strings.xml
index adca1399c..e78a6b392 100644
--- a/java/com/android/contacts/common/res/values-zu/strings.xml
+++ b/java/com/android/contacts/common/res/values-zu/strings.xml
@@ -70,10 +70,12 @@
<string name="status_away" msgid="2298688367552893953">"Ngiphumile"</string>
<string name="status_busy" msgid="5990832098713248503">"Ngimatasa"</string>
<string name="contactsList" msgid="8806067891419291513">"Othi tana nabo"</string>
+ <string name="contact_suggestions" msgid="3324166754807120006">"Okuphezulu okuphakanyisiwe"</string>
<string name="local_invisible_directory" msgid="4723238462733650090">"Okunye"</string>
<string name="directory_search_label" msgid="4621215895484025229">"Uhla lwemibhalo"</string>
<string name="directory_search_label_work" msgid="7679326282707414897">"Uhla lwemibhalo lomsebenzi"</string>
<string name="local_search_label" msgid="907622822323119235">"Bonke othintana nabo"</string>
+ <string name="local_suggestions_search_label" msgid="1178575146224386118">"Iziphakamiso"</string>
<string name="user_profile_contacts_list_header" msgid="9180620153828279580">"Mina"</string>
<string name="search_results_searching" msgid="3710866752172327451">"Iyasesha..."</string>
<string name="foundTooManyContacts" msgid="3685002426663730799">"Abangaphezu kuka-<xliff:g id="COUNT">%d</xliff:g> abatholakele."</string>
@@ -248,7 +250,7 @@
<string name="call_subject_hint" msgid="7233138753650420800">"Thayipha inothi ukuthumela nekholi ..."</string>
<string name="send_and_call_button" msgid="4735168294120154013">"THUMELA FUTHI YENZA IKHOLI"</string>
<string name="call_subject_limit" msgid="8273208736191593939">"<xliff:g id="COUNT">%1$s</xliff:g> / <xliff:g id="LIMIT">%2$s</xliff:g>"</string>
- <string name="call_subject_type_and_number" msgid="8726132674272173486">"<xliff:g id="TYPE">%1$s</xliff:g> • <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
+ <string name="call_subject_type_and_number" msgid="6338030032554019678">"<xliff:g id="TYPE">%1$s</xliff:g> <xliff:g id="NUMBER">%2$s</xliff:g>"</string>
<string name="tab_title" msgid="3387876802026074288">"<xliff:g id="TITLE">%1$s</xliff:g> ithebhu."</string>
<plurals name="tab_title_with_unread_items" formatted="false" msgid="8548492980702182785">
<item quantity="one"><xliff:g id="TITLE_2">%1$s</xliff:g> ithebhu. <xliff:g id="COUNT_3">%2$d</xliff:g> izinto ezingafundiwe. </item>
diff --git a/java/com/android/contacts/common/res/values/dimens.xml b/java/com/android/contacts/common/res/values/dimens.xml
index 642eb31a4..26f095f39 100644
--- a/java/com/android/contacts/common/res/values/dimens.xml
+++ b/java/com/android/contacts/common/res/values/dimens.xml
@@ -107,7 +107,7 @@
<dimen name="tab_selected_underline_height">2dp</dimen>
<!-- Size of text in tabs. -->
<dimen name="tab_text_size">14sp</dimen>
- <dimen name="tab_elevation">2dp</dimen>
+ <dimen name="tab_elevation">0dp</dimen>
<dimen name="tab_unread_count_background_size">16dp</dimen>
<dimen name="tab_unread_count_background_radius">2dp</dimen>
<dimen name="tab_unread_count_margin_left">0dp</dimen>
diff --git a/java/com/android/contacts/common/res/values/ids.xml b/java/com/android/contacts/common/res/values/ids.xml
index 871f5a636..65969c43f 100644
--- a/java/com/android/contacts/common/res/values/ids.xml
+++ b/java/com/android/contacts/common/res/values/ids.xml
@@ -27,4 +27,5 @@
<item name="contact_tile_image" type="id"/>
<item name="contact_tile_name" type="id"/>
+ <item name="call_to_action" type="id"/>
</resources>
diff --git a/java/com/android/contacts/common/res/values/strings.xml b/java/com/android/contacts/common/res/values/strings.xml
index 9ac9fef28..85866f736 100644
--- a/java/com/android/contacts/common/res/values/strings.xml
+++ b/java/com/android/contacts/common/res/values/strings.xml
@@ -143,6 +143,9 @@
<!-- Directory partition name (also exists in contacts) -->
<string name="contactsList">Contacts</string>
+ <!-- Directory partition name for p13n suggestions -->
+ <string name="contact_suggestions">Top Suggested</string>
+
<!-- The name of the invisible local contact directory -->
<string name="local_invisible_directory">Other</string>
@@ -155,6 +158,9 @@
<!-- The label in section header in the contact list for a local contacts [CHAR LIMIT=128] -->
<string name="local_search_label">All contacts</string>
+ <!-- The label in section header in the contact list for a local suggested contacts [CHAR LIMIT=128] -->
+ <string name="local_suggestions_search_label">Suggestions</string>
+
<!-- String describing the text on the header of the profile contact in the contacts list
This may be programatically capitalized. [CHAR LIMIT=20] -->
<string msgid="9154761216179882405" name="user_profile_contacts_list_header">Me</string>
@@ -744,9 +750,9 @@
compared to the character limit. Example: 2 / 64 -->
<string name="call_subject_limit"><xliff:g example="4" id="count">%1$s</xliff:g> / <xliff:g example="64" id="limit">%2$s</xliff:g></string>
- <!-- String used to build a phone number bype and phone number string.
- Example: Mobile • 650-555-1212 -->
- <string name="call_subject_type_and_number"><xliff:g example="Mobile" id="type">%1$s</xliff:g> • <xliff:g example="(650) 555-1212" id="number">%2$s</xliff:g></string>
+ <!-- String used to build a phone number type and phone number string.
+ Example: Mobile 650-555-1212 -->
+ <string name="call_subject_type_and_number"><xliff:g example="Mobile" id="type">%1$s</xliff:g> <xliff:g example="(650) 555-1212" id="number">%2$s</xliff:g></string>
<!-- String format to describe a tab e.g.call history tab. -->
<string name="tab_title"><xliff:g id="title">%1$s</xliff:g> tab.</string>
diff --git a/java/com/android/contacts/common/res/values/styles.xml b/java/com/android/contacts/common/res/values/styles.xml
index 07d4a0225..bb19afe82 100644
--- a/java/com/android/contacts/common/res/values/styles.xml
+++ b/java/com/android/contacts/common/res/values/styles.xml
@@ -43,7 +43,6 @@ background and text color. See also android:style/Widget.Holo.TextView.ListSepar
<item name="android:layout_height">wrap_content</item>
<!-- See comments for @dimen/list_section_divider_min_height -->
<item name="android:minHeight">@dimen/list_section_divider_min_height</item>
- <item name="android:background">@drawable/list_section_divider_holo_custom</item>
<item name="android:textAppearance">@style/DirectoryHeaderStyle</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingLeft">8dip</item>
diff --git a/java/com/android/contacts/common/util/AccountFilterUtil.java b/java/com/android/contacts/common/util/AccountFilterUtil.java
index 18743c65e..25f937c5e 100644
--- a/java/com/android/contacts/common/util/AccountFilterUtil.java
+++ b/java/com/android/contacts/common/util/AccountFilterUtil.java
@@ -16,35 +16,15 @@
package com.android.contacts.common.util;
-import android.app.Activity;
import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
import android.view.View;
import android.widget.TextView;
import com.android.contacts.common.R;
import com.android.contacts.common.list.ContactListFilter;
-import com.android.contacts.common.list.ContactListFilterController;
/** Utility class for account filter manipulation. */
public class AccountFilterUtil {
- public static final String EXTRA_CONTACT_LIST_FILTER = "contactListFilter";
- private static final String TAG = AccountFilterUtil.class.getSimpleName();
-
- /**
- * Find TextView with the id "account_filter_header" and set correct text for the account filter
- * header.
- *
- * @param filterContainer View containing TextView with id "account_filter_header"
- * @return true when header text is set in the call. You may use this for conditionally showing or
- * hiding this entire view.
- */
- public static boolean updateAccountFilterTitleForPeople(
- View filterContainer, ContactListFilter filter, boolean showTitleForAllAccounts) {
- return updateAccountFilterTitle(filterContainer, filter, showTitleForAllAccounts, false);
- }
-
/**
* Similar to {@link #updateAccountFilterTitleForPeople(View, ContactListFilter, boolean,
* boolean)}, but for Phone UI.
@@ -78,8 +58,6 @@ public class AccountFilterUtil {
} else if (filter.filterType == ContactListFilter.FILTER_TYPE_CUSTOM) {
headerTextView.setText(R.string.listCustomView);
textWasSet = true;
- } else {
- Log.w(TAG, "Filter type \"" + filter.filterType + "\" isn't expected.");
}
} else {
if (filter.filterType == ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS) {
@@ -97,29 +75,9 @@ public class AccountFilterUtil {
} else if (filter.filterType == ContactListFilter.FILTER_TYPE_SINGLE_CONTACT) {
headerTextView.setText(R.string.listSingleContact);
textWasSet = true;
- } else {
- Log.w(TAG, "Filter type \"" + filter.filterType + "\" isn't expected.");
}
}
- } else {
- Log.w(TAG, "Filter is null.");
}
return textWasSet;
}
-
- /** This will update filter via a given ContactListFilterController. */
- public static void handleAccountFilterResult(
- ContactListFilterController filterController, int resultCode, Intent data) {
- if (resultCode == Activity.RESULT_OK) {
- final ContactListFilter filter = data.getParcelableExtra(EXTRA_CONTACT_LIST_FILTER);
- if (filter == null) {
- return;
- }
- if (filter.filterType == ContactListFilter.FILTER_TYPE_CUSTOM) {
- filterController.selectCustomFilter();
- } else {
- filterController.setContactListFilter(filter, true);
- }
- }
- }
}
diff --git a/java/com/android/contacts/common/util/BitmapUtil.java b/java/com/android/contacts/common/util/BitmapUtil.java
index 20f916a3f..51f65f280 100644
--- a/java/com/android/contacts/common/util/BitmapUtil.java
+++ b/java/com/android/contacts/common/util/BitmapUtil.java
@@ -24,8 +24,6 @@ import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
/** Provides static functions to decode bitmaps at the optimal size */
public class BitmapUtil {
@@ -91,30 +89,6 @@ public class BitmapUtil {
}
/**
- * Retrieves a copy of the specified drawable resource, rotated by a specified angle.
- *
- * @param resources The current resources.
- * @param resourceId The resource ID of the drawable to rotate.
- * @param angle The angle of rotation.
- * @return Rotated drawable.
- */
- public static Drawable getRotatedDrawable(
- android.content.res.Resources resources, int resourceId, float angle) {
-
- // Get the original drawable and make a copy which will be rotated.
- Bitmap original = BitmapFactory.decodeResource(resources, resourceId);
- Bitmap rotated =
- Bitmap.createBitmap(original.getWidth(), original.getHeight(), Bitmap.Config.ARGB_8888);
-
- // Perform the rotation.
- Canvas tempCanvas = new Canvas(rotated);
- tempCanvas.rotate(angle, original.getWidth() / 2, original.getHeight() / 2);
- tempCanvas.drawBitmap(original, 0, 0, null);
-
- return new BitmapDrawable(resources, rotated);
- }
-
- /**
* Given an input bitmap, scales it to the given width/height and makes it round.
*
* @param input {@link Bitmap} to scale and crop
diff --git a/java/com/android/contacts/common/util/ContactDisplayUtils.java b/java/com/android/contacts/common/util/ContactDisplayUtils.java
index 1586784db..ff22f2880 100644
--- a/java/com/android/contacts/common/util/ContactDisplayUtils.java
+++ b/java/com/android/contacts/common/util/ContactDisplayUtils.java
@@ -16,21 +16,20 @@
package com.android.contacts.common.util;
-import static android.provider.ContactsContract.CommonDataKinds.Phone;
-
import android.content.Context;
import android.content.res.Resources;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.TextUtils;
import android.text.style.TtsSpan;
-import android.util.Log;
import android.util.Patterns;
import com.android.contacts.common.R;
import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
import com.android.contacts.common.preference.ContactsPreferences;
+import com.android.dialer.common.LogUtil;
import java.util.Objects;
/** Methods for handling various contact data labels. */
@@ -38,7 +37,6 @@ public class ContactDisplayUtils {
public static final int INTERACTION_CALL = 1;
public static final int INTERACTION_SMS = 2;
- private static final String TAG = ContactDisplayUtils.class.getSimpleName();
/**
* Checks if the given data type is a custom type.
@@ -74,9 +72,9 @@ public class ContactDisplayUtils {
} else {
resId = getPhoneLabelResourceId(type);
if (interactionType != INTERACTION_CALL) {
- Log.e(
- TAG,
- "Un-recognized interaction type: "
+ LogUtil.e(
+ "ContactDisplayUtils.getLabelForCallOrSms",
+ "un-recognized interaction type: "
+ interactionType
+ ". Defaulting to ContactDisplayUtils.INTERACTION_CALL.");
}
diff --git a/java/com/android/contacts/common/util/DateUtils.java b/java/com/android/contacts/common/util/DateUtils.java
index 1935d727a..09d52bce8 100644
--- a/java/com/android/contacts/common/util/DateUtils.java
+++ b/java/com/android/contacts/common/util/DateUtils.java
@@ -16,252 +16,11 @@
package com.android.contacts.common.util;
-import android.content.Context;
-import android.text.format.DateFormat;
import android.text.format.Time;
-import java.text.ParsePosition;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Locale;
-import java.util.TimeZone;
/** Utility methods for processing dates. */
public class DateUtils {
- public static final TimeZone UTC_TIMEZONE = TimeZone.getTimeZone("UTC");
-
- /**
- * When parsing a date without a year, the system assumes 1970, which wasn't a leap-year. Let's
- * add a one-off hack for that day of the year
- */
- public static final String NO_YEAR_DATE_FEB29TH = "--02-29";
-
- // Variations of ISO 8601 date format. Do not change the order - it does affect the
- // result in ambiguous cases.
- private static final SimpleDateFormat[] DATE_FORMATS = {
- CommonDateUtils.FULL_DATE_FORMAT,
- CommonDateUtils.DATE_AND_TIME_FORMAT,
- new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'", Locale.US),
- new SimpleDateFormat("yyyyMMdd", Locale.US),
- new SimpleDateFormat("yyyyMMdd'T'HHmmssSSS'Z'", Locale.US),
- new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'", Locale.US),
- new SimpleDateFormat("yyyyMMdd'T'HHmm'Z'", Locale.US),
- };
-
- static {
- for (SimpleDateFormat format : DATE_FORMATS) {
- format.setLenient(true);
- format.setTimeZone(UTC_TIMEZONE);
- }
- CommonDateUtils.NO_YEAR_DATE_FORMAT.setTimeZone(UTC_TIMEZONE);
- }
-
- /**
- * Parses the supplied string to see if it looks like a date.
- *
- * @param string The string representation of the provided date
- * @param mustContainYear If true, the string is parsed as a date containing a year. If false, the
- * string is parsed into a valid date even if the year field is missing.
- * @return A Calendar object corresponding to the date if the string is successfully parsed. If
- * not, null is returned.
- */
- public static Calendar parseDate(String string, boolean mustContainYear) {
- ParsePosition parsePosition = new ParsePosition(0);
- Date date;
- if (!mustContainYear) {
- final boolean noYearParsed;
- // Unfortunately, we can't parse Feb 29th correctly, so let's handle this day seperately
- if (NO_YEAR_DATE_FEB29TH.equals(string)) {
- return getUtcDate(0, Calendar.FEBRUARY, 29);
- } else {
- synchronized (CommonDateUtils.NO_YEAR_DATE_FORMAT) {
- date = CommonDateUtils.NO_YEAR_DATE_FORMAT.parse(string, parsePosition);
- }
- noYearParsed = parsePosition.getIndex() == string.length();
- }
-
- if (noYearParsed) {
- return getUtcDate(date, true);
- }
- }
- for (int i = 0; i < DATE_FORMATS.length; i++) {
- SimpleDateFormat f = DATE_FORMATS[i];
- synchronized (f) {
- parsePosition.setIndex(0);
- date = f.parse(string, parsePosition);
- if (parsePosition.getIndex() == string.length()) {
- return getUtcDate(date, false);
- }
- }
- }
- return null;
- }
-
- private static final Calendar getUtcDate(Date date, boolean noYear) {
- final Calendar calendar = Calendar.getInstance(UTC_TIMEZONE, Locale.US);
- calendar.setTime(date);
- if (noYear) {
- calendar.set(Calendar.YEAR, 0);
- }
- return calendar;
- }
-
- private static final Calendar getUtcDate(int year, int month, int dayOfMonth) {
- final Calendar calendar = Calendar.getInstance(UTC_TIMEZONE, Locale.US);
- calendar.clear();
- calendar.set(Calendar.YEAR, year);
- calendar.set(Calendar.MONTH, month);
- calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
- return calendar;
- }
-
- public static boolean isYearSet(Calendar cal) {
- // use the Calendar.YEAR field to track whether or not the year is set instead of
- // Calendar.isSet() because doing Calendar.get() causes Calendar.isSet() to become
- // true irregardless of what the previous value was
- return cal.get(Calendar.YEAR) > 1;
- }
-
- /**
- * Same as {@link #formatDate(Context context, String string, boolean longForm)}, with longForm
- * set to {@code true} by default.
- *
- * @param context Valid context
- * @param string String representation of a date to parse
- * @return Returns the same date in a cleaned up format. If the supplied string does not look like
- * a date, return it unchanged.
- */
- public static String formatDate(Context context, String string) {
- return formatDate(context, string, true);
- }
-
- /**
- * Parses the supplied string to see if it looks like a date.
- *
- * @param context Valid context
- * @param string String representation of a date to parse
- * @param longForm If true, return the date formatted into its long string representation. If
- * false, return the date formatted using its short form representation (i.e. 12/11/2012)
- * @return Returns the same date in a cleaned up format. If the supplied string does not look like
- * a date, return it unchanged.
- */
- public static String formatDate(Context context, String string, boolean longForm) {
- if (string == null) {
- return null;
- }
-
- string = string.trim();
- if (string.length() == 0) {
- return string;
- }
- final Calendar cal = parseDate(string, false);
-
- // we weren't able to parse the string successfully so just return it unchanged
- if (cal == null) {
- return string;
- }
-
- final boolean isYearSet = isYearSet(cal);
- final java.text.DateFormat outFormat;
- if (!isYearSet) {
- outFormat = getLocalizedDateFormatWithoutYear(context);
- } else {
- outFormat =
- longForm ? DateFormat.getLongDateFormat(context) : DateFormat.getDateFormat(context);
- }
- synchronized (outFormat) {
- outFormat.setTimeZone(UTC_TIMEZONE);
- return outFormat.format(cal.getTime());
- }
- }
-
- public static boolean isMonthBeforeDay(Context context) {
- char[] dateFormatOrder = DateFormat.getDateFormatOrder(context);
- for (int i = 0; i < dateFormatOrder.length; i++) {
- if (dateFormatOrder[i] == 'd') {
- return false;
- }
- if (dateFormatOrder[i] == 'M') {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Returns a SimpleDateFormat object without the year fields by using a regular expression to
- * eliminate the year in the string pattern. In the rare occurence that the resulting pattern
- * cannot be reconverted into a SimpleDateFormat, it uses the provided context to determine
- * whether the month field should be displayed before the day field, and returns either "MMMM dd"
- * or "dd MMMM" converted into a SimpleDateFormat.
- */
- public static java.text.DateFormat getLocalizedDateFormatWithoutYear(Context context) {
- final String pattern =
- ((SimpleDateFormat) SimpleDateFormat.getDateInstance(java.text.DateFormat.LONG))
- .toPattern();
- // Determine the correct regex pattern for year.
- // Special case handling for Spanish locale by checking for "de"
- final String yearPattern =
- pattern.contains("de") ? "[^Mm]*[Yy]+[^Mm]*" : "[^DdMm]*[Yy]+[^DdMm]*";
- try {
- // Eliminate the substring in pattern that matches the format for that of year
- return new SimpleDateFormat(pattern.replaceAll(yearPattern, ""));
- } catch (IllegalArgumentException e) {
- return new SimpleDateFormat(DateUtils.isMonthBeforeDay(context) ? "MMMM dd" : "dd MMMM");
- }
- }
-
- /**
- * Given a calendar (possibly containing only a day of the year), returns the earliest possible
- * anniversary of the date that is equal to or after the current point in time if the date does
- * not contain a year, or the date converted to the local time zone (if the date contains a year.
- *
- * @param target The date we wish to convert(in the UTC time zone).
- * @return If date does not contain a year (year < 1900), returns the next earliest anniversary
- * that is after the current point in time (in the local time zone). Otherwise, returns the
- * adjusted Date in the local time zone.
- */
- public static Date getNextAnnualDate(Calendar target) {
- final Calendar today = Calendar.getInstance();
- today.setTime(new Date());
-
- // Round the current time to the exact start of today so that when we compare
- // today against the target date, both dates are set to exactly 0000H.
- today.set(Calendar.HOUR_OF_DAY, 0);
- today.set(Calendar.MINUTE, 0);
- today.set(Calendar.SECOND, 0);
- today.set(Calendar.MILLISECOND, 0);
-
- final boolean isYearSet = isYearSet(target);
- final int targetYear = target.get(Calendar.YEAR);
- final int targetMonth = target.get(Calendar.MONTH);
- final int targetDay = target.get(Calendar.DAY_OF_MONTH);
- final boolean isFeb29 = (targetMonth == Calendar.FEBRUARY && targetDay == 29);
- final GregorianCalendar anniversary = new GregorianCalendar();
- // Convert from the UTC date to the local date. Set the year to today's year if the
- // there is no provided year (targetYear < 1900)
- anniversary.set(!isYearSet ? today.get(Calendar.YEAR) : targetYear, targetMonth, targetDay);
- // If the anniversary's date is before the start of today and there is no year set,
- // increment the year by 1 so that the returned date is always equal to or greater than
- // today. If the day is a leap year, keep going until we get the next leap year anniversary
- // Otherwise if there is already a year set, simply return the exact date.
- if (!isYearSet) {
- int anniversaryYear = today.get(Calendar.YEAR);
- if (anniversary.before(today) || (isFeb29 && !anniversary.isLeapYear(anniversaryYear))) {
- // If the target date is not Feb 29, then set the anniversary to the next year.
- // Otherwise, keep going until we find the next leap year (this is not guaranteed
- // to be in 4 years time).
- do {
- anniversaryYear += 1;
- } while (isFeb29 && !anniversary.isLeapYear(anniversaryYear));
- anniversary.set(anniversaryYear, targetMonth, targetDay);
- }
- }
- return anniversary.getTime();
- }
-
/**
* Determine the difference, in days between two dates. Uses similar logic as the {@link
* android.text.format.DateUtils.getRelativeTimeSpanString} method.
diff --git a/java/com/android/contacts/common/util/MaterialColorMapUtils.java b/java/com/android/contacts/common/util/MaterialColorMapUtils.java
index a2d9847ec..bd32faa51 100644
--- a/java/com/android/contacts/common/util/MaterialColorMapUtils.java
+++ b/java/com/android/contacts/common/util/MaterialColorMapUtils.java
@@ -21,7 +21,6 @@ import android.content.res.TypedArray;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Trace;
-import com.android.contacts.common.R;
public class MaterialColorMapUtils {
@@ -35,13 +34,6 @@ public class MaterialColorMapUtils {
resources.obtainTypedArray(com.android.contacts.common.R.array.letter_tile_colors_dark);
}
- public static MaterialPalette getDefaultPrimaryAndSecondaryColors(Resources resources) {
- final int primaryColor = resources.getColor(R.color.quickcontact_default_photo_tint_color);
- final int secondaryColor =
- resources.getColor(R.color.quickcontact_default_photo_tint_color_dark);
- return new MaterialPalette(primaryColor, secondaryColor);
- }
-
/**
* Returns the hue component of a color int.
*
diff --git a/java/com/android/contacts/common/util/NameConverter.java b/java/com/android/contacts/common/util/NameConverter.java
deleted file mode 100644
index ae3275d14..000000000
--- a/java/com/android/contacts/common/util/NameConverter.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (C) 2011 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.common.util;
-
-import android.content.ContentValues;
-import android.content.Context;
-import android.database.Cursor;
-import android.net.Uri;
-import android.net.Uri.Builder;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.CommonDataKinds.StructuredName;
-import android.text.TextUtils;
-import com.android.contacts.common.model.dataitem.StructuredNameDataItem;
-import java.util.Map;
-import java.util.TreeMap;
-
-/**
- * Utility class for converting between a display name and structured name (and vice-versa), via
- * calls to the contact provider.
- */
-public class NameConverter {
-
- /** The array of fields that comprise a structured name. */
- public static final String[] STRUCTURED_NAME_FIELDS =
- new String[] {
- StructuredName.PREFIX,
- StructuredName.GIVEN_NAME,
- StructuredName.MIDDLE_NAME,
- StructuredName.FAMILY_NAME,
- StructuredName.SUFFIX
- };
-
- /**
- * Converts the given structured name (provided as a map from {@link StructuredName} fields to
- * corresponding values) into a display name string.
- *
- * <p>Note that this operates via a call back to the ContactProvider, but it does not access the
- * database, so it should be safe to call from the UI thread. See ContactsProvider2.completeName()
- * for the underlying method call.
- *
- * @param context Activity context.
- * @param structuredName The structured name map to convert.
- * @return The display name computed from the structured name map.
- */
- public static String structuredNameToDisplayName(
- Context context, Map<String, String> structuredName) {
- Builder builder = ContactsContract.AUTHORITY_URI.buildUpon().appendPath("complete_name");
- for (String key : STRUCTURED_NAME_FIELDS) {
- if (structuredName.containsKey(key)) {
- appendQueryParameter(builder, key, structuredName.get(key));
- }
- }
- return fetchDisplayName(context, builder.build());
- }
-
- /**
- * Converts the given structured name (provided as ContentValues) into a display name string.
- *
- * @param context Activity context.
- * @param values The content values containing values comprising the structured name.
- */
- public static String structuredNameToDisplayName(Context context, ContentValues values) {
- Builder builder = ContactsContract.AUTHORITY_URI.buildUpon().appendPath("complete_name");
- for (String key : STRUCTURED_NAME_FIELDS) {
- if (values.containsKey(key)) {
- appendQueryParameter(builder, key, values.getAsString(key));
- }
- }
- return fetchDisplayName(context, builder.build());
- }
-
- /** Helper method for fetching the display name via the given URI. */
- private static String fetchDisplayName(Context context, Uri uri) {
- String displayName = null;
- Cursor cursor =
- context
- .getContentResolver()
- .query(
- uri,
- new String[] {
- StructuredName.DISPLAY_NAME,
- },
- null,
- null,
- null);
-
- if (cursor != null) {
- try {
- if (cursor.moveToFirst()) {
- displayName = cursor.getString(0);
- }
- } finally {
- cursor.close();
- }
- }
- return displayName;
- }
-
- /**
- * Converts the given display name string into a structured name (as a map from {@link
- * StructuredName} fields to corresponding values).
- *
- * <p>Note that this operates via a call back to the ContactProvider, but it does not access the
- * database, so it should be safe to call from the UI thread.
- *
- * @param context Activity context.
- * @param displayName The display name to convert.
- * @return The structured name map computed from the display name.
- */
- public static Map<String, String> displayNameToStructuredName(
- Context context, String displayName) {
- Map<String, String> structuredName = new TreeMap<String, String>();
- Builder builder = ContactsContract.AUTHORITY_URI.buildUpon().appendPath("complete_name");
-
- appendQueryParameter(builder, StructuredName.DISPLAY_NAME, displayName);
- Cursor cursor =
- context
- .getContentResolver()
- .query(builder.build(), STRUCTURED_NAME_FIELDS, null, null, null);
-
- if (cursor != null) {
- try {
- if (cursor.moveToFirst()) {
- for (int i = 0; i < STRUCTURED_NAME_FIELDS.length; i++) {
- structuredName.put(STRUCTURED_NAME_FIELDS[i], cursor.getString(i));
- }
- }
- } finally {
- cursor.close();
- }
- }
- return structuredName;
- }
-
- /**
- * Converts the given display name string into a structured name (inserting the structured values
- * into a new or existing ContentValues object).
- *
- * <p>Note that this operates via a call back to the ContactProvider, but it does not access the
- * database, so it should be safe to call from the UI thread.
- *
- * @param context Activity context.
- * @param displayName The display name to convert.
- * @param contentValues The content values object to place the structured name values into. If
- * null, a new one will be created and returned.
- * @return The ContentValues object containing the structured name fields derived from the display
- * name.
- */
- public static ContentValues displayNameToStructuredName(
- Context context, String displayName, ContentValues contentValues) {
- if (contentValues == null) {
- contentValues = new ContentValues();
- }
- Map<String, String> mapValues = displayNameToStructuredName(context, displayName);
- for (String key : mapValues.keySet()) {
- contentValues.put(key, mapValues.get(key));
- }
- return contentValues;
- }
-
- private static void appendQueryParameter(Builder builder, String field, String value) {
- if (!TextUtils.isEmpty(value)) {
- builder.appendQueryParameter(field, value);
- }
- }
-
- /**
- * Parses phonetic name and returns parsed data (family, middle, given) as ContentValues. Parsed
- * data should be {@link StructuredName#PHONETIC_FAMILY_NAME}, {@link
- * StructuredName#PHONETIC_MIDDLE_NAME}, and {@link StructuredName#PHONETIC_GIVEN_NAME}. If this
- * method cannot parse given phoneticName, null values will be stored.
- *
- * @param phoneticName Phonetic name to be parsed
- * @param values ContentValues to be used for storing data. If null, new instance will be created.
- * @return ContentValues with parsed data. Those data can be null.
- */
- public static StructuredNameDataItem parsePhoneticName(
- String phoneticName, StructuredNameDataItem item) {
- String family = null;
- String middle = null;
- String given = null;
-
- if (!TextUtils.isEmpty(phoneticName)) {
- String[] strings = phoneticName.split(" ", 3);
- switch (strings.length) {
- case 1:
- family = strings[0];
- break;
- case 2:
- family = strings[0];
- given = strings[1];
- break;
- case 3:
- family = strings[0];
- middle = strings[1];
- given = strings[2];
- break;
- }
- }
-
- if (item == null) {
- item = new StructuredNameDataItem();
- }
- item.setPhoneticFamilyName(family);
- item.setPhoneticMiddleName(middle);
- item.setPhoneticGivenName(given);
- return item;
- }
-
- /** Constructs and returns a phonetic full name from given parts. */
- public static String buildPhoneticName(String family, String middle, String given) {
- if (!TextUtils.isEmpty(family) || !TextUtils.isEmpty(middle) || !TextUtils.isEmpty(given)) {
- StringBuilder sb = new StringBuilder();
- if (!TextUtils.isEmpty(family)) {
- sb.append(family.trim()).append(' ');
- }
- if (!TextUtils.isEmpty(middle)) {
- sb.append(middle.trim()).append(' ');
- }
- if (!TextUtils.isEmpty(given)) {
- sb.append(given.trim()).append(' ');
- }
- sb.setLength(sb.length() - 1); // Yank the last space
- return sb.toString();
- } else {
- return null;
- }
- }
-}
diff --git a/java/com/android/contacts/common/util/StopWatch.java b/java/com/android/contacts/common/util/StopWatch.java
index b944b9867..7986d1081 100644
--- a/java/com/android/contacts/common/util/StopWatch.java
+++ b/java/com/android/contacts/common/util/StopWatch.java
@@ -16,7 +16,7 @@
package com.android.contacts.common.util;
-import android.util.Log;
+import com.android.dialer.common.LogUtil;
import java.util.ArrayList;
/** A {@link StopWatch} records start, laps and stop, and print them to logcat. */
@@ -37,11 +37,6 @@ public class StopWatch {
return new StopWatch(label);
}
- /** Return a dummy instance that does no operations. */
- public static StopWatch getNullStopWatch() {
- return NullStopWatch.INSTANCE;
- }
-
/** Record a lap. */
public void lap(String lapLabel) {
mTimes.add(System.currentTimeMillis());
@@ -76,25 +71,6 @@ public class StopWatch {
sb.append(" ");
last = current;
}
- Log.v(TAG, sb.toString());
- }
-
- private static class NullStopWatch extends StopWatch {
-
- public static final NullStopWatch INSTANCE = new NullStopWatch();
-
- public NullStopWatch() {
- super(null);
- }
-
- @Override
- public void lap(String lapLabel) {
- // noop
- }
-
- @Override
- public void stopAndLog(String TAG, int timeThresholdToLog) {
- // noop
- }
+ LogUtil.v(TAG, sb.toString());
}
}
diff --git a/java/com/android/contacts/common/util/TelephonyManagerUtils.java b/java/com/android/contacts/common/util/TelephonyManagerUtils.java
index b664268ca..e4c2c6373 100644
--- a/java/com/android/contacts/common/util/TelephonyManagerUtils.java
+++ b/java/com/android/contacts/common/util/TelephonyManagerUtils.java
@@ -33,13 +33,4 @@ public class TelephonyManagerUtils {
final String voiceMailLabel = telephonyManager.getVoiceMailAlphaTag();
return voiceMailLabel;
}
-
- /**
- * @param context Current application context.
- * @return True if there is a subscription which supports video calls. False otherwise.
- */
- public static boolean hasVideoCallSubscription(Context context) {
- // TODO: Check the telephony manager's subscriptions to see if any support video calls.
- return true;
- }
}
diff --git a/java/com/android/dialer/about/AndroidManifest.xml b/java/com/android/dialer/about/AndroidManifest.xml
index e9489ce1e..85c750826 100644
--- a/java/com/android/dialer/about/AndroidManifest.xml
+++ b/java/com/android/dialer/about/AndroidManifest.xml
@@ -1,6 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.dialer.about">
- <application>
+ <application android:theme="@style/Theme.AppCompat">
<activity
android:name="com.android.dialer.about.LicenseMenuActivity"
android:label="@string/licenseActivityLabel"
diff --git a/java/com/android/dialer/about/res/raw/keep.xml b/java/com/android/dialer/about/res/raw/keep.xml
index e41b8b8d0..9215627d1 100644
--- a/java/com/android/dialer/about/res/raw/keep.xml
+++ b/java/com/android/dialer/about/res/raw/keep.xml
@@ -16,4 +16,3 @@
-->
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@raw/*"/>
-
diff --git a/java/com/android/dialer/app/AndroidManifest.xml b/java/com/android/dialer/app/AndroidManifest.xml
index de4b48c51..4200082a6 100644
--- a/java/com/android/dialer/app/AndroidManifest.xml
+++ b/java/com/android/dialer/app/AndroidManifest.xml
@@ -39,6 +39,7 @@
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
+ <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"/>
<uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"/>
<uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"/>
diff --git a/java/com/android/dialer/app/Bindings.java b/java/com/android/dialer/app/Bindings.java
index 2beb40184..c8cf27eb2 100644
--- a/java/com/android/dialer/app/Bindings.java
+++ b/java/com/android/dialer/app/Bindings.java
@@ -17,9 +17,6 @@
package com.android.dialer.app;
import android.content.Context;
-import com.android.dialer.app.bindings.DialerBindings;
-import com.android.dialer.app.bindings.DialerBindingsFactory;
-import com.android.dialer.app.bindings.DialerBindingsStub;
import com.android.dialer.app.legacybindings.DialerLegacyBindings;
import com.android.dialer.app.legacybindings.DialerLegacyBindingsFactory;
import com.android.dialer.app.legacybindings.DialerLegacyBindingsStub;
@@ -28,28 +25,10 @@ import java.util.Objects;
/** Accessor for the in call UI bindings. */
public class Bindings {
- private static DialerBindings instance;
private static DialerLegacyBindings legacyInstance;
private Bindings() {}
- public static DialerBindings get(Context context) {
- Objects.requireNonNull(context);
- if (instance != null) {
- return instance;
- }
-
- Context application = context.getApplicationContext();
- if (application instanceof DialerBindingsFactory) {
- instance = ((DialerBindingsFactory) application).newDialerBindings();
- }
-
- if (instance == null) {
- instance = new DialerBindingsStub();
- }
- return instance;
- }
-
public static DialerLegacyBindings getLegacy(Context context) {
Objects.requireNonNull(context);
if (legacyInstance != null) {
@@ -67,11 +46,4 @@ public class Bindings {
return legacyInstance;
}
- public static void setForTesting(DialerBindings testInstance) {
- instance = testInstance;
- }
-
- public static void setLegacyBindingForTesting(DialerLegacyBindings testLegacyInstance) {
- legacyInstance = testLegacyInstance;
- }
}
diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java
index 6e2c6be7d..527dbff18 100644
--- a/java/com/android/dialer/app/DialtactsActivity.java
+++ b/java/com/android/dialer/app/DialtactsActivity.java
@@ -71,10 +71,12 @@ import com.android.contacts.common.widget.FloatingActionButtonController;
import com.android.dialer.animation.AnimUtils;
import com.android.dialer.animation.AnimationListenerAdapter;
import com.android.dialer.app.calllog.CallLogActivity;
+import com.android.dialer.app.calllog.CallLogAdapter;
import com.android.dialer.app.calllog.CallLogFragment;
import com.android.dialer.app.calllog.CallLogNotificationsService;
import com.android.dialer.app.dialpad.DialpadFragment;
import com.android.dialer.app.list.DialtactsPagerAdapter;
+import com.android.dialer.app.list.DialtactsPagerAdapter.TabIndex;
import com.android.dialer.app.list.DragDropController;
import com.android.dialer.app.list.ListsFragment;
import com.android.dialer.app.list.OldSpeedDialFragment;
@@ -92,6 +94,7 @@ import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.callintent.CallSpecificAppData;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.database.Database;
import com.android.dialer.database.DialerDatabaseHelper;
import com.android.dialer.interactions.PhoneNumberInteraction;
@@ -99,20 +102,24 @@ import com.android.dialer.interactions.PhoneNumberInteraction.InteractionErrorCo
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.ScreenEvent;
+import com.android.dialer.logging.UiAction;
+import com.android.dialer.main.Main;
+import com.android.dialer.main.MainComponent;
import com.android.dialer.p13n.inference.P13nRanking;
import com.android.dialer.p13n.inference.protocol.P13nRanker;
import com.android.dialer.p13n.inference.protocol.P13nRanker.P13nRefreshCompleteListener;
import com.android.dialer.p13n.logging.P13nLogger;
import com.android.dialer.p13n.logging.P13nLogging;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.postcall.PostCall;
import com.android.dialer.proguard.UsedByReflection;
+import com.android.dialer.searchfragment.list.NewSearchFragment;
import com.android.dialer.simulator.Simulator;
import com.android.dialer.simulator.SimulatorComponent;
import com.android.dialer.smartdial.SmartDialNameMatcher;
import com.android.dialer.smartdial.SmartDialPrefix;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.DialerUtils;
-import com.android.dialer.util.IntentUtil;
import com.android.dialer.util.PermissionsUtil;
import com.android.dialer.util.TouchPointManager;
import com.android.dialer.util.TransactionSafeActivity;
@@ -130,6 +137,7 @@ public class DialtactsActivity extends TransactionSafeActivity
DialpadFragment.OnDialpadQueryChangedListener,
OnListFragmentScrolledListener,
CallLogFragment.HostInterface,
+ CallLogAdapter.OnActionModeStateChangedListener,
DialpadFragment.HostInterface,
OldSpeedDialFragment.HostInterface,
SearchFragment.HostInterface,
@@ -147,6 +155,7 @@ public class DialtactsActivity extends TransactionSafeActivity
private static final String ACTION_SHOW_TAB = "ACTION_SHOW_TAB";
@VisibleForTesting public static final String EXTRA_SHOW_TAB = "EXTRA_SHOW_TAB";
public static final String EXTRA_CLEAR_NEW_VOICEMAILS = "EXTRA_CLEAR_NEW_VOICEMAILS";
+ private static final String KEY_LAST_TAB = "last_tab";
private static final String TAG = "DialtactsActivity";
private static final String KEY_IN_REGULAR_SEARCH_UI = "in_regular_search_ui";
private static final String KEY_IN_DIALPAD_SEARCH_UI = "in_dialpad_search_ui";
@@ -154,6 +163,7 @@ public class DialtactsActivity extends TransactionSafeActivity
private static final String KEY_FIRST_LAUNCH = "first_launch";
private static final String KEY_WAS_CONFIGURATION_CHANGE = "was_configuration_change";
private static final String KEY_IS_DIALPAD_SHOWN = "is_dialpad_shown";
+ private static final String TAG_NEW_SEARCH_FRAGMENT = "new_search";
private static final String TAG_REGULAR_SEARCH_FRAGMENT = "search";
private static final String TAG_SMARTDIAL_SEARCH_FRAGMENT = "smartdial";
private static final String TAG_FAVORITES_FRAGMENT = "favorites";
@@ -162,6 +172,7 @@ public class DialtactsActivity extends TransactionSafeActivity
private static final int ACTIVITY_REQUEST_CODE_VOICE_SEARCH = 1;
public static final int ACTIVITY_REQUEST_CODE_CALL_COMPOSE = 2;
+ public static final int ACTIVITY_REQUEST_CODE_LIGHTBRINGER = 3;
private static final int FAB_SCALE_IN_DELAY_MS = 300;
@@ -180,6 +191,9 @@ public class DialtactsActivity extends TransactionSafeActivity
/** Fragment for searching phone numbers using the dialpad. */
private SmartDialSearchFragment mSmartDialSearchFragment;
+ /** new Fragment for search phone numbers using the keyboard and the dialpad. */
+ private NewSearchFragment mNewSearchFragment;
+
/** Animation that slides in. */
private Animation mSlideIn;
@@ -225,6 +239,9 @@ public class DialtactsActivity extends TransactionSafeActivity
private P13nLogger mP13nLogger;
private P13nRanker mP13nRanker;
+ public boolean isMultiSelectModeEnabled;
+
+ private boolean isLastTabEnabled;
AnimationListenerAdapter mSlideInListener =
new AnimationListenerAdapter() {
@@ -256,12 +273,18 @@ public class DialtactsActivity extends TransactionSafeActivity
// no need to do anything here.
return;
}
+
+ if (count != 0) {
+ PerformanceReport.recordClick(UiAction.Type.TEXT_CHANGE_WITH_INPUT);
+ }
+
if (DEBUG) {
LogUtil.v("DialtactsActivity.onTextChanged", "called with new query: " + newText);
LogUtil.v("DialtactsActivity.onTextChanged", "previous query: " + mSearchQuery);
}
mSearchQuery = newText;
+ // TODO: show p13n when newText is empty.
// Show search fragment only when the query string is changed to non-empty text.
if (!TextUtils.isEmpty(newText)) {
// Call enterSearchUi only if we are switching search modes, or showing a search
@@ -277,6 +300,8 @@ public class DialtactsActivity extends TransactionSafeActivity
mSmartDialSearchFragment.setQueryString(mSearchQuery);
} else if (mRegularSearchFragment != null && mRegularSearchFragment.isVisible()) {
mRegularSearchFragment.setQueryString(mSearchQuery);
+ } else if (mNewSearchFragment != null) {
+ mNewSearchFragment.setQuery(mSearchQuery);
}
}
@@ -289,6 +314,7 @@ public class DialtactsActivity extends TransactionSafeActivity
@Override
public void onClick(View v) {
if (!isInSearchUi()) {
+ PerformanceReport.recordClick(UiAction.Type.OPEN_SEARCH);
mActionBarController.onSearchBoxTapped();
enterSearchUi(
false /* smartDialSearch */, mSearchView.getText().toString(), true /* animate */);
@@ -306,9 +332,13 @@ public class DialtactsActivity extends TransactionSafeActivity
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if (TextUtils.isEmpty(mSearchView.getText().toString())) {
// If the search term is empty, close the search UI.
+ PerformanceReport.recordClick(UiAction.Type.CLOSE_SEARCH_WITH_HIDE_BUTTON);
maybeExitSearchUi();
} else {
// If the search term is not empty, show the dialpad fab.
+ if (!mFloatingActionButtonController.isVisible()) {
+ PerformanceReport.recordClick(UiAction.Type.HIDE_KEYBOARD_IN_SEARCH);
+ }
showFabInSearchUi();
}
}
@@ -355,6 +385,7 @@ public class DialtactsActivity extends TransactionSafeActivity
super.onCreate(savedInstanceState);
mFirstLaunch = true;
+ isLastTabEnabled = ConfigProviderBindings.get(this).getBoolean("last_tab_enabled", false);
final Resources resources = getResources();
mActionBarHeight = resources.getDimensionPixelSize(R.dimen.action_bar_height_large);
@@ -480,6 +511,13 @@ public class DialtactsActivity extends TransactionSafeActivity
Trace.beginSection(TAG + " onResume");
super.onResume();
+ // Some calls may not be recorded (eg. from quick contact),
+ // so we should restart recording after these calls. (Recorded call is stopped)
+ PostCall.restartPerformanceRecordingIfARecentCallExist(this);
+ if (!PerformanceReport.isRecording()) {
+ PerformanceReport.startRecording();
+ }
+
mStateSaved = false;
if (mFirstLaunch) {
displayFragment(getIntent());
@@ -542,7 +580,8 @@ public class DialtactsActivity extends TransactionSafeActivity
}
if (getIntent().getBooleanExtra(EXTRA_CLEAR_NEW_VOICEMAILS, false)) {
- CallLogNotificationsService.markNewVoicemailsAsOld(this, null);
+ LogUtil.i("DialtactsActivity.onResume", "clearing all new voicemails");
+ CallLogNotificationsService.markAllNewVoicemailsAsOld(this);
}
}
@@ -593,6 +632,10 @@ public class DialtactsActivity extends TransactionSafeActivity
&& !getSystemService(KeyguardManager.class).isKeyguardLocked()) {
mListsFragment.markMissedCallsAsReadAndRemoveNotifications();
}
+ DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(this)
+ .edit()
+ .putInt(KEY_LAST_TAB, mListsFragment.getCurrentTabIndex())
+ .apply();
}
@Override
@@ -630,6 +673,8 @@ public class DialtactsActivity extends TransactionSafeActivity
} else if (fragment instanceof ListsFragment) {
mListsFragment = (ListsFragment) fragment;
mListsFragment.addOnPageChangeListener(this);
+ } else if (fragment instanceof NewSearchFragment) {
+ mNewSearchFragment = (NewSearchFragment) fragment;
}
if (fragment instanceof SearchFragment) {
final SearchFragment searchFragment = (SearchFragment) fragment;
@@ -664,13 +709,8 @@ public class DialtactsActivity extends TransactionSafeActivity
public void onClick(View view) {
int resId = view.getId();
if (resId == R.id.floating_action_button) {
- if (mListsFragment.getCurrentTabIndex() == DialtactsPagerAdapter.TAB_INDEX_ALL_CONTACTS
- && !mInRegularSearch
- && !mInDialpadSearch) {
- DialerUtils.startActivityWithErrorToast(
- this, IntentUtil.getNewContactIntent(), R.string.add_contact_not_available);
- Logger.get(this).logImpression(DialerImpression.Type.NEW_CONTACT_FAB);
- } else if (!mIsDialpadShown) {
+ if (!mIsDialpadShown) {
+ PerformanceReport.recordClick(UiAction.Type.OPEN_DIALPAD);
mInCallDialpadUp = false;
showDialpadFragment(true);
PostCall.closePrompt();
@@ -700,6 +740,7 @@ public class DialtactsActivity extends TransactionSafeActivity
int resId = item.getItemId();
if (resId == R.id.menu_history) {
+ PerformanceReport.recordClick(UiAction.Type.OPEN_CALL_HISTORY);
final Intent intent = new Intent(this, CallLogActivity.class);
startActivity(intent);
} else if (resId == R.id.menu_clear_frequents) {
@@ -710,6 +751,9 @@ public class DialtactsActivity extends TransactionSafeActivity
handleMenuSettings();
Logger.get(this).logScreenView(ScreenEvent.Type.SETTINGS, this);
return true;
+ } else if (resId == R.id.menu_new_ui_launcher_shortcut) {
+ MainComponent.get(this).getMain().createNewUiLauncherShortcut(this);
+ return true;
}
return false;
}
@@ -785,6 +829,7 @@ public class DialtactsActivity extends TransactionSafeActivity
if (animate) {
mFloatingActionButtonController.scaleOut();
+ maybeEnterSearchUi();
} else {
mFloatingActionButtonController.setVisible(false);
maybeEnterSearchUi();
@@ -1007,6 +1052,16 @@ public class DialtactsActivity extends TransactionSafeActivity
if (showDialpadChooser && !mDialpadFragment.isVisible()) {
mInCallDialpadUp = true;
}
+ } else if (isLastTabEnabled) {
+ @TabIndex
+ int tabIndex =
+ DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(this)
+ .getInt(KEY_LAST_TAB, DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL);
+ // If voicemail tab is saved and its availability changes, we still move to the voicemail tab
+ // but it is quickly removed and shown the contacts tab.
+ if (mListsFragment != null) {
+ mListsFragment.showTab(tabIndex);
+ }
}
}
@@ -1057,7 +1112,11 @@ public class DialtactsActivity extends TransactionSafeActivity
}
final String tag;
- if (smartDialSearch) {
+ boolean useNewSearch =
+ ConfigProviderBindings.get(this).getBoolean("enable_new_search_fragment", false);
+ if (useNewSearch) {
+ tag = TAG_NEW_SEARCH_FRAGMENT;
+ } else if (smartDialSearch) {
tag = TAG_SMARTDIAL_SEARCH_FRAGMENT;
} else {
tag = TAG_REGULAR_SEARCH_FRAGMENT;
@@ -1067,40 +1126,52 @@ public class DialtactsActivity extends TransactionSafeActivity
mFloatingActionButtonController.scaleOut();
- SearchFragment fragment = (SearchFragment) getFragmentManager().findFragmentByTag(tag);
if (animate) {
transaction.setCustomAnimations(android.R.animator.fade_in, 0);
} else {
transaction.setTransition(FragmentTransaction.TRANSIT_NONE);
}
+
+ Fragment fragment = getFragmentManager().findFragmentByTag(tag);
if (fragment == null) {
- if (smartDialSearch) {
+ if (useNewSearch) {
+ fragment = new NewSearchFragment();
+ } else if (smartDialSearch) {
fragment = new SmartDialSearchFragment();
} else {
fragment = Bindings.getLegacy(this).newRegularSearchFragment();
- fragment.setOnTouchListener(
- new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- // Show the FAB when the user touches the lists fragment and the soft
- // keyboard is hidden.
- hideDialpadFragment(true, false);
- showFabInSearchUi();
- v.performClick();
- return false;
- }
- });
+ ((SearchFragment) fragment)
+ .setOnTouchListener(
+ (v, event) -> {
+ // Show the FAB when the user touches the lists fragment and the soft
+ // keyboard is hidden.
+ hideDialpadFragment(true, false);
+ v.performClick();
+ return false;
+ });
}
transaction.add(R.id.dialtacts_frame, fragment, tag);
} else {
+ // TODO: if this is a transition from dialpad to searchbar, animate fragment
+ // down, and vice versa. Perhaps just add a coordinator behavior with the search bar.
transaction.show(fragment);
}
+
// DialtactsActivity will provide the options menu
fragment.setHasOptionsMenu(false);
+
// Will show empty list if P13nRanker is not enabled. Else, re-ranked list by the ranker.
- fragment.setShowEmptyListForNullQuery(mP13nRanker.shouldShowEmptyListForNullQuery());
- if (!smartDialSearch) {
- fragment.setQueryString(query);
+ if (!useNewSearch) {
+ ((SearchFragment) fragment)
+ .setShowEmptyListForNullQuery(mP13nRanker.shouldShowEmptyListForNullQuery());
+ } else {
+ // TODO: add p13n ranker to new search.
+ }
+
+ if (!smartDialSearch && !useNewSearch) {
+ ((SearchFragment) fragment).setQueryString(query);
+ } else if (useNewSearch) {
+ ((NewSearchFragment) fragment).setQuery(query);
}
transaction.commit();
@@ -1146,6 +1217,9 @@ public class DialtactsActivity extends TransactionSafeActivity
if (mRegularSearchFragment != null) {
transaction.remove(mRegularSearchFragment);
}
+ if (mNewSearchFragment != null) {
+ transaction.remove(mNewSearchFragment);
+ }
transaction.commit();
Assert.isNotNull(mListsFragment.getView()).animate().alpha(1).withLayer();
@@ -1163,6 +1237,8 @@ public class DialtactsActivity extends TransactionSafeActivity
@Override
public void onBackPressed() {
+ PerformanceReport.recordClick(UiAction.Type.PRESS_ANDROID_BACK_BUTTON);
+
if (mStateSaved) {
return;
}
@@ -1247,6 +1323,7 @@ public class DialtactsActivity extends TransactionSafeActivity
if (mInDialpadSearch
&& mSmartDialSearchFragment != null
&& !mSmartDialSearchFragment.isShowingPermissionRequest()) {
+ PerformanceReport.recordClick(UiAction.Type.CLOSE_DIALPAD);
hideDialpadFragment(true /* animate */, true /* clearDialpad */);
return true;
}
@@ -1255,6 +1332,7 @@ public class DialtactsActivity extends TransactionSafeActivity
@Override
public void onListFragmentScrollStateChange(int scrollState) {
+ PerformanceReport.recordScrollStateChange(scrollState);
if (scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
hideDialpadFragment(true, false);
DialerUtils.hideInputMethod(mParentLayout);
@@ -1381,18 +1459,6 @@ public class DialtactsActivity extends TransactionSafeActivity
int tabIndex = mListsFragment.getCurrentTabIndex();
mPreviouslySelectedTabIndex = tabIndex;
mFloatingActionButtonController.setVisible(true);
- if (tabIndex == DialtactsPagerAdapter.TAB_INDEX_ALL_CONTACTS
- && !mInRegularSearch
- && !mInDialpadSearch) {
- mFloatingActionButtonController.changeIcon(
- getResources().getDrawable(R.drawable.quantum_ic_person_add_white_24, null),
- getResources().getString(R.string.search_shortcut_create_new_contact));
- } else {
- mFloatingActionButtonController.changeIcon(
- getResources().getDrawable(R.drawable.quantum_ic_dialpad_white_24, null),
- getResources().getString(R.string.action_menu_dialpad_button));
- }
-
timeTabSelected = SystemClock.elapsedRealtime();
}
@@ -1477,6 +1543,17 @@ public class DialtactsActivity extends TransactionSafeActivity
Arrays.toString(grantResults)));
}
+ @Override
+ public void onActionModeStateChanged(boolean isEnabled) {
+ isMultiSelectModeEnabled = isEnabled;
+ }
+
+ @Override
+ public boolean isActionModeStateEnabled() {
+ return isMultiSelectModeEnabled;
+ }
+
+ /** Popup menu accessible from the search bar */
protected class OptionsPopupMenu extends PopupMenu {
public OptionsPopupMenu(Context context, View anchor) {
@@ -1505,6 +1582,10 @@ public class DialtactsActivity extends TransactionSafeActivity
simulatorMenuItem.setVisible(false);
}
+ Main dialtacts = MainComponent.get(context).getMain();
+ menu.findItem(R.id.menu_new_ui_launcher_shortcut)
+ .setVisible(dialtacts.isNewUiEnabled(context));
+
super.show();
}
}
diff --git a/java/com/android/dialer/app/SpecialCharSequenceMgr.java b/java/com/android/dialer/app/SpecialCharSequenceMgr.java
index 85c2ea650..20222d68c 100644
--- a/java/com/android/dialer/app/SpecialCharSequenceMgr.java
+++ b/java/com/android/dialer/app/SpecialCharSequenceMgr.java
@@ -47,7 +47,6 @@ import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment.Selec
import com.android.dialer.calllogutils.PhoneAccountUtils;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.CompatUtils;
import com.android.dialer.oem.MotorolaUtils;
import com.android.dialer.telecom.TelecomUtil;
import java.util.ArrayList;
@@ -299,9 +298,7 @@ public class SpecialCharSequenceMgr {
: R.string.meid;
List<String> deviceIds = new ArrayList<String>();
- if (TelephonyManagerCompat.getPhoneCount(telephonyManager) > 1
- && CompatUtils.isMethodAvailable(
- TelephonyManagerCompat.TELEPHONY_MANAGER_CLASS, "getDeviceId", Integer.TYPE)) {
+ if (TelephonyManagerCompat.getPhoneCount(telephonyManager) > 1) {
for (int slot = 0; slot < telephonyManager.getPhoneCount(); slot++) {
String deviceId = telephonyManager.getDeviceId(slot);
if (!TextUtils.isEmpty(deviceId)) {
diff --git a/java/com/android/dialer/app/bindings/DialerBindingsStub.java b/java/com/android/dialer/app/bindings/DialerBindingsStub.java
deleted file mode 100644
index f56743fa5..000000000
--- a/java/com/android/dialer/app/bindings/DialerBindingsStub.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2016 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.dialer.app.bindings;
-
-import com.android.dialer.common.ConfigProvider;
-
-/** Default implementation for dialer bindings. */
-public class DialerBindingsStub implements DialerBindings {
- private ConfigProvider configProvider;
-
- @Override
- public ConfigProvider getConfigProvider() {
- if (configProvider == null) {
- configProvider =
- new ConfigProvider() {
- @Override
- public String getString(String key, String defaultValue) {
- return defaultValue;
- }
-
- @Override
- public long getLong(String key, long defaultValue) {
- return defaultValue;
- }
-
- @Override
- public boolean getBoolean(String key, boolean defaultValue) {
- return defaultValue;
- }
- };
- }
- return configProvider;
- }
-}
diff --git a/java/com/android/dialer/app/calllog/CallLogActivity.java b/java/com/android/dialer/app/calllog/CallLogActivity.java
index 443171d3f..6433af9a6 100644
--- a/java/com/android/dialer/app/calllog/CallLogActivity.java
+++ b/java/com/android/dialer/app/calllog/CallLogActivity.java
@@ -34,6 +34,9 @@ import com.android.dialer.app.R;
import com.android.dialer.database.CallLogQueryHandler;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.ScreenEvent;
+import com.android.dialer.logging.UiAction;
+import com.android.dialer.performancereport.PerformanceReport;
+import com.android.dialer.postcall.PostCall;
import com.android.dialer.util.TransactionSafeActivity;
import com.android.dialer.util.ViewUtil;
@@ -48,7 +51,6 @@ public class CallLogActivity extends TransactionSafeActivity
private ViewPagerTabs mViewPagerTabs;
private ViewPagerAdapter mViewPagerAdapter;
private CallLogFragment mAllCallsFragment;
- private CallLogFragment mMissedCallsFragment;
private String[] mTabTitles;
private boolean mIsResumed;
@@ -93,9 +95,16 @@ public class CallLogActivity extends TransactionSafeActivity
@Override
protected void onResume() {
+ // Some calls may not be recorded (eg. from quick contact),
+ // so we should restart recording after these calls. (Recorded call is stopped)
+ PostCall.restartPerformanceRecordingIfARecentCallExist(this);
+ if (!PerformanceReport.isRecording()) {
+ PerformanceReport.startRecording();
+ }
+
mIsResumed = true;
super.onResume();
- sendScreenViewForChildFragment(mViewPager.getCurrentItem());
+ sendScreenViewForChildFragment();
}
@Override
@@ -129,6 +138,7 @@ public class CallLogActivity extends TransactionSafeActivity
}
if (item.getItemId() == android.R.id.home) {
+ PerformanceReport.recordClick(UiAction.Type.CLOSE_CALL_HISTORY_WITH_CANCEL_BUTTON);
final Intent intent = new Intent(this, DialtactsActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
@@ -148,7 +158,7 @@ public class CallLogActivity extends TransactionSafeActivity
@Override
public void onPageSelected(int position) {
if (mIsResumed) {
- sendScreenViewForChildFragment(position);
+ sendScreenViewForChildFragment();
}
mViewPagerTabs.onPageSelected(position);
}
@@ -158,7 +168,7 @@ public class CallLogActivity extends TransactionSafeActivity
mViewPagerTabs.onPageScrollStateChanged(state);
}
- private void sendScreenViewForChildFragment(int position) {
+ private void sendScreenViewForChildFragment() {
Logger.get(this).logScreenView(ScreenEvent.Type.CALL_LOG_FILTER, this);
}
@@ -169,6 +179,12 @@ public class CallLogActivity extends TransactionSafeActivity
return position;
}
+ @Override
+ public void onBackPressed() {
+ PerformanceReport.recordClick(UiAction.Type.PRESS_ANDROID_BACK_BUTTON);
+ super.onBackPressed();
+ }
+
/** Adapter for the view pager. */
public class ViewPagerAdapter extends FragmentPagerAdapter {
@@ -189,20 +205,16 @@ public class CallLogActivity extends TransactionSafeActivity
CallLogQueryHandler.CALL_TYPE_ALL, true /* isCallLogActivity */);
case TAB_INDEX_MISSED:
return new CallLogFragment(Calls.MISSED_TYPE, true /* isCallLogActivity */);
+ default:
+ throw new IllegalStateException("No fragment at position " + position);
}
- throw new IllegalStateException("No fragment at position " + position);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
final CallLogFragment fragment = (CallLogFragment) super.instantiateItem(container, position);
- switch (position) {
- case TAB_INDEX_ALL:
+ if (position == TAB_INDEX_ALL) {
mAllCallsFragment = fragment;
- break;
- case TAB_INDEX_MISSED:
- mMissedCallsFragment = fragment;
- break;
}
return fragment;
}
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index 2f8a58c8a..f1d051a8c 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -19,6 +19,7 @@ package com.android.dialer.app.calllog;
import android.app.Activity;
import android.content.ContentUris;
import android.content.DialogInterface;
+import android.content.DialogInterface.OnCancelListener;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
@@ -52,7 +53,6 @@ import android.view.ViewGroup;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
import com.android.contacts.common.preference.ContactsPreferences;
-import com.android.dialer.app.Bindings;
import com.android.dialer.app.DialtactsActivity;
import com.android.dialer.app.R;
import com.android.dialer.app.calllog.CallLogGroupBuilder.GroupCreator;
@@ -66,10 +66,10 @@ import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry;
import com.android.dialer.calllogutils.PhoneAccountUtils;
import com.android.dialer.calllogutils.PhoneCallDetails;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.AsyncTaskExecutor;
import com.android.dialer.common.concurrent.AsyncTaskExecutors;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.enrichedcall.EnrichedCallCapabilities;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.enrichedcall.EnrichedCallManager;
@@ -80,12 +80,15 @@ import com.android.dialer.lightbringer.LightbringerListener;
import com.android.dialer.logging.ContactSource;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
+import com.android.dialer.logging.UiAction;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.phonenumbercache.CallLogQuery;
import com.android.dialer.phonenumbercache.ContactInfo;
import com.android.dialer.phonenumbercache.ContactInfoHelper;
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
import com.android.dialer.spam.Spam;
import com.android.dialer.util.PermissionsUtil;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -105,11 +108,12 @@ public class CallLogAdapter extends GroupingListAdapter
private static final String KEY_EXPANDED_POSITION = "expanded_position";
private static final String KEY_EXPANDED_ROW_ID = "expanded_row_id";
+ private static final String KEY_ACTION_MODE = "action_mode_selected_items";
public static final String LOAD_DATA_TASK_IDENTIFIER = "load_data";
public static final String ENABLE_CALL_LOG_MULTI_SELECT = "enable_call_log_multiselect";
- public static final boolean ENABLE_CALL_LOG_MULTI_SELECT_FLAG = false;
+ public static final boolean ENABLE_CALL_LOG_MULTI_SELECT_FLAG = true;
protected final Activity mActivity;
protected final VoicemailPlaybackPresenter mVoicemailPlaybackPresenter;
@@ -117,6 +121,8 @@ public class CallLogAdapter extends GroupingListAdapter
protected final CallLogCache mCallLogCache;
private final CallFetcher mCallFetcher;
+ private final OnActionModeStateChangedListener mActionModeStateChangedListener;
+ private final MultiSelectRemoveView mMultiSelectRemoveView;
@NonNull private final FilteredNumberAsyncQueryHandler mFilteredNumberAsyncQueryHandler;
private final int mActivityType;
@@ -136,6 +142,8 @@ public class CallLogAdapter extends GroupingListAdapter
private final CallLogAlertManager mCallLogAlertManager;
public ActionMode mActionMode = null;
+ public boolean selectAllMode = false;
+ public boolean deselectAllMode = false;
private final SparseArray<String> selectedItems = new SparseArray<>();
private final ActionMode.Callback mActionModeCallback =
@@ -144,10 +152,17 @@ public class CallLogAdapter extends GroupingListAdapter
// Called when the action mode is created; startActionMode() was called
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+ if (mActivity != null) {
+ announceforAccessibility(
+ mActivity.getCurrentFocus(),
+ mActivity.getString(R.string.description_entering_bulk_action_mode));
+ }
mActionMode = mode;
// Inflate a menu resource providing context menu items
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.actionbar_delete, menu);
+ mMultiSelectRemoveView.showMultiSelectRemoveView(true);
+ mActionModeStateChangedListener.onActionModeStateChanged(true);
return true;
}
@@ -162,10 +177,10 @@ public class CallLogAdapter extends GroupingListAdapter
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
if (item.getItemId() == R.id.action_bar_delete_menu_item) {
+ Logger.get(mActivity).logImpression(DialerImpression.Type.MULTISELECT_TAP_DELETE_ICON);
if (selectedItems.size() > 0) {
showDeleteSelectedItemsDialog();
}
- mode.finish();
return true;
} else {
return false;
@@ -175,53 +190,78 @@ public class CallLogAdapter extends GroupingListAdapter
// Called when the user exits the action mode
@Override
public void onDestroyActionMode(ActionMode mode) {
+ if (mActivity != null) {
+ announceforAccessibility(
+ mActivity.getCurrentFocus(),
+ mActivity.getString(R.string.description_leaving_bulk_action_mode));
+ }
selectedItems.clear();
mActionMode = null;
+ selectAllMode = false;
+ deselectAllMode = false;
+ mMultiSelectRemoveView.showMultiSelectRemoveView(false);
+ mActionModeStateChangedListener.onActionModeStateChanged(false);
notifyDataSetChanged();
}
};
- // Todo (uabdullah): Use plurals http://b/37751831
private void showDeleteSelectedItemsDialog() {
- AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
- Assert.checkArgument(selectedItems.size() > 0);
- String voicemailString =
- selectedItems.size() == 1
- ? mActivity.getResources().getString(R.string.voicemailMultiSelectVoicemail)
- : mActivity.getResources().getString(R.string.voicemailMultiSelectVoicemails);
- String deleteVoicemailTitle =
- mActivity
- .getResources()
- .getString(R.string.voicemailMultiSelectDialogTitle, voicemailString);
SparseArray<String> voicemailsToDeleteOnConfirmation = selectedItems.clone();
- builder.setTitle(deleteVoicemailTitle);
-
- builder.setPositiveButton(
- mActivity.getResources().getString(R.string.voicemailMultiSelectDeleteConfirm),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- deleteSelectedItems(voicemailsToDeleteOnConfirmation);
- dialog.cancel();
- }
- });
-
- builder.setNegativeButton(
- mActivity.getResources().getString(R.string.voicemailMultiSelectDeleteCancel),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- });
-
- AlertDialog dialog = builder.create();
- dialog.show();
+ new AlertDialog.Builder(mActivity, R.style.AlertDialogCustom)
+ .setCancelable(true)
+ .setTitle(
+ mActivity
+ .getResources()
+ .getQuantityString(
+ R.plurals.delete_voicemails_confirmation_dialog_title, selectedItems.size()))
+ .setPositiveButton(
+ R.string.voicemailMultiSelectDeleteConfirm,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(final DialogInterface dialog, final int button) {
+ LogUtil.i(
+ "CallLogAdapter.showDeleteSelectedItemsDialog",
+ "onClick, these items to delete " + voicemailsToDeleteOnConfirmation);
+ deleteSelectedItems(voicemailsToDeleteOnConfirmation);
+ mActionMode.finish();
+ dialog.cancel();
+ Logger.get(mActivity)
+ .logImpression(
+ DialerImpression.Type.MULTISELECT_DELETE_ENTRY_VIA_CONFIRMATION_DIALOG);
+ }
+ })
+ .setOnCancelListener(
+ new OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialogInterface) {
+ Logger.get(mActivity)
+ .logImpression(
+ DialerImpression.Type
+ .MULTISELECT_CANCEL_CONFIRMATION_DIALOG_VIA_CANCEL_TOUCH);
+ dialogInterface.cancel();
+ }
+ })
+ .setNegativeButton(
+ R.string.voicemailMultiSelectDeleteCancel,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(final DialogInterface dialog, final int button) {
+ Logger.get(mActivity)
+ .logImpression(
+ DialerImpression.Type
+ .MULTISELECT_CANCEL_CONFIRMATION_DIALOG_VIA_CANCEL_BUTTON);
+ dialog.cancel();
+ }
+ })
+ .show();
+ Logger.get(mActivity)
+ .logImpression(DialerImpression.Type.MULTISELECT_DISPLAY_DELETE_CONFIRMATION_DIALOG);
}
private void deleteSelectedItems(SparseArray<String> voicemailsToDelete) {
for (int i = 0; i < voicemailsToDelete.size(); i++) {
String voicemailUri = voicemailsToDelete.get(voicemailsToDelete.keyAt(i));
+ LogUtil.i("CallLogAdapter.deleteSelectedItems", "deleting uri:" + voicemailUri);
CallLogAsyncTaskUtil.deleteVoicemail(mActivity, Uri.parse(voicemailUri), null);
}
}
@@ -235,8 +275,13 @@ public class CallLogAdapter extends GroupingListAdapter
&& mVoicemailPlaybackPresenter != null) {
if (v.getId() == R.id.primary_action_view || v.getId() == R.id.quick_contact_photo) {
if (mActionMode == null) {
+ Logger.get(mActivity)
+ .logImpression(
+ DialerImpression.Type.MULTISELECT_LONG_PRESS_ENTER_MULTI_SELECT_MODE);
mActionMode = v.startActionMode(mActionModeCallback);
}
+ Logger.get(mActivity)
+ .logImpression(DialerImpression.Type.MULTISELECT_LONG_PRESS_TAP_ENTRY);
CallLogListItemViewHolder viewHolder = (CallLogListItemViewHolder) v.getTag();
viewHolder.quickContactView.setVisibility(View.GONE);
viewHolder.checkBoxView.setVisibility(View.VISIBLE);
@@ -253,27 +298,26 @@ public class CallLogAdapter extends GroupingListAdapter
new View.OnClickListener() {
@Override
public void onClick(View v) {
+ PerformanceReport.recordClick(UiAction.Type.CLICK_CALL_LOG_ITEM);
+
CallLogListItemViewHolder viewHolder = (CallLogListItemViewHolder) v.getTag();
if (viewHolder == null) {
return;
}
if (mActionMode != null && viewHolder.voicemailUri != null) {
+ selectAllMode = false;
+ deselectAllMode = false;
+ mMultiSelectRemoveView.setSelectAllModeToFalse();
int id = getVoicemailId(viewHolder.voicemailUri);
if (selectedItems.get(id) != null) {
- selectedItems.delete(id);
- viewHolder.checkBoxView.setVisibility(View.GONE);
- viewHolder.quickContactView.setVisibility(View.VISIBLE);
+ Logger.get(mActivity)
+ .logImpression(DialerImpression.Type.MULTISELECT_SINGLE_PRESS_UNSELECT_ENTRY);
+ uncheckMarkCallLogEntry(viewHolder, id);
} else {
- viewHolder.quickContactView.setVisibility(View.GONE);
- viewHolder.checkBoxView.setVisibility(View.VISIBLE);
- selectedItems.put(getVoicemailId(viewHolder.voicemailUri), viewHolder.voicemailUri);
+ Logger.get(mActivity)
+ .logImpression(DialerImpression.Type.MULTISELECT_SINGLE_PRESS_SELECT_ENTRY);
+ checkMarkCallLogEntry(viewHolder);
}
-
- if (selectedItems.size() == 0) {
- mActionMode.finish();
- return;
- }
- mActionMode.setTitle(Integer.toString(selectedItems.size()));
return;
}
@@ -312,6 +356,50 @@ public class CallLogAdapter extends GroupingListAdapter
}
};
+ private void checkMarkCallLogEntry(CallLogListItemViewHolder viewHolder) {
+ announceforAccessibility(
+ mActivity.getCurrentFocus(),
+ mActivity.getString(
+ R.string.description_selecting_bulk_action_mode, viewHolder.nameOrNumber));
+ viewHolder.quickContactView.setVisibility(View.GONE);
+ viewHolder.checkBoxView.setVisibility(View.VISIBLE);
+ selectedItems.put(getVoicemailId(viewHolder.voicemailUri), viewHolder.voicemailUri);
+ updateActionBar();
+ }
+
+ private void announceforAccessibility(View view, String announcement) {
+ if (view != null) {
+ view.announceForAccessibility(announcement);
+ }
+ }
+
+ private void updateActionBar() {
+ if (mActionMode == null && selectedItems.size() > 0) {
+ Logger.get(mActivity)
+ .logImpression(DialerImpression.Type.MULTISELECT_ROTATE_AND_SHOW_ACTION_MODE);
+ mActivity.startActionMode(mActionModeCallback);
+ }
+ if (mActionMode != null) {
+ mActionMode.setTitle(
+ mActivity
+ .getResources()
+ .getString(
+ R.string.voicemailMultiSelectActionBarTitle,
+ Integer.toString(selectedItems.size())));
+ }
+ }
+
+ private void uncheckMarkCallLogEntry(CallLogListItemViewHolder viewHolder, int id) {
+ announceforAccessibility(
+ mActivity.getCurrentFocus(),
+ mActivity.getString(
+ R.string.description_unselecting_bulk_action_mode, viewHolder.nameOrNumber));
+ selectedItems.delete(id);
+ viewHolder.checkBoxView.setVisibility(View.GONE);
+ viewHolder.quickContactView.setVisibility(View.VISIBLE);
+ updateActionBar();
+ }
+
private static int getVoicemailId(String voicemailUri) {
Assert.checkArgument(voicemailUri != null);
Assert.checkArgument(voicemailUri.length() > 0);
@@ -358,6 +446,8 @@ public class CallLogAdapter extends GroupingListAdapter
Activity activity,
ViewGroup alertContainer,
CallFetcher callFetcher,
+ MultiSelectRemoveView multiSelectRemoveView,
+ OnActionModeStateChangedListener actionModeStateChangedListener,
CallLogCache callLogCache,
ContactInfoCache contactInfoCache,
VoicemailPlaybackPresenter voicemailPlaybackPresenter,
@@ -367,6 +457,8 @@ public class CallLogAdapter extends GroupingListAdapter
mActivity = activity;
mCallFetcher = callFetcher;
+ mActionModeStateChangedListener = actionModeStateChangedListener;
+ mMultiSelectRemoveView = multiSelectRemoveView;
mVoicemailPlaybackPresenter = voicemailPlaybackPresenter;
if (mVoicemailPlaybackPresenter != null) {
mVoicemailPlaybackPresenter.setOnVoicemailDeletedListener(this);
@@ -426,6 +518,25 @@ public class CallLogAdapter extends GroupingListAdapter
public void onSaveInstanceState(Bundle outState) {
outState.putInt(KEY_EXPANDED_POSITION, mCurrentlyExpandedPosition);
outState.putLong(KEY_EXPANDED_ROW_ID, mCurrentlyExpandedRowId);
+
+ ArrayList<String> listOfSelectedItems = new ArrayList<>();
+
+ if (selectedItems.size() > 0) {
+ for (int i = 0; i < selectedItems.size(); i++) {
+ int id = selectedItems.keyAt(i);
+ String voicemailUri = selectedItems.valueAt(i);
+ LogUtil.i(
+ "CallLogAdapter.onSaveInstanceState", "index %d, id=%d, uri=%s ", i, id, voicemailUri);
+ listOfSelectedItems.add(voicemailUri);
+ }
+ }
+ outState.putStringArrayList(KEY_ACTION_MODE, listOfSelectedItems);
+
+ LogUtil.i(
+ "CallLogAdapter.onSaveInstanceState",
+ "saved: %d, selectedItemsSize:%d",
+ listOfSelectedItems.size(),
+ selectedItems.size());
}
public void onRestoreInstanceState(Bundle savedInstanceState) {
@@ -434,6 +545,33 @@ public class CallLogAdapter extends GroupingListAdapter
savedInstanceState.getInt(KEY_EXPANDED_POSITION, RecyclerView.NO_POSITION);
mCurrentlyExpandedRowId =
savedInstanceState.getLong(KEY_EXPANDED_ROW_ID, NO_EXPANDED_LIST_ITEM);
+ // Restoring multi selected entries
+ ArrayList<String> listOfSelectedItems =
+ savedInstanceState.getStringArrayList(KEY_ACTION_MODE);
+ LogUtil.i(
+ "CallLogAdapter.onRestoreInstanceState",
+ "restored selectedItemsList:%d",
+ listOfSelectedItems.size());
+
+ if (!listOfSelectedItems.isEmpty()) {
+ for (int i = 0; i < listOfSelectedItems.size(); i++) {
+ String voicemailUri = listOfSelectedItems.get(i);
+ int id = getVoicemailId(voicemailUri);
+ LogUtil.i(
+ "CallLogAdapter.onRestoreInstanceState",
+ "restoring selected index %d, id=%d, uri=%s ",
+ i,
+ id,
+ voicemailUri);
+ selectedItems.put(id, voicemailUri);
+ }
+
+ LogUtil.i(
+ "CallLogAdapter.onRestoreInstance",
+ "restored selectedItems %s",
+ selectedItems.toString());
+ updateActionBar();
+ }
}
}
@@ -521,6 +659,7 @@ public class CallLogAdapter extends GroupingListAdapter
mBlockReportSpamListener,
mExpandCollapseListener,
mLongPressListener,
+ mActionModeStateChangedListener,
mCallLogCache,
mCallLogListItemHelper,
mVoicemailPlaybackPresenter);
@@ -546,7 +685,7 @@ public class CallLogAdapter extends GroupingListAdapter
Trace.beginSection("onBindViewHolder: " + position);
switch (getItemViewType(position)) {
case VIEW_TYPE_ALERT:
- //Do nothing
+ // Do nothing
break;
default:
bindCallLogListViewHolder(viewHolder, position);
@@ -559,6 +698,8 @@ public class CallLogAdapter extends GroupingListAdapter
public void onViewRecycled(ViewHolder viewHolder) {
if (viewHolder.getItemViewType() == VIEW_TYPE_CALLLOG) {
CallLogListItemViewHolder views = (CallLogListItemViewHolder) viewHolder;
+ updateCheckMarkedStatusOfEntry(views);
+
if (views.asyncTask != null) {
views.asyncTask.cancel(true);
}
@@ -591,6 +732,8 @@ public class CallLogAdapter extends GroupingListAdapter
return;
}
CallLogListItemViewHolder views = (CallLogListItemViewHolder) viewHolder;
+ updateCheckMarkedStatusOfEntry(views);
+
views.isLoaded = false;
int groupSize = getGroupSize(position);
CallDetailsEntries callDetailsEntries = createCallDetailsEntries(c, groupSize);
@@ -609,6 +752,17 @@ public class CallLogAdapter extends GroupingListAdapter
loadAndRender(views, views.rowId, details, callDetailsEntries);
}
+ private void updateCheckMarkedStatusOfEntry(CallLogListItemViewHolder views) {
+ if (selectedItems.size() > 0 && views.voicemailUri != null) {
+ int id = getVoicemailId(views.voicemailUri);
+ if (selectedItems.get(id) != null) {
+ checkMarkCallLogEntry(views);
+ } else {
+ uncheckMarkCallLogEntry(views, id);
+ }
+ }
+ }
+
private void loadAndRender(
final CallLogListItemViewHolder views,
final long rowId,
@@ -840,8 +994,7 @@ public class CallLogAdapter extends GroupingListAdapter
details.countryIso,
details.cachedContactInfo,
position
- < Bindings.get(mActivity)
- .getConfigProvider()
+ < ConfigProviderBindings.get(mActivity)
.getLong("number_of_call_to_do_remote_lookup", 5L));
}
CharSequence formattedNumber =
@@ -917,6 +1070,12 @@ public class CallLogAdapter extends GroupingListAdapter
views.workIconView.setVisibility(
details.contactUserType == ContactsUtils.USER_TYPE_WORK ? View.VISIBLE : View.GONE);
+ if (selectAllMode && views.voicemailUri != null) {
+ selectedItems.put(getVoicemailId(views.voicemailUri), views.voicemailUri);
+ }
+ if (deselectAllMode && views.voicemailUri != null) {
+ selectedItems.delete(getVoicemailId(views.voicemailUri));
+ }
if (views.voicemailUri != null
&& selectedItems.get(getVoicemailId(views.voicemailUri)) != null) {
views.checkBoxView.setVisibility(View.VISIBLE);
@@ -925,7 +1084,6 @@ public class CallLogAdapter extends GroupingListAdapter
views.checkBoxView.setVisibility(View.GONE);
views.quickContactView.setVisibility(View.VISIBLE);
}
-
mCallLogListItemHelper.setPhoneCallDetails(views, details);
if (mCurrentlyExpandedRowId == views.rowId) {
// In case ViewHolders were added/removed, update the expanded position if the rowIds
@@ -1192,9 +1350,49 @@ public class CallLogAdapter extends GroupingListAdapter
notifyDataSetChanged();
}
+ public void onAllSelected() {
+ selectAllMode = true;
+ deselectAllMode = false;
+ selectedItems.clear();
+ for (int i = 0; i < getItemCount(); i++) {
+ Cursor c = (Cursor) getItem(i);
+ if (c != null) {
+ Assert.checkArgument(CallLogQuery.VOICEMAIL_URI == c.getColumnIndex("voicemail_uri"));
+ String voicemailUri = c.getString(CallLogQuery.VOICEMAIL_URI);
+ selectedItems.put(getVoicemailId(voicemailUri), voicemailUri);
+ }
+ }
+ updateActionBar();
+ notifyDataSetChanged();
+ }
+
+ public void onAllDeselected() {
+ selectAllMode = false;
+ deselectAllMode = true;
+ selectedItems.clear();
+ updateActionBar();
+ notifyDataSetChanged();
+ }
+
/** Interface used to initiate a refresh of the content. */
public interface CallFetcher {
void fetchCalls();
}
+
+ /** Interface used to allow single tap multi select for contact photos. */
+ public interface OnActionModeStateChangedListener {
+
+ void onActionModeStateChanged(boolean isEnabled);
+
+ boolean isActionModeStateEnabled();
+ }
+
+ /** Interface used to hide the fragments. */
+ public interface MultiSelectRemoveView {
+
+ void showMultiSelectRemoveView(boolean show);
+
+ void setSelectAllModeToFalse();
+ }
}
diff --git a/java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java b/java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java
index a5553d134..10866aae2 100644
--- a/java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java
+++ b/java/com/android/dialer/app/calllog/CallLogAsyncTaskUtil.java
@@ -28,6 +28,7 @@ import android.provider.VoicemailContract.Voicemails;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.AsyncTaskExecutor;
import com.android.dialer.common.concurrent.AsyncTaskExecutors;
import com.android.dialer.util.PermissionsUtil;
@@ -45,6 +46,7 @@ public class CallLogAsyncTaskUtil {
public static void markVoicemailAsRead(
@NonNull final Context context, @NonNull final Uri voicemailUri) {
+ LogUtil.enterBlock("CallLogAsyncTaskUtil.markVoicemailAsRead, voicemailUri: " + voicemailUri);
if (sAsyncTaskExecutor == null) {
initTaskExecutor();
}
@@ -66,9 +68,7 @@ public class CallLogAsyncTaskUtil {
uploadVoicemailLocalChangesToServer(context);
}
- Intent intent = new Intent(context, CallLogNotificationsService.class);
- intent.setAction(CallLogNotificationsService.ACTION_MARK_NEW_VOICEMAILS_AS_OLD);
- context.startService(intent);
+ CallLogNotificationsService.markAllNewVoicemailsAsOld(context);
return null;
}
});
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index 6e4b23fc1..b03a4ad64 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -35,53 +35,68 @@ import android.provider.ContactsContract;
import android.support.annotation.CallSuper;
import android.support.annotation.Nullable;
import android.support.v13.app.FragmentCompat;
+import android.support.v13.app.FragmentCompat.OnRequestPermissionsResultCallback;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.View.OnClickListener;
import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
import com.android.dialer.app.Bindings;
import com.android.dialer.app.R;
+import com.android.dialer.app.calllog.CallLogAdapter.CallFetcher;
+import com.android.dialer.app.calllog.CallLogAdapter.MultiSelectRemoveView;
import com.android.dialer.app.calllog.calllogcache.CallLogCache;
import com.android.dialer.app.contactinfo.ContactInfoCache;
import com.android.dialer.app.contactinfo.ContactInfoCache.OnContactInfoChangedListener;
import com.android.dialer.app.contactinfo.ExpirableCacheHeadlessFragment;
import com.android.dialer.app.list.ListsFragment;
import com.android.dialer.app.voicemail.VoicemailPlaybackPresenter;
-import com.android.dialer.app.widget.EmptyContentView;
-import com.android.dialer.app.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener;
import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.database.CallLogQueryHandler;
+import com.android.dialer.database.CallLogQueryHandler.Listener;
import com.android.dialer.location.GeoUtil;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
+import com.android.dialer.oem.CequintCallerIdManager;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.phonenumbercache.ContactInfoHelper;
import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.widget.EmptyContentView;
+import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener;
+import java.util.Arrays;
/**
* Displays a list of call log entries. To filter for a particular kind of call (all, missed or
* voicemails), specify it in the constructor.
*/
public class CallLogFragment extends Fragment
- implements CallLogQueryHandler.Listener,
- CallLogAdapter.CallFetcher,
+ implements Listener,
+ CallFetcher,
+ MultiSelectRemoveView,
OnEmptyViewActionButtonClickedListener,
- FragmentCompat.OnRequestPermissionsResultCallback,
- CallLogModalAlertManager.Listener {
+ OnRequestPermissionsResultCallback,
+ CallLogModalAlertManager.Listener,
+ OnClickListener {
private static final String KEY_FILTER_TYPE = "filter_type";
private static final String KEY_LOG_LIMIT = "log_limit";
private static final String KEY_DATE_LIMIT = "date_limit";
private static final String KEY_IS_CALL_LOG_ACTIVITY = "is_call_log_activity";
private static final String KEY_HAS_READ_CALL_LOG_PERMISSION = "has_read_call_log_permission";
private static final String KEY_REFRESH_DATA_REQUIRED = "refresh_data_required";
+ private static final String KEY_SELECT_ALL_MODE = "select_all_mode_checked";
// No limit specified for the number of logs to show; use the CallLogQueryHandler's default.
private static final int NO_LOG_LIMIT = -1;
// No date-based filtering.
private static final int NO_DATE_LIMIT = 0;
- private static final int READ_CALL_LOG_PERMISSION_REQUEST_CODE = 1;
+ private static final int PHONE_PERMISSIONS_REQUEST_CODE = 1;
private static final int EVENT_UPDATE_DISPLAY = 1;
@@ -90,6 +105,9 @@ public class CallLogFragment extends Fragment
// See issue 6363009
private final ContentObserver mCallLogObserver = new CustomContentObserver();
private final ContentObserver mContactsObserver = new CustomContentObserver();
+ private View mMultiSelectUnSelectAllViewContent;
+ private TextView mSelectUnselectAllViewText;
+ private ImageView mSelectUnselectAllIcon;
private RecyclerView mRecyclerView;
private LinearLayoutManager mLayoutManager;
private CallLogAdapter mAdapter;
@@ -123,6 +141,7 @@ public class CallLogFragment extends Fragment
* True if this instance of the CallLogFragment shown in the CallLogActivity.
*/
private boolean mIsCallLogActivity = false;
+ private boolean selectAllMode;
private final Handler mDisplayUpdateHandler =
new Handler() {
@Override
@@ -194,6 +213,7 @@ public class CallLogFragment extends Fragment
mIsCallLogActivity = state.getBoolean(KEY_IS_CALL_LOG_ACTIVITY, mIsCallLogActivity);
mHasReadCallLogPermission = state.getBoolean(KEY_HAS_READ_CALL_LOG_PERMISSION, false);
mRefreshDataRequired = state.getBoolean(KEY_REFRESH_DATA_REQUIRED, mRefreshDataRequired);
+ selectAllMode = state.getBoolean(KEY_SELECT_ALL_MODE, false);
}
final Activity activity = getActivity();
@@ -290,12 +310,20 @@ public class CallLogFragment extends Fragment
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(mLayoutManager);
+ PerformanceReport.logOnScrollStateChange(mRecyclerView);
mEmptyListView = (EmptyContentView) view.findViewById(R.id.empty_list_view);
mEmptyListView.setImage(R.drawable.empty_call_log);
mEmptyListView.setActionClickedListener(this);
mModalAlertView = (ViewGroup) view.findViewById(R.id.modal_message_container);
mModalAlertManager =
new CallLogModalAlertManager(LayoutInflater.from(getContext()), mModalAlertView, this);
+ mMultiSelectUnSelectAllViewContent =
+ view.findViewById(R.id.multi_select_select_all_view_content);
+ mSelectUnselectAllViewText = (TextView) view.findViewById(R.id.select_all_view_text);
+ mSelectUnselectAllIcon = (ImageView) view.findViewById(R.id.select_all_view_icon);
+ mMultiSelectUnSelectAllViewContent.setOnClickListener(null);
+ mSelectUnselectAllIcon.setOnClickListener(this);
+ mSelectUnselectAllViewText.setOnClickListener(this);
}
protected void setupData() {
@@ -317,6 +345,10 @@ public class CallLogFragment extends Fragment
getActivity(),
mRecyclerView,
this,
+ this,
+ activityType == CallLogAdapter.ACTIVITY_TYPE_DIALTACTS
+ ? (CallLogAdapter.OnActionModeStateChangedListener) getActivity()
+ : null,
CallLogCache.getCallLogCache(getActivity()),
mContactInfoCache,
getVoicemailPlaybackPresenter(),
@@ -335,9 +367,18 @@ public class CallLogFragment extends Fragment
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setupData();
+ updateSelectAllState(savedInstanceState);
mAdapter.onRestoreInstanceState(savedInstanceState);
}
+ private void updateSelectAllState(Bundle savedInstanceState) {
+ if (savedInstanceState != null) {
+ if (savedInstanceState.getBoolean(KEY_SELECT_ALL_MODE, false)) {
+ updateSelectAllIcon();
+ }
+ }
+ }
+
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
@@ -380,6 +421,16 @@ public class CallLogFragment extends Fragment
}
@Override
+ public void onStart() {
+ super.onStart();
+ CequintCallerIdManager cequintCallerIdManager = null;
+ if (CequintCallerIdManager.isCequintCallerIdEnabled(getContext())) {
+ cequintCallerIdManager = CequintCallerIdManager.createInstanceForCallLog();
+ }
+ mContactInfoCache.setCequintCallerIdManager(cequintCallerIdManager);
+ }
+
+ @Override
public void onStop() {
updateOnTransition();
@@ -407,7 +458,7 @@ public class CallLogFragment extends Fragment
outState.putBoolean(KEY_IS_CALL_LOG_ACTIVITY, mIsCallLogActivity);
outState.putBoolean(KEY_HAS_READ_CALL_LOG_PERMISSION, mHasReadCallLogPermission);
outState.putBoolean(KEY_REFRESH_DATA_REQUIRED, mRefreshDataRequired);
-
+ outState.putBoolean(KEY_SELECT_ALL_MODE, selectAllMode);
mAdapter.onSaveInstanceState(outState);
}
@@ -451,6 +502,8 @@ public class CallLogFragment extends Fragment
mEmptyListView.setActionLabel(EmptyContentView.NO_LABEL);
} else if (filterType == CallLogQueryHandler.CALL_TYPE_ALL) {
mEmptyListView.setActionLabel(R.string.call_log_all_empty_action);
+ } else {
+ mEmptyListView.setActionLabel(EmptyContentView.NO_LABEL);
}
}
@@ -503,7 +556,8 @@ public class CallLogFragment extends Fragment
if (mKeyguardManager != null
&& !mKeyguardManager.inKeyguardRestrictedInputMode()
&& mCallTypeFilter == Calls.VOICEMAIL_TYPE) {
- CallLogNotificationsService.markNewVoicemailsAsOld(getActivity(), null);
+ LogUtil.i("CallLogFragment.updateOnTransition", "clearing all new voicemails");
+ CallLogNotificationsService.markAllNewVoicemailsAsOld(getActivity());
}
}
@@ -514,9 +568,14 @@ public class CallLogFragment extends Fragment
return;
}
- if (!PermissionsUtil.hasPermission(activity, READ_CALL_LOG)) {
- FragmentCompat.requestPermissions(
- this, new String[] {READ_CALL_LOG}, READ_CALL_LOG_PERMISSION_REQUEST_CODE);
+ String[] deniedPermissions =
+ PermissionsUtil.getPermissionsCurrentlyDenied(
+ getContext(), PermissionsUtil.allPhoneGroupPermissionsUsedInDialer);
+ if (deniedPermissions.length > 0) {
+ LogUtil.i(
+ "CallLogFragment.onEmptyViewActionButtonClicked",
+ "Requesting permissions: " + Arrays.toString(deniedPermissions));
+ FragmentCompat.requestPermissions(this, deniedPermissions, PHONE_PERMISSIONS_REQUEST_CODE);
} else if (!mIsCallLogActivity) {
// Show dialpad if we are not in the call log activity.
((HostInterface) activity).showDialpad();
@@ -526,7 +585,7 @@ public class CallLogFragment extends Fragment
@Override
public void onRequestPermissionsResult(
int requestCode, String[] permissions, int[] grantResults) {
- if (requestCode == READ_CALL_LOG_PERMISSION_REQUEST_CODE) {
+ if (requestCode == PHONE_PERMISSIONS_REQUEST_CODE) {
if (grantResults.length >= 1 && PackageManager.PERMISSION_GRANTED == grantResults[0]) {
// Force a refresh of the data since we were missing the permission before this.
mRefreshDataRequired = true;
@@ -589,6 +648,44 @@ public class CallLogFragment extends Fragment
}
}
+ @Override
+ public void showMultiSelectRemoveView(boolean show) {
+ mMultiSelectUnSelectAllViewContent.setVisibility(show ? View.VISIBLE : View.GONE);
+ mMultiSelectUnSelectAllViewContent.setAlpha(show ? 0 : 1);
+ mMultiSelectUnSelectAllViewContent.animate().alpha(show ? 1 : 0).start();
+ ((ListsFragment) getParentFragment()).showMultiSelectRemoveView(show);
+ }
+
+ @Override
+ public void setSelectAllModeToFalse() {
+ selectAllMode = false;
+ mSelectUnselectAllIcon.setImageDrawable(
+ getContext().getDrawable(R.drawable.ic_empty_check_mark_white_24dp));
+ }
+
+ @Override
+ public void onClick(View v) {
+ selectAllMode = !selectAllMode;
+ if (selectAllMode) {
+ Logger.get(v.getContext()).logImpression(DialerImpression.Type.MULTISELECT_SELECT_ALL);
+ } else {
+ Logger.get(v.getContext()).logImpression(DialerImpression.Type.MULTISELECT_UNSELECT_ALL);
+ }
+ updateSelectAllIcon();
+ }
+
+ private void updateSelectAllIcon() {
+ if (selectAllMode) {
+ mSelectUnselectAllIcon.setImageDrawable(
+ getContext().getDrawable(R.drawable.ic_check_mark_blue_24dp));
+ getAdapter().onAllSelected();
+ } else {
+ mSelectUnselectAllIcon.setImageDrawable(
+ getContext().getDrawable(R.drawable.ic_empty_check_mark_white_24dp));
+ getAdapter().onAllDeselected();
+ }
+ }
+
public interface HostInterface {
void showDialpad();
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index 1daccd1a4..c59f0dd61 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -17,6 +17,7 @@
package com.android.dialer.app.calllog;
import android.app.Activity;
+import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
@@ -25,32 +26,37 @@ import android.os.AsyncTask;
import android.provider.CallLog;
import android.provider.CallLog.Calls;
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.support.annotation.IntDef;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
+import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
import android.telephony.PhoneNumberUtils;
import android.text.BidiFormatter;
import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.view.ContextMenu;
+import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewStub;
import android.widget.ImageButton;
import android.widget.ImageView;
-import android.widget.QuickContactBadge;
import android.widget.TextView;
+import android.widget.Toast;
import com.android.contacts.common.ClipboardUtils;
import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
import com.android.contacts.common.dialog.CallSubjectDialog;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
+import com.android.contacts.common.lettertiles.LetterTileDrawable.ContactType;
import com.android.contacts.common.util.UriUtils;
import com.android.dialer.app.DialtactsActivity;
import com.android.dialer.app.R;
+import com.android.dialer.app.calllog.CallLogAdapter.OnActionModeStateChangedListener;
import com.android.dialer.app.calllog.calllogcache.CallLogCache;
import com.android.dialer.app.voicemail.VoicemailPlaybackLayout;
import com.android.dialer.app.voicemail.VoicemailPlaybackPresenter;
@@ -58,23 +64,31 @@ import com.android.dialer.blocking.BlockedNumbersMigrator;
import com.android.dialer.blocking.FilteredNumberCompat;
import com.android.dialer.blocking.FilteredNumbersUtil;
import com.android.dialer.callcomposer.CallComposerActivity;
-import com.android.dialer.callcomposer.CallComposerContact;
+import com.android.dialer.calldetails.CallDetailsActivity;
import com.android.dialer.calldetails.CallDetailsEntries;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.CompatUtils;
+import com.android.dialer.configprovider.ConfigProviderBindings;
+import com.android.dialer.dialercontact.DialerContact;
+import com.android.dialer.dialercontact.SimDetails;
import com.android.dialer.lightbringer.Lightbringer;
import com.android.dialer.lightbringer.LightbringerComponent;
import com.android.dialer.logging.ContactSource;
import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.InteractionEvent;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.ScreenEvent;
+import com.android.dialer.logging.UiAction;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.phonenumbercache.CachedNumberLookupService;
import com.android.dialer.phonenumbercache.ContactInfo;
import com.android.dialer.phonenumbercache.PhoneNumberCache;
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
import com.android.dialer.util.CallUtil;
import com.android.dialer.util.DialerUtils;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
/**
* This is an object containing references to views contained by the call log list item. This
@@ -90,7 +104,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
/** The root view of the call log list item */
public final View rootView;
/** The quick contact badge for the contact. */
- public final QuickContactBadge quickContactView;
+ public final DialerQuickContactBadge quickContactView;
/** The primary action view of the entry. */
public final View primaryActionView;
/** The details of the phone call. */
@@ -108,6 +122,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
private final CachedNumberLookupService mCachedNumberLookupService;
private final VoicemailPlaybackPresenter mVoicemailPlaybackPresenter;
private final OnClickListener mBlockReportListener;
+ @HostUi private final int hostUi;
/** Whether the data fields are populated by the worker thread, ready to be shown. */
public boolean isLoaded;
/** The view containing call log item actions. Null until the ViewStub is inflated. */
@@ -201,6 +216,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
public boolean lightbringerReady;
private View.OnClickListener mExpandCollapseListener;
+ private final OnActionModeStateChangedListener onActionModeStateChangedListener;
private final View.OnLongClickListener longPressListener;
private boolean mVoicemailPrimaryActionButtonClicked;
@@ -216,11 +232,12 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
OnClickListener blockReportListener,
View.OnClickListener expandCollapseListener,
View.OnLongClickListener longClickListener,
+ CallLogAdapter.OnActionModeStateChangedListener actionModeStateChangedListener,
CallLogCache callLogCache,
CallLogListItemHelper callLogListItemHelper,
VoicemailPlaybackPresenter voicemailPlaybackPresenter,
View rootView,
- QuickContactBadge quickContactView,
+ DialerQuickContactBadge dialerQuickContactView,
View primaryActionView,
PhoneCallDetailsViews phoneCallDetailsViews,
CardView callLogEntryView,
@@ -230,6 +247,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
mContext = context;
mExpandCollapseListener = expandCollapseListener;
+ onActionModeStateChangedListener = actionModeStateChangedListener;
longPressListener = longClickListener;
mCallLogCache = callLogCache;
mCallLogListItemHelper = callLogListItemHelper;
@@ -238,7 +256,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
mCachedNumberLookupService = PhoneNumberCache.get(mContext).getCachedNumberLookupService();
this.rootView = rootView;
- this.quickContactView = quickContactView;
+ this.quickContactView = dialerQuickContactView;
this.primaryActionView = primaryActionView;
this.phoneCallDetailsViews = phoneCallDetailsViews;
this.callLogEntryView = callLogEntryView;
@@ -251,6 +269,23 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
phoneCallDetailsViews.nameView.setElegantTextHeight(false);
phoneCallDetailsViews.callLocationAndDate.setElegantTextHeight(false);
+ if (mContext instanceof CallLogActivity) {
+ hostUi = HostUi.CALL_HISTORY;
+ Logger.get(mContext)
+ .logQuickContactOnTouch(
+ quickContactView, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CALL_HISTORY, true);
+ } else if (mVoicemailPlaybackPresenter == null) {
+ hostUi = HostUi.CALL_LOG;
+ Logger.get(mContext)
+ .logQuickContactOnTouch(
+ quickContactView, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CALL_LOG, true);
+ } else {
+ hostUi = HostUi.VOICEMAIL;
+ Logger.get(mContext)
+ .logQuickContactOnTouch(
+ quickContactView, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_VOICEMAIL, false);
+ }
+
quickContactView.setOverlay(null);
if (CompatUtils.hasPrioritizedMimeType()) {
quickContactView.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE);
@@ -264,6 +299,8 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
CallLogAdapter.ENABLE_CALL_LOG_MULTI_SELECT_FLAG)) {
primaryActionView.setOnLongClickListener(longPressListener);
quickContactView.setOnLongClickListener(longPressListener);
+ quickContactView.setMulitSelectListeners(
+ mExpandCollapseListener, onActionModeStateChangedListener);
} else {
primaryActionView.setOnCreateContextMenuListener(this);
}
@@ -275,6 +312,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
OnClickListener blockReportListener,
View.OnClickListener expandCollapseListener,
View.OnLongClickListener longClickListener,
+ CallLogAdapter.OnActionModeStateChangedListener actionModeStateChangeListener,
CallLogCache callLogCache,
CallLogListItemHelper callLogListItemHelper,
VoicemailPlaybackPresenter voicemailPlaybackPresenter) {
@@ -284,11 +322,12 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
blockReportListener,
expandCollapseListener,
longClickListener,
+ actionModeStateChangeListener,
callLogCache,
callLogListItemHelper,
voicemailPlaybackPresenter,
view,
- (QuickContactBadge) view.findViewById(R.id.quick_contact_photo),
+ (DialerQuickContactBadge) view.findViewById(R.id.quick_contact_photo),
view.findViewById(R.id.primary_action_view),
PhoneCallDetailsViews.fromView(view),
(CardView) view.findViewById(R.id.call_log_row),
@@ -297,6 +336,11 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
}
public static CallLogListItemViewHolder createForTest(Context context) {
+ return createForTest(context, null);
+ }
+
+ static CallLogListItemViewHolder createForTest(
+ Context context, VoicemailPlaybackPresenter voicemailPlaybackPresenter) {
Resources resources = context.getResources();
CallLogCache callLogCache = CallLogCache.getCallLogCache(context);
PhoneCallDetailsHelper phoneCallDetailsHelper =
@@ -308,11 +352,12 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
null,
null /* expandCollapseListener */,
null,
+ null,
callLogCache,
new CallLogListItemHelper(phoneCallDetailsHelper, resources, callLogCache),
- null /* voicemailPlaybackPresenter */,
- new View(context),
- new QuickContactBadge(context),
+ voicemailPlaybackPresenter,
+ LayoutInflater.from(context).inflate(R.layout.call_log_list_item, null),
+ new DialerQuickContactBadge(context),
new View(context),
PhoneCallDetailsViews.createForTest(context),
new CardView(context),
@@ -456,6 +501,17 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
// Treat as normal list item; show call button, if possible.
if (PhoneNumberHelper.canPlaceCallsTo(number, numberPresentation)) {
boolean isVoicemailNumber = mCallLogCache.isVoicemailNumber(accountHandle, number);
+
+ if (!isVoicemailNumber && showLightbringerPrimaryButton()) {
+ primaryActionButtonView.setTag(IntentProvider.getLightbringerIntentProvider(number));
+ primaryActionButtonView.setContentDescription(
+ TextUtils.expandTemplate(
+ mContext.getString(R.string.description_video_call_action), validNameOrNumber));
+ primaryActionButtonView.setImageResource(R.drawable.quantum_ic_videocam_vd_theme_24);
+ primaryActionButtonView.setVisibility(View.VISIBLE);
+ return;
+ }
+
if (isVoicemailNumber) {
// Call to generic voicemail number, in case there are multiple accounts.
primaryActionButtonView.setTag(IntentProvider.getReturnVoicemailCallIntentProvider());
@@ -467,7 +523,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
primaryActionButtonView.setContentDescription(
TextUtils.expandTemplate(
mContext.getString(R.string.description_call_action), validNameOrNumber));
- primaryActionButtonView.setImageResource(R.drawable.quantum_ic_call_white_24);
+ primaryActionButtonView.setImageResource(R.drawable.quantum_ic_call_vd_theme_24);
primaryActionButtonView.setVisibility(View.VISIBLE);
} else {
primaryActionButtonView.setTag(null);
@@ -513,8 +569,15 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
return;
}
- if (!TextUtils.isEmpty(voicemailUri) && canPlaceCallToNumber) {
+ if (canPlaceCallToNumber) {
+ // Set up the call button but hide it by default (the primary action is to call so it is
+ // redundant). We then set it to be visible when appropriate below. This saves us having to
+ // remember to set it to GONE in multiple places.
callButtonView.setTag(IntentProvider.getReturnCallIntentProvider(number));
+ callButtonView.setVisibility(View.GONE);
+ }
+
+ if (!TextUtils.isEmpty(voicemailUri) && canPlaceCallToNumber) {
((TextView) callButtonView.findViewById(R.id.call_action_text))
.setText(
TextUtils.expandTemplate(
@@ -529,13 +592,14 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
callTypeOrLocationView.setVisibility(View.GONE);
}
callButtonView.setVisibility(View.VISIBLE);
- } else {
- callButtonView.setVisibility(View.GONE);
}
if (hasPlacedCarrierVideoCall() || canSupportCarrierVideoCall()) {
videoCallButtonView.setTag(IntentProvider.getReturnVideoCallIntentProvider(number));
videoCallButtonView.setVisibility(View.VISIBLE);
+ } else if (showLightbringerPrimaryButton()) {
+ callButtonView.setVisibility(View.VISIBLE);
+ videoCallButtonView.setVisibility(View.GONE);
} else if (lightbringerReady) {
videoCallButtonView.setTag(IntentProvider.getLightbringerIntentProvider(number));
videoCallButtonView.setVisibility(View.VISIBLE);
@@ -567,8 +631,12 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
detailsButtonView.setVisibility(View.GONE);
} else {
detailsButtonView.setVisibility(View.VISIBLE);
+ boolean canReportCallerId =
+ mCachedNumberLookupService != null
+ && mCachedNumberLookupService.canReportAsInvalid(info.sourceType, info.objectId);
detailsButtonView.setTag(
- IntentProvider.getCallDetailIntentProvider(callDetailsEntries, buildContact()));
+ IntentProvider.getCallDetailIntentProvider(
+ callDetailsEntries, buildContact(), canReportCallerId));
}
boolean isBlockedOrSpam = blockId != null || (isSpamFeatureEnabled && isSpam);
@@ -616,6 +684,12 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
return false;
}
+ private boolean showLightbringerPrimaryButton() {
+ return accountHandle != null
+ && accountHandle.getComponentName().equals(getLightbringer().getPhoneAccountComponentName())
+ && lightbringerReady;
+ }
+
private static boolean hasDialableChar(CharSequence number) {
if (TextUtils.isEmpty(number)) {
return false;
@@ -635,9 +709,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
if (accountHandle == null) {
return false;
}
- if (accountHandle
- .getComponentName()
- .equals(getLightbringer().getPhoneAccountComponentName(mContext))) {
+ if (accountHandle.getComponentName().equals(getLightbringer().getPhoneAccountComponentName())) {
return false;
}
return true;
@@ -717,19 +789,14 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
getContactType());
}
- private int getContactType() {
- int contactType = ContactPhotoManager.TYPE_DEFAULT;
- if (mCallLogCache.isVoicemailNumber(accountHandle, number)) {
- contactType = ContactPhotoManager.TYPE_VOICEMAIL;
- } else if (isSpam) {
- contactType = ContactPhotoManager.TYPE_SPAM;
- } else if (mCachedNumberLookupService != null
- && mCachedNumberLookupService.isBusiness(info.sourceType)) {
- contactType = ContactPhotoManager.TYPE_BUSINESS;
- } else if (numberPresentation == TelecomManager.PRESENTATION_RESTRICTED) {
- contactType = ContactPhotoManager.TYPE_GENERIC_AVATAR;
- }
- return contactType;
+ private @ContactType int getContactType() {
+ return LetterTileDrawable.getContactTypeFromPrimitives(
+ mCallLogCache.isVoicemailNumber(accountHandle, number),
+ isSpam,
+ mCachedNumberLookupService != null
+ && mCachedNumberLookupService.isBusiness(info.sourceType),
+ numberPresentation,
+ false);
}
@Override
@@ -795,19 +862,45 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
mVoicemailPlaybackPresenter.shareVoicemail();
} else {
logCallLogAction(view.getId());
+
final IntentProvider intentProvider = (IntentProvider) view.getTag();
- if (intentProvider != null) {
- final Intent intent = intentProvider.getIntent(mContext);
- // See IntentProvider.getCallDetailIntentProvider() for why this may be null.
- if (intent != null) {
- DialerUtils.startActivityWithErrorToast(mContext, intent);
+ if (intentProvider == null) {
+ return;
+ }
+
+ final Intent intent = intentProvider.getIntent(mContext);
+ // See IntentProvider.getCallDetailIntentProvider() for why this may be null.
+ if (intent == null) {
+ return;
+ }
+
+ // We check to see if we are starting a Lightbringer intent. The reason is Lightbringer
+ // intents need to be started using startActivityForResult instead of the usual startActivity
+ String packageName = intent.getPackage();
+ if (getLightbringer().getPackageName().equals(packageName)) {
+ startLightbringerActivity(intent);
+ } else {
+ if (intent.getComponent() != null
+ && CallDetailsActivity.class.getName().equals(intent.getComponent().getClassName())) {
+ // We are going to open call detail
+ PerformanceReport.recordClick(UiAction.Type.OPEN_CALL_DETAIL);
}
+ DialerUtils.startActivityWithErrorToast(mContext, intent);
}
}
}
- private CallComposerContact buildContact() {
- CallComposerContact.Builder contact = CallComposerContact.newBuilder();
+ private void startLightbringerActivity(Intent intent) {
+ try {
+ Activity activity = (Activity) mContext;
+ activity.startActivityForResult(intent, DialtactsActivity.ACTIVITY_REQUEST_CODE_LIGHTBRINGER);
+ } catch (ActivityNotFoundException e) {
+ Toast.makeText(mContext, R.string.activity_not_available, Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ private DialerContact buildContact() {
+ DialerContact.Builder contact = DialerContact.newBuilder();
contact.setPhotoId(info.photoId);
if (info.photoUri != null) {
contact.setPhotoUri(info.photoUri.toString());
@@ -826,6 +919,19 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
}
/* phone number type (e.g. mobile) in second line of contact view */
contact.setNumberLabel(numberType);
+
+ /* third line of contact view. */
+ String accountLabel = mCallLogCache.getAccountLabel(accountHandle);
+ if (!TextUtils.isEmpty(accountLabel)) {
+ SimDetails.Builder simDetails = SimDetails.newBuilder().setNetwork(accountLabel);
+ int color = mCallLogCache.getAccountColor(accountHandle);
+ if (color == PhoneAccount.NO_HIGHLIGHT_COLOR) {
+ simDetails.setColor(R.color.secondary_text_color);
+ } else {
+ simDetails.setColor(color);
+ }
+ contact.setSimDetails(simDetails.build());
+ }
return contact.build();
}
@@ -834,8 +940,38 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
Logger.get(mContext).logImpression(DialerImpression.Type.CALL_LOG_SEND_MESSAGE);
} else if (id == R.id.add_to_existing_contact_action) {
Logger.get(mContext).logImpression(DialerImpression.Type.CALL_LOG_ADD_TO_CONTACT);
+ switch (hostUi) {
+ case HostUi.CALL_HISTORY:
+ Logger.get(mContext)
+ .logImpression(DialerImpression.Type.ADD_TO_A_CONTACT_FROM_CALL_HISTORY);
+ break;
+ case HostUi.CALL_LOG:
+ Logger.get(mContext).logImpression(DialerImpression.Type.ADD_TO_A_CONTACT_FROM_CALL_LOG);
+ break;
+ case HostUi.VOICEMAIL:
+ Logger.get(mContext).logImpression(DialerImpression.Type.ADD_TO_A_CONTACT_FROM_VOICEMAIL);
+ break;
+ default:
+ throw Assert.createIllegalStateFailException();
+ }
} else if (id == R.id.create_new_contact_action) {
Logger.get(mContext).logImpression(DialerImpression.Type.CALL_LOG_CREATE_NEW_CONTACT);
+ switch (hostUi) {
+ case HostUi.CALL_HISTORY:
+ Logger.get(mContext)
+ .logImpression(DialerImpression.Type.CREATE_NEW_CONTACT_FROM_CALL_HISTORY);
+ break;
+ case HostUi.CALL_LOG:
+ Logger.get(mContext)
+ .logImpression(DialerImpression.Type.CREATE_NEW_CONTACT_FROM_CALL_LOG);
+ break;
+ case HostUi.VOICEMAIL:
+ Logger.get(mContext)
+ .logImpression(DialerImpression.Type.CREATE_NEW_CONTACT_FROM_VOICEMAIL);
+ break;
+ default:
+ throw Assert.createIllegalStateFailException();
+ }
}
}
@@ -987,6 +1123,15 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder
Logger.get(mContext).logScreenView(ScreenEvent.Type.CALL_LOG_CONTEXT_MENU, (Activity) mContext);
}
+ /** Specifies where the view holder belongs. */
+ @IntDef({HostUi.CALL_LOG, HostUi.CALL_HISTORY, HostUi.VOICEMAIL})
+ @Retention(RetentionPolicy.SOURCE)
+ private @interface HostUi {
+ int CALL_LOG = 0;
+ int CALL_HISTORY = 1;
+ int VOICEMAIL = 2;
+ }
+
public interface OnClickListener {
void onBlockReportSpam(
diff --git a/java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java b/java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java
index e169b8de9..43e03e9fd 100644
--- a/java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java
+++ b/java/com/android/dialer/app/calllog/CallLogNotificationsQueryHelper.java
@@ -18,7 +18,6 @@ package com.android.dialer.app.calllog;
import android.Manifest;
import android.annotation.TargetApi;
-import android.app.NotificationManager;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
@@ -27,6 +26,7 @@ import android.database.Cursor;
import android.net.Uri;
import android.os.Build.VERSION_CODES;
import android.provider.CallLog.Calls;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
import android.support.v4.os.UserManagerCompat;
@@ -36,7 +36,6 @@ import com.android.dialer.app.R;
import com.android.dialer.calllogutils.PhoneNumberDisplayUtil;
import com.android.dialer.common.LogUtil;
import com.android.dialer.location.GeoUtil;
-import com.android.dialer.notification.GroupedNotificationUtil;
import com.android.dialer.phonenumbercache.ContactInfo;
import com.android.dialer.phonenumbercache.ContactInfoHelper;
import com.android.dialer.util.PermissionsUtil;
@@ -46,7 +45,6 @@ import java.util.List;
/** Helper class operating on call log notifications. */
public class CallLogNotificationsQueryHelper {
- private static final String TAG = "CallLogNotifHelper";
private final Context mContext;
private final NewCallsQuery mNewCallsQuery;
private final ContactInfoHelper mContactInfoHelper;
@@ -74,44 +72,58 @@ public class CallLogNotificationsQueryHelper {
countryIso);
}
+ public static void markAllMissedCallsInCallLogAsRead(@NonNull Context context) {
+ markMissedCallsInCallLogAsRead(context, null);
+ }
+
+ public static void markSingleMissedCallInCallLogAsRead(
+ @NonNull Context context, @Nullable Uri callUri) {
+ if (callUri == null) {
+ LogUtil.e(
+ "CallLogNotificationsQueryHelper.markSingleMissedCallInCallLogAsRead",
+ "call URI is null, unable to mark call as read");
+ } else {
+ markMissedCallsInCallLogAsRead(context, callUri);
+ }
+ }
+
/**
- * Removes the missed call notifications and marks calls as read. If a callUri is provided, only
- * that call is marked as read.
+ * If callUri is null then calls with a matching callUri are marked as read, otherwise all calls
+ * are marked as read.
*/
@WorkerThread
- public static void removeMissedCallNotifications(Context context, @Nullable Uri callUri) {
- // Call log is only accessible when unlocked. If that's the case, clear the list of
- // new missed calls from the call log.
- if (UserManagerCompat.isUserUnlocked(context) && PermissionsUtil.hasPhonePermissions(context)) {
- ContentValues values = new ContentValues();
- values.put(Calls.NEW, 0);
- values.put(Calls.IS_READ, 1);
- StringBuilder where = new StringBuilder();
- where.append(Calls.NEW);
- where.append(" = 1 AND ");
- where.append(Calls.TYPE);
- where.append(" = ?");
- try {
- context
- .getContentResolver()
- .update(
- callUri == null ? Calls.CONTENT_URI : callUri,
- values,
- where.toString(),
- new String[] {Integer.toString(Calls.MISSED_TYPE)});
- } catch (IllegalArgumentException e) {
- LogUtil.e(
- "CallLogNotificationsQueryHelper.removeMissedCallNotifications",
- "contacts provider update command failed",
- e);
- }
+ private static void markMissedCallsInCallLogAsRead(Context context, @Nullable Uri callUri) {
+ if (!UserManagerCompat.isUserUnlocked(context)) {
+ LogUtil.e("CallLogNotificationsQueryHelper.markMissedCallsInCallLogAsRead", "locked");
+ return;
+ }
+ if (!PermissionsUtil.hasPhonePermissions(context)) {
+ LogUtil.e("CallLogNotificationsQueryHelper.markMissedCallsInCallLogAsRead", "no permission");
+ return;
}
- GroupedNotificationUtil.removeNotification(
- context.getSystemService(NotificationManager.class),
- callUri != null ? callUri.toString() : null,
- R.id.notification_missed_call,
- MissedCallNotifier.NOTIFICATION_TAG);
+ ContentValues values = new ContentValues();
+ values.put(Calls.NEW, 0);
+ values.put(Calls.IS_READ, 1);
+ StringBuilder where = new StringBuilder();
+ where.append(Calls.NEW);
+ where.append(" = 1 AND ");
+ where.append(Calls.TYPE);
+ where.append(" = ?");
+ try {
+ context
+ .getContentResolver()
+ .update(
+ callUri == null ? Calls.CONTENT_URI : callUri,
+ values,
+ where.toString(),
+ new String[] {Integer.toString(Calls.MISSED_TYPE)});
+ } catch (IllegalArgumentException e) {
+ LogUtil.e(
+ "CallLogNotificationsQueryHelper.markMissedCallsInCallLogAsRead",
+ "contacts provider update command failed",
+ e);
+ }
}
/** Create a new instance of {@link NewCallsQuery}. */
@@ -281,7 +293,9 @@ public class CallLogNotificationsQueryHelper {
@TargetApi(VERSION_CODES.M)
public List<NewCall> query(int type) {
if (!PermissionsUtil.hasPermission(mContext, Manifest.permission.READ_CALL_LOG)) {
- LogUtil.w(TAG, "No READ_CALL_LOG permission, returning null for calls lookup.");
+ LogUtil.w(
+ "CallLogNotificationsQueryHelper.DefaultNewCallsQuery.query",
+ "no READ_CALL_LOG permission, returning null for calls lookup.");
return null;
}
final String selection = String.format("%s = 1 AND %s = ?", Calls.NEW, Calls.TYPE);
@@ -302,7 +316,9 @@ public class CallLogNotificationsQueryHelper {
}
return newCalls;
} catch (RuntimeException e) {
- LogUtil.w(TAG, "Exception when querying Contacts Provider for calls lookup");
+ LogUtil.w(
+ "CallLogNotificationsQueryHelper.DefaultNewCallsQuery.query",
+ "exception when querying Contacts Provider for calls lookup");
return null;
}
}
diff --git a/java/com/android/dialer/app/calllog/CallLogNotificationsService.java b/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
index 7dfd2cb69..be1ebfb6d 100644
--- a/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
+++ b/java/com/android/dialer/app/calllog/CallLogNotificationsService.java
@@ -17,12 +17,13 @@
package com.android.dialer.app.calllog;
import android.app.IntentService;
+import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import android.os.Handler;
-import android.os.Looper;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
import com.android.dialer.common.LogUtil;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.PermissionsUtil;
@@ -43,16 +44,20 @@ import com.android.dialer.util.PermissionsUtil;
*/
public class CallLogNotificationsService extends IntentService {
- /** Action to mark all the new voicemails as old. */
- public static final String ACTION_MARK_NEW_VOICEMAILS_AS_OLD =
- "com.android.dialer.calllog.ACTION_MARK_NEW_VOICEMAILS_AS_OLD";
+ private static final String ACTION_MARK_ALL_NEW_VOICEMAILS_AS_OLD =
+ "com.android.dialer.calllog.ACTION_MARK_ALL_NEW_VOICEMAILS_AS_OLD";
- /** Action to mark all the new missed calls as old. */
- public static final String ACTION_MARK_NEW_MISSED_CALLS_AS_OLD =
- "com.android.dialer.calllog.ACTION_MARK_NEW_MISSED_CALLS_AS_OLD";
+ private static final String ACTION_MARK_SINGLE_NEW_VOICEMAIL_AS_OLD =
+ "com.android.dialer.calllog.ACTION_MARK_SINGLE_NEW_VOICEMAIL_AS_OLD ";
- /** Action to update missed call notifications with a post call note. */
- public static final String ACTION_INCOMING_POST_CALL =
+ @VisibleForTesting
+ static final String ACTION_CANCEL_ALL_MISSED_CALLS =
+ "com.android.dialer.calllog.ACTION_CANCEL_ALL_MISSED_CALLS";
+
+ private static final String ACTION_CANCEL_SINGLE_MISSED_CALL =
+ "com.android.dialer.calllog.ACTION_CANCEL_SINGLE_MISSED_CALL";
+
+ private static final String ACTION_INCOMING_POST_CALL =
"com.android.dialer.calllog.INCOMING_POST_CALL";
/** Action to call back a missed call. */
@@ -64,7 +69,7 @@ public class CallLogNotificationsService extends IntentService {
*
* <p>It must be a {@link String}
*/
- public static final String EXTRA_POST_CALL_NOTE = "POST_CALL_NOTE";
+ private static final String EXTRA_POST_CALL_NOTE = "POST_CALL_NOTE";
/**
* Extra to be included with {@link #ACTION_INCOMING_POST_CALL} to represent the phone number the
@@ -72,10 +77,9 @@ public class CallLogNotificationsService extends IntentService {
*
* <p>It must be a {@link String}
*/
- public static final String EXTRA_POST_CALL_NUMBER = "POST_CALL_NUMBER";
+ private static final String EXTRA_POST_CALL_NUMBER = "POST_CALL_NUMBER";
public static final int UNKNOWN_MISSED_CALL_COUNT = -1;
- private VoicemailQueryHandler mVoicemailQueryHandler;
public CallLogNotificationsService() {
super("CallLogNotificationsService");
@@ -89,52 +93,95 @@ public class CallLogNotificationsService extends IntentService {
context.startService(serviceIntent);
}
- public static void markNewVoicemailsAsOld(Context context, @Nullable Uri voicemailUri) {
+ public static void markAllNewVoicemailsAsOld(Context context) {
+ LogUtil.enterBlock("CallLogNotificationsService.markAllNewVoicemailsAsOld");
Intent serviceIntent = new Intent(context, CallLogNotificationsService.class);
- serviceIntent.setAction(CallLogNotificationsService.ACTION_MARK_NEW_VOICEMAILS_AS_OLD);
+ serviceIntent.setAction(CallLogNotificationsService.ACTION_MARK_ALL_NEW_VOICEMAILS_AS_OLD);
+ context.startService(serviceIntent);
+ }
+
+ public static void markSingleNewVoicemailAsOld(Context context, @Nullable Uri voicemailUri) {
+ LogUtil.enterBlock("CallLogNotificationsService.markSingleNewVoicemailAsOld");
+ Intent serviceIntent = new Intent(context, CallLogNotificationsService.class);
+ serviceIntent.setAction(CallLogNotificationsService.ACTION_MARK_SINGLE_NEW_VOICEMAIL_AS_OLD);
serviceIntent.setData(voicemailUri);
context.startService(serviceIntent);
}
- public static void markNewMissedCallsAsOld(Context context, @Nullable Uri callUri) {
+ public static PendingIntent createMarkAllNewVoicemailsAsOldIntent(@NonNull Context context) {
+ Intent intent = new Intent(context, CallLogNotificationsService.class);
+ intent.setAction(CallLogNotificationsService.ACTION_MARK_ALL_NEW_VOICEMAILS_AS_OLD);
+ return PendingIntent.getService(context, 0, intent, 0);
+ }
+
+ public static PendingIntent createMarkSingleNewVoicemailAsOldIntent(
+ @NonNull Context context, @Nullable Uri voicemailUri) {
+ Intent intent = new Intent(context, CallLogNotificationsService.class);
+ intent.setAction(CallLogNotificationsService.ACTION_MARK_SINGLE_NEW_VOICEMAIL_AS_OLD);
+ intent.setData(voicemailUri);
+ return PendingIntent.getService(context, 0, intent, 0);
+ }
+
+ public static void cancelAllMissedCalls(@NonNull Context context) {
+ LogUtil.enterBlock("CallLogNotificationsService.cancelAllMissedCalls");
Intent serviceIntent = new Intent(context, CallLogNotificationsService.class);
- serviceIntent.setAction(ACTION_MARK_NEW_MISSED_CALLS_AS_OLD);
- serviceIntent.setData(callUri);
+ serviceIntent.setAction(ACTION_CANCEL_ALL_MISSED_CALLS);
context.startService(serviceIntent);
}
+ public static PendingIntent createCancelAllMissedCallsPendingIntent(@NonNull Context context) {
+ Intent intent = new Intent(context, CallLogNotificationsService.class);
+ intent.setAction(ACTION_CANCEL_ALL_MISSED_CALLS);
+ return PendingIntent.getService(context, 0, intent, 0);
+ }
+
+ public static PendingIntent createCancelSingleMissedCallPendingIntent(
+ @NonNull Context context, @Nullable Uri callUri) {
+ Intent intent = new Intent(context, CallLogNotificationsService.class);
+ intent.setAction(ACTION_CANCEL_SINGLE_MISSED_CALL);
+ intent.setData(callUri);
+ return PendingIntent.getService(context, 0, intent, 0);
+ }
+
@Override
protected void onHandleIntent(Intent intent) {
if (intent == null) {
- LogUtil.d("CallLogNotificationsService.onHandleIntent", "could not handle null intent");
+ LogUtil.e("CallLogNotificationsService.onHandleIntent", "could not handle null intent");
return;
}
- if (!PermissionsUtil.hasPermission(this, android.Manifest.permission.READ_CALL_LOG)) {
+ if (!PermissionsUtil.hasPermission(this, android.Manifest.permission.READ_CALL_LOG)
+ || !PermissionsUtil.hasPermission(this, android.Manifest.permission.WRITE_CALL_LOG)) {
+ LogUtil.e("CallLogNotificationsService.onHandleIntent", "no READ_CALL_LOG permission");
return;
}
String action = intent.getAction();
+ LogUtil.i("CallLogNotificationsService.onHandleIntent", "action: " + action);
switch (action) {
- case ACTION_MARK_NEW_VOICEMAILS_AS_OLD:
- // VoicemailQueryHandler cannot be created on the IntentService worker thread. The completed
- // callback might happen when the thread is dead.
- Handler handler = new Handler(Looper.getMainLooper());
- handler.post(
- () -> {
- if (mVoicemailQueryHandler == null) {
- mVoicemailQueryHandler = new VoicemailQueryHandler(this, getContentResolver());
- }
- mVoicemailQueryHandler.markNewVoicemailsAsOld(intent.getData());
- });
+ case ACTION_MARK_ALL_NEW_VOICEMAILS_AS_OLD:
+ VoicemailQueryHandler.markAllNewVoicemailsAsRead(this);
+ VisualVoicemailNotifier.cancelAllVoicemailNotifications(this);
+ break;
+ case ACTION_MARK_SINGLE_NEW_VOICEMAIL_AS_OLD:
+ Uri voicemailUri = intent.getData();
+ VoicemailQueryHandler.markSingleNewVoicemailAsRead(this, voicemailUri);
+ VisualVoicemailNotifier.cancelSingleVoicemailNotification(this, voicemailUri);
break;
case ACTION_INCOMING_POST_CALL:
String note = intent.getStringExtra(EXTRA_POST_CALL_NOTE);
String phoneNumber = intent.getStringExtra(EXTRA_POST_CALL_NUMBER);
MissedCallNotifier.getIstance(this).insertPostCallNotification(phoneNumber, note);
break;
- case ACTION_MARK_NEW_MISSED_CALLS_AS_OLD:
- CallLogNotificationsQueryHelper.removeMissedCallNotifications(this, intent.getData());
+ case ACTION_CANCEL_ALL_MISSED_CALLS:
+ CallLogNotificationsQueryHelper.markAllMissedCallsInCallLogAsRead(this);
+ MissedCallNotifier.cancelAllMissedCallNotifications(this);
+ TelecomUtil.cancelMissedCallsNotification(this);
+ break;
+ case ACTION_CANCEL_SINGLE_MISSED_CALL:
+ Uri callUri = intent.getData();
+ CallLogNotificationsQueryHelper.markSingleMissedCallInCallLogAsRead(this, callUri);
+ MissedCallNotifier.cancelSingleMissedCallNotification(this, callUri);
TelecomUtil.cancelMissedCallsNotification(this);
break;
case ACTION_CALL_BACK_FROM_MISSED_CALL_NOTIFICATION:
@@ -145,7 +192,7 @@ public class CallLogNotificationsService extends IntentService {
intent.getData());
break;
default:
- LogUtil.d("CallLogNotificationsService.onHandleIntent", "could not handle: " + intent);
+ LogUtil.e("CallLogNotificationsService.onHandleIntent", "no handler for action: " + action);
break;
}
}
diff --git a/java/com/android/dialer/app/calllog/CallLogReceiver.java b/java/com/android/dialer/app/calllog/CallLogReceiver.java
index 172d00100..ce3132d12 100644
--- a/java/com/android/dialer/app/calllog/CallLogReceiver.java
+++ b/java/com/android/dialer/app/calllog/CallLogReceiver.java
@@ -39,10 +39,10 @@ public class CallLogReceiver extends BroadcastReceiver {
if (VoicemailContract.ACTION_NEW_VOICEMAIL.equals(intent.getAction())) {
checkVoicemailStatus(context);
PendingResult pendingResult = goAsync();
- DefaultVoicemailNotifier.updateVoicemailNotifications(context, pendingResult::finish);
+ VisualVoicemailUpdateTask.scheduleTask(context, pendingResult::finish);
} else if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
PendingResult pendingResult = goAsync();
- DefaultVoicemailNotifier.updateVoicemailNotifications(context, pendingResult::finish);
+ VisualVoicemailUpdateTask.scheduleTask(context, pendingResult::finish);
} else {
LogUtil.w("CallLogReceiver.onReceive", "could not handle: " + intent);
}
diff --git a/java/com/android/dialer/app/calllog/ClearCallLogDialog.java b/java/com/android/dialer/app/calllog/ClearCallLogDialog.java
index a01b89527..155a91618 100644
--- a/java/com/android/dialer/app/calllog/ClearCallLogDialog.java
+++ b/java/com/android/dialer/app/calllog/ClearCallLogDialog.java
@@ -54,7 +54,7 @@ public class ClearCallLogDialog extends DialogFragment {
ProgressDialog.show(
getActivity(), getString(R.string.clearCallLogProgress_title), "", true, false);
progressDialog.setOwnerActivity(getActivity());
- CallLogNotificationsService.markNewMissedCallsAsOld(getContext(), null);
+ CallLogNotificationsService.cancelAllMissedCalls(getContext());
final AsyncTask<Void, Void, Void> task =
new AsyncTask<Void, Void, Void>() {
@Override
diff --git a/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java b/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java
deleted file mode 100644
index 58fe6fa2c..000000000
--- a/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*
- * Copyright (C) 2011 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.dialer.app.calllog;
-
-import android.annotation.TargetApi;
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.net.Uri;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
-import android.os.PersistableBundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.VisibleForTesting;
-import android.support.annotation.WorkerThread;
-import android.support.v4.os.BuildCompat;
-import android.support.v4.util.Pair;
-import android.telecom.PhoneAccount;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.telephony.CarrierConfigManager;
-import android.telephony.PhoneNumberUtils;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.ArrayMap;
-import com.android.contacts.common.compat.TelephonyManagerCompat;
-import com.android.contacts.common.util.ContactDisplayUtils;
-import com.android.dialer.app.DialtactsActivity;
-import com.android.dialer.app.R;
-import com.android.dialer.app.calllog.CallLogNotificationsQueryHelper.NewCall;
-import com.android.dialer.app.contactinfo.ContactPhotoLoader;
-import com.android.dialer.app.list.DialtactsPagerAdapter;
-import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
-import com.android.dialer.blocking.FilteredNumbersUtil;
-import com.android.dialer.calllogutils.PhoneAccountUtils;
-import com.android.dialer.common.Assert;
-import com.android.dialer.common.LogUtil;
-import com.android.dialer.common.concurrent.DialerExecutor.Worker;
-import com.android.dialer.common.concurrent.DialerExecutors;
-import com.android.dialer.logging.DialerImpression;
-import com.android.dialer.logging.Logger;
-import com.android.dialer.notification.NotificationChannelManager;
-import com.android.dialer.notification.NotificationChannelManager.Channel;
-import com.android.dialer.phonenumbercache.ContactInfo;
-import com.android.dialer.telecom.TelecomUtil;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/** Shows a voicemail notification in the status bar. */
-public class DefaultVoicemailNotifier implements Worker<Void, Void> {
-
- public static final String TAG = "VoicemailNotifier";
-
- /** The tag used to identify notifications from this class. */
- static final String VISUAL_VOICEMAIL_NOTIFICATION_TAG = "DefaultVoicemailNotifier";
- /** The identifier of the notification of new voicemails. */
- private static final int VISUAL_VOICEMAIL_NOTIFICATION_ID = R.id.notification_visual_voicemail;
-
- private static final int LEGACY_VOICEMAIL_NOTIFICATION_ID = R.id.notification_legacy_voicemail;
- private static final String LEGACY_VOICEMAIL_NOTIFICATION_TAG = "legacy_voicemail";
-
- private final Context context;
- private final CallLogNotificationsQueryHelper queryHelper;
- private final FilteredNumberAsyncQueryHandler filteredNumberAsyncQueryHandler;
-
- @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
- DefaultVoicemailNotifier(
- Context context,
- CallLogNotificationsQueryHelper queryHelper,
- FilteredNumberAsyncQueryHandler filteredNumberAsyncQueryHandler) {
- this.context = context;
- this.queryHelper = queryHelper;
- this.filteredNumberAsyncQueryHandler = filteredNumberAsyncQueryHandler;
- }
-
- public DefaultVoicemailNotifier(Context context) {
- this(
- context,
- CallLogNotificationsQueryHelper.getInstance(context),
- new FilteredNumberAsyncQueryHandler(context));
- }
-
- @Nullable
- @Override
- public Void doInBackground(@Nullable Void input) throws Throwable {
- updateNotification();
- return null;
- }
-
- /**
- * Updates the notification and notifies of the call with the given URI.
- *
- * <p>Clears the notification if there are no new voicemails, and notifies if the given URI
- * corresponds to a new voicemail.
- *
- * <p>It is not safe to call this method from the main thread.
- */
- @VisibleForTesting
- @WorkerThread
- void updateNotification() {
- Assert.isWorkerThread();
- // Lookup the list of new voicemails to include in the notification.
- final List<NewCall> newCalls = queryHelper.getNewVoicemails();
-
- if (newCalls == null) {
- // Query failed, just return.
- return;
- }
-
- Resources resources = context.getResources();
-
- // This represents a list of names to include in the notification.
- String callers = null;
-
- // Maps each number into a name: if a number is in the map, it has already left a more
- // recent voicemail.
- final Map<String, ContactInfo> contactInfos = new ArrayMap<>();
-
- // Iterate over the new voicemails to determine all the information above.
- Iterator<NewCall> itr = newCalls.iterator();
- while (itr.hasNext()) {
- NewCall newCall = itr.next();
-
- // Skip notifying for numbers which are blocked.
- if (!FilteredNumbersUtil.hasRecentEmergencyCall(context)
- && filteredNumberAsyncQueryHandler.getBlockedIdSynchronous(
- newCall.number, newCall.countryIso)
- != null) {
- itr.remove();
-
- if (newCall.voicemailUri != null) {
- // Delete the voicemail.
- CallLogAsyncTaskUtil.deleteVoicemailSynchronous(context, newCall.voicemailUri);
- }
- continue;
- }
-
- // Check if we already know the name associated with this number.
- ContactInfo contactInfo = contactInfos.get(newCall.number);
- if (contactInfo == null) {
- contactInfo =
- queryHelper.getContactInfo(
- newCall.number, newCall.numberPresentation, newCall.countryIso);
- contactInfos.put(newCall.number, contactInfo);
- // This is a new caller. Add it to the back of the list of callers.
- if (TextUtils.isEmpty(callers)) {
- callers = contactInfo.name;
- } else {
- callers =
- resources.getString(
- R.string.notification_voicemail_callers_list, callers, contactInfo.name);
- }
- }
- }
-
- if (newCalls.isEmpty()) {
- // No voicemails to notify about
- return;
- }
-
- Notification.Builder groupSummary =
- createNotificationBuilder()
- .setContentTitle(
- resources.getQuantityString(
- R.plurals.notification_voicemail_title, newCalls.size(), newCalls.size()))
- .setContentText(callers)
- .setDeleteIntent(createMarkNewVoicemailsAsOldIntent(null))
- .setGroupSummary(true)
- .setContentIntent(newVoicemailIntent(null));
-
- if (BuildCompat.isAtLeastO()) {
- groupSummary.setGroupAlertBehavior(Notification.GROUP_ALERT_CHILDREN);
- }
-
- NotificationChannelManager.applyChannel(
- groupSummary,
- context,
- Channel.VOICEMAIL,
- PhoneAccountHandles.getAccount(context, newCalls.get(0)));
-
- LogUtil.i(TAG, "Creating visual voicemail notification");
- getNotificationManager()
- .notify(
- VISUAL_VOICEMAIL_NOTIFICATION_TAG,
- VISUAL_VOICEMAIL_NOTIFICATION_ID,
- groupSummary.build());
-
- for (NewCall voicemail : newCalls) {
- getNotificationManager()
- .notify(
- voicemail.callsUri.toString(),
- VISUAL_VOICEMAIL_NOTIFICATION_ID,
- createNotificationForVoicemail(voicemail, contactInfos));
- }
- }
-
- /**
- * Replicates how packages/services/Telephony/NotificationMgr.java handles legacy voicemail
- * notification. The notification will not be stackable because no information is available for
- * individual voicemails.
- */
- @TargetApi(VERSION_CODES.O)
- public void notifyLegacyVoicemail(
- @NonNull PhoneAccountHandle phoneAccountHandle,
- int count,
- String voicemailNumber,
- PendingIntent callVoicemailIntent,
- PendingIntent voicemailSettingIntent) {
- Assert.isNotNull(phoneAccountHandle);
- Assert.checkArgument(BuildCompat.isAtLeastO());
- TelephonyManager telephonyManager =
- context
- .getSystemService(TelephonyManager.class)
- .createForPhoneAccountHandle(phoneAccountHandle);
- Assert.isNotNull(telephonyManager);
- LogUtil.i(TAG, "Creating legacy voicemail notification");
-
- PersistableBundle carrierConfig = telephonyManager.getCarrierConfig();
-
- String notificationTitle =
- context
- .getResources()
- .getQuantityString(R.plurals.notification_voicemail_title, count, count);
-
- TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
- PhoneAccount phoneAccount = telecomManager.getPhoneAccount(phoneAccountHandle);
-
- String notificationText;
- PendingIntent pendingIntent;
-
- if (voicemailSettingIntent != null) {
- // If the voicemail number if unknown, instead of calling voicemail, take the user
- // to the voicemail settings.
- notificationText = context.getString(R.string.notification_voicemail_no_vm_number);
- pendingIntent = voicemailSettingIntent;
- } else {
- if (PhoneAccountUtils.getSubscriptionPhoneAccounts(context).size() > 1) {
- notificationText = phoneAccount.getShortDescription().toString();
- } else {
- notificationText =
- String.format(
- context.getString(R.string.notification_voicemail_text_format),
- PhoneNumberUtils.formatNumber(voicemailNumber));
- }
- pendingIntent = callVoicemailIntent;
- }
- Notification.Builder builder = new Notification.Builder(context);
- builder
- .setSmallIcon(android.R.drawable.stat_notify_voicemail)
- .setColor(context.getColor(R.color.dialer_theme_color))
- .setWhen(System.currentTimeMillis())
- .setContentTitle(notificationTitle)
- .setContentText(notificationText)
- .setContentIntent(pendingIntent)
- .setSound(telephonyManager.getVoicemailRingtoneUri(phoneAccountHandle))
- .setOngoing(
- carrierConfig.getBoolean(
- CarrierConfigManager.KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL));
-
- if (telephonyManager.isVoicemailVibrationEnabled(phoneAccountHandle)) {
- builder.setDefaults(Notification.DEFAULT_VIBRATE);
- }
-
- NotificationChannelManager.applyChannel(
- builder, context, Channel.VOICEMAIL, phoneAccountHandle);
- Notification notification = builder.build();
- getNotificationManager()
- .notify(LEGACY_VOICEMAIL_NOTIFICATION_TAG, LEGACY_VOICEMAIL_NOTIFICATION_ID, notification);
- }
-
- public void cancelLegacyNotification() {
- LogUtil.i(TAG, "Clearing legacy voicemail notification");
- getNotificationManager()
- .cancel(LEGACY_VOICEMAIL_NOTIFICATION_TAG, LEGACY_VOICEMAIL_NOTIFICATION_ID);
- }
-
- /**
- * Determines which ringtone Uri and Notification defaults to use when updating the notification
- * for the given call.
- */
- private Pair<Uri, Integer> getNotificationInfo(@Nullable NewCall callToNotify) {
- LogUtil.v(TAG, "getNotificationInfo");
- if (callToNotify == null) {
- LogUtil.i(TAG, "callToNotify == null");
- return new Pair<>(null, 0);
- }
- PhoneAccountHandle accountHandle = PhoneAccountHandles.getAccount(context, callToNotify);
- if (accountHandle == null) {
- LogUtil.i(TAG, "No default phone account found, using default notification ringtone");
- return new Pair<>(null, Notification.DEFAULT_ALL);
- }
- return new Pair<>(
- TelephonyManagerCompat.getVoicemailRingtoneUri(getTelephonyManager(), accountHandle),
- getNotificationDefaults(accountHandle));
- }
-
- private int getNotificationDefaults(PhoneAccountHandle accountHandle) {
- if (VERSION.SDK_INT >= VERSION_CODES.N) {
- return TelephonyManagerCompat.isVoicemailVibrationEnabled(
- getTelephonyManager(), accountHandle)
- ? Notification.DEFAULT_VIBRATE
- : 0;
- }
- return Notification.DEFAULT_ALL;
- }
-
- /** Creates a pending intent that marks all new voicemails as old. */
- private PendingIntent createMarkNewVoicemailsAsOldIntent(@Nullable Uri voicemailUri) {
- Intent intent = new Intent(context, CallLogNotificationsService.class);
- intent.setAction(CallLogNotificationsService.ACTION_MARK_NEW_VOICEMAILS_AS_OLD);
- intent.setData(voicemailUri);
- return PendingIntent.getService(context, 0, intent, 0);
- }
-
- private NotificationManager getNotificationManager() {
- return (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
- }
-
- private TelephonyManager getTelephonyManager() {
- return (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
- }
-
- private Notification createNotificationForVoicemail(
- @NonNull NewCall voicemail, @NonNull Map<String, ContactInfo> contactInfos) {
- Pair<Uri, Integer> notificationInfo = getNotificationInfo(voicemail);
- ContactInfo contactInfo = contactInfos.get(voicemail.number);
-
- Notification.Builder notificationBuilder =
- createNotificationBuilder()
- .setContentTitle(
- context
- .getResources()
- .getQuantityString(R.plurals.notification_voicemail_title, 1, 1))
- .setContentText(
- ContactDisplayUtils.getTtsSpannedPhoneNumber(
- context.getResources(),
- R.string.notification_new_voicemail_ticker,
- contactInfo.name))
- .setWhen(voicemail.dateMs)
- .setSound(notificationInfo.first)
- .setDefaults(notificationInfo.second);
-
- if (voicemail.voicemailUri != null) {
- notificationBuilder.setDeleteIntent(
- createMarkNewVoicemailsAsOldIntent(voicemail.voicemailUri));
- }
-
- NotificationChannelManager.applyChannel(
- notificationBuilder,
- context,
- Channel.VOICEMAIL,
- PhoneAccountHandles.getAccount(context, voicemail));
-
- ContactPhotoLoader loader = new ContactPhotoLoader(context, contactInfo);
- Bitmap photoIcon = loader.loadPhotoIcon();
- if (photoIcon != null) {
- notificationBuilder.setLargeIcon(photoIcon);
- }
- if (!TextUtils.isEmpty(voicemail.transcription)) {
- Logger.get(context)
- .logImpression(DialerImpression.Type.VVM_NOTIFICATION_CREATED_WITH_TRANSCRIPTION);
- notificationBuilder.setStyle(
- new Notification.BigTextStyle().bigText(voicemail.transcription));
- }
- notificationBuilder.setContentIntent(newVoicemailIntent(voicemail));
- Logger.get(context).logImpression(DialerImpression.Type.VVM_NOTIFICATION_CREATED);
- return notificationBuilder.build();
- }
-
- private Notification.Builder createNotificationBuilder() {
- return new Notification.Builder(context)
- .setSmallIcon(android.R.drawable.stat_notify_voicemail)
- .setColor(context.getColor(R.color.dialer_theme_color))
- .setGroup(VISUAL_VOICEMAIL_NOTIFICATION_TAG)
- .setOnlyAlertOnce(true)
- .setAutoCancel(true);
- }
-
- private PendingIntent newVoicemailIntent(@Nullable NewCall voicemail) {
- Intent intent =
- DialtactsActivity.getShowTabIntent(context, DialtactsPagerAdapter.TAB_INDEX_VOICEMAIL);
- // TODO (b/35486204): scroll to this voicemail
- if (voicemail != null) {
- intent.setData(voicemail.voicemailUri);
- }
- intent.putExtra(DialtactsActivity.EXTRA_CLEAR_NEW_VOICEMAILS, true);
- return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
- }
-
- /**
- * Updates the voicemail notifications displayed.
- *
- * @param runnable Called when the async update task completes no matter if it succeeds or fails.
- * May be null.
- */
- static void updateVoicemailNotifications(Context context, Runnable runnable) {
- if (!TelecomUtil.isDefaultDialer(context)) {
- LogUtil.i(
- "DefaultVoicemailNotifier.updateVoicemailNotifications",
- "not default dialer, not scheduling update to voicemail notifications");
- return;
- }
-
- DialerExecutors.createNonUiTaskBuilder(new DefaultVoicemailNotifier(context))
- .onSuccess(
- output -> {
- LogUtil.i(
- "DefaultVoicemailNotifier.updateVoicemailNotifications",
- "update voicemail notifications successful");
- if (runnable != null) {
- runnable.run();
- }
- })
- .onFailure(
- throwable -> {
- LogUtil.i(
- "DefaultVoicemailNotifier.updateVoicemailNotifications",
- "update voicemail notifications failed");
- if (runnable != null) {
- runnable.run();
- }
- })
- .build()
- .executeParallel(null);
- }
-}
diff --git a/java/com/android/dialer/app/calllog/DialerQuickContactBadge.java b/java/com/android/dialer/app/calllog/DialerQuickContactBadge.java
new file mode 100644
index 000000000..a3aac41fa
--- /dev/null
+++ b/java/com/android/dialer/app/calllog/DialerQuickContactBadge.java
@@ -0,0 +1,63 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.app.calllog;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.QuickContactBadge;
+import com.android.dialer.app.calllog.CallLogAdapter.OnActionModeStateChangedListener;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
+
+/** Allows us to click the contact badge for non multi select mode. */
+class DialerQuickContactBadge extends QuickContactBadge {
+
+ private View.OnClickListener mExtraOnClickListener;
+ private OnActionModeStateChangedListener onActionModeStateChangeListener;
+
+ public DialerQuickContactBadge(Context context) {
+ super(context);
+ }
+
+ public DialerQuickContactBadge(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public DialerQuickContactBadge(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ @Override
+ public void onClick(View v) {
+ if (mExtraOnClickListener != null
+ && onActionModeStateChangeListener.isActionModeStateEnabled()) {
+ Logger.get(v.getContext())
+ .logImpression(DialerImpression.Type.MULTISELECT_SINGLE_PRESS_TAP_VIA_CONTACT_BADGE);
+ mExtraOnClickListener.onClick(v);
+ } else {
+ super.onClick(v);
+ }
+ }
+
+ public void setMulitSelectListeners(
+ View.OnClickListener extraOnClickListener,
+ OnActionModeStateChangedListener actionModeStateChangeListener) {
+ mExtraOnClickListener = extraOnClickListener;
+ onActionModeStateChangeListener = actionModeStateChangeListener;
+ }
+}
diff --git a/java/com/android/dialer/app/calllog/IntentProvider.java b/java/com/android/dialer/app/calllog/IntentProvider.java
index a94c6781e..e1ec9f509 100644
--- a/java/com/android/dialer/app/calllog/IntentProvider.java
+++ b/java/com/android/dialer/app/calllog/IntentProvider.java
@@ -24,12 +24,14 @@ import android.provider.ContactsContract;
import android.telecom.PhoneAccountHandle;
import com.android.contacts.common.model.Contact;
import com.android.contacts.common.model.ContactLoader;
-import com.android.dialer.callcomposer.CallComposerContact;
import com.android.dialer.calldetails.CallDetailsActivity;
import com.android.dialer.calldetails.CallDetailsEntries;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
+import com.android.dialer.dialercontact.DialerContact;
import com.android.dialer.lightbringer.LightbringerComponent;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
import com.android.dialer.util.CallUtil;
import com.android.dialer.util.IntentUtil;
import java.util.ArrayList;
@@ -68,6 +70,7 @@ public abstract class IntentProvider {
return new IntentProvider() {
@Override
public Intent getIntent(Context context) {
+ Logger.get(context).logImpression(DialerImpression.Type.IMS_VIDEO_REQUESTED_FROM_CALL_LOG);
return new CallIntentBuilder(number, CallInitiationType.Type.CALL_LOG)
.setPhoneAccountHandle(accountHandle)
.setIsVideoCall(true)
@@ -80,6 +83,8 @@ public abstract class IntentProvider {
return new IntentProvider() {
@Override
public Intent getIntent(Context context) {
+ Logger.get(context)
+ .logImpression(DialerImpression.Type.LIGHTBRINGER_VIDEO_REQUESTED_FROM_CALL_LOG);
return LightbringerComponent.get(context).getLightbringer().getIntent(context, number);
}
};
@@ -112,11 +117,12 @@ public abstract class IntentProvider {
* @return The call details intent provider.
*/
public static IntentProvider getCallDetailIntentProvider(
- CallDetailsEntries callDetailsEntries, CallComposerContact contact) {
+ CallDetailsEntries callDetailsEntries, DialerContact contact, boolean canReportCallerId) {
return new IntentProvider() {
@Override
public Intent getIntent(Context context) {
- return CallDetailsActivity.newInstance(context, callDetailsEntries, contact);
+ return CallDetailsActivity.newInstance(
+ context, callDetailsEntries, contact, canReportCallerId);
}
};
}
diff --git a/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
new file mode 100644
index 000000000..428c71677
--- /dev/null
+++ b/java/com/android/dialer/app/calllog/LegacyVoicemailNotifier.java
@@ -0,0 +1,156 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.app.calllog;
+
+import android.annotation.TargetApi;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.Context;
+import android.os.Build.VERSION_CODES;
+import android.support.annotation.NonNull;
+import android.support.v4.os.BuildCompat;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import android.telephony.CarrierConfigManager;
+import android.telephony.PhoneNumberUtils;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import com.android.dialer.app.R;
+import com.android.dialer.calllogutils.PhoneAccountUtils;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.notification.NotificationChannelManager;
+
+/** Shows a notification in the status bar for legacy vociemail. */
+@TargetApi(VERSION_CODES.O)
+public final class LegacyVoicemailNotifier {
+ private static final String NOTIFICATION_TAG = "LegacyVoicemail";
+ private static final int NOTIFICATION_ID = 1;
+
+ /**
+ * Replicates how packages/services/Telephony/NotificationMgr.java handles legacy voicemail
+ * notification. The notification will not be stackable because no information is available for
+ * individual voicemails.
+ */
+ public static void showNotification(
+ @NonNull Context context,
+ @NonNull PhoneAccountHandle handle,
+ int count,
+ String voicemailNumber,
+ PendingIntent callVoicemailIntent,
+ PendingIntent voicemailSettingsIntent,
+ boolean isRefresh) {
+ LogUtil.enterBlock("LegacyVoicemailNotifier.showNotification");
+ Assert.isNotNull(handle);
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+
+ TelephonyManager pinnedTelephonyManager =
+ context.getSystemService(TelephonyManager.class).createForPhoneAccountHandle(handle);
+ if (pinnedTelephonyManager == null) {
+ LogUtil.e("LegacyVoicemailNotifier.showNotification", "invalid PhoneAccountHandle");
+ return;
+ }
+
+ Notification notification =
+ createNotification(
+ context,
+ pinnedTelephonyManager,
+ handle,
+ count,
+ voicemailNumber,
+ callVoicemailIntent,
+ voicemailSettingsIntent,
+ isRefresh);
+ context
+ .getSystemService(NotificationManager.class)
+ .notify(NOTIFICATION_TAG, NOTIFICATION_ID, notification);
+ }
+
+ @NonNull
+ private static Notification createNotification(
+ @NonNull Context context,
+ @NonNull TelephonyManager pinnedTelephonyManager,
+ @NonNull PhoneAccountHandle handle,
+ int count,
+ String voicemailNumber,
+ PendingIntent callVoicemailIntent,
+ PendingIntent voicemailSettingsIntent,
+ boolean isRefresh) {
+ String notificationTitle =
+ context
+ .getResources()
+ .getQuantityString(R.plurals.notification_voicemail_title, count, count);
+ boolean isOngoing =
+ pinnedTelephonyManager
+ .getCarrierConfig()
+ .getBoolean(CarrierConfigManager.KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL);
+
+ String contentText;
+ PendingIntent contentIntent;
+ if (!TextUtils.isEmpty(voicemailNumber) && callVoicemailIntent != null) {
+ contentText = getNotificationText(context, handle, voicemailNumber);
+ contentIntent = callVoicemailIntent;
+ } else {
+ contentText = context.getString(R.string.notification_voicemail_no_vm_number);
+ contentIntent = voicemailSettingsIntent;
+ }
+
+ Notification.Builder builder =
+ new Notification.Builder(context)
+ .setSmallIcon(android.R.drawable.stat_notify_voicemail)
+ .setColor(context.getColor(R.color.dialer_theme_color))
+ .setWhen(System.currentTimeMillis())
+ .setContentTitle(notificationTitle)
+ .setContentText(contentText)
+ .setContentIntent(contentIntent)
+ .setSound(pinnedTelephonyManager.getVoicemailRingtoneUri(handle))
+ .setOngoing(isOngoing)
+ .setOnlyAlertOnce(isRefresh)
+ .setChannelId(NotificationChannelManager.getVoicemailChannelId(context, handle));
+
+ if (pinnedTelephonyManager.isVoicemailVibrationEnabled(handle)) {
+ builder.setDefaults(Notification.DEFAULT_VIBRATE);
+ }
+
+ return builder.build();
+ }
+
+ @NonNull
+ private static String getNotificationText(
+ @NonNull Context context, PhoneAccountHandle handle, String voicemailNumber) {
+ if (PhoneAccountUtils.getSubscriptionPhoneAccounts(context).size() > 1) {
+ TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
+ PhoneAccount phoneAccount = telecomManager.getPhoneAccount(handle);
+ return phoneAccount.getShortDescription().toString();
+ } else {
+ return String.format(
+ context.getString(R.string.notification_voicemail_text_format),
+ PhoneNumberUtils.formatNumber(voicemailNumber));
+ }
+ }
+
+ public static void cancelNotification(@NonNull Context context) {
+ LogUtil.enterBlock("LegacyVoicemailNotifier.cancelNotification");
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ notificationManager.cancel(NOTIFICATION_TAG, NOTIFICATION_ID);
+ }
+
+ private LegacyVoicemailNotifier() {}
+}
diff --git a/java/com/android/dialer/app/calllog/MissedCallNotifier.java b/java/com/android/dialer/app/calllog/MissedCallNotifier.java
index dd13298bc..e0e3fdf3f 100644
--- a/java/com/android/dialer/app/calllog/MissedCallNotifier.java
+++ b/java/com/android/dialer/app/calllog/MissedCallNotifier.java
@@ -30,11 +30,13 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.annotation.WorkerThread;
+import android.support.v4.os.BuildCompat;
import android.support.v4.os.UserManagerCompat;
import android.support.v4.util.Pair;
import android.text.BidiFormatter;
import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
+import android.util.ArraySet;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
import com.android.dialer.app.DialtactsActivity;
@@ -46,23 +48,20 @@ import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
-import com.android.dialer.notification.NotificationChannelManager;
-import com.android.dialer.notification.NotificationChannelManager.Channel;
+import com.android.dialer.notification.NotificationChannelId;
import com.android.dialer.phonenumbercache.ContactInfo;
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.IntentUtil;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
/** Creates a notification for calls that the user missed (neither answered nor rejected). */
public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
- /** The tag used to identify notifications from this class. */
- static final String NOTIFICATION_TAG = "MissedCallNotifier";
- /** The identifier of the notification of new missed calls. */
- private static final int NOTIFICATION_ID = R.id.notification_missed_call;
+ static final String NOTIFICATION_TAG_PREFIX = "MissedCall_";
+ static final String NOTIFICATION_GROUP = "MissedCall";
+ private static final int NOTIFICATION_ID = 1;
private final Context context;
private final CallLogNotificationsQueryHelper callLogNotificationsQueryHelper;
@@ -104,7 +103,8 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
if ((newCalls != null && newCalls.isEmpty()) || count == 0) {
// No calls to notify about: clear the notification.
- CallLogNotificationsQueryHelper.removeMissedCallNotifications(context, null);
+ CallLogNotificationsQueryHelper.markAllMissedCallsInCallLogAsRead(context);
+ cancelAllMissedCallNotifications(context);
return;
}
@@ -146,7 +146,7 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
null,
System.currentTimeMillis());
- //TODO: look up caller ID that is not in contacts.
+ // TODO: look up caller ID that is not in contacts.
ContactInfo contactInfo =
callLogNotificationsQueryHelper.getContactInfo(
call.number, call.numberPresentation, call.countryIso);
@@ -181,36 +181,39 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
publicSummaryBuilder
.setContentTitle(context.getText(titleResId))
.setContentIntent(createCallLogPendingIntent())
- .setDeleteIntent(createClearMissedCallsPendingIntent(null));
+ .setDeleteIntent(
+ CallLogNotificationsService.createCancelAllMissedCallsPendingIntent(context));
// Create the notification summary suitable for display when sensitive information is showing.
groupSummary
.setContentTitle(context.getText(titleResId))
.setContentText(expandedText)
.setContentIntent(createCallLogPendingIntent())
- .setDeleteIntent(createClearMissedCallsPendingIntent(null))
+ .setDeleteIntent(
+ CallLogNotificationsService.createCancelAllMissedCallsPendingIntent(context))
.setGroupSummary(useCallList)
.setOnlyAlertOnce(useCallList)
.setPublicVersion(publicSummaryBuilder.build());
-
- NotificationChannelManager.applyChannel(groupSummary, context, Channel.MISSED_CALL, null);
+ if (BuildCompat.isAtLeastO()) {
+ groupSummary.setChannelId(NotificationChannelId.MISSED_CALL);
+ }
Notification notification = groupSummary.build();
configureLedOnNotification(notification);
LogUtil.i("MissedCallNotifier.updateMissedCallNotification", "adding missed call notification");
- getNotificationMgr().notify(NOTIFICATION_TAG, NOTIFICATION_ID, notification);
+ getNotificationMgr().notify(getNotificationTagForGroupSummary(), NOTIFICATION_ID, notification);
if (useCallList) {
// Do not repost active notifications to prevent erasing post call notes.
NotificationManager manager = getNotificationMgr();
- Set<String> activeTags = new HashSet<>();
+ Set<String> activeTags = new ArraySet<>();
for (StatusBarNotification activeNotification : manager.getActiveNotifications()) {
activeTags.add(activeNotification.getTag());
}
for (NewCall call : newCalls) {
- String callTag = call.callsUri.toString();
+ String callTag = getNotificationTagForCall(call);
if (!activeTags.contains(callTag)) {
manager.notify(callTag, NOTIFICATION_ID, getNotificationForCall(call, null));
}
@@ -218,6 +221,59 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
}
}
+ public static void cancelAllMissedCallNotifications(@NonNull Context context) {
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
+ String tag = notification.getTag();
+ if (tag != null && tag.startsWith(NOTIFICATION_TAG_PREFIX)) {
+ notificationManager.cancel(tag, notification.getId());
+ }
+ }
+ }
+
+ public static void cancelSingleMissedCallNotification(
+ @NonNull Context context, @Nullable Uri callUri) {
+ if (callUri == null) {
+ LogUtil.e(
+ "MissedCallNotifier.cancelSingleMissedCallNotification",
+ "unable to cancel notification, uri is null");
+ return;
+ }
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ String callTag = getNotificationTagForCallUri(callUri);
+ String summaryTag = getNotificationTagForGroupSummary();
+ int notificationCount = 0;
+
+ for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
+ String currentTag = notification.getTag();
+ if (currentTag == null) {
+ continue;
+ }
+ if (currentTag.equals(callTag)) {
+ notificationManager.cancel(notification.getTag(), notification.getId());
+ } else if (currentTag.startsWith(NOTIFICATION_TAG_PREFIX) && !currentTag.equals(summaryTag)) {
+ notificationCount++;
+ }
+ }
+
+ if (notificationCount == 0) {
+ // There are no more missed call notifications. Remove the summary notification too.
+ notificationManager.cancel(summaryTag, NOTIFICATION_ID);
+ }
+ }
+
+ private static String getNotificationTagForGroupSummary() {
+ return NOTIFICATION_TAG_PREFIX + "GroupSummary";
+ }
+
+ private static String getNotificationTagForCall(@NonNull NewCall call) {
+ return getNotificationTagForCallUri(call.callsUri);
+ }
+
+ private static String getNotificationTagForCallUri(@NonNull Uri callUri) {
+ return NOTIFICATION_TAG_PREFIX + callUri;
+ }
+
public void insertPostCallNotification(@NonNull String number, @NonNull String note) {
List<NewCall> newCalls = callLogNotificationsQueryHelper.getNewMissedCalls();
if (newCalls != null && !newCalls.isEmpty()) {
@@ -226,7 +282,9 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
// Update the first notification that matches our post call note sender.
getNotificationMgr()
.notify(
- call.callsUri.toString(), NOTIFICATION_ID, getNotificationForCall(call, note));
+ getNotificationTagForCall(call),
+ NOTIFICATION_ID,
+ getNotificationForCall(call, note));
break;
}
}
@@ -308,7 +366,7 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
private Notification.Builder createNotificationBuilder() {
return new Notification.Builder(context)
- .setGroup(NOTIFICATION_TAG)
+ .setGroup(NOTIFICATION_GROUP)
.setSmallIcon(android.R.drawable.stat_notify_missed_call)
.setColor(context.getResources().getColor(R.color.dialer_theme_color, null))
.setAutoCancel(true)
@@ -321,10 +379,14 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
Builder builder =
createNotificationBuilder()
.setWhen(call.dateMs)
- .setDeleteIntent(createClearMissedCallsPendingIntent(call.callsUri))
+ .setDeleteIntent(
+ CallLogNotificationsService.createCancelSingleMissedCallPendingIntent(
+ context, call.callsUri))
.setContentIntent(createCallLogPendingIntent(call.callsUri));
+ if (BuildCompat.isAtLeastO()) {
+ builder.setChannelId(NotificationChannelId.MISSED_CALL);
+ }
- NotificationChannelManager.applyChannel(builder, context, Channel.MISSED_CALL, null);
return builder;
}
@@ -332,7 +394,8 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
@WorkerThread
public void callBackFromMissedCall(String number, Uri callUri) {
closeSystemDialogs(context);
- CallLogNotificationsQueryHelper.removeMissedCallNotifications(context, callUri);
+ CallLogNotificationsQueryHelper.markSingleMissedCallInCallLogAsRead(context, callUri);
+ cancelSingleMissedCallNotification(context, callUri);
DialerUtils.startActivityWithErrorToast(
context,
new CallIntentBuilder(number, CallInitiationType.Type.MISSED_CALL_NOTIFICATION)
@@ -343,7 +406,8 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
/** Trigger an intent to send an sms from a missed call number. */
public void sendSmsFromMissedCall(String number, Uri callUri) {
closeSystemDialogs(context);
- CallLogNotificationsQueryHelper.removeMissedCallNotifications(context, callUri);
+ CallLogNotificationsQueryHelper.markSingleMissedCallInCallLogAsRead(context, callUri);
+ cancelSingleMissedCallNotification(context, callUri);
DialerUtils.startActivityWithErrorToast(
context, IntentUtil.getSendSmsIntent(number).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
}
@@ -371,14 +435,6 @@ public class MissedCallNotifier implements Worker<Pair<Integer, String>, Void> {
return PendingIntent.getActivity(context, 0, contentIntent, PendingIntent.FLAG_UPDATE_CURRENT);
}
- /** Creates a pending intent that marks all new missed calls as old. */
- private PendingIntent createClearMissedCallsPendingIntent(@Nullable Uri callUri) {
- Intent intent = new Intent(context, CallLogNotificationsService.class);
- intent.setAction(CallLogNotificationsService.ACTION_MARK_NEW_MISSED_CALLS_AS_OLD);
- intent.setData(callUri);
- return PendingIntent.getService(context, 0, intent, 0);
- }
-
private PendingIntent createCallBackPendingIntent(String number, @NonNull Uri callUri) {
Intent intent = new Intent(context, CallLogNotificationsService.class);
intent.setAction(CallLogNotificationsService.ACTION_CALL_BACK_FROM_MISSED_CALL_NOTIFICATION);
diff --git a/java/com/android/dialer/app/calllog/PhoneAccountHandles.java b/java/com/android/dialer/app/calllog/PhoneAccountHandles.java
deleted file mode 100644
index acffffb1d..000000000
--- a/java/com/android/dialer/app/calllog/PhoneAccountHandles.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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.
- */
-package com.android.dialer.app.calllog;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.telecom.PhoneAccount;
-import android.telecom.PhoneAccountHandle;
-import com.android.dialer.app.calllog.CallLogNotificationsQueryHelper.NewCall;
-import com.android.dialer.common.LogUtil;
-import com.android.dialer.telecom.TelecomUtil;
-import java.util.List;
-
-/** Methods to help extract {@link PhoneAccount} information from database and Telecomm sources. */
-class PhoneAccountHandles {
-
- @Nullable
- public static PhoneAccountHandle getAccount(@NonNull Context context, @Nullable NewCall call) {
- PhoneAccountHandle handle;
- if (call == null || call.accountComponentName == null || call.accountId == null) {
- LogUtil.v(
- "PhoneAccountUtils.getAccount",
- "accountComponentName == null || callToNotify.accountId == null");
- handle = TelecomUtil.getDefaultOutgoingPhoneAccount(context, PhoneAccount.SCHEME_TEL);
- if (handle == null) {
- List<PhoneAccountHandle> callCapablePhoneAccounts =
- TelecomUtil.getCallCapablePhoneAccounts(context);
- if (!callCapablePhoneAccounts.isEmpty()) {
- return callCapablePhoneAccounts.get(0);
- }
- return null;
- }
- } else {
- handle =
- new PhoneAccountHandle(
- ComponentName.unflattenFromString(call.accountComponentName), call.accountId);
- }
- if (handle.getComponentName() != null) {
- LogUtil.v(
- "PhoneAccountUtils.getAccount",
- "PhoneAccountHandle.ComponentInfo:" + handle.getComponentName());
- } else {
- LogUtil.i("PhoneAccountUtils.getAccount", "PhoneAccountHandle.ComponentInfo: null");
- }
- return handle;
- }
-}
diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailNotifier.java b/java/com/android/dialer/app/calllog/VisualVoicemailNotifier.java
new file mode 100644
index 000000000..99fe466d8
--- /dev/null
+++ b/java/com/android/dialer/app/calllog/VisualVoicemailNotifier.java
@@ -0,0 +1,291 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.app.calllog;
+
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.net.Uri;
+import android.os.Build.VERSION;
+import android.os.Build.VERSION_CODES;
+import android.service.notification.StatusBarNotification;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.os.BuildCompat;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import com.android.contacts.common.util.ContactDisplayUtils;
+import com.android.dialer.app.DialtactsActivity;
+import com.android.dialer.app.R;
+import com.android.dialer.app.calllog.CallLogNotificationsQueryHelper.NewCall;
+import com.android.dialer.app.contactinfo.ContactPhotoLoader;
+import com.android.dialer.app.list.DialtactsPagerAdapter;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
+import com.android.dialer.notification.NotificationChannelManager;
+import com.android.dialer.phonenumbercache.ContactInfo;
+import com.android.dialer.telecom.TelecomUtil;
+import java.util.List;
+import java.util.Map;
+
+/** Shows a notification in the status bar for visual voicemail. */
+final class VisualVoicemailNotifier {
+ private static final String NOTIFICATION_TAG_PREFIX = "VisualVoicemail_";
+ private static final String NOTIFICATION_GROUP = "VisualVoicemail";
+ private static final int NOTIFICATION_ID = 1;
+
+ public static void showNotifications(
+ @NonNull Context context,
+ @NonNull List<NewCall> newCalls,
+ @NonNull Map<String, ContactInfo> contactInfos,
+ @Nullable String callers) {
+ LogUtil.enterBlock("VisualVoicemailNotifier.showNotifications");
+ PendingIntent deleteIntent =
+ CallLogNotificationsService.createMarkAllNewVoicemailsAsOldIntent(context);
+ String contentTitle =
+ context
+ .getResources()
+ .getQuantityString(
+ R.plurals.notification_voicemail_title, newCalls.size(), newCalls.size());
+ Notification.Builder groupSummary =
+ createNotificationBuilder(context)
+ .setContentTitle(contentTitle)
+ .setContentText(callers)
+ .setDeleteIntent(deleteIntent)
+ .setGroupSummary(true)
+ .setContentIntent(newVoicemailIntent(context, null));
+
+ if (BuildCompat.isAtLeastO()) {
+ groupSummary.setGroupAlertBehavior(Notification.GROUP_ALERT_CHILDREN);
+ PhoneAccountHandle handle = getAccountForCall(context, newCalls.get(0));
+ groupSummary.setChannelId(NotificationChannelManager.getVoicemailChannelId(context, handle));
+ }
+
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ notificationManager.notify(
+ getNotificationTagForGroupSummary(), NOTIFICATION_ID, groupSummary.build());
+
+ for (NewCall voicemail : newCalls) {
+ notificationManager.notify(
+ getNotificationTagForVoicemail(voicemail),
+ NOTIFICATION_ID,
+ createNotificationForVoicemail(context, voicemail, contactInfos));
+ }
+ }
+
+ public static void cancelAllVoicemailNotifications(@NonNull Context context) {
+ LogUtil.enterBlock("VisualVoicemailNotifier.cancelAllVoicemailNotifications");
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
+ String tag = notification.getTag();
+ if (tag != null && tag.startsWith(NOTIFICATION_TAG_PREFIX)) {
+ notificationManager.cancel(tag, notification.getId());
+ }
+ }
+ }
+
+ public static void cancelSingleVoicemailNotification(
+ @NonNull Context context, @Nullable Uri voicemailUri) {
+ LogUtil.enterBlock("VisualVoicemailNotifier.cancelSingleVoicemailNotification");
+ if (voicemailUri == null) {
+ LogUtil.e("VisualVoicemailNotifier.cancelSingleVoicemailNotification", "uri is null");
+ return;
+ }
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ String voicemailTag = getNotificationTagForUri(voicemailUri);
+ String summaryTag = getNotificationTagForGroupSummary();
+ int notificationCount = 0;
+
+ for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
+ String currentTag = notification.getTag();
+ if (currentTag == null) {
+ continue;
+ }
+ if (currentTag.equals(voicemailTag)) {
+ notificationManager.cancel(notification.getTag(), notification.getId());
+ } else if (currentTag.startsWith(NOTIFICATION_TAG_PREFIX) && !currentTag.equals(summaryTag)) {
+ notificationCount++;
+ }
+ }
+
+ if (notificationCount == 0) {
+ // There are no more visual voicemail notifications. Remove the summary notification too.
+ notificationManager.cancel(summaryTag, NOTIFICATION_ID);
+ }
+ }
+
+ private static String getNotificationTagForVoicemail(@NonNull NewCall voicemail) {
+ return getNotificationTagForUri(voicemail.voicemailUri);
+ }
+
+ private static String getNotificationTagForUri(@NonNull Uri voicemailUri) {
+ return NOTIFICATION_TAG_PREFIX + voicemailUri;
+ }
+
+ private static String getNotificationTagForGroupSummary() {
+ return NOTIFICATION_TAG_PREFIX + "GroupSummary";
+ }
+
+ private static Notification.Builder createNotificationBuilder(@NonNull Context context) {
+ return new Notification.Builder(context)
+ .setSmallIcon(android.R.drawable.stat_notify_voicemail)
+ .setColor(context.getColor(R.color.dialer_theme_color))
+ .setGroup(NOTIFICATION_GROUP)
+ .setOnlyAlertOnce(true)
+ .setAutoCancel(true);
+ }
+
+ private static Notification createNotificationForVoicemail(
+ @NonNull Context context,
+ @NonNull NewCall voicemail,
+ @NonNull Map<String, ContactInfo> contactInfos) {
+ PhoneAccountHandle handle = getAccountForCall(context, voicemail);
+ ContactInfo contactInfo = contactInfos.get(voicemail.number);
+
+ Notification.Builder builder =
+ createNotificationBuilder(context)
+ .setContentTitle(
+ context
+ .getResources()
+ .getQuantityString(R.plurals.notification_voicemail_title, 1, 1))
+ .setContentText(
+ ContactDisplayUtils.getTtsSpannedPhoneNumber(
+ context.getResources(),
+ R.string.notification_new_voicemail_ticker,
+ contactInfo.name))
+ .setWhen(voicemail.dateMs)
+ .setSound(getVoicemailRingtoneUri(context, handle))
+ .setDefaults(getNotificationDefaultFlags(context, handle));
+
+ if (voicemail.voicemailUri != null) {
+ builder.setDeleteIntent(
+ CallLogNotificationsService.createMarkSingleNewVoicemailAsOldIntent(
+ context, voicemail.voicemailUri));
+ }
+
+ if (BuildCompat.isAtLeastO()) {
+ builder.setChannelId(NotificationChannelManager.getVoicemailChannelId(context, handle));
+ }
+
+ ContactPhotoLoader loader = new ContactPhotoLoader(context, contactInfo);
+ Bitmap photoIcon = loader.loadPhotoIcon();
+ if (photoIcon != null) {
+ builder.setLargeIcon(photoIcon);
+ }
+ if (!TextUtils.isEmpty(voicemail.transcription)) {
+ Logger.get(context)
+ .logImpression(DialerImpression.Type.VVM_NOTIFICATION_CREATED_WITH_TRANSCRIPTION);
+ builder.setStyle(new Notification.BigTextStyle().bigText(voicemail.transcription));
+ }
+ builder.setContentIntent(newVoicemailIntent(context, voicemail));
+ Logger.get(context).logImpression(DialerImpression.Type.VVM_NOTIFICATION_CREATED);
+ return builder.build();
+ }
+
+ @Nullable
+ private static Uri getVoicemailRingtoneUri(
+ @NonNull Context context, @Nullable PhoneAccountHandle handle) {
+ if (VERSION.SDK_INT < VERSION_CODES.N) {
+ return null;
+ }
+ if (handle == null) {
+ LogUtil.i("VisualVoicemailNotifier.getVoicemailRingtoneUri", "null handle, getting fallback");
+ handle = getFallbackAccount(context);
+ if (handle == null) {
+ LogUtil.i(
+ "VisualVoicemailNotifier.getVoicemailRingtoneUri",
+ "no fallback handle, using null (default) ringtone");
+ return null;
+ }
+ }
+ return context.getSystemService(TelephonyManager.class).getVoicemailRingtoneUri(handle);
+ }
+
+ private static int getNotificationDefaultFlags(
+ @NonNull Context context, @Nullable PhoneAccountHandle handle) {
+ if (VERSION.SDK_INT < VERSION_CODES.N) {
+ return Notification.DEFAULT_ALL;
+ }
+ if (handle == null) {
+ LogUtil.i(
+ "VisualVoicemailNotifier.getNotificationDefaultFlags", "null handle, getting fallback");
+ handle = getFallbackAccount(context);
+ if (handle == null) {
+ LogUtil.i(
+ "VisualVoicemailNotifier.getNotificationDefaultFlags",
+ "no fallback handle, using default vibration");
+ return Notification.DEFAULT_ALL;
+ }
+ }
+ if (context.getSystemService(TelephonyManager.class).isVoicemailVibrationEnabled(handle)) {
+ return Notification.DEFAULT_VIBRATE;
+ }
+ return 0;
+ }
+
+ private static PendingIntent newVoicemailIntent(
+ @NonNull Context context, @Nullable NewCall voicemail) {
+ Intent intent =
+ DialtactsActivity.getShowTabIntent(context, DialtactsPagerAdapter.TAB_INDEX_VOICEMAIL);
+ // TODO (b/35486204): scroll to this voicemail
+ if (voicemail != null) {
+ intent.setData(voicemail.voicemailUri);
+ }
+ intent.putExtra(DialtactsActivity.EXTRA_CLEAR_NEW_VOICEMAILS, true);
+ return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+ }
+
+ /**
+ * Gets a phone account for the given call entry. This could be null if SIM associated with the
+ * entry is no longer in the device or for other reasons (for example, modem reboot).
+ */
+ @Nullable
+ public static PhoneAccountHandle getAccountForCall(
+ @NonNull Context context, @Nullable NewCall call) {
+ if (call == null || call.accountComponentName == null || call.accountId == null) {
+ return null;
+ }
+ return new PhoneAccountHandle(
+ ComponentName.unflattenFromString(call.accountComponentName), call.accountId);
+ }
+
+ /**
+ * Gets any available phone account that can be used to get sound settings for voicemail. This is
+ * only called if the phone account for the voicemail entry can't be found.
+ */
+ @Nullable
+ public static PhoneAccountHandle getFallbackAccount(@NonNull Context context) {
+ PhoneAccountHandle handle =
+ TelecomUtil.getDefaultOutgoingPhoneAccount(context, PhoneAccount.SCHEME_TEL);
+ if (handle == null) {
+ List<PhoneAccountHandle> handles = TelecomUtil.getCallCapablePhoneAccounts(context);
+ if (!handles.isEmpty()) {
+ handle = handles.get(0);
+ }
+ }
+ return handle;
+ }
+
+ private VisualVoicemailNotifier() {}
+}
diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailUpdateTask.java b/java/com/android/dialer/app/calllog/VisualVoicemailUpdateTask.java
new file mode 100644
index 000000000..d6601be36
--- /dev/null
+++ b/java/com/android/dialer/app/calllog/VisualVoicemailUpdateTask.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (C) 2011 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.dialer.app.calllog;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.annotation.WorkerThread;
+import android.text.TextUtils;
+import android.util.ArrayMap;
+import com.android.dialer.app.R;
+import com.android.dialer.app.calllog.CallLogNotificationsQueryHelper.NewCall;
+import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
+import com.android.dialer.blocking.FilteredNumbersUtil;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+import com.android.dialer.common.concurrent.DialerExecutors;
+import com.android.dialer.phonenumbercache.ContactInfo;
+import com.android.dialer.telecom.TelecomUtil;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/** Updates voicemail notifications in the background. */
+class VisualVoicemailUpdateTask implements Worker<VisualVoicemailUpdateTask.Input, Void> {
+ @Nullable
+ @Override
+ public Void doInBackground(@NonNull Input input) throws Throwable {
+ updateNotification(input.context, input.queryHelper, input.queryHandler);
+ return null;
+ }
+
+ /**
+ * Updates the notification and notifies of the call with the given URI.
+ *
+ * <p>Clears the notification if there are no new voicemails, and notifies if the given URI
+ * corresponds to a new voicemail.
+ */
+ @WorkerThread
+ private static void updateNotification(
+ Context context,
+ CallLogNotificationsQueryHelper queryHelper,
+ FilteredNumberAsyncQueryHandler queryHandler) {
+ Assert.isWorkerThread();
+
+ List<NewCall> newCalls = queryHelper.getNewVoicemails();
+ if (newCalls == null) {
+ return;
+ }
+ newCalls = filterBlockedNumbers(context, queryHandler, newCalls);
+ if (newCalls.isEmpty()) {
+ return;
+ }
+
+ // This represents a list of names to include in the notification.
+ String callers = null;
+
+ // Maps each number into a name: if a number is in the map, it has already left a more
+ // recent voicemail.
+ Map<String, ContactInfo> contactInfos = new ArrayMap<>();
+ for (NewCall newCall : newCalls) {
+ if (!contactInfos.containsKey(newCall.number)) {
+ ContactInfo contactInfo =
+ queryHelper.getContactInfo(
+ newCall.number, newCall.numberPresentation, newCall.countryIso);
+ contactInfos.put(newCall.number, contactInfo);
+
+ // This is a new caller. Add it to the back of the list of callers.
+ if (TextUtils.isEmpty(callers)) {
+ callers = contactInfo.name;
+ } else {
+ callers =
+ context.getString(
+ R.string.notification_voicemail_callers_list, callers, contactInfo.name);
+ }
+ }
+ }
+ VisualVoicemailNotifier.showNotifications(context, newCalls, contactInfos, callers);
+ }
+
+ @WorkerThread
+ private static List<NewCall> filterBlockedNumbers(
+ Context context, FilteredNumberAsyncQueryHandler queryHandler, List<NewCall> newCalls) {
+ Assert.isWorkerThread();
+ if (FilteredNumbersUtil.hasRecentEmergencyCall(context)) {
+ LogUtil.i(
+ "VisualVoicemailUpdateTask.filterBlockedNumbers",
+ "not filtering due to recent emergency call");
+ return newCalls;
+ }
+
+ List<NewCall> result = new ArrayList<>();
+ for (NewCall newCall : newCalls) {
+ if (queryHandler.getBlockedIdSynchronous(newCall.number, newCall.countryIso) != null) {
+ LogUtil.i(
+ "VisualVoicemailUpdateTask.filterBlockedNumbers",
+ "found voicemail from blocked number, deleting");
+ if (newCall.voicemailUri != null) {
+ // Delete the voicemail.
+ CallLogAsyncTaskUtil.deleteVoicemailSynchronous(context, newCall.voicemailUri);
+ }
+ } else {
+ result.add(newCall);
+ }
+ }
+ return result;
+ }
+
+ /** Updates the voicemail notifications displayed. */
+ static void scheduleTask(@NonNull Context context, @NonNull Runnable callback) {
+ Assert.isNotNull(context);
+ Assert.isNotNull(callback);
+ if (!TelecomUtil.isDefaultDialer(context)) {
+ LogUtil.i("VisualVoicemailUpdateTask.scheduleTask", "not default dialer, not running");
+ callback.run();
+ return;
+ }
+
+ Input input =
+ new Input(
+ context,
+ CallLogNotificationsQueryHelper.getInstance(context),
+ new FilteredNumberAsyncQueryHandler(context));
+ DialerExecutors.createNonUiTaskBuilder(new VisualVoicemailUpdateTask())
+ .onSuccess(
+ output -> {
+ LogUtil.i("VisualVoicemailUpdateTask.scheduleTask", "update successful");
+ callback.run();
+ })
+ .onFailure(
+ throwable -> {
+ LogUtil.i("VisualVoicemailUpdateTask.scheduleTask", "update failed: " + throwable);
+ callback.run();
+ })
+ .build()
+ .executeParallel(input);
+ }
+
+ static class Input {
+ @NonNull final Context context;
+ @NonNull final CallLogNotificationsQueryHelper queryHelper;
+ @NonNull final FilteredNumberAsyncQueryHandler queryHandler;
+
+ Input(
+ Context context,
+ CallLogNotificationsQueryHelper queryHelper,
+ FilteredNumberAsyncQueryHandler queryHandler) {
+ this.context = context;
+ this.queryHelper = queryHelper;
+ this.queryHandler = queryHandler;
+ }
+ }
+}
diff --git a/java/com/android/dialer/app/calllog/VoicemailQueryHandler.java b/java/com/android/dialer/app/calllog/VoicemailQueryHandler.java
index 777f4c79f..2fbebdd30 100644
--- a/java/com/android/dialer/app/calllog/VoicemailQueryHandler.java
+++ b/java/com/android/dialer/app/calllog/VoicemailQueryHandler.java
@@ -15,7 +15,6 @@
*/
package com.android.dialer.app.calllog;
-import android.app.NotificationManager;
import android.content.AsyncQueryHandler;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -23,30 +22,49 @@ import android.content.Context;
import android.net.Uri;
import android.provider.CallLog.Calls;
import android.support.annotation.MainThread;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import com.android.dialer.app.R;
+import android.support.annotation.WorkerThread;
import com.android.dialer.common.Assert;
-import com.android.dialer.notification.GroupedNotificationUtil;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.concurrent.ThreadUtil;
/** Handles asynchronous queries to the call log for voicemail. */
public class VoicemailQueryHandler extends AsyncQueryHandler {
- private static final String TAG = "VoicemailQueryHandler";
-
/** The token for the query to mark all new voicemails as old. */
private static final int UPDATE_MARK_VOICEMAILS_AS_OLD_TOKEN = 50;
- private Context mContext;
-
@MainThread
- public VoicemailQueryHandler(Context context, ContentResolver contentResolver) {
+ private VoicemailQueryHandler(ContentResolver contentResolver) {
super(contentResolver);
Assert.isMainThread();
- mContext = context;
+ }
+
+ @WorkerThread
+ public static void markAllNewVoicemailsAsRead(final @NonNull Context context) {
+ ThreadUtil.postOnUiThread(
+ () -> {
+ new VoicemailQueryHandler(context.getContentResolver()).markNewVoicemailsAsOld(null);
+ });
+ }
+
+ @WorkerThread
+ public static void markSingleNewVoicemailAsRead(
+ final @NonNull Context context, final Uri voicemailUri) {
+ if (voicemailUri == null) {
+ LogUtil.e("VoicemailQueryHandler.markSingleNewVoicemailAsRead", "voicemail URI is null");
+ return;
+ }
+ ThreadUtil.postOnUiThread(
+ () -> {
+ new VoicemailQueryHandler(context.getContentResolver())
+ .markNewVoicemailsAsOld(voicemailUri);
+ });
}
/** Updates all new voicemails to mark them as old. */
- public void markNewVoicemailsAsOld(@Nullable Uri voicemailUri) {
+ private void markNewVoicemailsAsOld(@Nullable Uri voicemailUri) {
// Mark all "new" voicemails as not new anymore.
StringBuilder where = new StringBuilder();
where.append(Calls.NEW);
@@ -70,11 +88,5 @@ public class VoicemailQueryHandler extends AsyncQueryHandler {
voicemailUri == null
? new String[] {Integer.toString(Calls.VOICEMAIL_TYPE)}
: new String[] {Integer.toString(Calls.VOICEMAIL_TYPE), voicemailUri.toString()});
-
- GroupedNotificationUtil.removeNotification(
- mContext.getSystemService(NotificationManager.class),
- voicemailUri != null ? voicemailUri.toString() : null,
- R.id.notification_visual_voicemail,
- DefaultVoicemailNotifier.VISUAL_VOICEMAIL_NOTIFICATION_TAG);
}
}
diff --git a/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java b/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
index 7645a333e..6728dfb38 100644
--- a/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
+++ b/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java
@@ -19,7 +19,6 @@ package com.android.dialer.app.calllog.calllogcache;
import android.content.Context;
import android.telecom.PhoneAccountHandle;
import com.android.dialer.app.calllog.CallLogAdapter;
-import com.android.dialer.compat.CompatUtils;
import com.android.dialer.util.CallUtil;
/**
@@ -46,10 +45,7 @@ public abstract class CallLogCache {
/** Return the most compatible version of the TelecomCallLogCache. */
public static CallLogCache getCallLogCache(Context context) {
- if (CompatUtils.isClassAvailable("android.telecom.PhoneAccountHandle")) {
- return new CallLogCacheLollipopMr1(context);
- }
- return new CallLogCacheLollipop(context);
+ return new CallLogCacheLollipopMr1(context);
}
public void reset() {
diff --git a/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipop.java b/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipop.java
deleted file mode 100644
index 78aaa4193..000000000
--- a/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipop.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.dialer.app.calllog.calllogcache;
-
-import android.content.Context;
-import android.telecom.PhoneAccount;
-import android.telecom.PhoneAccountHandle;
-import android.telephony.PhoneNumberUtils;
-import android.text.TextUtils;
-
-/**
- * This is a compatibility class for the CallLogCache for versions of dialer before Lollipop Mr1
- * (the introduction of phone accounts).
- *
- * <p>This class should not be initialized directly and instead be acquired from {@link
- * CallLogCache#getCallLogCache}.
- */
-class CallLogCacheLollipop extends CallLogCache {
-
- private String mVoicemailNumber;
-
- /* package */ CallLogCacheLollipop(Context context) {
- super(context);
- }
-
- @Override
- public boolean isVoicemailNumber(PhoneAccountHandle accountHandle, CharSequence number) {
- if (TextUtils.isEmpty(number)) {
- return false;
- }
-
- String numberString = number.toString();
-
- if (!TextUtils.isEmpty(mVoicemailNumber)) {
- return PhoneNumberUtils.compare(numberString, mVoicemailNumber);
- }
-
- if (PhoneNumberUtils.isVoiceMailNumber(numberString)) {
- mVoicemailNumber = numberString;
- return true;
- }
-
- return false;
- }
-
- @Override
- public String getAccountLabel(PhoneAccountHandle accountHandle) {
- return null;
- }
-
- @Override
- public int getAccountColor(PhoneAccountHandle accountHandle) {
- return PhoneAccount.NO_HIGHLIGHT_COLOR;
- }
-
- @Override
- public boolean doesAccountSupportCallSubject(PhoneAccountHandle accountHandle) {
- return false;
- }
-}
diff --git a/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipopMr1.java b/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipopMr1.java
index 039998780..f85680649 100644
--- a/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipopMr1.java
+++ b/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipopMr1.java
@@ -17,15 +17,11 @@
package com.android.dialer.app.calllog.calllogcache;
import android.content.Context;
-import android.support.annotation.VisibleForTesting;
import android.telecom.PhoneAccountHandle;
-import android.text.TextUtils;
import android.util.ArrayMap;
-import android.util.Pair;
import com.android.dialer.calllogutils.PhoneAccountUtils;
-import com.android.dialer.phonenumberutil.PhoneNumberHelper;
+import com.android.dialer.telecom.TelecomUtil;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
/**
* This is the CallLogCache for versions of dialer Lollipop Mr1 and above with support for multi-SIM
@@ -36,15 +32,6 @@ import java.util.concurrent.ConcurrentHashMap;
*/
class CallLogCacheLollipopMr1 extends CallLogCache {
- /*
- * Maps from a phone-account/number pair to a boolean because multiple numbers could return true
- * for the voicemail number if those numbers are not pre-normalized. Access must be synchronzied
- * as it's used in the background thread in CallLogAdapter. {@see CallLogAdapter#loadData}
- */
- @VisibleForTesting
- final Map<Pair<PhoneAccountHandle, CharSequence>, Boolean> mVoicemailQueryCache =
- new ConcurrentHashMap<>();
-
private final Map<PhoneAccountHandle, String> mPhoneAccountLabelCache = new ArrayMap<>();
private final Map<PhoneAccountHandle, Integer> mPhoneAccountColorCache = new ArrayMap<>();
private final Map<PhoneAccountHandle, Boolean> mPhoneAccountCallWithNoteCache = new ArrayMap<>();
@@ -55,7 +42,6 @@ class CallLogCacheLollipopMr1 extends CallLogCache {
@Override
public void reset() {
- mVoicemailQueryCache.clear();
mPhoneAccountLabelCache.clear();
mPhoneAccountColorCache.clear();
mPhoneAccountCallWithNoteCache.clear();
@@ -65,19 +51,7 @@ class CallLogCacheLollipopMr1 extends CallLogCache {
@Override
public boolean isVoicemailNumber(PhoneAccountHandle accountHandle, CharSequence number) {
- if (TextUtils.isEmpty(number)) {
- return false;
- }
-
- Pair<PhoneAccountHandle, CharSequence> key = new Pair<>(accountHandle, number);
- Boolean value = mVoicemailQueryCache.get(key);
- if (value != null) {
- return value;
- }
- boolean isVoicemail =
- PhoneNumberHelper.isVoicemailNumber(mContext, accountHandle, number.toString());
- mVoicemailQueryCache.put(key, isVoicemail);
- return isVoicemail;
+ return TelecomUtil.isVoicemailNumber(mContext, accountHandle, number.toString());
}
@Override
diff --git a/java/com/android/dialer/app/contactinfo/ContactInfoCache.java b/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
index e561b5607..82fc229af 100644
--- a/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
+++ b/java/com/android/dialer/app/contactinfo/ContactInfoCache.java
@@ -24,6 +24,7 @@ import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import com.android.dialer.common.LogUtil;
import com.android.dialer.logging.ContactSource.Type;
+import com.android.dialer.oem.CequintCallerIdManager;
import com.android.dialer.phonenumbercache.ContactInfo;
import com.android.dialer.phonenumbercache.ContactInfoHelper;
import com.android.dialer.util.ExpirableCache;
@@ -55,6 +56,7 @@ public class ContactInfoCache {
private final OnContactInfoChangedListener mOnContactInfoChangedListener;
private final BlockingQueue<ContactInfoRequest> mUpdateRequests;
private final Handler mHandler;
+ private CequintCallerIdManager mCequintCallerIdManager;
private QueryThread mContactInfoQueryThread;
private volatile boolean mRequestProcessingDisabled = false;
@@ -95,6 +97,10 @@ public class ContactInfoCache {
mHandler = new InnerHandler(new WeakReference<>(this));
}
+ public void setCequintCallerIdManager(CequintCallerIdManager cequintCallerIdManager) {
+ mCequintCallerIdManager = cequintCallerIdManager;
+ }
+
public ContactInfo getValue(
String number,
String countryIso,
@@ -156,11 +162,11 @@ public class ContactInfoCache {
ContactInfo info;
if (request.isLocalRequest()) {
info = mContactInfoHelper.lookupNumber(request.number, request.countryIso);
- if (!info.contactExists) {
+ if (info != null && !info.contactExists) {
// TODO: Maybe skip look up if it's already available in cached number lookup
// service.
long start = SystemClock.elapsedRealtime();
- mContactInfoHelper.updateFromCequintCallerId(info, request.number);
+ mContactInfoHelper.updateFromCequintCallerId(mCequintCallerIdManager, info, request.number);
long time = SystemClock.elapsedRealtime() - start;
LogUtil.d(
"ContactInfoCache.queryContactInfo", "Cequint Caller Id look up takes %d ms", time);
diff --git a/java/com/android/dialer/app/dialpad/DialpadFragment.java b/java/com/android/dialer/app/dialpad/DialpadFragment.java
index e9d57b399..d33943773 100644
--- a/java/com/android/dialer/app/dialpad/DialpadFragment.java
+++ b/java/com/android/dialer/app/dialpad/DialpadFragment.java
@@ -29,6 +29,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
+import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -84,6 +85,9 @@ import com.android.dialer.common.LogUtil;
import com.android.dialer.dialpadview.DialpadKeyButton;
import com.android.dialer.dialpadview.DialpadView;
import com.android.dialer.location.GeoUtil;
+import com.android.dialer.logging.UiAction;
+import com.android.dialer.oem.MotorolaUtils;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.proguard.UsedByReflection;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.CallUtil;
@@ -626,6 +630,14 @@ public class DialpadFragment extends Fragment
Trace.beginSection(TAG + " onResume");
super.onResume();
+ Resources res = getResources();
+ int iconId = R.drawable.quantum_ic_call_vd_theme_24;
+ if (MotorolaUtils.isWifiCallingAvailable(getContext())) {
+ iconId = R.drawable.ic_wifi_calling;
+ }
+ mFloatingActionButtonController.changeIcon(
+ res.getDrawable(iconId, null), res.getString(R.string.description_dial_button));
+
final DialtactsActivity activity = (DialtactsActivity) getActivity();
mDialpadQueryListener = activity;
@@ -1005,6 +1017,8 @@ public class DialpadFragment extends Fragment
*/
private void handleDialButtonPressed() {
if (isDigitsEmpty()) { // No number entered.
+ // No real call made, so treat it as a click
+ PerformanceReport.recordClick(UiAction.Type.PRESS_CALL_BUTTON_WITHOUT_CALLING);
handleDialButtonClickWithEmptyDigits();
} else {
final String number = mDigits.getText().toString();
@@ -1015,6 +1029,7 @@ public class DialpadFragment extends Fragment
if (number != null
&& !TextUtils.isEmpty(mProhibitedPhoneNumberRegexp)
&& number.matches(mProhibitedPhoneNumberRegexp)) {
+ PerformanceReport.recordClick(UiAction.Type.PRESS_CALL_BUTTON_WITHOUT_CALLING);
LogUtil.i(
"DialpadFragment.handleDialButtonPressed",
"The phone number is prohibited explicitly by a rule.");
@@ -1051,6 +1066,10 @@ public class DialpadFragment extends Fragment
startActivity(newFlashIntent());
} else {
if (!TextUtils.isEmpty(mLastNumberDialed)) {
+ // Dialpad will be filled with last called number,
+ // but we don't want to record it as user action
+ PerformanceReport.setIgnoreActionOnce(UiAction.Type.TEXT_CHANGE_WITH_INPUT);
+
// Recall the last number dialed.
mDigits.setText(mLastNumberDialed);
diff --git a/java/com/android/dialer/app/filterednumber/NumbersAdapter.java b/java/com/android/dialer/app/filterednumber/NumbersAdapter.java
index f71517a44..d98395ec7 100644
--- a/java/com/android/dialer/app/filterednumber/NumbersAdapter.java
+++ b/java/com/android/dialer/app/filterednumber/NumbersAdapter.java
@@ -28,6 +28,7 @@ import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
import com.android.contacts.common.util.UriUtils;
import com.android.dialer.app.R;
import com.android.dialer.compat.CompatUtils;
@@ -98,8 +99,8 @@ public class NumbersAdapter extends SimpleCursorAdapter {
info.lookupUri == null ? null : UriUtils.getLookupKeyFromUri(info.lookupUri);
final int contactType =
mContactInfoHelper.isBusiness(info.sourceType)
- ? ContactPhotoManager.TYPE_BUSINESS
- : ContactPhotoManager.TYPE_DEFAULT;
+ ? LetterTileDrawable.TYPE_BUSINESS
+ : LetterTileDrawable.TYPE_DEFAULT;
final DefaultImageRequest request =
new DefaultImageRequest(displayName, lookupKey, contactType, true /* isCircular */);
badge.assignContactUri(info.lookupUri);
diff --git a/java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java b/java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java
index 1cdeb2175..a483af9e9 100644
--- a/java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java
+++ b/java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java
@@ -40,6 +40,8 @@ public interface DialerLegacyBindings {
Activity activity,
ViewGroup alertContainer,
CallLogAdapter.CallFetcher callFetcher,
+ CallLogAdapter.MultiSelectRemoveView multiSelectRemoveView,
+ CallLogAdapter.OnActionModeStateChangedListener actionModeStateChangedListener,
CallLogCache callLogCache,
ContactInfoCache contactInfoCache,
VoicemailPlaybackPresenter voicemailPlaybackPresenter,
diff --git a/java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java b/java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java
index 6e32843ba..488fbad68 100644
--- a/java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java
+++ b/java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java
@@ -34,6 +34,8 @@ public class DialerLegacyBindingsStub implements DialerLegacyBindings {
Activity activity,
ViewGroup alertContainer,
CallLogAdapter.CallFetcher callFetcher,
+ CallLogAdapter.MultiSelectRemoveView multiSelectRemoveView,
+ CallLogAdapter.OnActionModeStateChangedListener actionModeStateChangedListener,
CallLogCache callLogCache,
ContactInfoCache contactInfoCache,
VoicemailPlaybackPresenter voicemailPlaybackPresenter,
@@ -43,6 +45,8 @@ public class DialerLegacyBindingsStub implements DialerLegacyBindings {
activity,
alertContainer,
callFetcher,
+ multiSelectRemoveView,
+ actionModeStateChangedListener,
callLogCache,
contactInfoCache,
voicemailPlaybackPresenter,
diff --git a/java/com/android/dialer/app/list/AllContactsFragment.java b/java/com/android/dialer/app/list/AllContactsFragment.java
index 04609970a..32a99e795 100644
--- a/java/com/android/dialer/app/list/AllContactsFragment.java
+++ b/java/com/android/dialer/app/list/AllContactsFragment.java
@@ -38,12 +38,16 @@ import com.android.contacts.common.list.ContactEntryListFragment;
import com.android.contacts.common.list.ContactListFilter;
import com.android.contacts.common.list.DefaultContactListAdapter;
import com.android.dialer.app.R;
-import com.android.dialer.app.widget.EmptyContentView;
-import com.android.dialer.app.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.CompatUtils;
+import com.android.dialer.logging.InteractionEvent;
+import com.android.dialer.logging.Logger;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.IntentUtil;
import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.widget.EmptyContentView;
+import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener;
+import java.util.Arrays;
/** Fragments to show all contacts with phone numbers. */
public class AllContactsFragment extends ContactEntryListFragment<ContactEntryListAdapter>
@@ -149,6 +153,8 @@ public class AllContactsFragment extends ContactEntryListFragment<ContactEntryLi
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
final Uri uri = (Uri) view.getTag();
if (uri != null) {
+ Logger.get(getContext())
+ .logInteraction(InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_ALL_CONTACTS_GENERAL);
if (CompatUtils.hasPrioritizedMimeType()) {
QuickContact.showQuickContact(getContext(), view, uri, null, Phone.CONTENT_ITEM_TYPE);
} else {
@@ -169,9 +175,15 @@ public class AllContactsFragment extends ContactEntryListFragment<ContactEntryLi
return;
}
- if (!PermissionsUtil.hasPermission(activity, READ_CONTACTS)) {
+ String[] deniedPermissions =
+ PermissionsUtil.getPermissionsCurrentlyDenied(
+ getContext(), PermissionsUtil.allContactsGroupPermissionsUsedInDialer);
+ if (deniedPermissions.length > 0) {
+ LogUtil.i(
+ "AllContactsFragment.onEmptyViewActionButtonClicked",
+ "Requesting permissions: " + Arrays.toString(deniedPermissions));
FragmentCompat.requestPermissions(
- this, new String[] {READ_CONTACTS}, READ_CONTACTS_PERMISSION_REQUEST_CODE);
+ this, deniedPermissions, READ_CONTACTS_PERMISSION_REQUEST_CODE);
} else {
// Add new contact
DialerUtils.startActivityWithErrorToast(
diff --git a/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java b/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java
index 537f488d5..fc0bd3ccf 100644
--- a/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java
+++ b/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java
@@ -19,6 +19,8 @@ package com.android.dialer.app.list;
import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
+import android.graphics.drawable.Drawable;
+import android.support.v4.content.ContextCompat;
import android.telephony.PhoneNumberUtils;
import android.text.BidiFormatter;
import android.text.TextDirectionHeuristics;
@@ -29,7 +31,6 @@ import com.android.contacts.common.list.PhoneNumberListAdapter;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.dialer.app.R;
import com.android.dialer.location.GeoUtil;
-import com.android.dialer.util.CallUtil;
/**
* {@link PhoneNumberListAdapter} with the following added shortcuts, that are displayed as list
@@ -50,7 +51,6 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
private final boolean[] mShortcutEnabled = new boolean[SHORTCUT_COUNT];
private final BidiFormatter mBidiFormatter = BidiFormatter.getInstance();
- private final boolean mVideoCallingEnabled;
private final String mCountryIso;
private String mFormattedQueryString;
@@ -59,7 +59,6 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
super(context);
mCountryIso = GeoUtil.getCurrentCountryIso(context);
- mVideoCallingEnabled = CallUtil.isVideoEnabled(context);
}
@Override
@@ -110,8 +109,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
return convertView;
} else {
final ContactListItemView v =
- new ContactListItemView(
- getContext(), null, mVideoCallingEnabled, isCallAndShareEnabled());
+ new ContactListItemView(getContext(), null, mIsImsVideoEnabled);
assignShortcutToView(v, shortcutType);
return v;
}
@@ -125,8 +123,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
Context context, int partition, Cursor cursor, int position, ViewGroup parent) {
final ContactListItemView view = super.newView(context, partition, cursor, position, parent);
- view.setSupportVideoCallIcon(mVideoCallingEnabled);
- view.setSupportCallAndShareIcon(isCallAndShareEnabled());
+ view.setSupportVideoCallIcon(mIsImsVideoEnabled);
return view;
}
@@ -171,7 +168,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
private void assignShortcutToView(ContactListItemView v, int shortcutType) {
final CharSequence text;
- final int drawableId;
+ final Drawable drawable;
final Resources resources = getContext().getResources();
final String number = getFormattedQueryString();
switch (shortcutType) {
@@ -181,34 +178,39 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter {
resources,
R.string.search_shortcut_call_number,
mBidiFormatter.unicodeWrap(number, TextDirectionHeuristics.LTR));
- drawableId = R.drawable.ic_search_phone;
+ drawable = ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_call_vd_theme_24);
break;
case SHORTCUT_CREATE_NEW_CONTACT:
text = resources.getString(R.string.search_shortcut_create_new_contact);
- drawableId = R.drawable.ic_search_add_contact;
+ drawable =
+ ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_person_add_vd_theme_24);
+ drawable.setAutoMirrored(true);
break;
case SHORTCUT_ADD_TO_EXISTING_CONTACT:
text = resources.getString(R.string.search_shortcut_add_to_contact);
- drawableId = R.drawable.quantum_ic_person_white_24;
+ drawable =
+ ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_person_add_vd_theme_24);
break;
case SHORTCUT_SEND_SMS_MESSAGE:
text = resources.getString(R.string.search_shortcut_send_sms_message);
- drawableId = R.drawable.quantum_ic_message_white_24;
+ drawable =
+ ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_message_vd_theme_24);
break;
case SHORTCUT_MAKE_VIDEO_CALL:
text = resources.getString(R.string.search_shortcut_make_video_call);
- drawableId = R.drawable.quantum_ic_videocam_white_24;
+ drawable =
+ ContextCompat.getDrawable(getContext(), R.drawable.quantum_ic_videocam_vd_theme_24);
break;
case SHORTCUT_BLOCK_NUMBER:
text = resources.getString(R.string.search_shortcut_block_number);
- drawableId = R.drawable.ic_not_interested_googblue_24dp;
+ drawable =
+ ContextCompat.getDrawable(getContext(), R.drawable.ic_not_interested_googblue_24dp);
break;
default:
throw new IllegalArgumentException("Invalid shortcut type");
}
- v.setDrawableResource(drawableId);
+ v.setDrawable(drawable);
v.setDisplayName(text);
- v.setPhotoPosition(super.getPhotoPosition());
v.setAdjustSelectionBoundsEnabled(false);
}
diff --git a/java/com/android/dialer/app/list/DialerViewPager.java b/java/com/android/dialer/app/list/DialerViewPager.java
new file mode 100644
index 000000000..ae99f0521
--- /dev/null
+++ b/java/com/android/dialer/app/list/DialerViewPager.java
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.app.list;
+
+import android.content.Context;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+
+/** Class that handles enabling/disabling swiping between @{ViewPagerTabs}. */
+public class DialerViewPager extends ViewPager {
+
+ private boolean enableSwipingPages;
+
+ public DialerViewPager(Context context, AttributeSet attributeSet) {
+ super(context, attributeSet);
+ enableSwipingPages = true;
+ }
+
+ @Override
+ public boolean onInterceptTouchEvent(MotionEvent event) {
+ if (enableSwipingPages) {
+ return super.onInterceptTouchEvent(event);
+ }
+
+ return false;
+ }
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ if (enableSwipingPages) {
+ return super.onTouchEvent(event);
+ }
+
+ return false;
+ }
+
+ public void setEnableSwipingPages(boolean enabled) {
+ enableSwipingPages = enabled;
+ }
+}
diff --git a/java/com/android/dialer/app/list/DialtactsPagerAdapter.java b/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
index dba3d3a93..822aa789f 100644
--- a/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
+++ b/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
@@ -28,8 +28,8 @@ import com.android.dialer.calllog.CallLogComponent;
import com.android.dialer.calllog.CallLogFramework;
import com.android.dialer.calllog.ui.NewCallLogFragment;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.contactsfragment.ContactsFragment;
import com.android.dialer.database.CallLogQueryHandler;
import com.android.dialer.speeddial.SpeedDialFragment;
@@ -78,7 +78,7 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {
CallLogFramework callLogFramework = CallLogComponent.get(context).callLogFramework();
useNewCallLogTab = callLogFramework.isNewCallLogEnabled(context);
useNewContactsTab =
- ConfigProviderBindings.get(context).getBoolean("enable_new_contacts_tab", false);
+ ConfigProviderBindings.get(context).getBoolean("enable_new_contacts_tab", true);
this.tabTitles = tabTitles;
hasActiveVoicemailProvider = hasVoicemailProvider;
fragments.addAll(Collections.nCopies(TAB_COUNT_WITH_VOICEMAIL, null));
diff --git a/java/com/android/dialer/app/list/ListsFragment.java b/java/com/android/dialer/app/list/ListsFragment.java
index 8dd52a9d4..3f03db1e8 100644
--- a/java/com/android/dialer/app/list/ListsFragment.java
+++ b/java/com/android/dialer/app/list/ListsFragment.java
@@ -31,7 +31,6 @@ import android.os.Handler;
import android.os.Trace;
import android.preference.PreferenceManager;
import android.provider.VoicemailContract;
-import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
@@ -44,9 +43,12 @@ import com.android.dialer.app.voicemail.error.VoicemailStatusCorruptionHandler;
import com.android.dialer.app.voicemail.error.VoicemailStatusCorruptionHandler.Source;
import com.android.dialer.common.LogUtil;
import com.android.dialer.database.CallLogQueryHandler;
+import com.android.dialer.database.CallLogQueryHandler.Listener;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.ScreenEvent;
+import com.android.dialer.logging.UiAction;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.speeddial.SpeedDialFragment;
import com.android.dialer.util.PermissionsUtil;
import com.android.dialer.voicemailstatus.VisualVoicemailEnabledChecker;
@@ -60,11 +62,11 @@ import java.util.ArrayList;
* Contacts list. This will also eventually contain the logic that allows sliding the ViewPager
* containing the lists up above the search bar and pin it against the top of the screen.
*/
-public class ListsFragment extends Fragment
- implements ViewPager.OnPageChangeListener, CallLogQueryHandler.Listener {
+public class ListsFragment extends Fragment implements OnPageChangeListener, Listener {
private static final String TAG = "ListsFragment";
- private ViewPager mViewPager;
+
+ private DialerViewPager mViewPager;
private ViewPagerTabs mViewPagerTabs;
private DialtactsPagerAdapter mAdapter;
private RemoveView mRemoveView;
@@ -77,10 +79,12 @@ public class ListsFragment extends Fragment
private final ArrayList<OnPageChangeListener> mOnPageChangeListeners = new ArrayList<>();
/** The position of the currently selected tab. */
private int mTabIndex = TAB_INDEX_SPEED_DIAL;
- private boolean mPaused;
+ private boolean mPaused;
private CallLogQueryHandler mCallLogQueryHandler;
+ private UiAction.Type[] actionTypeList;
+
private final ContentObserver mVoicemailStatusObserver =
new ContentObserver(new Handler()) {
@Override
@@ -151,6 +155,12 @@ public class ListsFragment extends Fragment
Trace.endSection();
Trace.beginSection(TAG + " setup views");
+ actionTypeList = new UiAction.Type[TAB_COUNT_WITH_VOICEMAIL];
+ actionTypeList[TAB_INDEX_SPEED_DIAL] = UiAction.Type.CHANGE_TAB_TO_FAVORITE;
+ actionTypeList[TAB_INDEX_HISTORY] = UiAction.Type.CHANGE_TAB_TO_CALL_LOG;
+ actionTypeList[TAB_INDEX_ALL_CONTACTS] = UiAction.Type.CHANGE_TAB_TO_CONTACTS;
+ actionTypeList[TAB_INDEX_VOICEMAIL] = UiAction.Type.CHANGE_TAB_TO_VOICEMAIL;
+
String[] tabTitles = new String[TAB_COUNT_WITH_VOICEMAIL];
tabTitles[TAB_INDEX_SPEED_DIAL] = getResources().getString(R.string.tab_speed_dial);
tabTitles[TAB_INDEX_HISTORY] = getResources().getString(R.string.tab_history);
@@ -163,7 +173,7 @@ public class ListsFragment extends Fragment
tabIcons[TAB_INDEX_ALL_CONTACTS] = R.drawable.quantum_ic_people_white_24;
tabIcons[TAB_INDEX_VOICEMAIL] = R.drawable.quantum_ic_voicemail_white_24;
- mViewPager = (ViewPager) parentView.findViewById(R.id.lists_pager);
+ mViewPager = (DialerViewPager) parentView.findViewById(R.id.lists_pager);
mAdapter =
new DialtactsPagerAdapter(
getContext(),
@@ -180,7 +190,6 @@ public class ListsFragment extends Fragment
mViewPagerTabs.configureTabIcons(tabIcons);
mViewPagerTabs.setViewPager(mViewPager);
addOnPageChangeListener(mViewPagerTabs);
-
mRemoveView = (RemoveView) parentView.findViewById(R.id.remove_view);
mRemoveViewContent = parentView.findViewById(R.id.remove_view_content);
@@ -191,7 +200,7 @@ public class ListsFragment extends Fragment
.registerContentObserver(
VoicemailContract.Status.CONTENT_URI, true, mVoicemailStatusObserver);
} else {
- LogUtil.w("ListsFragment.onCreateView", "no voicemail read/add permissions");
+ LogUtil.w("ListsFragment.onCreateView", "no voicemail read permissions");
}
Trace.endSection();
@@ -213,8 +222,8 @@ public class ListsFragment extends Fragment
/**
* Shows the tab with the specified index. If the voicemail tab index is specified, but the
- * voicemail status hasn't been fetched, it will try to show the tab after the voicemail status
- * has been fetched.
+ * voicemail status hasn't been fetched, it will show the speed dial tab and try to show the
+ * voicemail tab after the voicemail status has been fetched.
*/
public void showTab(int index) {
if (index == TAB_INDEX_VOICEMAIL) {
@@ -241,6 +250,8 @@ public class ListsFragment extends Fragment
@Override
public void onPageSelected(int position) {
+ PerformanceReport.recordClick(actionTypeList[position]);
+
LogUtil.i("ListsFragment.onPageSelected", "position: %d", position);
mTabIndex = mAdapter.getRtlPosition(position);
@@ -375,7 +386,7 @@ public class ListsFragment extends Fragment
public void markMissedCallsAsReadAndRemoveNotifications() {
if (mCallLogQueryHandler != null) {
mCallLogQueryHandler.markMissedCallsAsRead();
- CallLogNotificationsService.markNewMissedCallsAsOld(getContext(), null);
+ CallLogNotificationsService.cancelAllMissedCalls(getContext());
}
}
@@ -385,6 +396,11 @@ public class ListsFragment extends Fragment
mRemoveView.animate().alpha(show ? 1 : 0).start();
}
+ public void showMultiSelectRemoveView(boolean show) {
+ mViewPagerTabs.setVisibility(show ? View.GONE : View.VISIBLE);
+ mViewPager.setEnableSwipingPages(!show);
+ }
+
public boolean hasFrequents() {
Fragment page = mAdapter.getItem(mAdapter.getRtlPosition(TAB_INDEX_SPEED_DIAL));
return page instanceof OldSpeedDialFragment
diff --git a/java/com/android/dialer/app/list/OldSpeedDialFragment.java b/java/com/android/dialer/app/list/OldSpeedDialFragment.java
index 40fe74565..05d017b28 100644
--- a/java/com/android/dialer/app/list/OldSpeedDialFragment.java
+++ b/java/com/android/dialer/app/list/OldSpeedDialFragment.java
@@ -50,13 +50,13 @@ import com.android.contacts.common.ContactTileLoaderFactory;
import com.android.contacts.common.list.ContactTileView;
import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
import com.android.dialer.app.R;
-import com.android.dialer.app.widget.EmptyContentView;
-import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallSpecificAppData;
import com.android.dialer.common.LogUtil;
import com.android.dialer.util.PermissionsUtil;
import com.android.dialer.util.ViewUtil;
+import com.android.dialer.widget.EmptyContentView;
import java.util.ArrayList;
+import java.util.Arrays;
/** This fragment displays the user's favorite/frequent contacts in a grid. */
public class OldSpeedDialFragment extends Fragment
@@ -404,9 +404,15 @@ public class OldSpeedDialFragment extends Fragment
return;
}
- if (!PermissionsUtil.hasPermission(activity, READ_CONTACTS)) {
+ String[] deniedPermissions =
+ PermissionsUtil.getPermissionsCurrentlyDenied(
+ getContext(), PermissionsUtil.allContactsGroupPermissionsUsedInDialer);
+ if (deniedPermissions.length > 0) {
+ LogUtil.i(
+ "OldSpeedDialFragment.onEmptyViewActionButtonClicked",
+ "Requesting permissions: " + Arrays.toString(deniedPermissions));
FragmentCompat.requestPermissions(
- this, new String[] {READ_CONTACTS}, READ_CONTACTS_PERMISSION_REQUEST_CODE);
+ this, deniedPermissions, READ_CONTACTS_PERMISSION_REQUEST_CODE);
} else {
// Switch tabs
((HostInterface) activity).showAllContactsTab();
@@ -430,7 +436,7 @@ public class OldSpeedDialFragment extends Fragment
void showAllContactsTab();
}
- private class ContactTileLoaderListener implements LoaderManager.LoaderCallbacks<Cursor> {
+ class ContactTileLoaderListener implements LoaderManager.LoaderCallbacks<Cursor> {
@Override
public CursorLoader onCreateLoader(int id, Bundle args) {
@@ -460,24 +466,17 @@ public class OldSpeedDialFragment extends Fragment
private class ContactTileAdapterListener implements ContactTileView.Listener {
@Override
- public void onContactSelected(Uri contactUri, Rect targetRect) {
+ public void onContactSelected(
+ Uri contactUri, Rect targetRect, CallSpecificAppData callSpecificAppData) {
if (mPhoneNumberPickerActionListener != null) {
- CallSpecificAppData callSpecificAppData =
- CallSpecificAppData.newBuilder()
- .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL)
- .build();
mPhoneNumberPickerActionListener.onPickDataUri(
contactUri, false /* isVideoCall */, callSpecificAppData);
}
}
@Override
- public void onCallNumberDirectly(String phoneNumber) {
+ public void onCallNumberDirectly(String phoneNumber, CallSpecificAppData callSpecificAppData) {
if (mPhoneNumberPickerActionListener != null) {
- CallSpecificAppData callSpecificAppData =
- CallSpecificAppData.newBuilder()
- .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL)
- .build();
mPhoneNumberPickerActionListener.onPickPhoneNumber(
phoneNumber, false /* isVideoCall */, callSpecificAppData);
}
diff --git a/java/com/android/dialer/app/list/PhoneFavoriteListView.java b/java/com/android/dialer/app/list/PhoneFavoriteListView.java
index 9516f0611..f4f395ff0 100644
--- a/java/com/android/dialer/app/list/PhoneFavoriteListView.java
+++ b/java/com/android/dialer/app/list/PhoneFavoriteListView.java
@@ -1,6 +1,5 @@
/*
- * Copyright (C) 2012 Google Inc.
- * Licensed to The Android Open Source Project.
+ * 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.
@@ -24,7 +23,6 @@ import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.os.Handler;
import android.util.AttributeSet;
-import android.util.Log;
import android.view.DragEvent;
import android.view.MotionEvent;
import android.view.View;
@@ -33,6 +31,7 @@ import android.widget.GridView;
import android.widget.ImageView;
import com.android.dialer.app.R;
import com.android.dialer.app.list.DragDropController.DragItemContainer;
+import com.android.dialer.common.LogUtil;
/** Viewgroup that presents the user's speed dial contacts in a grid. */
public class PhoneFavoriteListView extends GridView
@@ -40,14 +39,14 @@ public class PhoneFavoriteListView extends GridView
public static final String LOG_TAG = PhoneFavoriteListView.class.getSimpleName();
final int[] mLocationOnScreen = new int[2];
- private final long SCROLL_HANDLER_DELAY_MILLIS = 5;
- private final int DRAG_SCROLL_PX_UNIT = 25;
- private final float DRAG_SHADOW_ALPHA = 0.7f;
+ private static final long SCROLL_HANDLER_DELAY_MILLIS = 5;
+ private static final int DRAG_SCROLL_PX_UNIT = 25;
+ private static final float DRAG_SHADOW_ALPHA = 0.7f;
/**
* {@link #mTopScrollBound} and {@link mBottomScrollBound} will be offseted to the top / bottom by
* {@link #getHeight} * {@link #BOUND_GAP_RATIO} pixels.
*/
- private final float BOUND_GAP_RATIO = 0.2f;
+ private static final float BOUND_GAP_RATIO = 0.2f;
private float mTouchSlop;
private int mTopScrollBound;
@@ -67,7 +66,6 @@ public class PhoneFavoriteListView extends GridView
}
};
private boolean mIsDragScrollerRunning = false;
- private int mTouchDownForDragStartX;
private int mTouchDownForDragStartY;
private Bitmap mDragShadowBitmap;
private ImageView mDragShadowOverlay;
@@ -98,7 +96,7 @@ public class PhoneFavoriteListView extends GridView
}
public PhoneFavoriteListView(Context context, AttributeSet attrs) {
- this(context, attrs, -1);
+ this(context, attrs, 0);
}
public PhoneFavoriteListView(Context context, AttributeSet attrs, int defStyle) {
@@ -121,7 +119,6 @@ public class PhoneFavoriteListView extends GridView
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
- mTouchDownForDragStartX = (int) ev.getX();
mTouchDownForDragStartY = (int) ev.getY();
}
@@ -287,7 +284,7 @@ public class PhoneFavoriteListView extends GridView
try {
bitmap = cache.copy(Bitmap.Config.ARGB_8888, false);
} catch (final OutOfMemoryError e) {
- Log.w(LOG_TAG, "Failed to copy bitmap from Drawing cache", e);
+ LogUtil.w(LOG_TAG, "Failed to copy bitmap from Drawing cache", e);
bitmap = null;
}
}
diff --git a/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java
index 5a18d039b..40f23ea6f 100644
--- a/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java
+++ b/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java
@@ -26,6 +26,8 @@ import android.widget.TextView;
import com.android.contacts.common.list.ContactEntry;
import com.android.dialer.app.R;
import com.android.dialer.compat.CompatUtils;
+import com.android.dialer.logging.InteractionEvent;
+import com.android.dialer.logging.Logger;
/** Displays the contact's picture overlaid with their name and number type in a tile. */
public class PhoneFavoriteSquareTileView extends PhoneFavoriteTileView {
@@ -87,6 +89,8 @@ public class PhoneFavoriteSquareTileView extends PhoneFavoriteTileView {
new OnClickListener() {
@Override
public void onClick(View v) {
+ Logger.get(getContext())
+ .logInteraction(InteractionEvent.Type.SPEED_DIAL_OPEN_CONTACT_CARD);
launchQuickContact();
}
});
diff --git a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
index db89cf3dc..eb4f8e967 100644
--- a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
+++ b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java
@@ -18,16 +18,22 @@ package com.android.dialer.app.list;
import android.content.ClipData;
import android.content.Context;
+import android.provider.ContactsContract.PinnedPositions;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
-import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
import com.android.contacts.common.MoreContactUtils;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
import com.android.contacts.common.list.ContactEntry;
import com.android.contacts.common.list.ContactTileView;
import com.android.dialer.app.R;
+import com.android.dialer.callintent.CallInitiationType;
+import com.android.dialer.callintent.CallSpecificAppData;
+import com.android.dialer.callintent.SpeedDialContactType;
+import com.android.dialer.logging.InteractionEvent;
+import com.android.dialer.logging.Logger;
/**
* A light version of the {@link com.android.contacts.common.list.ContactTileView} that is used in
@@ -42,7 +48,6 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
// tile is long pressed.
static final String DRAG_PHONE_FAVORITE_TILE = "PHONE_FAVORITE_TILE";
private static final String TAG = PhoneFavoriteTileView.class.getSimpleName();
- private static final boolean DEBUG = false;
// These parameters instruct the photo manager to display the default image/letter at 70% of
// its normal size, and vertically offset upwards 12% towards the top of the letter tile, to
// make room for the contact name and number label at the bottom of the image.
@@ -55,6 +60,8 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
private View mShadowOverlay;
/** Users' most frequent phone number. */
private String mPhoneNumberString;
+ private boolean isPinned;
+ private boolean isStarred;
public PhoneFavoriteTileView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -83,6 +90,8 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
super.loadFromContact(entry);
// Set phone number to null in case we're reusing the view.
mPhoneNumberString = null;
+ isPinned = (entry.pinned != PinnedPositions.UNPINNED);
+ isStarred = entry.isFavorite;
if (entry != null) {
// Grab the phone-number to call directly. See {@link onClick()}.
mPhoneNumberString = entry.phoneNumber;
@@ -113,16 +122,37 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
if (mListener == null) {
return;
}
+
+ CallSpecificAppData.Builder callSpecificAppData =
+ CallSpecificAppData.newBuilder()
+ .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL)
+ .setSpeedDialContactPosition(
+ ((PhoneFavoriteListView) v.getParent()).getPositionForView(v));
+ if (isStarred) {
+ callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.STARRED_CONTACT);
+ } else {
+ callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.FREQUENT_CONTACT);
+ }
+ if (isPinned) {
+ callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.PINNED_CONTACT);
+ }
+
if (TextUtils.isEmpty(mPhoneNumberString)) {
+ // Don't set performance report now, since user may spend some time on picking a number
+
// Copy "superclass" implementation
+ Logger.get(getContext())
+ .logInteraction(InteractionEvent.Type.SPEED_DIAL_CLICK_CONTACT_WITH_AMBIGUOUS_NUMBER);
mListener.onContactSelected(
- getLookupUri(), MoreContactUtils.getTargetRectFromView(PhoneFavoriteTileView.this));
+ getLookupUri(),
+ MoreContactUtils.getTargetRectFromView(PhoneFavoriteTileView.this),
+ callSpecificAppData.build());
} else {
// When you tap a frequently-called contact, you want to
// call them at the number that you usually talk to them
// at (i.e. the one displayed in the UI), regardless of
// whether that's their default number.
- mListener.onCallNumberDirectly(mPhoneNumberString);
+ mListener.onCallNumberDirectly(mPhoneNumberString, callSpecificAppData.build());
}
}
};
@@ -133,7 +163,7 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
return new DefaultImageRequest(
displayName,
lookupKey,
- ContactPhotoManager.TYPE_DEFAULT,
+ LetterTileDrawable.TYPE_DEFAULT,
DEFAULT_IMAGE_LETTER_SCALE,
DEFAULT_IMAGE_LETTER_OFFSET,
false);
diff --git a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
index c692ecac7..876fbf146 100644
--- a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
+++ b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
@@ -30,7 +30,6 @@ import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.PinnedPositions;
import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
-import android.util.Log;
import android.util.LongSparseArray;
import android.view.View;
import android.view.ViewGroup;
@@ -41,6 +40,11 @@ import com.android.contacts.common.list.ContactEntry;
import com.android.contacts.common.list.ContactTileView;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.dialer.app.R;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.lightbringer.Lightbringer;
+import com.android.dialer.lightbringer.LightbringerComponent;
+import com.android.dialer.logging.InteractionEvent;
+import com.android.dialer.logging.Logger;
import com.android.dialer.shortcuts.ShortcutRefresher;
import com.google.common.collect.ComparisonChain;
import java.util.ArrayList;
@@ -190,6 +194,14 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
// Track the length of {@link #mContactEntries} and compare to {@link #TILES_SOFT_LIMIT}.
int counter = 0;
+ // Data for logging
+ int starredContactsCount = 0;
+ int pinnedContactsCount = 0;
+ int multipleNumbersContactsCount = 0;
+ int contactsWithPhotoCount = 0;
+ int contactsWithNameCount = 0;
+ int lightbringerReachableContactsCount = 0;
+
// The cursor should not be closed since this is invoked from a CursorLoader.
if (cursor.moveToFirst()) {
int starredColumn = cursor.getColumnIndexOrThrow(Contacts.STARRED);
@@ -262,6 +274,22 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
contact.pinned = pinned;
mContactEntries.add(contact);
+ // Set counts for logging
+ if (isStarred) {
+ // mNumStarred might be larger than the number of visible starred contact,
+ // since it includes invisible ones (starred contact with no phone number).
+ starredContactsCount++;
+ }
+ if (pinned != PinnedPositions.UNPINNED) {
+ pinnedContactsCount++;
+ }
+ if (!TextUtils.isEmpty(name)) {
+ contactsWithNameCount++;
+ }
+ if (photoUri != null) {
+ contactsWithPhotoCount++;
+ }
+
duplicates.put(id, contact);
counter++;
@@ -274,6 +302,47 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
ShortcutRefresher.refresh(mContext, mContactEntries);
notifyDataSetChanged();
+
+ Lightbringer lightbringer = LightbringerComponent.get(mContext).getLightbringer();
+ for (ContactEntry contact : mContactEntries) {
+ if (contact.phoneNumber == null) {
+ multipleNumbersContactsCount++;
+ } else if (lightbringer.isReachable(mContext, contact.phoneNumber)) {
+ lightbringerReachableContactsCount++;
+ }
+ }
+
+ Logger.get(mContext)
+ .logSpeedDialContactComposition(
+ counter,
+ starredContactsCount,
+ pinnedContactsCount,
+ multipleNumbersContactsCount,
+ contactsWithPhotoCount,
+ contactsWithNameCount,
+ lightbringerReachableContactsCount);
+ // Logs for manual testing
+ LogUtil.v("PhoneFavoritesTileAdapter.saveCursorToCache", "counter: %d", counter);
+ LogUtil.v(
+ "PhoneFavoritesTileAdapter.saveCursorToCache",
+ "starredContactsCount: %d",
+ starredContactsCount);
+ LogUtil.v(
+ "PhoneFavoritesTileAdapter.saveCursorToCache",
+ "pinnedContactsCount: %d",
+ pinnedContactsCount);
+ LogUtil.v(
+ "PhoneFavoritesTileAdapter.saveCursorToCache",
+ "multipleNumbersContactsCount: %d",
+ multipleNumbersContactsCount);
+ LogUtil.v(
+ "PhoneFavoritesTileAdapter.saveCursorToCache",
+ "contactsWithPhotoCount: %d",
+ contactsWithPhotoCount);
+ LogUtil.v(
+ "PhoneFavoritesTileAdapter.saveCursorToCache",
+ "contactsWithNameCount: %d",
+ contactsWithNameCount);
}
/** Iterates over the {@link Cursor} Returns position of the first NON Starred Contact */
@@ -347,7 +416,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
@Override
public void notifyDataSetChanged() {
if (DEBUG) {
- Log.v(TAG, "notifyDataSetChanged");
+ LogUtil.v(TAG, "notifyDataSetChanged");
}
super.notifyDataSetChanged();
}
@@ -355,7 +424,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (DEBUG) {
- Log.v(TAG, "get view for " + String.valueOf(position));
+ LogUtil.v(TAG, "get view for " + position);
}
PhoneFavoriteTileView tileView = null;
@@ -455,8 +524,9 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
// update the database here with the new pinned positions
try {
mContext.getContentResolver().applyBatch(ContactsContract.AUTHORITY, operations);
+ Logger.get(mContext).logInteraction(InteractionEvent.Type.SPEED_DIAL_PIN_CONTACT);
} catch (RemoteException | OperationApplicationException e) {
- Log.e(TAG, "Exception thrown when pinning contacts", e);
+ LogUtil.e(TAG, "Exception thrown when pinning contacts", e);
}
}
}
@@ -609,6 +679,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
if (mDraggedEntry != null) {
unstarAndUnpinContact(mDraggedEntry.lookupUri);
mAwaitingRemove = true;
+ Logger.get(mContext).logInteraction(InteractionEvent.Type.SPEED_DIAL_REMOVE_CONTACT);
}
}
diff --git a/java/com/android/dialer/app/list/RegularSearchFragment.java b/java/com/android/dialer/app/list/RegularSearchFragment.java
index 02896793b..728948bfc 100644
--- a/java/com/android/dialer/app/list/RegularSearchFragment.java
+++ b/java/com/android/dialer/app/list/RegularSearchFragment.java
@@ -25,12 +25,14 @@ import android.view.ViewGroup;
import com.android.contacts.common.list.ContactEntryListAdapter;
import com.android.contacts.common.list.PinnedHeaderListView;
import com.android.dialer.app.R;
-import com.android.dialer.app.widget.EmptyContentView;
-import com.android.dialer.app.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener;
import com.android.dialer.callintent.CallInitiationType;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.phonenumbercache.CachedNumberLookupService;
import com.android.dialer.phonenumbercache.PhoneNumberCache;
import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.widget.EmptyContentView;
+import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener;
+import java.util.Arrays;
public class RegularSearchFragment extends SearchFragment
implements OnEmptyViewActionButtonClickedListener,
@@ -114,8 +116,15 @@ public class RegularSearchFragment extends SearchFragment
}
if (READ_CONTACTS.equals(mPermissionToRequest)) {
- FragmentCompat.requestPermissions(
- this, new String[] {mPermissionToRequest}, PERMISSION_REQUEST_CODE);
+ String[] deniedPermissions =
+ PermissionsUtil.getPermissionsCurrentlyDenied(
+ getContext(), PermissionsUtil.allContactsGroupPermissionsUsedInDialer);
+ if (deniedPermissions.length > 0) {
+ LogUtil.i(
+ "RegularSearchFragment.onEmptyViewActionButtonClicked",
+ "Requesting permissions: " + Arrays.toString(deniedPermissions));
+ FragmentCompat.requestPermissions(this, deniedPermissions, PERMISSION_REQUEST_CODE);
+ }
}
}
diff --git a/java/com/android/dialer/app/list/RemoveView.java b/java/com/android/dialer/app/list/RemoveView.java
index 3b917db43..1d566c5a0 100644
--- a/java/com/android/dialer/app/list/RemoveView.java
+++ b/java/com/android/dialer/app/list/RemoveView.java
@@ -41,7 +41,7 @@ public class RemoveView extends FrameLayout {
}
public RemoveView(Context context, AttributeSet attrs) {
- this(context, attrs, -1);
+ this(context, attrs, 0);
}
public RemoveView(Context context, AttributeSet attrs, int defStyle) {
diff --git a/java/com/android/dialer/app/list/SearchFragment.java b/java/com/android/dialer/app/list/SearchFragment.java
index fcf8236e3..00a2708a1 100644
--- a/java/com/android/dialer/app/list/SearchFragment.java
+++ b/java/com/android/dialer/app/list/SearchFragment.java
@@ -34,19 +34,20 @@ import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Space;
import com.android.contacts.common.list.ContactEntryListAdapter;
-import com.android.contacts.common.list.ContactListItemView;
import com.android.contacts.common.list.OnPhoneNumberPickerActionListener;
import com.android.contacts.common.list.PhoneNumberPickerFragment;
import com.android.dialer.animation.AnimUtils;
import com.android.dialer.app.R;
import com.android.dialer.app.dialpad.DialpadFragment.ErrorDialogFragment;
import com.android.dialer.app.widget.DialpadSearchEmptyContentView;
-import com.android.dialer.app.widget.EmptyContentView;
import com.android.dialer.callintent.CallSpecificAppData;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.IntentUtil;
import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.widget.EmptyContentView;
public class SearchFragment extends PhoneNumberPickerFragment {
@@ -80,7 +81,6 @@ public class SearchFragment extends PhoneNumberPickerFragment {
setQuickContactEnabled(true);
setAdjustSelectionBoundsEnabled(false);
setDarkTheme(false);
- setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(false /* opposite */));
setUseCallableUri(true);
try {
@@ -98,9 +98,6 @@ public class SearchFragment extends PhoneNumberPickerFragment {
public void onStart() {
LogUtil.d("SearchFragment.onStart", "");
super.onStart();
- if (isSearchMode()) {
- getAdapter().setHasHeader(0, false);
- }
mActivity = (HostInterface) getActivity();
@@ -172,16 +169,6 @@ public class SearchFragment extends PhoneNumberPickerFragment {
return animator;
}
- @Override
- protected void setSearchMode(boolean flag) {
- super.setSearchMode(flag);
- // This hides the "All contacts with phone numbers" header in the search fragment
- final ContactEntryListAdapter adapter = getAdapter();
- if (adapter != null) {
- adapter.setHasHeader(0, false);
- }
- }
-
public void setAddToContactNumber(String addToContactNumber) {
mAddToContactNumber = addToContactNumber;
}
@@ -249,6 +236,10 @@ public class SearchFragment extends PhoneNumberPickerFragment {
}
break;
case DialerPhoneNumberListAdapter.SHORTCUT_CREATE_NEW_CONTACT:
+ if (this instanceof SmartDialSearchFragment) {
+ Logger.get(getContext())
+ .logImpression(DialerImpression.Type.CREATE_NEW_CONTACT_FROM_DIALPAD);
+ }
number =
TextUtils.isEmpty(mAddToContactNumber)
? adapter.getFormattedQueryString()
@@ -257,6 +248,10 @@ public class SearchFragment extends PhoneNumberPickerFragment {
DialerUtils.startActivityWithErrorToast(getActivity(), intent);
break;
case DialerPhoneNumberListAdapter.SHORTCUT_ADD_TO_EXISTING_CONTACT:
+ if (this instanceof SmartDialSearchFragment) {
+ Logger.get(getContext())
+ .logImpression(DialerImpression.Type.ADD_TO_A_CONTACT_FROM_DIALPAD);
+ }
number =
TextUtils.isEmpty(mAddToContactNumber)
? adapter.getFormattedQueryString()
diff --git a/java/com/android/dialer/app/list/SmartDialSearchFragment.java b/java/com/android/dialer/app/list/SmartDialSearchFragment.java
index eb1508c72..2ebc06bc3 100644
--- a/java/com/android/dialer/app/list/SmartDialSearchFragment.java
+++ b/java/com/android/dialer/app/list/SmartDialSearchFragment.java
@@ -29,11 +29,12 @@ import android.support.v13.app.FragmentCompat;
import com.android.contacts.common.list.ContactEntryListAdapter;
import com.android.dialer.app.R;
import com.android.dialer.app.dialpad.SmartDialCursorLoader;
-import com.android.dialer.app.widget.EmptyContentView;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.common.LogUtil;
import com.android.dialer.database.DialerDatabaseHelper;
import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.widget.EmptyContentView;
+import java.util.Arrays;
/** Implements a fragment to load and display SmartDial search results. */
public class SmartDialSearchFragment extends SearchFragment
@@ -80,6 +81,11 @@ public class SmartDialSearchFragment extends SearchFragment
}
@Override
+ public boolean getShowEmptyListForNullQuery() {
+ return true;
+ }
+
+ @Override
protected void setupEmptyView() {
if (mEmptyView != null && getActivity() != null) {
if (!PermissionsUtil.hasPermission(getActivity(), CALL_PHONE)) {
@@ -123,8 +129,16 @@ public class SmartDialSearchFragment extends SearchFragment
return;
}
- FragmentCompat.requestPermissions(
- this, new String[] {CALL_PHONE}, CALL_PHONE_PERMISSION_REQUEST_CODE);
+ String[] deniedPermissions =
+ PermissionsUtil.getPermissionsCurrentlyDenied(
+ getContext(), PermissionsUtil.allPhoneGroupPermissionsUsedInDialer);
+ if (deniedPermissions.length > 0) {
+ LogUtil.i(
+ "SmartDialSearchFragment.onEmptyViewActionButtonClicked",
+ "Requesting permissions: " + Arrays.toString(deniedPermissions));
+ FragmentCompat.requestPermissions(
+ this, deniedPermissions, CALL_PHONE_PERMISSION_REQUEST_CODE);
+ }
}
@Override
diff --git a/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml b/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml
index ca93da0de..0729d7293 100644
--- a/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml
+++ b/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml
@@ -19,7 +19,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.dialer.app">
- <application>
+ <application android:theme="@style/Theme.AppCompat">
<activity
android:exported="false"
@@ -41,6 +41,7 @@
android:resizeableActivity="true"
android:theme="@style/DialtactsActivityTheme"
android:windowSoftInputMode="stateAlwaysHidden|adjustNothing">
+ <!-- LINT.IfChange -->
<intent-filter>
<action android:name="android.intent.action.DIAL"/>
@@ -106,6 +107,7 @@
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.TAB"/>
</intent-filter>
+ <!-- LINT.ThenChange(//depot/google3/third_party/java_src/android_app/dialer/java/com/android/dialer/dialtacts/impl/AndroidManifest.xml) -->
<meta-data
android:name="com.android.keyguard.layout"
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_48dp.png
new file mode 100644
index 000000000..eeed895f1
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_48dp.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_blue_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_blue_24dp.png
new file mode 100644
index 000000000..b041a74bd
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_blue_24dp.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_empty_check_mark_white_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_empty_check_mark_white_24dp.png
new file mode 100644
index 000000000..2c5ba8d58
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-hdpi/ic_empty_check_mark_white_24dp.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_results_phone.png
deleted file mode 100644
index 3a1a7a790..000000000
--- a/java/com/android/dialer/app/res/drawable-hdpi/ic_results_phone.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_check_mark_48dp.png
new file mode 100644
index 000000000..f3b76be4c
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-mdpi/ic_check_mark_48dp.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_results_phone.png
deleted file mode 100644
index 74ccf14b8..000000000
--- a/java/com/android/dialer/app/res/drawable-mdpi/ic_results_phone.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_check_mark_48dp.png
new file mode 100644
index 000000000..01a3bbe06
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-xhdpi/ic_check_mark_48dp.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_results_phone.png
deleted file mode 100644
index 0e24fa45c..000000000
--- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_results_phone.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_check_mark_48dp.png
new file mode 100644
index 000000000..204327950
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_check_mark_48dp.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_results_phone.png
deleted file mode 100644
index 9594619cb..000000000
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_results_phone.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_check_mark_48dp.png
new file mode 100644
index 000000000..bfbe69e35
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_check_mark_48dp.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_results_phone.png
deleted file mode 100644
index 395652cdf..000000000
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_results_phone.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable/ic_search_phone.xml b/java/com/android/dialer/app/res/drawable/ic_search_phone.xml
deleted file mode 100644
index 5d449ee56..000000000
--- a/java/com/android/dialer/app/res/drawable/ic_search_phone.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2014 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.
--->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/ic_results_phone"
- android:tint="@color/search_shortcut_icon_color"/>
diff --git a/java/com/android/dialer/app/res/drawable/ic_wifi_calling.xml b/java/com/android/dialer/app/res/drawable/ic_wifi_calling.xml
new file mode 100644
index 000000000..968713376
--- /dev/null
+++ b/java/com/android/dialer/app/res/drawable/ic_wifi_calling.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="24dp"
+ android:tint="?attr/colorControlNormal"
+ android:viewportHeight="30"
+ android:viewportWidth="30"
+ android:width="24dp">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M14.88,16.3h0L25,3.66a16.51,16.51 0,0 0,-20.3 0L14.88,16.3Z"/>
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M26.42,18.88a1.25,1.25 0,0 0,-0.89 -0.36,1.28 1.28,0 0,0 -0.87,0.35 14.26,14.26 0,0 1,-3.32 2.31,1.24 1.24,0 0,0 -0.7,1.12v3.87a18.27,18.27 0,0 1,-5.75 0.91,18.63 18.63,0 0,1 -5.75,-0.9v-3.87a1.26,1.26 0,0 0,-0.7 -1.12,14.73 14.73,0 0,1 -3.34,-2.31 1.23,1.23 0,0 0,-0.87 -0.35,1.25 1.25,0 0,0 -0.89,0.36L0.24,22a1.24,1.24 0,0 0,-0.36 0.89,1.23 1.23,0 0,0 0.37,0.87 21.26,21.26 0,0 0,29.26 0,1.27 1.27,0 0,0 0,-1.77Z"/>
+</vector> \ No newline at end of file
diff --git a/java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml b/java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml
index 5f8068067..59d13636a 100644
--- a/java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml
+++ b/java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml
@@ -26,14 +26,14 @@
android:layout_height="0dp"
android:layout_weight="1"/>
<ImageView
- android:id="@+id/emptyListViewImage"
+ android:id="@+id/empty_list_view_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:importantForAccessibility="no"/>
<TextView
- android:id="@+id/emptyListViewMessage"
+ android:id="@+id/empty_list_view_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
@@ -45,7 +45,7 @@
android:textSize="@dimen/empty_list_message_text_size"/>
<TextView
- android:id="@+id/emptyListViewAction"
+ android:id="@+id/empty_list_view_action"
style="@style/TextActionStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/java/com/android/dialer/app/res/layout/action_mode_close_button.xml b/java/com/android/dialer/app/res/layout/action_mode_close_button.xml
new file mode 100644
index 000000000..4cb85d458
--- /dev/null
+++ b/java/com/android/dialer/app/res/layout/action_mode_close_button.xml
@@ -0,0 +1,31 @@
+<?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.
+-->
+
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/action_mode_close_button"
+ style="?attr/actionModeCloseButtonStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_marginEnd="16dip"
+ android:layout_marginRight="16dip"
+ android:paddingStart="8dp"
+ android:paddingLeft="8dp"
+ android:clickable="true"
+ android:contentDescription="@string/description_cancel_multi_select"
+ android:focusable="true"
+ android:src="@drawable/quantum_ic_close_white_24"/>
+
+
diff --git a/java/com/android/dialer/app/res/layout/all_contacts_fragment.xml b/java/com/android/dialer/app/res/layout/all_contacts_fragment.xml
index 17a45208d..422c52991 100644
--- a/java/com/android/dialer/app/res/layout/all_contacts_fragment.xml
+++ b/java/com/android/dialer/app/res/layout/all_contacts_fragment.xml
@@ -45,7 +45,7 @@
android:cropToPadding="false"
android:clipToPadding="false"/>
- <com.android.dialer.app.widget.EmptyContentView
+ <com.android.dialer.widget.EmptyContentView
android:id="@+id/empty_list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/java/com/android/dialer/app/res/layout/call_log_fragment.xml b/java/com/android/dialer/app/res/layout/call_log_fragment.xml
index 64f7c10e6..bbfe4e3c9 100644
--- a/java/com/android/dialer/app/res/layout/call_log_fragment.xml
+++ b/java/com/android/dialer/app/res/layout/call_log_fragment.xml
@@ -21,6 +21,36 @@
android:background="@color/background_dialer_call_log"
android:orientation="vertical">
+ <LinearLayout
+ android:id="@+id/multi_select_select_all_view_content"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/tab_height"
+ android:layout_gravity="start"
+ android:background="@color/actionbar_background_color"
+ android:orientation="horizontal"
+ android:visibility="gone">
+
+ <ImageView
+ android:id="@+id/select_all_view_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:paddingLeft="@dimen/select_all_icon_padding"
+ android:paddingRight="@dimen/select_all_icon_padding"
+ android:gravity="center_vertical"
+ android:src="@drawable/ic_empty_check_mark_white_24dp"/>
+ <TextView
+ android:id="@+id/select_all_view_text"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:paddingLeft="@dimen/select_all_text_left_padding"
+ android:gravity="center_vertical"
+ android:text="@string/select_all"
+ android:textAllCaps="true"
+ android:textStyle="bold"
+ android:textColor="@color/remove_text_color"
+ android:textSize="@dimen/select_all_text_size"/>
+ </LinearLayout>
+
<FrameLayout
android:id="@+id/modal_message_container"
android:layout_width="match_parent"
@@ -37,7 +67,7 @@
android:background="@color/background_dialer_call_log"
android:clipToPadding="false"/>
- <com.android.dialer.app.widget.EmptyContentView
+ <com.android.dialer.widget.EmptyContentView
android:id="@+id/empty_list_view"
android:layout_width="match_parent"
android:layout_height="0dp"
diff --git a/java/com/android/dialer/app/res/layout/call_log_list_item.xml b/java/com/android/dialer/app/res/layout/call_log_list_item.xml
index 0fbbb9dd1..afb50ffba 100644
--- a/java/com/android/dialer/app/res/layout/call_log_list_item.xml
+++ b/java/com/android/dialer/app/res/layout/call_log_list_item.xml
@@ -65,7 +65,7 @@
android:layout_height="wrap_content"
>
- <QuickContactBadge
+ <com.android.dialer.app.calllog.DialerQuickContactBadge
android:id="@+id/quick_contact_photo"
android:layout_width="@dimen/contact_photo_size"
android:layout_height="@dimen/contact_photo_size"
@@ -80,7 +80,7 @@
android:layout_width="@dimen/contact_photo_size"
android:layout_height="@dimen/contact_photo_size"
android:visibility="gone"
- android:src="@drawable/quantum_ic_check_circle_googblue_24" />
+ android:src="@drawable/ic_check_mark_48dp" />
</FrameLayout>
diff --git a/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml b/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
index d3a553130..504638348 100644
--- a/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
+++ b/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml
@@ -50,7 +50,7 @@
<TextView
android:id="@+id/call_action_text"
style="@style/CallLogActionTextStyle"
- android:text="@string/description_call_log_call_action"/>
+ android:text="@string/call"/>
<TextView
android:id="@+id/call_type_or_location_text"
@@ -135,7 +135,7 @@
<ImageView
style="@style/CallLogActionIconStyle"
- android:src="@drawable/ic_call_and_share"/>
+ android:src="@drawable/ic_phone_attach"/>
<TextView
style="@style/CallLogActionTextStyle"
diff --git a/java/com/android/dialer/app/res/layout/dialpad_fragment.xml b/java/com/android/dialer/app/res/layout/dialpad_fragment.xml
index dd6dab747..9b95e1fbf 100644
--- a/java/com/android/dialer/app/res/layout/dialpad_fragment.xml
+++ b/java/com/android/dialer/app/res/layout/dialpad_fragment.xml
@@ -21,42 +21,42 @@
android:orientation="horizontal">
<LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
<!-- spacer view -->
<View
- android:id="@+id/spacer"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1"
- android:background="#00000000"/>
+ android:id="@+id/spacer"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:background="#00000000"/>
<!-- Dialpad shadow -->
<View
- android:layout_width="match_parent"
- android:layout_height="@dimen/shadow_length"
- android:background="@drawable/shadow_fade_up"/>
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/shadow_length"
+ android:background="@drawable/shadow_fade_up"/>
<include layout="@layout/dialpad_view"/>
<!-- "Dialpad chooser" UI, shown only when the user brings up the
Dialer while a call is already in progress.
When this UI is visible, the other Dialer elements
(the textfield/button and the dialpad) are hidden. -->
<ListView
- android:id="@+id/dialpadChooser"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@color/background_dialer_light"
- android:visibility="gone"/>
+ android:id="@+id/dialpadChooser"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/background_dialer_light"
+ android:visibility="gone"/>
</LinearLayout>
<!-- Margin bottom and alignParentBottom don't work well together, so use a Space instead. -->
<Space
- android:id="@+id/dialpad_floating_action_button_margin_bottom"
- android:layout_width="match_parent"
- android:layout_height="@dimen/floating_action_button_margin_bottom"
- android:layout_alignParentBottom="true"/>
+ android:id="@+id/dialpad_floating_action_button_margin_bottom"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/floating_action_button_margin_bottom"
+ android:layout_alignParentBottom="true"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/dialpad_floating_action_button"
@@ -64,8 +64,9 @@
android:layout_height="@dimen/floating_action_button_height"
android:layout_above="@id/dialpad_floating_action_button_margin_bottom"
android:layout_centerHorizontal="true"
- android:src="@drawable/quantum_ic_call_white_24"
android:contentDescription="@string/description_dial_button"
- app:elevation="@dimen/floating_action_button_translation_z"
- app:backgroundTint="@color/dialpad_fab_green"/>
+ android:src="@drawable/quantum_ic_call_vd_theme_24"
+ app:backgroundTint="@color/dialpad_fab_green"
+ app:colorControlNormal="#ffffff"
+ app:elevation="@dimen/floating_action_button_translation_z"/>
</view>
diff --git a/java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml b/java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml
index e245aaca0..1d2047982 100644
--- a/java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml
+++ b/java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml
@@ -16,7 +16,7 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
- android:id="@+id/emptyListViewImage"
+ android:id="@+id/empty_list_view_image"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_width="match_parent"
@@ -24,7 +24,7 @@
android:gravity="center_horizontal" />
<TextView
- android:id="@+id/emptyListViewMessage"
+ android:id="@+id/empty_list_view_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal|top"
@@ -36,7 +36,7 @@
android:paddingBottom="8dp"/>
<TextView
- android:id="@+id/emptyListViewAction"
+ android:id="@+id/empty_list_view_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
diff --git a/java/com/android/dialer/app/res/layout/lists_fragment.xml b/java/com/android/dialer/app/res/layout/lists_fragment.xml
index 442b428f2..95961729d 100644
--- a/java/com/android/dialer/app/res/layout/lists_fragment.xml
+++ b/java/com/android/dialer/app/res/layout/lists_fragment.xml
@@ -15,41 +15,41 @@
-->
<FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/lists_frame"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:animateLayoutChanges="true">
-
- <LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/lists_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:animateLayoutChanges="true">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
<!-- TODO: Apply background color to ActionBar instead of a FrameLayout. For now, this is
the easiest way to preserve correct pane scrolling and searchbar collapse/expand
behaviors. -->
<FrameLayout
- android:layout_width="match_parent"
- android:layout_height="@dimen/action_bar_height_large"
- android:background="@color/actionbar_background_color"
- android:elevation="@dimen/tab_elevation"/>
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/action_bar_height_large"
+ android:background="@color/actionbar_background_color"
+ android:elevation="@dimen/tab_elevation"/>
<com.android.contacts.common.list.ViewPagerTabs
- android:id="@+id/lists_pager_header"
- style="@style/DialtactsActionBarTabTextStyle"
- android:layout_width="match_parent"
- android:layout_height="@dimen/tab_height"
- android:layout_gravity="top"
- android:elevation="@dimen/tab_elevation"
- android:orientation="horizontal"
- android:textAllCaps="true"/>
-
- <android.support.v4.view.ViewPager
- android:id="@+id/lists_pager"
- android:layout_width="match_parent"
- android:layout_height="0dp"
- android:layout_weight="1"/>
+ android:id="@+id/lists_pager_header"
+ style="@style/DialtactsActionBarTabTextStyle"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/tab_height"
+ android:layout_gravity="top"
+ android:elevation="@dimen/tab_elevation"
+ android:orientation="horizontal"
+ android:textAllCaps="true"/>
+
+ <com.android.dialer.app.list.DialerViewPager
+ android:id="@+id/lists_pager"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"/>
</LinearLayout>
@@ -58,38 +58,38 @@
This is required since drag and drop event is only sent to views are visible when drag
starts. -->
<com.android.dialer.app.list.RemoveView
- android:id="@+id/remove_view"
- android:layout_width="match_parent"
- android:layout_height="@dimen/tab_height"
- android:layout_marginTop="@dimen/action_bar_height_large"
- android:contentDescription="@string/remove_contact"
- android:importantForAccessibility="no">
+ android:id="@+id/remove_view"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/tab_height"
+ android:layout_marginTop="@dimen/action_bar_height_large"
+ android:contentDescription="@string/remove_contact"
+ android:importantForAccessibility="no">
<LinearLayout
- android:id="@+id/remove_view_content"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/actionbar_background_color"
- android:gravity="center"
- android:orientation="horizontal"
- android:visibility="gone">
+ android:id="@+id/remove_view_content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/actionbar_background_color"
+ android:gravity="center"
+ android:orientation="horizontal"
+ android:visibility="gone">
<ImageView
- android:id="@+id/remove_view_icon"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginBottom="8dp"
- android:src="@drawable/ic_remove"
- android:tint="@color/remove_text_color"/>
+ android:id="@+id/remove_view_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="8dp"
+ android:src="@drawable/ic_remove"
+ android:tint="@color/remove_text_color"/>
<TextView
- android:id="@+id/remove_view_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/remove_contact"
- android:textColor="@color/remove_text_color"
- android:textSize="@dimen/remove_text_size"/>
+ android:id="@+id/remove_view_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/remove_contact"
+ android:textColor="@color/remove_text_color"
+ android:textSize="@dimen/remove_text_size"/>
</LinearLayout>
diff --git a/java/com/android/dialer/app/res/layout/search_edittext.xml b/java/com/android/dialer/app/res/layout/search_edittext.xml
index c02512d80..bb6a5f7de 100644
--- a/java/com/android/dialer/app/res/layout/search_edittext.xml
+++ b/java/com/android/dialer/app/res/layout/search_edittext.xml
@@ -29,7 +29,7 @@
android:padding="@dimen/search_box_search_icon_padding"
android:importantForAccessibility="no"
android:scaleType="center"
- android:src="@drawable/quantum_ic_search_white_24"
+ android:src="@drawable/quantum_ic_search_vd_theme_24"
android:tint="@color/searchbox_icon_tint"/>
<TextView
diff --git a/java/com/android/dialer/app/res/layout/speed_dial_fragment.xml b/java/com/android/dialer/app/res/layout/speed_dial_fragment.xml
index c778c6bc4..3fa3be229 100644
--- a/java/com/android/dialer/app/res/layout/speed_dial_fragment.xml
+++ b/java/com/android/dialer/app/res/layout/speed_dial_fragment.xml
@@ -41,7 +41,7 @@
android:numColumns="@integer/contact_tile_column_count_in_favorites"/>
</FrameLayout>
- <com.android.dialer.app.widget.EmptyContentView
+ <com.android.dialer.widget.EmptyContentView
android:id="@+id/empty_list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/java/com/android/dialer/app/res/menu/dialtacts_options.xml b/java/com/android/dialer/app/res/menu/dialtacts_options.xml
index 25a3e1811..b50e6ad5f 100644
--- a/java/com/android/dialer/app/res/menu/dialtacts_options.xml
+++ b/java/com/android/dialer/app/res/menu/dialtacts_options.xml
@@ -28,5 +28,8 @@
<item
android:id="@+id/menu_simulator_submenu"
android:title="@string/simulator_submenu_label"/>
+ <item
+ android:id="@+id/menu_new_ui_launcher_shortcut"
+ android:title="@string/new_ui_launcher_shortcut_label"/>
</menu>
diff --git a/java/com/android/dialer/app/res/values-af/strings.xml b/java/com/android/dialer/app/res/values-af/strings.xml
index 2eb462b1c..40e297386 100644
--- a/java/com/android/dialer/app/res/values-af/strings.xml
+++ b/java/com/android/dialer/app/res/values-af/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Voeg wagtyd by"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Instellings"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Nabootser"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Skep nuwe UI-kortpad"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Alle kontakte"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Gebruik raak-nommerbord"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Keer terug na oproep wat besig is"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Voeg oproep by"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Inkomende oproepe"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Gaan tans grootmaathandelingmodus in"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Het grootmaathandelingmodus verlaat"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Het <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> gekies"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Het <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ontkies"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Speel stemboodskap"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Bekyk kontak <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Bel <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Stemboodskap"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"stemboodskap"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"stemboodskappe"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nee"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Kanselleer grootmaathandelingmodus"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Vee uit"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Kanselleer"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vee geselekteerde <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> uit?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> gekies"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Vee hierdie stemboodskappe uit? "</b>"</item>
+ <item quantity="one">"<b>"Vee hierdie stemboodskap uit? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> om <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Laai tans van SIM-kaart af…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM-kaartkontakte"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Geen kontakte-program beskikbaar nie"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Stemsoektog is nie beskikbaar nie"</string>
<string name="call_not_available" msgid="7850148370757361155">"Kan nie \'n foonoproep maak nie want die Foon-program is gedeaktiveer."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Deursoek kontakte"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nuwe gemiste oproepe"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Daar is nog niemand op jou spoedbel nie"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Voeg \'n gunsteling by"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Jy het nog nie enige kontakte nie"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Voeg \'n kontak by"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Raak aan prent om al die nommers te sien of raak en hou om te herorganiseer"</string>
<string name="remove_contact" msgid="2353580570488923668">"Verwyder"</string>
+ <string name="select_all" msgid="408601760696146245">"Kies alles"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Video-oproep"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Stuur \'n boodskap"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Oproepbesonderhede"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Geblokkeerde nommers"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is reeds geblokkeer."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Oproeprekeninge"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Skakel aan"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Stel toestemmings"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Skakel die kontaktetoestemming aan om spoedbel te aktiveer."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Skakel die foontoestemming aan om jou oproeprekord te sien."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Skakel die kontaktetoestemming aan om jou kontakte te sien."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Skakel die foontoestemming aan om na jou stemboodskapdiens te gaan."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Skakel die Kontakte-toestemmings aan om jou kontakte te deursoek."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Skakel die foontoestemming aan om \'n oproep te maak."</string>
diff --git a/java/com/android/dialer/app/res/values-am/strings.xml b/java/com/android/dialer/app/res/values-am/strings.xml
index 82303019c..08b52a6ee 100644
--- a/java/com/android/dialer/app/res/values-am/strings.xml
+++ b/java/com/android/dialer/app/res/values-am/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"መጠበቅ አክል"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"ቅንብሮች"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"ማስመሰያ"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"አዲስ የዩአይ አቋራጭ ፍጠር"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"ሁሉም እውቅያዎች"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"የድምፅ ቁልፍ ሰሌዳን ንካ"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"በመካሄድ ላይ ወዳለው ጥሪ ተመለስ"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"ጥሪ ያክሉ"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ገቢ ጥሪዎች"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ወደ የጅምላ እርምጃ ሁነታ በመግባት ላይ"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ከጅምላ እርምጃ ሁነታ ለቀው ወጥተዋል"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ተመርጧል"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> አልተመረጠም"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"የድምፅ መልዕክት አጫውት"</string>
<string name="description_view_contact" msgid="3940984937384372665">"ዕውቂያ <xliff:g id="NAME">%1$s</xliff:g> ዕይ"</string>
<string name="description_call" msgid="1532402285334775372">"ጥሪ <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"የድምፅ መልዕክት"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ሰከንድ"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> ደቂቃ <xliff:g id="SECONDS">%s</xliff:g> ሴከ"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"የድምፅ መልዕክት"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"የድምፅ መልዕክቶች"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"አዎ"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"አይ"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"የጅምላ እርምጃ ሁነታ ይቅር"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"ሰርዝ"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"ይቅር"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"የተመረጠው <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ይሰረዝ?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ተመርጠዋል"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"እነዚህ የድምፅ መልዕክቶች ይሰረዙ? "</b>"</item>
+ <item quantity="other">"<b>"እነዚህ የድምፅ መልዕክቶች ይሰረዙ? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g> ላይ"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"ከSIM ካርድ ላይ በመጫን ላይ..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"የSIM ካርድ ዕውቂያዎች"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"ምንም የእውቂያዎች መተግበሪያ አይገኝም"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"የድምጽ ፍለጋ አይገኝም"</string>
<string name="call_not_available" msgid="7850148370757361155">"የስልክ መተግበሪያው ስለተሰናከለ የስልክ ጥሪ ማድረግ አይቻልም።"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"ዕውቅያዎችን ፈልግ"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> አዲስ ያልተመለሱ ጥሪዎች"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"በፈጥኖ መደወያ ላይ ገና ማንም የለዎትም"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ተወዳጅ አክል"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"ገና ምንም እውቂያዎች የሉዎትም"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ዕውቂያ አክል"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"ሁሉንም ቁጥሮች ለማየት ምስል ይንኩ ወይም ዳግም ለመደርደር ነክተው ይያዙት"</string>
<string name="remove_contact" msgid="2353580570488923668">"አስወግድ"</string>
+ <string name="select_all" msgid="408601760696146245">"ሁሉንም ምረጥ"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"የቪዲዮ ጥሪ"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"መልእክት ላክ"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"የጥሪ ዝርዝሮች"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"የታገዱ ቁጥሮች"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ቀድሞውኑ ታግዷል።"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"የመደወያ መለያዎች"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"አብራ"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"ፍቃዶችን አዋቅር"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"ፈጥኖ መደወያን ለማንቃት የእውቂያዎች ፍቃዱን ያብሩ።"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"የጥሪ ምዝግብ ማስታወአሽዎን ለማየት የስልክ ፍቃዱን ያብሩ።"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"የእርስዎን እውቂያዎች ለማየት የእውቂያዎች ፍቃዱን ያብሩ።"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"የድምፅ መልዕክትዎን ለመድረስ የስልክ ፍቃዱን ያብሩ።"</string>
<string name="permission_no_search" msgid="2424710404207193826">"የእርስዎን እውቂያዎች ለመከታተል የእውቂያዎች ፍቃዶችን ያብሩ።"</string>
<string name="permission_place_call" msgid="8686908130349369423">"ስልክ ለመደወል የስልክ ፍቃዱን ያብሩ።"</string>
diff --git a/java/com/android/dialer/app/res/values-ar/strings.xml b/java/com/android/dialer/app/res/values-ar/strings.xml
index e4dfb4d9e..fe84a66ab 100644
--- a/java/com/android/dialer/app/res/values-ar/strings.xml
+++ b/java/com/android/dialer/app/res/values-ar/strings.xml
@@ -84,11 +84,16 @@
<string name="add_wait" msgid="1177723010768282578">"إضافة انتظار"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"الإعدادات"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"المحاكي"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"إنشاء اختصار للواجهة الجديدة"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"جميع جهات الاتصال"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"استخدام لوحة مفاتيح نغمات باللمس"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"عودة إلى المكالمة الجارية"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"إضافة مكالمة"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"المكالمات الواردة"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"يتم الدخول إلى وضع الإجراء المجمَّع"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"تمت مغادرة وضع الإجراء المجمَّع"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"تم تحديد <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"تم إلغاء تحديد <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"تشغيل البريد الصوتي"</string>
<string name="description_view_contact" msgid="3940984937384372665">"عرض جهة الاتصال <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"الاتصال بـ <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -103,11 +108,19 @@
<string name="voicemail" msgid="8899540969000957954">"البريد الصوتي"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ثانية"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> دقيقة <xliff:g id="SECONDS">%s</xliff:g> ثانية"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"البريد الصوتي"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"رسائل البريد الصوتي"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"نعم"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"لا"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"إلغاء وضع الإجراءات المجمَّع"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"حذف"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"إلغاء"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"حذف رسائل <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> المحددة؟"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"تم تحديد <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="zero">"<b>"حذف رسائل البريد الصوتي هذه؟ "</b>"</item>
+ <item quantity="two">"<b>"حذف رسالتي البريد الصوتي هاتين؟ "</b>"</item>
+ <item quantity="few">"<b>"حذف رسائل البريد الصوتي هذه؟ "</b>"</item>
+ <item quantity="many">"<b>"حذف رسائل البريد الصوتي هذه؟ "</b>"</item>
+ <item quantity="other">"<b>"حذف رسائل البريد الصوتي هذه؟ "</b>"</item>
+ <item quantity="one">"<b>"حذف رسالة البريد الصوتي هذه؟ "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> في <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -120,7 +133,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"‏جارٍ التحميل من شريحة SIM…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"‏شريحة SIM وجهات الاتصال"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"لا يتوفر تطبيق لجهات الاتصال"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"البحث الصوتي غير متاح"</string>
<string name="call_not_available" msgid="7850148370757361155">"يتعذر إجراء مكالمة هاتفية نظرًا لأنه تم تعطيل تطبيق الهاتف."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"البحث في جهات الاتصال"</string>
@@ -149,10 +161,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> من المكالمات الجديدة الفائتة"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"لم تتم إضافة أية جهة اتصال إلى قائمة الاتصال السريع حتى الآن"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"إضافة مفضلة"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"ليست لديك أية جهات اتصال حتى الآن"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"إضافة جهة اتصال"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"المس الصورة للاطلاع على جميع الأرقام أو المس مع الاستمرار لإعادة الترتيب"</string>
<string name="remove_contact" msgid="2353580570488923668">"إزالة"</string>
+ <string name="select_all" msgid="408601760696146245">"تحديد الكل"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"مكالمة فيديو"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"إرسال رسالة"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"تفاصيل المكالمة"</string>
@@ -221,11 +232,9 @@
<string name="block_list" msgid="4701585783411870782">"الأرقام المحظورة"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"تم حظر <xliff:g id="NUMBER">%1$s</xliff:g>."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"حسابات الاتصال"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"تشغيل"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"تعيين الأذونات"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"لتمكين الاتصال السريع، شغِّل إذن جهات الاتصال."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"للاطلاع على سجل المكالمات، شغِّل إذن الهاتف."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"للاطلاع على جهات الاتصال، شغِّل إذن جهات الاتصال."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"للوصول إلى البريد الصوتي، شغِّل إذن الهاتف."</string>
<string name="permission_no_search" msgid="2424710404207193826">"للبحث عن جهات الاتصال، عليك تشغيل أذونات جهات الاتصال."</string>
<string name="permission_place_call" msgid="8686908130349369423">"لإجراء مكالمة، شغِّل إذن الهاتف."</string>
diff --git a/java/com/android/dialer/app/res/values-az/strings.xml b/java/com/android/dialer/app/res/values-az/strings.xml
index 62bc117ba..f2b0cf35d 100644
--- a/java/com/android/dialer/app/res/values-az/strings.xml
+++ b/java/com/android/dialer/app/res/values-az/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Gözləmə əlavə edin"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Ayarlar"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Stimulyator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Yeni İİ Qısayolu yaradın"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Bütün kontaktlar"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Toxunma ton klaviaturasını istifadə edin"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Davam edən zəngə qayıdın"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Zəng əlavə edin"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Gələn zənglər"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Toplu əməliyyat rejiminə daxil olunur"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Toplu əməliyyat rejimi tərk edilir"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> seçildi"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> seçilmədi"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Səsli məktubu oxudun"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> adlı kontakta baxın"</string>
<string name="description_call" msgid="1532402285334775372">"Zəng <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Səsli poçt"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> san"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> dəq <xliff:g id="SECONDS">%s</xliff:g> san"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"səsli e-məktub"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"səsli e-məktublar"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Bəli"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Xeyr"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Qrup əməliyyatları rejimini ləğv edin"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Silin"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Ləğv edin"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Seçilmiş <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> silinsin?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> seçilib"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Bu səsli e-məktub silinsin? "</b>"</item>
+ <item quantity="one">"<b>"Bu səsli e-məktub silinsin? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> tarixində <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM kartdan yüklənir..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM kart kontaktları"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Əlaqələr proqramı mövcud deyil"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Səsli axtarış mövcud deyil"</string>
<string name="call_not_available" msgid="7850148370757361155">"Telefon tətbiqi deaktiv edildiyinə görə telefon zəngi etmək mümkün deyil."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Kontakt axtarın"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> yeni buraxılmış zəng"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Hələ sürətli zəng siyahınızda hec kim yoxdur"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Sevimlilərə əlavə edin"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Hələ heç bir kontaktınız yoxdur"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Kontakt əlavə edin"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Bütün nömrələri görmək üçün təsvirə toxunun və ya yenidən qaydaya salmaq üçün basıb saxlayın"</string>
<string name="remove_contact" msgid="2353580570488923668">"Yığışdır"</string>
+ <string name="select_all" msgid="408601760696146245">"Hamısını seçin"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Video zəng"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Mesaj göndərin"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Zəng detalları"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Bloklanmış nömrələr"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> artıq bloklanıb."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Hesabların çağrılması"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktiv edin"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"İcazələri quraşdırın"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Sürətli yığımı aktivləşdirmək üçün, Kontakt icazələrini aktivləşdirin."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Çağrı jurnalınızı görmək üçün Telefon icazəsini aktivləşdirin."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Kontaktlarınızı görmək üçün Kontakt icazəsini aktivləşdirin."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Səsli poçta daxil olmaq üçün, Telefon icazəsini aktivləşdirin."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Kontaktlarınızı axtarmaq üçün, Kontakt icazələrini aktiv edin."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Zəng etmək üçün, Telefon icazəsini aktivləşdirin."</string>
diff --git a/java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml
index 9df729108..b011f7866 100644
--- a/java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml
@@ -81,11 +81,16 @@
<string name="add_wait" msgid="1177723010768282578">"Dodaj čekanje"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Podešavanja"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Napravite prečicu za novi UI"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Svi kontakti"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Upotrebite brojčanik za tonsko biranje"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Vrati se na poziv koji je u toku"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj poziv"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Dolazni pozivi"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Ulazite u režim grupnih radnji"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Izašli ste iz režima grupnih radnji"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Izabrano je <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Opozvan je izbor <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Puštanje govorne pošte"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Prikaži kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Pozovi <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -100,11 +105,16 @@
<string name="voicemail" msgid="8899540969000957954">"Govorna pošta"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"govornu poruku"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"govorne poruke"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Otkažite režim grupnih radnji"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Izbriši"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Otkaži"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Želite li da izbrišete izabranu(e) <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Izabranih: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Želite li da izbrišete ove govorne poruke? "</b>"</item>
+ <item quantity="few">"<b>"Želite li da izbrišete ove govorne poruke? "</b>"</item>
+ <item quantity="other">"<b>"Želite li da izbrišete ove govorne poruke? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> u <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -117,7 +127,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Učitava se sa SIM kartice…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakti na SIM kartici"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nema dostupne aplikacije za kontakte"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Glasovna pretraga nije dostupna"</string>
<string name="call_not_available" msgid="7850148370757361155">"Nije moguće uputiti telefonski poziv jer je aplikacija Telefon onemogućena."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pretraži kontakte"</string>
@@ -146,10 +155,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Novih propuštenih poziva: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Nemate nijedan kontakt na brzom biranju"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj omiljen kontakt"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Još uvek nemate nijedan kontakt"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodaj kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Dodirnite sliku da biste videli sve brojeve ili dodirnite i zadržite da biste im promenili raspored"</string>
<string name="remove_contact" msgid="2353580570488923668">"Ukloni"</string>
+ <string name="select_all" msgid="408601760696146245">"Izaberi sve"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Video poziv"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Pošalji poruku"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalji poziva"</string>
@@ -215,11 +223,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokirani brojevi"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> je već blokiran."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Nalozi za pozivanje"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Uključi"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Podesi dozvole"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Da biste omogućili brzo biranje, uključite dozvolu za Kontakte."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Da biste videli evidenciju poziva, uključite dozvolu za Telefon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Da biste videli kontakte, uključite dozvolu za Kontakte."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Da biste pristupili govornoj pošti, uključite dozvolu za Telefon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Da biste pretražili kontakte, uključite dozvole za Kontakte."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Da biste uputili poziv, uključite dozvolu za Telefon."</string>
diff --git a/java/com/android/dialer/app/res/values-be/strings.xml b/java/com/android/dialer/app/res/values-be/strings.xml
index aac3df2bd..f9b083747 100644
--- a/java/com/android/dialer/app/res/values-be/strings.xml
+++ b/java/com/android/dialer/app/res/values-be/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"Дадаць чаканне"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Налады"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Сродак мадэліравання"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Ярлык новага карыст. інтэрфейсу"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Усе кантакты"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Выкарыстанне тонавай клавіятуры"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Звярнуцца да бягучага выкліку"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Дадаць выклік"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Уваходныя выклікі"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Уваход у рэжым групавога дзеяння"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Выхад з рэжыму групавога дзеяння"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Выбрана: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Выбар скасаваны: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Прайграць паведамленне галасавой пошты"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Прагледзець кантакт <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Выклікаць карыстальнiка <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"Галасавая пошта"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> с"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> хв <xliff:g id="SECONDS">%s</xliff:g> с"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"галасавая пошта"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"галасавая пошта"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Так"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Не"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Скасаваць рэжым пакетных дзеянняў"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Выдаліць"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Скасаваць"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Выдаліць вылучанае: <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Выбрана: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Выдаліць гэтыя паведамленні галасавой пошты? "</b>"</item>
+ <item quantity="few">"<b>"Выдаліць гэтыя паведамленні галасавой пошты? "</b>"</item>
+ <item quantity="many">"<b>"Выдаліць гэтыя паведамленні галасавой пошты? "</b>"</item>
+ <item quantity="other">"<b>"Выдаліць гэтыя паведамленні галасавой пошты? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> у <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Загрузка з SIM-карты..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Кантакты SIM-карты"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Праграмы для аперацый з кантактамі няма"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Галасавы пошук недаступны"</string>
<string name="call_not_available" msgid="7850148370757361155">"Немагчыма зрабіць выклік па тэлефоне, таму што праграма Тэлефон была адключана."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Пошук кантактаў"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Новых прапушчаных выклікаў: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"У вас пакуль нікога няма на хуткім наборы"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Дадаць улюбёны"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"У вас пакуль няма ніякіх кантактаў"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Дадаць кантакт"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Дакраніцеся да відарыса, каб прагледзець усе нумары, або дакраніцеся і ўтрымлівайце, каб змяніць парадак"</string>
<string name="remove_contact" msgid="2353580570488923668">"Выдаліць"</string>
+ <string name="select_all" msgid="408601760696146245">"Выбраць усё"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Відэавыклік"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Адправiць паведамленне"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Падрабязнасці выкліку"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"Заблакіраваныя нумары"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ужо заблакіраваны."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Уліковыя запісы для выклікаў"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Уключыць"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Задаць дазволы"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Каб уключыць хуткі набор, уключыце дазвол для Кантактаў."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Каб прагледзець свой журнал выклікаў, уключыце дазволы Тэлефона."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Каб бачыць свае кантакты, уключыце дазвол для Кантактаў."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Каб атрымаць доступ да галасавой пошты, уключыце дазвол для Тэлефона."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Каб шукаць свае кантакты, уключыце дазвол для Кантактаў."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Каб зрабіць выклік, уключыце дазвол для Тэлефона."</string>
diff --git a/java/com/android/dialer/app/res/values-bg/strings.xml b/java/com/android/dialer/app/res/values-bg/strings.xml
index 7bab71f3b..8b1105cb3 100644
--- a/java/com/android/dialer/app/res/values-bg/strings.xml
+++ b/java/com/android/dialer/app/res/values-bg/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Добавяне на изчакване"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Настройки"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Симулатор"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Пряк път към новия ПИ"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Всички контакти"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Използване на тонова клавиатура"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Назад към текущото обаждане"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Добавяне на обаждане"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Вх. обаждания"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Влизате в режима на групови действия"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Излязохте от режима на групови действия"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Избрахте <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Премахнахте избора от <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Пускане на гласовата поща"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Преглед на контактa <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Обаждане на <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Гласова поща"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"гласово съобщение"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"гласови съобщения"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Да"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Не"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Анулиране на режима на групови действия"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Изтриване"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Отказ"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Избрахте <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> – да се изтрие ли избраното?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Избрахте <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Да се изтрият ли тези гласови съобщения? "</b>"</item>
+ <item quantity="one">"<b>"Да се изтрие ли това гласово съобщение? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> в <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Зарежда се от SIM карта..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Контакти от SIM карта"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Няма налично приложение за контакти"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Гласовото търсене не е налице"</string>
<string name="call_not_available" msgid="7850148370757361155">"Не може да се осъществи телефонно обаждане, защото приложението Телефон е деактивирано."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Търсене в контактите"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> нови пропуснати обаждания"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Още нямате контакти за бързо набиране"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Добавяне на любим контакт"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Още нямате контакти"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Добавяне на контакт"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Докоснете изображението, за да видите всички номера, или го натиснете и задръжте за пренареждане"</string>
<string name="remove_contact" msgid="2353580570488923668">"Премахване"</string>
+ <string name="select_all" msgid="408601760696146245">"Избиране на всички"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Видеообаждане"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Изпращане на съобщение"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Подробности за обаждането"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Блокирани номера"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Номер <xliff:g id="NUMBER">%1$s</xliff:g> вече е блокиран."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Профили за обаждане"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Включване"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Задаване на разрешенията"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"За да активирате бързото набиране, включете разрешението за Контакти."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"За да видите списъка с обажданията си, включете разрешението за Телефон."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"За да видите контактите си, включете разрешението за Контакти."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"За да осъществите достъп до гласовата си поща, включете разрешението за Телефон."</string>
<string name="permission_no_search" msgid="2424710404207193826">"За да търсите в контактите си, включете разрешенията за тях."</string>
<string name="permission_place_call" msgid="8686908130349369423">"За да извършите обаждане, включете разрешението за Телефон."</string>
diff --git a/java/com/android/dialer/app/res/values-bn/strings.xml b/java/com/android/dialer/app/res/values-bn/strings.xml
index 271247be3..2ec362685 100644
--- a/java/com/android/dialer/app/res/values-bn/strings.xml
+++ b/java/com/android/dialer/app/res/values-bn/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"অপেক্ষা যোগ করুন"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"সেটিংস"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"সিমুলেটার"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"নতুন UI শর্টকাট তৈরি করুন"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"সকল পরিচিতি"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"স্পর্শ স্বর কীপ্যাড ব্যবহার করুন"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"প্রগতিতে থাকা কলে প্রত্যাবর্তন"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"কল যোগ করুন"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ইনকামিং কলগুলি"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"বাল্ক অ্যাকশন মোডে প্রবেশ করা হচ্ছে"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"বাল্ক অ্যাকশন মোড ত্যাগ করুন"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> নির্বাচন করা হয়েছে"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> অনির্বাচন করা হয়েছে"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"ভয়েসমেল প্লে করুন"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> পরিচিতি দেখুন"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> কে কল করুন"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"ভয়েসমেল"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> সেকেন্ড"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> মিনিট <xliff:g id="SECONDS">%s</xliff:g> সেকেন্ড"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ভয়েসমেল"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ভয়েসমেলগুলি"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"হ্যাঁ"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"না"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"ব্যাচ অ্যাকশন মোড বাতিল করুন"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"মুছুন"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"বাতিল করুন"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"নির্বাচিত <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> মুছে ফেলতে চান?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g>টি নির্বাচিত"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"এই ভয়েসমেলগুলি মুছবেন? "</b>"</item>
+ <item quantity="other">"<b>"এই ভয়েসমেলগুলি মুছবেন? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> তারিখে <xliff:g id="TIME">%2$s</xliff:g>\'টায়"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"সিম কার্ড থেকে লোড করা হচ্ছে…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"সিম কার্ডের পরিচিতিগুলি"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"কোনো পরিচিতি অ্যাপ্লিকেশান উপলব্ধ নয়"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"ভয়েস অনুসন্ধান অনুপলব্ধ"</string>
<string name="call_not_available" msgid="7850148370757361155">"কোনো ফোন কল করা যাবে না কারণ ফোন অ্যাপ্লিকেশানটি অক্ষম করা হয়েছে৷"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"পরিচিতিগুলি খুঁজুন"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g>টি নতুন মিসড কল"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"আপনার স্পীড ডায়ালে এখনও পর্যন্ত কেউ নেই"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"একটি পছন্দসই যোগ করুন"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"আপনার এখনও পর্যন্ত কোনো পরিচিতি নেই"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"একটি পরিচিতি যোগ করুন"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"সমস্ত নম্বর দেখতে ছবিতে স্পর্শ করুন বা রেকর্ড করতে স্পর্শ করে ধরে রাখুন"</string>
<string name="remove_contact" msgid="2353580570488923668">"সরান"</string>
+ <string name="select_all" msgid="408601760696146245">"সবগুলি নির্বাচন করুন"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"ভিডিও কল"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"একটি বার্তা পাঠান"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"কলের বিশদ বিবরণ"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"ব্লক করা নাম্বারগুলি"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ইতিমধ্যেই অববোধ করা রয়েছে৷"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"কলিং অ্যাকাউন্টগুলি"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"চালু করুন"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"অনুমতিগুলি সেট করুন"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"স্পীড ডায়াল সক্ষম করতে, পরিচিতিগুলির অনুমতি চালু করুন।"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"আপনার কল লগ দেখতে, ফোনের অনুমতি চালু করুন।"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"আপনার পরিচিতিগুলি দেখতে, পরিচিতিগুলির অনুমতি চালু করুন।"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"আপনার ভয়েসমেল অ্যাক্সেস করতে, ফোনের অনুমতি চালু করুন।"</string>
<string name="permission_no_search" msgid="2424710404207193826">"আপনার পরিচিতিগুলি অনুসন্ধান করতে, পরিচিতির অনুমতিগুলি চালু করুন।"</string>
<string name="permission_place_call" msgid="8686908130349369423">"একটি কল করতে, ফোনের অনুমতি চালু করুন।"</string>
diff --git a/java/com/android/dialer/app/res/values-bs/strings.xml b/java/com/android/dialer/app/res/values-bs/strings.xml
index 92c9c14e0..087db1274 100644
--- a/java/com/android/dialer/app/res/values-bs/strings.xml
+++ b/java/com/android/dialer/app/res/values-bs/strings.xml
@@ -81,11 +81,16 @@
<string name="add_wait" msgid="1177723010768282578">"Dodaj čekanje"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Postavke"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Kreiraj prečicu za novi UI"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Svi kontakti"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Koristi tastaturu za tonsko biranje"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Povratak na poziv u toku"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj poziv"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Dolazni pozivi"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Ulazak u način rada za skupnu radnju"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Napuštanje načina rada za skupnu radnju"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Odabrano <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Poništen odabir <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Pokretanje govorne pošte"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Prikaži kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Pozovi kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -100,11 +105,16 @@
<string name="voicemail" msgid="8899540969000957954">"Govorna pošta"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"poruka govorne pošte"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"poruke govorne pošte"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Otkaži način rada za grupnu radnju"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Izbriši"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Otkaži"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Izbrisati izabranu/e <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Odabrano <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Izbrisati ove govorne poruke? "</b>"</item>
+ <item quantity="few">"<b>"Izbrisati ove govorne poruke? "</b>"</item>
+ <item quantity="other">"<b>"Izbrisati ove govorne poruke? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> u <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -117,7 +127,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Učitavanje sa SIM kartice…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakti sa SIM kartice"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nije dostupna nijedna aplikacija za kontakte"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Glasovna pretraga nije dostupna"</string>
<string name="call_not_available" msgid="7850148370757361155">"Nije moguće uputiti poziv jer je aplikacija Telefon onemogućena."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Traži kontakte"</string>
@@ -146,10 +155,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Broj novih propuštenih poziva: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Nemate nikog na brzom biranju"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj u favorite"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Još nemate nijedan kontakt"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodaj kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Dodirnite sliku da vidite sve brojeve ili dodirnite i držite da promijenite raspored."</string>
<string name="remove_contact" msgid="2353580570488923668">"Ukloni"</string>
+ <string name="select_all" msgid="408601760696146245">"Izaberi sve"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videopoziv"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Pošalji poruku"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalji o pozivu"</string>
@@ -215,11 +223,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokirani brojevi"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> je već blokiran."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Računi za pozivanje"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Uključi"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Postavi dozvole"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Da omogućite brzo biranje, uključite dozvolu za Kontakte."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Da vidite popis poziva, uključite dozvolu za Telefon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Da vidite kontakte, uključite dozvolu za Kontakte."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Da pristupite govornoj pošti,uključite dozvolu za telefon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Da pretražujete kontakte, uključite dozvole za Kontakte."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Da uputite poziv, uključite dozvolu za Telefon."</string>
diff --git a/java/com/android/dialer/app/res/values-ca/strings.xml b/java/com/android/dialer/app/res/values-ca/strings.xml
index fa04dd980..71385805a 100644
--- a/java/com/android/dialer/app/res/values-ca/strings.xml
+++ b/java/com/android/dialer/app/res/values-ca/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Afegeix espera"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Configuració"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulador"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Crea drecera per a la nova IU"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Tots els contactes"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Utilitza el teclat de tons"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Torna a la trucada en curs"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Afegeix una trucada"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Trucades entrants"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"S\'està accedint al mode d\'acció massiva"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"S\'ha sortit del mode d\'acció massiva"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"S\'ha seleccionat <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"S\'ha desseleccionat <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Reprodueix el missatge de veu"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Visualitza el contacte <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Truca a <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,24 +104,27 @@
<string name="voicemail" msgid="8899540969000957954">"Bústia de veu"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"missatge de veu"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"missatges de veu"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sí"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancel·la el mode d\'accions en lot"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Suprimeix"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancel·la"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vols suprimir l\'element o elements seleccionats (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> seleccionades"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Vols suprimir aquests missatges de veu? "</b>"</item>
+ <item quantity="one">"<b>"Vols suprimir aquest missatge de veu? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> a les <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
<string name="voicemailCallLogDateTimeFormatWithDuration" msgid="7224408726047155205">"<xliff:g id="DATEANDTIME">%1$s</xliff:g> • <xliff:g id="DURATION">%2$s</xliff:g>"</string>
<string name="dialog_phone_call_prohibited_message" msgid="6317935773274628316">"No es pot trucar a aquest número."</string>
- <string name="dialog_voicemail_not_ready_message" msgid="6437173108290752604">"Per configurar els missatges de veu, vés a Menú &gt; Configuració."</string>
+ <string name="dialog_voicemail_not_ready_message" msgid="6437173108290752604">"Per configurar els missatges de veu, ves a Menú &gt; Configuració."</string>
<string name="dialog_voicemail_airplane_mode_message" msgid="1044988101597862159">"Per trucar a la bústia de veu, primer has de desactivar el mode d\'avió."</string>
<string name="contact_list_loading" msgid="7919825236309749352">"S\'està carregant…"</string>
<string name="imei" msgid="5214505934662768308">"IMEI"</string>
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"S\'està carregant des de la targeta SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contactes de la targeta SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"No hi ha cap contacte disponible."</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"La cerca per veu no està disponible."</string>
<string name="call_not_available" msgid="7850148370757361155">"No es pot fer una trucada telefònica perquè s\'ha desactivat l\'aplicació de telèfon."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Cerca als contactes"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> trucades perdudes noves"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Encara no tens cap contacte al marcatge ràpid"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Afegeix un preferit"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Encara no tens cap contacte"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Afegeix un contacte"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Toca la imatge per veure\'n tots els números o bé mantén-la premuda per canviar-ne l\'ordre"</string>
<string name="remove_contact" msgid="2353580570488923668">"Suprimeix"</string>
+ <string name="select_all" msgid="408601760696146245">"Selecciona-ho tot"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videotrucada"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Envia un missatge"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalls de la trucada"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Números bloquejats"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ja està bloquejat."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Comptes de trucades"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Activa"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Defineix els permisos"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Activa el permís Contactes per activar el marcatge ràpid."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Activa el permís Telèfon per veure el teu registre de trucades."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Activa el permís Contactes per veure els teus contactes."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Activa el permís Telèfon per accedir a la bústia de veu."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Per cercar els teus contactes, activa els permisos de Contactes."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Activa el permís Telèfon per fer una trucada."</string>
@@ -227,7 +232,7 @@
<string name="call_log_action_block_number" msgid="5048188386501998865">"Bloqueja el número"</string>
<string name="call_log_action_remove_spam" msgid="2045319806318398403">"No és una trucada brossa"</string>
<string name="call_log_action_unblock_number" msgid="6100117033288448758">"Desbloqueja el número"</string>
- <string name="spam_number_call_log_label" msgid="2678431398326811131">"Contingut brossa"</string>
+ <string name="spam_number_call_log_label" msgid="2678431398326811131">"Trucada brossa"</string>
<string name="call_composer_connection_failed" msgid="6776461585447831242">"<xliff:g id="NAME">%1$s</xliff:g> no té connexió i no s\'hi pot contactar"</string>
<string name="about_phone_label" msgid="582991354677973731">"Informació"</string>
</resources>
diff --git a/java/com/android/dialer/app/res/values-cs/strings.xml b/java/com/android/dialer/app/res/values-cs/strings.xml
index 5a3e42913..dbff467c0 100644
--- a/java/com/android/dialer/app/res/values-cs/strings.xml
+++ b/java/com/android/dialer/app/res/values-cs/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"Přidat čekání"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Nastavení"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulátor"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Vytv. zkratku na nové rozhraní"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Všechny kontakty"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Použít dotykovou tónovou klávesnici"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Návrat k probíhajícímu hovoru"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Přidat hovor"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Příchozí volání"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Vstupování do režimu hromadných akcí"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Opustili jste režim hromadných akcí"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Položka <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> je vybrána"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Položka <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> není vybrána"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Přehrát hlasovou schránku"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Zobrazit kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Volat kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"Hlasová schránka"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"vybranou hlasovou zprávu"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"vybrané hlasové zprávy"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ano"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Zrušit režim hromadných akcí"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Smazat"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Zrušit"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Smazat <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Vybráno: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="few">"<b>"Smazat tyto hlasové zprávy? "</b>"</item>
+ <item quantity="many">"<b>"Smazat tyto hlasové zprávy? "</b>"</item>
+ <item quantity="other">"<b>"Smazat tyto hlasové zprávy? "</b>"</item>
+ <item quantity="one">"<b>"Smazat tuto hlasovou zprávu? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> v <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Načítání ze SIM karty..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakty na SIM kartě"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Není k dispozici žádná aplikace pro práci s kontakty."</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Hlasové vyhledávání není k dispozici."</string>
<string name="call_not_available" msgid="7850148370757361155">"Telefonický hovor nelze uskutečnit, protože aplikace Telefon byla zakázána."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Vyhledat kontakty"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Nové zmeškané hovory: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"V rychlém vytáčení zatím nemáte žádný kontakt."</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Přidat oblíbený kontakt"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Zatím nemáte žádné kontakty"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Přidat kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Klepnutím na obrázek zobrazíte všechna čísla. Podržením můžete změnit pořadí."</string>
<string name="remove_contact" msgid="2353580570488923668">"Odstranit"</string>
+ <string name="select_all" msgid="408601760696146245">"Vybrat všechny"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videohovor"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Odeslat zprávu"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Podrobnosti hovoru"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokovaná čísla"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Číslo <xliff:g id="NUMBER">%1$s</xliff:g> je již blokováno."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Účty pro volání"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Zapnout"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Nastavit oprávnění"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Chcete-li povolit rychlé vytáčení, aktivujte oprávnění Kontakty."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Chcete-li zobrazit seznam hovorů, aktivujte oprávnění Telefon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Chcete-li zobrazit kontakty, aktivujte oprávnění Kontakty."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Chcete-li přejít do hlasové schránky, aktivujte oprávnění Telefon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Chcete-li vyhledat kontakty, zapněte oprávnění Kontakty."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Chcete-li uskutečnit hovor, aktivujte oprávnění Telefon."</string>
diff --git a/java/com/android/dialer/app/res/values-da/strings.xml b/java/com/android/dialer/app/res/values-da/strings.xml
index 42aa66378..72f5a2835 100644
--- a/java/com/android/dialer/app/res/values-da/strings.xml
+++ b/java/com/android/dialer/app/res/values-da/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Tilføj ventetid"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Indstillinger"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Opret ny brugerfladegenvej"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Alle kontakter"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Brug numerisk tastatur"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Vend tilbage til igangværende opkald"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Tilføj opkald"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Indgående opkald"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Massehandlingstilstanden startes"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Massehandlingstilstanden blev afsluttet"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Vælg <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Fravalgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Afspil telefonsvarerbesked"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Vis kontaktpersonen <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Ring til <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Telefonsvarer"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"talebesked"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"talebeskeder"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nej"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Annuller massehandlingstilstand"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Slet"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Annuller"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vil du slette de valgte <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> er valgt"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Vil du slette denne talebesked? "</b>"</item>
+ <item quantity="other">"<b>"Vil du slette disse talebeskeder? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Indlæser fra SIM-kort ..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakter på SIM-kort"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Der er ingen app til kontaktpersoner"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Talesøgning er ikke tilgængelig"</string>
<string name="call_not_available" msgid="7850148370757361155">"Det er ikke muligt at foretage et telefonopkald, fordi applikationen Telefon er deaktiveret."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Søg i kontakter"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nye ubesvarede opkald"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Der er endnu ingen kontaktpersoner i Hurtigopkald"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Angiv en kontaktperson som foretrukken"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Du har endnu ikke nogen kontaktpersoner"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Tilføj en kontaktperson"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Tryk på billedet for at se alle numre, eller tryk og hold nede på billedet for at omarrangere"</string>
<string name="remove_contact" msgid="2353580570488923668">"Fjern"</string>
+ <string name="select_all" msgid="408601760696146245">"Vælg alt"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videoopkald"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Send en sms-besked"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Opkaldsinfo"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokerede telefonnumre"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> er allerede blokeret."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Opkaldskonti"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktivér"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Angiv tilladelser"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Slå tilladelsen Kontaktpersoner til for at aktivere hurtigopkald."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Slå tilladelsen Telefon til for at se din opkaldsliste."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Slå tilladelsen Kontaktpersoner til for at se dine kontaktpersoner."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Slå tilladelsen Telefon til for at få adgang til din telefonsvarer,"</string>
<string name="permission_no_search" msgid="2424710404207193826">"Hvis du vil søge i dine kontaktpersoner, skal du slå tilladelserne Kontaktpersoner til."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Slå tilladelsen Telefon til for at foretage et opkald."</string>
diff --git a/java/com/android/dialer/app/res/values-de/strings.xml b/java/com/android/dialer/app/res/values-de/strings.xml
index 5653e0f12..a7efd53a3 100644
--- a/java/com/android/dialer/app/res/values-de/strings.xml
+++ b/java/com/android/dialer/app/res/values-de/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Warten hinzufügen"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Einstellungen"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Verknüpfung für neue Benutzeroberfläche erstellen"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Alle Kontakte"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Telefontastatur verwenden"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Zurück zum aktuellen Anruf"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Anruf hinzufügen"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Eingehende Anrufe"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Es wird in den Modus für Bulk-Aktionen gewechselt"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Der Modus für Bulk-Aktionen wurde verlassen"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ausgewählt"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Auswahl für <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> aufgehoben"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Mailbox abhören"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Kontakt <xliff:g id="NAME">%1$s</xliff:g> anzeigen"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> anrufen"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Mailbox"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"Mailboxnachricht"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"Mailboxnachrichten"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nein"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Modus für Batch-Aktionen abbrechen"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Löschen"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Abbrechen"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Ausgewählte <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> löschen?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ausgewählt"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Diese Mailboxnachrichten löschen? "</b>"</item>
+ <item quantity="one">"<b>"Diese Mailboxnachricht löschen? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> um <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Ladevorgang von SIM-Karte läuft..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakte auf SIM-Karte"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Keine Kontakte-App verfügbar"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Sprachsuche nicht verfügbar"</string>
<string name="call_not_available" msgid="7850148370757361155">"Es kann kein Anruf getätigt werden, da die App \"Telefon\" deaktiviert wurde."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"In Kontakten suchen"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> neue entgangene Anrufe"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Du hast für noch niemanden eine Kurzwahl festgelegt"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Favoriten hinzufügen"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Du hast noch keine Kontakte."</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Kontakt hinzufügen"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Tippe auf das Bild, um alle Nummern zu sehen, oder halte das Bild länger gedrückt, um sie neu anzuordnen"</string>
<string name="remove_contact" msgid="2353580570488923668">"Entfernen"</string>
+ <string name="select_all" msgid="408601760696146245">"Alle auswählen"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videoanruf"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"SMS senden"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Anrufdetails"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blockierte Nummern"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ist bereits blockiert."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Anrufkonten"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktivieren"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Berechtigungen festlegen"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Aktiviere die Berechtigung \"Kontakte\", um die Kurzwahlfunktion zu verwenden."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Aktiviere die Berechtigung \"Telefon\", um dein Anrufprotokoll abzurufen."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Aktiviere die Berechtigung \"Kontakte\", um deine Kontakte abzurufen."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Aktiviere die Berechtigung \"Telefon\", um auf deine Mailbox zuzugreifen."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Aktiviere die Berechtigungen \"Kontakte\", um deine Kontakte zu suchen."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Aktiviere die Berechtigung \"Telefon\", um einen Anruf zu tätigen."</string>
diff --git a/java/com/android/dialer/app/res/values-el/strings.xml b/java/com/android/dialer/app/res/values-el/strings.xml
index 847f60a26..7080e5e50 100644
--- a/java/com/android/dialer/app/res/values-el/strings.xml
+++ b/java/com/android/dialer/app/res/values-el/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Προσθήκη αναμονής"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Ρυθμίσεις"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Προσομοιωτής"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Δημ. νέας συντόμ. διεπαφής"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Όλες οι επαφές"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Χρησιμοποιήστε το πληκτρολόγιο αφής ηχητικών τόνων"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Επιστροφή στην κλήση που βρίσκεται σε εξέλιξη"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Προσθήκη κλήσης"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Εισερχόμενες κλήσεις"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Εισαγωγή στη λειτουργία μαζικών ενεργειών"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Αποχώρηση από τη λειτουργία μαζικών ενεργειών"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Έγινε επιλογή <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Καταργήθηκε η επιλογή <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Αναπαραγωγή μηνύματος αυτόματου τηλεφωνητή"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Προβολή επαφής <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Κλήση <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Αυτόματος τηλεφωνητής"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> δευτερόλεπτα"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> λεπτά <xliff:g id="SECONDS">%s</xliff:g> δευτερόλεπτα"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"φωνητικού μηνύματος αυτόματου τηλεφωνητή"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"φωνητικών μηνυμάτων αυτόματου τηλεφωνητή"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ναι"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Όχι"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Ακύρωση λειτουργίας μαζικών ενεργειών"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Διαγραφή"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Ακύρωση"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Διαγραφή επιλεγμ. <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>;"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Έχουν επιλεγεί <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Διαγραφή αυτών των μηνυμάτων αυτόματου τηλεφωνητή; "</b>"</item>
+ <item quantity="one">"<b>"Διαγραφή αυτού του μηνύματος αυτόματου τηλεφωνητή; "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> στις <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Φόρτωση από κάρτα SIM…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Επαφές στην κάρτα SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Δεν υπάρχουν διαθέσιμες εφαρμογές επαφών"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Η φωνητική αναζήτηση δεν είναι διαθέσιμη"</string>
<string name="call_not_available" msgid="7850148370757361155">"Δεν είναι δυνατή η πραγματοποίηση τηλεφωνικής κλήσης επειδή η εφαρμογή \"Τηλέφωνο\" έχει απενεργοποιηθεί."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Αναζήτηση επαφών"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> νέες αναπάντητες κλήσεις"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Δεν έχετε ορίσει ακόμη κάποια επαφή στις ταχείες κλήσεις"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Προσθέστε ένα αγαπημένο"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Δεν έχετε επαφές ακόμη"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Προσθήκη επαφής"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Αγγίξτε την εικόνα για να δείτε όλους τους αριθμούς ή αγγίξτε παρατεταμένα για αναδιάταξη"</string>
<string name="remove_contact" msgid="2353580570488923668">"Κατάργηση"</string>
+ <string name="select_all" msgid="408601760696146245">"Επιλογή όλων"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Βιντεοκλήση"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Αποστολή μηνύματος"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Λεπτομέρειες κλήσης"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Αποκλεισμένοι αριθμοί"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Ο αριθμός <xliff:g id="NUMBER">%1$s</xliff:g> αποκλείστηκε ήδη."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Λογαριασμοί κλήσης"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Ενεργοποίηση"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ορισμός αδειών"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Για να ενεργοποιήσετε την ταχεία κλήση, ενεργοποιήστε την άδεια επαφών."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Για να δείτε το αρχείο καταγραφής κλήσεών σας, ενεργοποιήστε την άδεια τηλεφώνου."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Για να δείτε τις επαφές σας, ενεργοποιήστε την άδεια επαφών."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Για να αποκτήσετε πρόσβαση στον τηλεφωνητή σας, ενεργοποιήστε την άδεια τηλεφώνου."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Για να κάνετε αναζήτηση στις επαφές σας, ενεργοποιήστε τις άδειες \"Επαφές\"."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Για να πραγματοποιήσετε μια κλήση, ενεργοποιήστε την άδεια τηλεφώνου."</string>
diff --git a/java/com/android/dialer/app/res/values-en-rAU/strings.xml b/java/com/android/dialer/app/res/values-en-rAU/strings.xml
index 28eea8b4d..999f7dab0 100644
--- a/java/com/android/dialer/app/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/app/res/values-en-rAU/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Add wait"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Settings"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Create new UI shortcut"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"All contacts"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Use touch tone keypad"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Return to call in progress"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Add call"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Incoming calls"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entering bulk action mode"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Left bulk action mode"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Selected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Unselected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Play voicemail"</string>
<string name="description_view_contact" msgid="3940984937384372665">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Voicemail"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"voicemails"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yes"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancel batch actions mode"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Delete"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancel"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Delete selected <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selected"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Delete these voicemails? "</b>"</item>
+ <item quantity="one">"<b>"Delete this voicemail? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> at <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Loading from SIM card…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM card contacts"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"No contacts app available"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Voice search not available"</string>
<string name="call_not_available" msgid="7850148370757361155">"Cannot make a phone call because the Phone application has been disabled."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Search contacts"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"No one is on your speed dial yet"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Add a favourite"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"You don\'t have any contacts yet"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Add a contact"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Touch image to see all numbers, or touch &amp; hold to re-arrange"</string>
<string name="remove_contact" msgid="2353580570488923668">"Remove"</string>
+ <string name="select_all" msgid="408601760696146245">"Select all"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Video call"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Send a message"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Call details"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blocked numbers"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is already blocked."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Calling accounts"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Turn on"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Set permissions"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"To enable speed dial, turn on the Contacts permission."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"To see your call log, turn on the Phone permission."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"To see your contacts, turn on the Contacts permission."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"To access your voicemail, turn on the Phone permission."</string>
<string name="permission_no_search" msgid="2424710404207193826">"To search your contacts, turn on the Contacts permissions."</string>
<string name="permission_place_call" msgid="8686908130349369423">"To place a call, turn on the Phone permission."</string>
diff --git a/java/com/android/dialer/app/res/values-en-rGB/strings.xml b/java/com/android/dialer/app/res/values-en-rGB/strings.xml
index 28eea8b4d..999f7dab0 100644
--- a/java/com/android/dialer/app/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/app/res/values-en-rGB/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Add wait"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Settings"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Create new UI shortcut"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"All contacts"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Use touch tone keypad"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Return to call in progress"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Add call"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Incoming calls"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entering bulk action mode"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Left bulk action mode"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Selected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Unselected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Play voicemail"</string>
<string name="description_view_contact" msgid="3940984937384372665">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Voicemail"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"voicemails"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yes"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancel batch actions mode"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Delete"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancel"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Delete selected <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selected"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Delete these voicemails? "</b>"</item>
+ <item quantity="one">"<b>"Delete this voicemail? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> at <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Loading from SIM card…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM card contacts"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"No contacts app available"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Voice search not available"</string>
<string name="call_not_available" msgid="7850148370757361155">"Cannot make a phone call because the Phone application has been disabled."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Search contacts"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"No one is on your speed dial yet"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Add a favourite"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"You don\'t have any contacts yet"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Add a contact"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Touch image to see all numbers, or touch &amp; hold to re-arrange"</string>
<string name="remove_contact" msgid="2353580570488923668">"Remove"</string>
+ <string name="select_all" msgid="408601760696146245">"Select all"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Video call"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Send a message"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Call details"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blocked numbers"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is already blocked."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Calling accounts"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Turn on"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Set permissions"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"To enable speed dial, turn on the Contacts permission."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"To see your call log, turn on the Phone permission."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"To see your contacts, turn on the Contacts permission."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"To access your voicemail, turn on the Phone permission."</string>
<string name="permission_no_search" msgid="2424710404207193826">"To search your contacts, turn on the Contacts permissions."</string>
<string name="permission_place_call" msgid="8686908130349369423">"To place a call, turn on the Phone permission."</string>
diff --git a/java/com/android/dialer/app/res/values-en-rIN/strings.xml b/java/com/android/dialer/app/res/values-en-rIN/strings.xml
index 28eea8b4d..999f7dab0 100644
--- a/java/com/android/dialer/app/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/app/res/values-en-rIN/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Add wait"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Settings"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Create new UI shortcut"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"All contacts"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Use touch tone keypad"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Return to call in progress"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Add call"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Incoming calls"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entering bulk action mode"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Left bulk action mode"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Selected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Unselected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Play voicemail"</string>
<string name="description_view_contact" msgid="3940984937384372665">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Voicemail"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"voicemails"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yes"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancel batch actions mode"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Delete"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancel"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Delete selected <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selected"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Delete these voicemails? "</b>"</item>
+ <item quantity="one">"<b>"Delete this voicemail? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> at <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Loading from SIM card…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM card contacts"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"No contacts app available"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Voice search not available"</string>
<string name="call_not_available" msgid="7850148370757361155">"Cannot make a phone call because the Phone application has been disabled."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Search contacts"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"No one is on your speed dial yet"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Add a favourite"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"You don\'t have any contacts yet"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Add a contact"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Touch image to see all numbers, or touch &amp; hold to re-arrange"</string>
<string name="remove_contact" msgid="2353580570488923668">"Remove"</string>
+ <string name="select_all" msgid="408601760696146245">"Select all"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Video call"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Send a message"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Call details"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blocked numbers"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is already blocked."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Calling accounts"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Turn on"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Set permissions"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"To enable speed dial, turn on the Contacts permission."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"To see your call log, turn on the Phone permission."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"To see your contacts, turn on the Contacts permission."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"To access your voicemail, turn on the Phone permission."</string>
<string name="permission_no_search" msgid="2424710404207193826">"To search your contacts, turn on the Contacts permissions."</string>
<string name="permission_place_call" msgid="8686908130349369423">"To place a call, turn on the Phone permission."</string>
diff --git a/java/com/android/dialer/app/res/values-es-rUS/strings.xml b/java/com/android/dialer/app/res/values-es-rUS/strings.xml
index 9d80bc9e2..701d74ebc 100644
--- a/java/com/android/dialer/app/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/app/res/values-es-rUS/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Agregar espera"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Configuración"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulador"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Crear acceso a la nueva IU"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Todos los contactos"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Usar teclado numérico"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Regresar a la llamada en curso"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Agregar llamada"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Llamadas entrantes"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando al modo de acción masiva"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saliendo del modo de acción masiva"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Se seleccionó <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Se anuló la selección de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Reproducir mensaje de voz"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Ver contacto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Llamar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Correo de voz"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"el mensaje de voz"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"los mensajes de voz"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sí"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar el modo de acción masiva"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Borrar"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancelar"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"¿Deseas borrar <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> que seleccionaste?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> seleccionada(s)"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"¿Deseas borrar estos mensajes de voz? "</b>"</item>
+ <item quantity="one">"<b>"¿Deseas borrar este mensaje de voz? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"El <xliff:g id="DATE">%1$s</xliff:g> a la hora <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Cargando desde tarjeta SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contactos de tarjeta SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"No hay aplicaciones de contactos disponibles."</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Búsqueda por voz no disponible"</string>
<string name="call_not_available" msgid="7850148370757361155">"No se pueden realizar llamadas porque se inhabilitó la aplicación Teléfono."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Buscar contactos"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> llamadas perdidas nuevas"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Aún no tienes contactos en la opción de marcado rápido"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Agregar un favorito"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Aún no tienes contactos"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Agregar un contacto"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Toca la imagen para ver todos los números o mantenla presionada para reorganizar"</string>
<string name="remove_contact" msgid="2353580570488923668">"Eliminar"</string>
+ <string name="select_all" msgid="408601760696146245">"Seleccionar todo"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videollamada"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar un mensaje"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalles de la llamada"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ya está bloqueado."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Cuentas telefónicas"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Activar"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Configurar permisos"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Para habilitar el marcado rápido, activa el permiso Contactos."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Para ver el registro de llamadas, activa el permiso Teléfono."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver los contactos, activa el permiso Contactos."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Para acceder al buzón de voz, activa el permiso Teléfono."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Para buscar contactos, activa el permiso Contactos."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Para realizar una llamada, activa el permiso Teléfono."</string>
diff --git a/java/com/android/dialer/app/res/values-es/strings.xml b/java/com/android/dialer/app/res/values-es/strings.xml
index b7383d970..8cf47f554 100644
--- a/java/com/android/dialer/app/res/values-es/strings.xml
+++ b/java/com/android/dialer/app/res/values-es/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Añadir espera"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Ajustes"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulador"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Crear acceso a la interfaz"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Todos los contactos"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Usar teclado táctil"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Volver a la llamada"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Añadir llamada"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Llamadas entrantes"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando en el modo de acción en bloque"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Se ha salido del modo de acción en bloque"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> seleccionado"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Selección de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> anulada"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Reproducir mensaje de voz"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Ver contacto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Llamar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Buzón de voz"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min y <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"mensaje de voz"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mensajes de voz"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sí"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar el modo de acciones en lote"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Eliminar"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancelar"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"¿Eliminar la selección de <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Se han seleccionado <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"¿Eliminar estos mensajes de voz? "</b>"</item>
+ <item quantity="one">"<b>"¿Eliminar este mensaje de voz? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> a las <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Cargando desde tarjeta SIM…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contactos de tarjeta SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"No hay aplicaciones de contactos disponibles"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"La búsqueda por voz no está disponible"</string>
<string name="call_not_available" msgid="7850148370757361155">"No se puede hacer llamadas porque se ha inhabilitado la aplicación Teléfono."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Buscar contactos"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> llamadas perdidas nuevas"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Aún no tienes contactos en la función de marcación rápida"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Añadir un favorito"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Aún no tienes contactos"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Añadir un contacto"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Tocar la imagen para ver todos los números o mantenerla pulsada para cambiar el orden"</string>
<string name="remove_contact" msgid="2353580570488923668">"Eliminar"</string>
+ <string name="select_all" msgid="408601760696146245">"Seleccionar todo"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videollamada"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar un mensaje"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalles de la llamada"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ya está bloqueado."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Cuentas de llamadas"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Activar"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Establecer permisos"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Para habilitar la marcación rápida, activa el permiso la aplicación Contactos."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Para ver el registro de llamadas, activa el permiso de la aplicación Teléfono."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver tus contactos, activa el permiso de la aplicación Contactos."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Para acceder al buzón de voz, activa el permiso de la aplicación Teléfono."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Para poder buscar tus contactos, activa los permisos de contactos."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Para hacer una llamada, activa el permiso de la aplicación Teléfono."</string>
diff --git a/java/com/android/dialer/app/res/values-et/strings.xml b/java/com/android/dialer/app/res/values-et/strings.xml
index d4e4faa59..da043bf3c 100644
--- a/java/com/android/dialer/app/res/values-et/strings.xml
+++ b/java/com/android/dialer/app/res/values-et/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Lisa ootamine"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Seaded"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulaator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Loo uue kasutajaliid. otsetee"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Kõik kontaktid"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Kasuta puutetooniga klahvistikku"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Tagasi käimasolevale kõnele"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Lisa kõne"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Sissetulevad kõned"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Sisenemine hulgitoimingute režiimi"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Lahkumine hulgitoimingute režiimist"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> on valitud"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> on valimata"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Esita kõnepostisõnum"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Kuva kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Helista kasutajale <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Kõnepost"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"kõnepostisõnum"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"kõnepostisõnumid"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Jah"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ei"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Mitme toimigu režiimi tühistamine"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Kustuta"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Tühista"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Kas kustutada valitud kõnepostisõnumid <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> on valitud"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Kas kustutada need kõnepostisõnumid? "</b>"</item>
+ <item quantity="one">"<b>"Kas kustutada see kõnepostisõnum? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kell <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Laadimine SIM-kaardilt ..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM-kaardi kontaktid"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Kontaktide rakendus pole saadaval"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Häälotsing ei ole saadaval"</string>
<string name="call_not_available" msgid="7850148370757361155">"Helistada ei saa, sest telefonirakendus on keelatud."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Otsige kontakte"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> uus/uut vastamata kõne(t)"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Te pole veel kedagi kiirvalimisse lisanud"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Lisa lemmik"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Teil pole veel kontakte"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Lisa kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Puudutage kujutist kõigi numbrite nägemiseks või puudutage pikalt järjestuse muutmiseks"</string>
<string name="remove_contact" msgid="2353580570488923668">"Eemalda"</string>
+ <string name="select_all" msgid="408601760696146245">"Vali kõik"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videokõne"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Saada sõnum"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Kõne üksikasjad"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokeeritud numbrid"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> on juba blokeeritud."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Helistamiskontod"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Lülita sisse"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Määra load"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Kiirvalimise lubamiseks lülitage sisse kontaktiluba."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Kõnelogi vaatamiseks lülitage sisse telefoniluba."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Kontaktide vaatamiseks lülitage sisse kontaktiluba."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Kõnepostile juurdepääsemiseks lülitage sisse telefoniluba."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Kontaktide otsimiseks lülitage sisse kontaktiload."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Helistamiseks lülitage sisse telefoniluba."</string>
diff --git a/java/com/android/dialer/app/res/values-eu/strings.xml b/java/com/android/dialer/app/res/values-eu/strings.xml
index 95f4621a4..071c6f3f0 100644
--- a/java/com/android/dialer/app/res/values-eu/strings.xml
+++ b/java/com/android/dialer/app/res/values-eu/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Gehitu itxaronaldia"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Ezarpenak"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulagailua"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Sortu interfazerako esteka"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Kontaktu guztiak"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Erabili ukipen-tonuak dituen teklatua"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Itzuli abian den deira"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Gehitu deia"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Sarrerako deiak"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Ekintzak multzoka gauzatzeko modua aktibatzen"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Ekintzak multzoka gauzatzeko modua desaktibatu da"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> hautatu da"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> desautatu da"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Erreproduzitu erantzungailuko ahots-mezuak"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Ikusi <xliff:g id="NAME">%1$s</xliff:g> kontaktua"</string>
<string name="description_call" msgid="1532402285334775372">"Deitu <xliff:g id="NAME">%1$s</xliff:g> erabiltzaileari"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Erantzungailua"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ahots-mezua"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ahots-mezuak"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Bai"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ez"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Utzi bertan behera ekintzak multzoka gauzatzeko modua"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Ezabatu"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Utzi"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Hautatutako <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ezabatu?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> hautatu dira"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Ahots-mezu hauek ezabatu nahi dituzu? "</b>"</item>
+ <item quantity="one">"<b>"Ahots-mezu hau ezabatu nahi duzu? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> (<xliff:g id="TIME">%2$s</xliff:g>)"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM txarteletik kargatzen…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM txarteleko kontaktuak"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Ez dago kontaktuen aplikaziorik erabilgarri"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Ahozko bilaketa ez dago erabilgarri"</string>
<string name="call_not_available" msgid="7850148370757361155">"Ezin da telefono-deirik egin Telefonoa aplikazioa desgaitu egin delako."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Bilatu kontaktuetan"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> dei galdu berri"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Ez duzu inor markatze bizkorrean oraindik"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Gehitu gogokoak"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Ez duzu kontakturik oraindik"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Gehitu kontaktua"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Ukitu irudia zenbaki guztiak ikusteko, edo eduki ezazu sakatuta berrantolatzeko"</string>
<string name="remove_contact" msgid="2353580570488923668">"Kendu"</string>
+ <string name="select_all" msgid="408601760696146245">"Hautatu guztiak"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Bideo-deia"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Bidali mezua"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Deiaren xehetasunak"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokeatutako zenbakiak"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> blokeatuta dago dagoeneko."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Deiak egiteko kontuak"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktibatu"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ezarri baimenak"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Markatze bizkorra gaitzeko, aktibatu Kontaktuak erabiltzeko baimena."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Deien erregistroa ikusteko, aktibatu Telefonoa erabiltzeko baimena."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Kontaktuak ikusteko, aktibatu Kontaktuak erabiltzeko baimena."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Erantzungailuan sartzeko, aktibatu Telefonoa erabiltzeko baimena."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Kontaktuak bilatzeko, aktibatu kontaktuak atzitzeko baimenak."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Deiak egiteko, aktibatu Telefonoa erabiltzeko baimena."</string>
diff --git a/java/com/android/dialer/app/res/values-fa/strings.xml b/java/com/android/dialer/app/res/values-fa/strings.xml
index 9c8c01b64..6c588747e 100644
--- a/java/com/android/dialer/app/res/values-fa/strings.xml
+++ b/java/com/android/dialer/app/res/values-fa/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"افزودن انتظار"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"تنظیمات"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"شبیه‌ساز"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"ایجاد میان‌بر رابط کاربری جدید"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"همه مخاطبین"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"استفاده از صفحه‌کلید لمسی"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"برگشت به تماس درحال انجام"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"افزودن تماس"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"تماس‌های ورودی"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"درحال ورود به حالت اقدام انبوه"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"خروج از حالت اقدام انبوه"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> انتخاب شد"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> از حالت انتخاب خارج شد"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"پخش پست صوتی"</string>
<string name="description_view_contact" msgid="3940984937384372665">"مشاهده مخاطب <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"تماس با <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"پست صوتی"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> دقیقه <xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"پست صوتی"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"پست‌های صوتی"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"بله"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"نه"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"لغو حالت اقدام‌ دسته‌ای"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"حذف"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"لغو"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> انتخاب‌شده حذف شود؟"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> مورد انتخاب شد"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"این پست‌های صوتی حذف شوند؟ "</b>"</item>
+ <item quantity="other">"<b>"این پست‌های صوتی حذف شوند؟ "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ساعت <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"در حال بارگیری سیم کارت..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"مخاطبین سیم کارت"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"هیچ برنامه مخاطبی در دسترس نیست"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"جستجوی گفتاری در دسترس نیست"</string>
<string name="call_not_available" msgid="7850148370757361155">"برقراری تماس تلفنی ممکن نیست، زیرا برنامه تلفن غیرفعال شده است."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"جستجوی مخاطبین"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> تماس‌ بی‌پاسخ جدید"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"هنوز کسی در فهرست شماره‌گیری سریع شما نیست"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"افزودن مورد دلخواه"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"هنوز هیچ مخاطبی ندارید"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"افزودن مخاطب"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"برای مشاهده همه شماره‌ها، تصویر را لمس کنید، یا برای ترتیب مجدد، لمس کنید و نگه‌دارید"</string>
<string name="remove_contact" msgid="2353580570488923668">"حذف"</string>
+ <string name="select_all" msgid="408601760696146245">"انتخاب همه"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"تماس ویدئویی"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"ارسال پیام"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"جزئیات تماس"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"شماره‌های مسدود‌شده"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> درحال‌حاضر مسدود شده است."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"حساب‌های تماس"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"روشن کردن"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"تنظیم مجوزها"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"برای فعال کردن شماره‌گیری سریع، مجوز «مخاطبین» را روشن کنید."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"برای دیدن گزارش تماستان، مجوز «تلفن» را روشن کنید."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"برای دیدن مخاطبینتان، مجوز «مخاطبین» را روشن کنید."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"برای دسترسی به پست صوتی‌تان، مجوز «تلفن» را روشن کنید."</string>
<string name="permission_no_search" msgid="2424710404207193826">"برای جستجوی مخاطبینتان، مجوزهای مخاطبین را روشن کنید."</string>
<string name="permission_place_call" msgid="8686908130349369423">"برای برقراری تماس، مجوز «تلفن» را روشن کنید."</string>
diff --git a/java/com/android/dialer/app/res/values-fi/strings.xml b/java/com/android/dialer/app/res/values-fi/strings.xml
index c5a103d48..55865d44a 100644
--- a/java/com/android/dialer/app/res/values-fi/strings.xml
+++ b/java/com/android/dialer/app/res/values-fi/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Lisää tauko"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Asetukset"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulaattori"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Luo uusi UI-pikakuvake"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Kaikki yhteystiedot"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Käytä näppäimistöä"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Palaa käynnissä olevaan puheluun"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Lisää puhelu"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Saapuvat puhelut"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Siirrytään joukkotoimintotilaan."</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Poistuttiin joukkotoimintotilasta."</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> valittiin."</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ei ole enää valittuna."</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Toista vastaajaviesti"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Näytä yhteystieto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Soita: <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Vastaaja"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"vastaajaviesti"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"vastaajaviestit"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Kyllä"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ei"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Peruuta joukkotoimintotila."</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Poista"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Peruuta"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Poistetaanko <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> valittu"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Poistetaanko nämä vastaajaviestit? "</b>"</item>
+ <item quantity="one">"<b>"Poistetaanko tämä vastaajaviesti? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> klo <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>.<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Ladataan SIM-kortilta…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM-kortin yhteystiedot"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Ei käytettävissä olevaa yhteystietosovellusta"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Puhehaku ei ole käytettävissä"</string>
<string name="call_not_available" msgid="7850148370757361155">"Puhelua ei voi soittaa, koska Puhelin-sovellus on poistettu käytöstä."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Hae yhteystiedoista"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> uutta vastaamatonta puhelua"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Pikavalinnassa ei ole vielä yhtään yhteystietoa."</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Lisää suosikki"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Sinulla ei ole yhteystietoja."</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Lisää yhteystieto"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Katso kaikki numerot koskettamalla kuvaa tai järjestele tietoja koskettamalla kuvaa pitkään."</string>
<string name="remove_contact" msgid="2353580570488923668">"Poista"</string>
+ <string name="select_all" msgid="408601760696146245">"Valitse kaikki"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videopuhelu"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Lähetä viesti"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Puhelun tiedot"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Estetyt numerot"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> on jo estetty."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Puhelutilit"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Ota käyttöön"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Määritä käyttöoikeudet"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Jos haluat käyttää pikavalintaa, ota Yhteystiedot-käyttöoikeus käyttöön."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Jos haluat katsella puhelulokiasi, ota Puhelin-käyttöoikeus käyttöön."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Jos haluat katsella yhteystietojasi, ota Yhteystiedot-käyttöoikeus käyttöön."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Jos haluat käyttää puhelinvastaajaa, ota Puhelin-käyttöoikeus käyttöön."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Jos haluat hakea kontaktejasi, ota käyttöön kontaktien käyttöoikeudet."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Jos haluat soittaa puheluja, ota Puhelin-käyttöoikeus käyttöön."</string>
diff --git a/java/com/android/dialer/app/res/values-fr-rCA/strings.xml b/java/com/android/dialer/app/res/values-fr-rCA/strings.xml
index d557d7442..f10b121d5 100644
--- a/java/com/android/dialer/app/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/app/res/values-fr-rCA/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Ajouter Attendre"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Paramètres"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulateur"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Créer un raccourci vers l\'IU"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Tous les contacts"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Utiliser le clavier DTMF"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Reprendre l\'appel en cours"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Autre appel"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Appels entrants"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrée du mode d\'action groupée en cours…"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Mode d\'action groupée quitté"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Sélection : <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Désélection : <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Écouter le message vocal"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Afficher le contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Appeler <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Messagerie vocale"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min et <xliff:g id="SECONDS">%s</xliff:g> sec"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"message vocal"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"messages vocaux"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Oui"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Non"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Annuler le mode d\'action par lots"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Supprimer"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Annuler"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Supprimer la sélection (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> sélection(s)"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Supprimer ce message vocal? "</b>"</item>
+ <item quantity="other">"<b>"Supprimer ces messages vocaux? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> à <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Chargement depuis la carte SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contacts de carte SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Aucune application de gestion des contacts n\'est disponible"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Recherche vocale non disponible"</string>
<string name="call_not_available" msgid="7850148370757361155">"Impossible d\'effectuer un appel téléphonique, car l\'application Téléphone a été désactivée."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Rechercher des contacts"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nouveaux appels manqués"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Aucun contact ne figure dans vos numéros de composition abrégée"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Ajouter un favori"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Vous n\'avez pas encore de contacts"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Ajouter un contact"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Touchez l\'image pour afficher tous les numéros, ou maintenez le doigt dessus pour les réorganiser"</string>
<string name="remove_contact" msgid="2353580570488923668">"Supprimer"</string>
+ <string name="select_all" msgid="408601760696146245">"Tout sélectionner"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Appel vidéo"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Envoyer un message"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Détails de l\'appel"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Numéros bloqués"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Le numéro <xliff:g id="NUMBER">%1$s</xliff:g> est déjà bloqué."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Comptes d\'appel"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Activer"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Définir les autorisations"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Pour activer la composition abrégée, activez l\'autorisation Contacts."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Pour consulter votre journal d\'appels, activez l\'autorisation Téléphone."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Pour consulter vos contacts, activez l\'autorisation Contacts."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Pour accéder à votre messagerie vocale, activez l\'autorisation Téléphone."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Pour rechercher vos contacts et les lieux à proximité, activez les autorisations Contacts."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Pour faire un appel, activez l\'autorisation Téléphone."</string>
diff --git a/java/com/android/dialer/app/res/values-fr/strings.xml b/java/com/android/dialer/app/res/values-fr/strings.xml
index d8a59395b..2ce930af5 100644
--- a/java/com/android/dialer/app/res/values-fr/strings.xml
+++ b/java/com/android/dialer/app/res/values-fr/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Ajouter une attente"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Paramètres"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulateur"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Créer un raccourci vers la nouvelle interface"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Tous les contacts"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Utiliser le clavier DTMF"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Reprendre l\'appel en cours"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Autre appel"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Appels entrants"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Activation du mode d\'action groupée"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Désactivation du mode d\'action groupée"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> sélectionné"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> désélectionné"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Écouter le message vocal"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Afficher le contact <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Appeler <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Messagerie vocale"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> secondes"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min et <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"message vocal"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"messages vocaux"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Oui"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Non"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Annuler le mode d\'actions groupées"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Supprimer"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Annuler"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Supprimer les messages vocaux sélectionnés (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>) ?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> sélectionnés"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Supprimer ce message vocal ? "</b>"</item>
+ <item quantity="other">"<b>"Supprimer ces message vocaux ? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> à <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Chargement depuis la carte SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contacts de carte SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Aucune application de gestion des contacts n\'est disponible."</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Recherche vocale non disponible"</string>
<string name="call_not_available" msgid="7850148370757361155">"Impossible d\'effectuer un appel téléphonique, car l\'application Téléphone a été désactivée."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Rech. des contacts"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Nouveaux appels manqués : <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Aucun contact pour la numérotation abrégée"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Ajouter un favori"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Vous n\'avez pas encore de contacts."</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Ajouter un contact"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Appuyer sur l\'image pour afficher tous les numéros, ou appuyer dessus de manière prolongée pour réorganiser ces derniers"</string>
<string name="remove_contact" msgid="2353580570488923668">"Supprimer"</string>
+ <string name="select_all" msgid="408601760696146245">"Tout sélectionner"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Appel vidéo"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Envoyer un message"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Informations sur l\'appel"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Numéros bloqués"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Le numéro \"<xliff:g id="NUMBER">%1$s</xliff:g>\" est déjà bloqué."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Comptes téléphoniques"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Activer"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Définir les autorisations"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Pour activer la numérotation abrégée, activez l\'autorisation Contacts."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Pour consulter votre journal d\'appels, activez l\'autorisation Téléphone."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Pour consulter vos contacts, activez l\'autorisation Contacts."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Pour accéder à votre messagerie vocale, activez l\'autorisation Téléphone."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Pour rechercher vos contacts, activez l\'autorisation Contacts."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Pour passer un appel, activez l\'autorisation Téléphone."</string>
diff --git a/java/com/android/dialer/app/res/values-gl/strings.xml b/java/com/android/dialer/app/res/values-gl/strings.xml
index 33b55a740..b9e540750 100644
--- a/java/com/android/dialer/app/res/values-gl/strings.xml
+++ b/java/com/android/dialer/app/res/values-gl/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Engadir espera"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Configuración"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulador"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Crear atallo para a nova IU"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Todos os contactos"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Usar teclado de tons táctiles"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Volver á chamada en curso"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Engadir chamada"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Chamadas entrantes"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando no modo de acción masiva"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saíu do modo de acción masiva"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Seleccionouse: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Anulouse a selección de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Reproducir correo de voz"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Ver contacto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Chamar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Correo de voz"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"correo de voz"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"correos de voz"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Si"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Non"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancela o modo de accións en lote"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Eliminar"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancelar"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Queres eliminar a selección (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Cantidade seleccionada: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Queres eliminar estes correos de voz? "</b>"</item>
+ <item quantity="one">"<b>"Queres eliminar este correo de voz? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ás <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Cargando da tarxeta SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contactos da tarxeta SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Non hai aplicacións de contactos dispoñibles"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Busca por voz non dispoñible"</string>
<string name="call_not_available" msgid="7850148370757361155">"Non se pode facer unha chamada telefónica porque se desactivou a aplicación de teléfono."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Buscar contactos"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> chamadas perdidas novas"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Aínda non tes ningún contacto na marcación directa"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Engade un favorito para a marcación directa"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Aínda non tes contactos"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Engade un contacto"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Toca a imaxe para ver todos os números ou mantena premida para reordenalos"</string>
<string name="remove_contact" msgid="2353580570488923668">"Eliminar"</string>
+ <string name="select_all" msgid="408601760696146245">"Seleccionar todos"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videochamada"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar unha mensaxe"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalles da chamada"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"O <xliff:g id="NUMBER">%1$s</xliff:g> xa está bloqueado."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Contas de chamadas"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Activar"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Establecer permisos"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Para activar a marcación rápida, activa o permiso de Contactos."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Para ver o teu rexistro de chamadas, activa o permiso de Teléfono."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver os teus contactos, activa o permiso de Contactos."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Para acceder ao correo de voz, activa o permiso de Teléfono."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Para buscar os teus contactos, activa os permisos de Contactos."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Para facer unha chamada, activa o permiso de Teléfono."</string>
diff --git a/java/com/android/dialer/app/res/values-gu/strings.xml b/java/com/android/dialer/app/res/values-gu/strings.xml
index 1df18269e..ca8749ad3 100644
--- a/java/com/android/dialer/app/res/values-gu/strings.xml
+++ b/java/com/android/dialer/app/res/values-gu/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"પ્રતીક્ષા ઉમેરો"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"સેટિંગ્સ"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"સિમ્યુલેટર"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"નવું UI શૉર્ટકટ્સ બનાવો"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"તમામ સંપર્કો"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ટચ ટોન કીપેડનો ઉપયોગ કરો"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"કૉલ પર પાછા આવવું પ્રગતિ પર છે"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"કૉલ ઉમેરો"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ઇનકમિંગ કૉલ્સ"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"બલ્ક ક્રિયા મોડમાં દાખલ થઈ રહ્યાં છે"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"બલ્ક ક્રિયા મોડ છોડી દીધો"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> પસંદ કર્યો"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> પસંદગીમાંથી દૂર કર્યો"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"વૉઇસમેઇલ ચલાવો"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> સંપર્ક જુઓ"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ને કૉલ કરો"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"વૉઇસમેઇલ"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> સેકંડ"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> મિ <xliff:g id="SECONDS">%s</xliff:g> સે"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"વૉઇસમેઇલ"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"વૉઇસમેઇલ"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"હા"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"નહીં"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"બૅચ ક્રિયા મોડ રદ કરો"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"કાઢી નાખો"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"રદ કરો"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"પસંદ કરેલ <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ને કાઢી નાખીએ?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> પસંદ કરી"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"આ વૉઇસમેઇલ કાઢી નાખીએ? "</b>"</item>
+ <item quantity="other">"<b>"આ વૉઇસમેઇલ કાઢી નાખીએ? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> નાં રોજ <xliff:g id="TIME">%2$s</xliff:g> વાગ્યે"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM કાર્ડમાંથી લોડ કરી રહ્યું છે…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM કાર્ડ સંપર્કો"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"કોઈ સંપર્કો ઍપ્લિકેશન ઉપલબ્ધ નથી"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"વૉઇસ શોધ ઉપલબ્ધ નથી"</string>
<string name="call_not_available" msgid="7850148370757361155">"ફોન કૉલ કરી શકાતો નથી કારણ કે ફોન ઍપ્લિકેશન અક્ષમ કરવામાં આવી છે."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"સંપર્કો શોધો"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> નવા છૂટેલા કૉલ્સ"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"તમારા ઝડપી ડાયલ પર હજી સુધી કોઇ નથી"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"એક મનપસંદ ઉમેરો"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"તમે હજી સુધી કોઇપણ સંપર્કો ધરાવતાં નથી"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"સંપર્ક ઉમેરો"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"બધા નંબર્સ જોવા માટે છબી ટચ કરો અથવા પુનઃક્રમાંકિત કરવા માટે ટચ કરો અને પકડી રાખો"</string>
<string name="remove_contact" msgid="2353580570488923668">"દૂર કરો"</string>
+ <string name="select_all" msgid="408601760696146245">"તમામ પસંદ કરો"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"વિડિઓ કૉલ"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"એક સંદેશ મોકલો"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"કૉલની વિગતો"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"અવરોધિત નંબરો"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ને પહેલેથી અવરોધિત કરવામાં આવ્યો છે."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"કૉલિંગ એકાઉન્ટ્સ"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ચાલુ કરો"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"પરવાનગીઓ સેટ કરો"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"ઝડપી ડાયલ સક્ષમ કરવા માટે, સંપર્કોની પરવાનગી ચાલુ કરો."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"તમારો કૉલ લૉગ જોવા માટે, ફોન પરવાનગી ચાલુ કરો."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"તમારા સંપર્કો જોવા માટે, સંપર્કોની પરવાનગી ચાલુ કરો."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"તમારી વૉઇસમેઇલને ઍક્સેસ કરવા માટે, ફોન પરવાનગી ચાલુ કરો."</string>
<string name="permission_no_search" msgid="2424710404207193826">"તમારા સંપર્કો શોધવા માટે, સંપર્કોની પરવાનગીઓ ચાલુ કરો."</string>
<string name="permission_place_call" msgid="8686908130349369423">"કૉલ કરવા માટે, ફોન પરવાનગી ચાલુ કરો."</string>
diff --git a/java/com/android/dialer/app/res/values-hi/strings.xml b/java/com/android/dialer/app/res/values-hi/strings.xml
index 84d2d974a..3bc931921 100644
--- a/java/com/android/dialer/app/res/values-hi/strings.xml
+++ b/java/com/android/dialer/app/res/values-hi/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"प्रतीक्षा का समय बढ़ाएं"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"सेटिंग"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"सिम्युलेटर"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"नया UI शॉर्टकट बनाएं"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"सभी संपर्क"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"टच टोन कीपैड का उपयोग करें"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"कॉल पर लौटना प्रगति पर है"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"कॉल जोड़ें"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"इनकमिंग कॉल"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"बल्क कार्रवाई मोड में प्रवेश कर रहे हैं"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"बल्क कार्रवाई मोड छोड़ा"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> को चुना गया"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> को नहीं चुना गया"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"ध्‍वनिमेल चलाएं"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> संपर्क देखें"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> को कॉल करें"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"वॉयस मेल"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> सेकंड"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> मि. <xliff:g id="SECONDS">%s</xliff:g> से."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"वॉयसमेल"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"वॉयसमेल"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"हां"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"नहीं"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"बैच कार्रवाई मोड रद्द करें"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"हटाएं"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"रद्द करें"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"क्या चुने गए <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> हटाना चाहते हैं?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> चयनित"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"ये वॉइसमेल हटाएं? "</b>"</item>
+ <item quantity="other">"<b>"ये वॉइसमेल हटाएं? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> को <xliff:g id="TIME">%2$s</xliff:g> बजे"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"सिम कार्ड से लोड हो रहा है…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"सिम कार्ड के संपर्क"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"कोई भी संपर्क ऐप उपलब्‍ध नहीं है"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"बोलकर खोजना उपलब्‍ध नहीं है"</string>
<string name="call_not_available" msgid="7850148370757361155">"फ़ोन कॉल नहीं किया जा सकता क्योंकि फ़ोन ऐप्लिकेशन अक्षम कर दिया गया है."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"संपर्क खोजें"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> छूटे हुए नए कॉल"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"आपके स्‍पीड डायल पर अभी तक कोई भी नहीं है"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"कोई पसंदीदा जोड़ें"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"आपके पास अभी कोई भी संपर्क नहीं है"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"कोई संपर्क जोड़ें"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"सभी नंबर देखने के लिए चित्र को स्‍पर्श करें या पुन: क्रमित करने के लिए स्‍पर्श करके रखें"</string>
<string name="remove_contact" msgid="2353580570488923668">"निकालें"</string>
+ <string name="select_all" msgid="408601760696146245">"सभी चुनें"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"वीडियो कॉल"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"संदेश भेजें"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"कॉल विवरण"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"अवरोधित नंबर"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> पहले से अवरोधित है."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"कॉलिंग खाते"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"चालू करें"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"अनुमतियां सेट करें"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"स्पीड डायल सक्षम करने के लिए, संपर्क अनुमति चालू करें."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"अपना कॉल लॉग देखने के लिए, फ़ोन अनुमति चालू करें."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"अपने संपर्क देखने के लिए, संपर्क अनुमति चालू करें."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"अपना वॉइसमेल ऐक्सेस करने के लिए, फ़ोन अनुमति चालू करें."</string>
<string name="permission_no_search" msgid="2424710404207193826">"अपने संपर्कों की खोज करने के लिए, संपर्क अनुमतियों को चालू करें."</string>
<string name="permission_place_call" msgid="8686908130349369423">"कॉल करने के लिए, फ़ोन अनुमति चालू करें."</string>
diff --git a/java/com/android/dialer/app/res/values-hr/strings.xml b/java/com/android/dialer/app/res/values-hr/strings.xml
index cd3535372..0d2147008 100644
--- a/java/com/android/dialer/app/res/values-hr/strings.xml
+++ b/java/com/android/dialer/app/res/values-hr/strings.xml
@@ -81,11 +81,16 @@
<string name="add_wait" msgid="1177723010768282578">"Dodaj čekanje"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Postavke"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Izrada prečaca novog sučelja"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Svi kontakti"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Koristi dodirnu zvučnu tipkovnicu"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Natrag na poziv u tijeku"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj poziv"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Dolazni pozivi"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Ulazak u način skupne radnje"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Napuštanje načina skupne radnje"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Odabrano: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Poništen odabir: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Reprodukcija govorne pošte"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Prikaz kontakta <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Nazovi <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -100,11 +105,16 @@
<string name="voicemail" msgid="8899540969000957954">"Govorna pošta"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"poruka govorne pošte"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"poruke govorne pošte"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Otkaži način skupnih radnji"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Izbriši"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Odustani"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Želite li izbrisati odabranu poruku/e govorne pošte <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Odabrano: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Želite li izbrisati ove poruke govorne pošte? "</b>"</item>
+ <item quantity="few">"<b>"Želite li izbrisati ove poruke govorne pošte? "</b>"</item>
+ <item quantity="other">"<b>"Želite li izbrisati ove poruke govorne pošte? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> u <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>.<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -117,7 +127,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Učitavanje sa SIM kartice..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakti SIM kartice"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nije dostupna nijedna aplikacija za kontakte"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Glasovno pretraživanje nije dostupno"</string>
<string name="call_not_available" msgid="7850148370757361155">"Telefoniranje nije moguće jer je aplikacija Telefon onemogućena."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pretraži kontakte"</string>
@@ -146,10 +155,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Broj novih propuštenih poziva: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Još nemate nikog na brzom biranju"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj omiljeni kontakt"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Još nemate nijedan kontakt"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodajte kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Dodirnite sliku da biste vidjeli sve brojeve ili dodirnite i zadržite da biste promijenili redoslijed"</string>
<string name="remove_contact" msgid="2353580570488923668">"Ukloni"</string>
+ <string name="select_all" msgid="408601760696146245">"Odaberi sve"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videopoziv"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Pošalji poruku"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Pojedinosti poziva"</string>
@@ -215,11 +223,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokirani brojevi"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Broj <xliff:g id="NUMBER">%1$s</xliff:g> već je blokiran."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Pozivanje računa"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Uključi"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Postavi dopuštenja"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Da biste omogućili brzo biranje, uključite dopuštenje za kontakte."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Da biste vidjeli zapisnik poziva, uključite dopuštenje za telefon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Da biste vidjeli svoje kontakte, uključite dopuštenje za kontakte."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Da biste pristupili govornoj pošti, uključite dopuštenje za telefon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Da biste pretraživali kontakte, uključite dopuštenja za kontakte."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Da biste nazvali nekog, uključite dopuštenje za telefon."</string>
diff --git a/java/com/android/dialer/app/res/values-hu/strings.xml b/java/com/android/dialer/app/res/values-hu/strings.xml
index 2e64d745d..9a373e6e8 100644
--- a/java/com/android/dialer/app/res/values-hu/strings.xml
+++ b/java/com/android/dialer/app/res/values-hu/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Várakozás hozzáadása"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Beállítások"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Szimulátor"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Új felh. felület-parancsikon"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Összes névjegy"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Hangkódos telefonbillentyűzet használata"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Vissza a folyamatban lévő híváshoz"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Hívás hozzáadása"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Bejövő hívások"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Belépés tömeges műveleti módba"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Kilépett a tömeges műveleti módból"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Kijelölés: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Kijelölés megszüntetve: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Hangposta lejátszása"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> névjegyének megtekintése"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> hívása"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Hangposta"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> másodperc"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> perc <xliff:g id="SECONDS">%s</xliff:g> másodperc"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"hangpostaüzenetet"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"hangpostaüzeneteket"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Igen"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nem"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Köteges művelet mód leállítva"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Törlés"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Mégse"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Törli a kiválasztott <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> kiválasztva"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Törli ezeket a hangpostaüzeneteket? "</b>"</item>
+ <item quantity="one">"<b>"Törli ezt a hangpostaüzenetet? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Betöltés a SIM kártyáról..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Névjegyek a SIM kártyán"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nincs elérhető névjegyek alkalmazás"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"A hangalapú keresés nem érhető el"</string>
<string name="call_not_available" msgid="7850148370757361155">"Nem lehet telefonhívást kezdeményezni, mert a Telefon alkalmazást letiltották."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Keresés a névjegyek között"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> új nem fogadott hívás"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Még semelyik telefonszám sincs gyorshívón"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Kedvenc hozzáadása"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Még nem rendelkezik egyetlen névjeggyel sem"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Névjegy hozzáadása"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Koppintson a képre az összes szám megjelenítéséhez, vagy tartsa nyomva az átrendezéshez"</string>
<string name="remove_contact" msgid="2353580570488923668">"Eltávolítás"</string>
+ <string name="select_all" msgid="408601760696146245">"Az összes kijelölése"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videohívás"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Üzenet küldése"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Hívás adatai"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Letiltott számok"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"A következő szám már le van tiltva: <xliff:g id="NUMBER">%1$s</xliff:g>."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Telefonos fiókok"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Engedélyezés"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Engedélyek beállítása"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Gyorshívás engedélyezéséhez kapcsolja be a Névjegyek engedélyt."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"A hívásnapló megtekintéséhez kapcsolja be a Telefon engedélyt."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"A névjegyek megtekintéséhez kapcsolja be a Névjegyek engedélyt."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"A hangposta eléréséhez kapcsolja be a Telefon engedélyt."</string>
<string name="permission_no_search" msgid="2424710404207193826">"A névjegyek kereséséhez adja meg a Névjegyek engedélyeket."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Hívásindításhoz kapcsolja be a Telefon engedélyt."</string>
diff --git a/java/com/android/dialer/app/res/values-hy/strings.xml b/java/com/android/dialer/app/res/values-hy/strings.xml
index 6f3931c9f..2b2fbf61b 100644
--- a/java/com/android/dialer/app/res/values-hy/strings.xml
+++ b/java/com/android/dialer/app/res/values-hy/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Ավելացնել սպասում"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Կարգավորումներ"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Նմանակիչ"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Ստեղծել միջերեսի նոր դյուրանցում"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Բոլոր կոնտակտները"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Օգտագործել հնչերանգներով ստեղնաշարը"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Վերադառնալ ընթացիկ զանգին"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Ավելացնել զանգ"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Մուտքային զանգեր"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Դուք մտել եք զանգվածային գործողության ռեժիմ"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Դուք դուրս եկաք զանգվածային գործողությունների ռեժիմից"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Ընտրվեց՝ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Ապընտրվեց՝ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Նվագարկել ձայնային փոստը"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Դիտել <xliff:g id="NAME">%1$s</xliff:g> կոնտակտը"</string>
<string name="description_call" msgid="1532402285334775372">"Զանգել <xliff:g id="NAME">%1$s</xliff:g>-ին"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Ձայնային փոստ"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> վրկ"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> րոպե <xliff:g id="SECONDS">%s</xliff:g> վայրկյան"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ձայնային հաղորդագրություն"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ձայնային հաղորդագրություններ"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Այո"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ոչ"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Չեղարկել փաթեթային գործողությունների ռեժիմը"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Ջնջել"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Չեղարկել"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Ջնջե՞լ նշված <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ը"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Ընտրվել է՝ <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Delete these voicemails? "</b>"</item>
+ <item quantity="other">"<b>"Ջնջե՞լ այս ձայնային հաղորդագրությունները "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>-ին, ժամը <xliff:g id="TIME">%2$s</xliff:g>-ին"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM քարտը բեռնվում է..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM քարտի կոնտակտները"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Կոնտակտների հավելված չկա"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Ձայնային որոնումը հասանելի չէ"</string>
<string name="call_not_available" msgid="7850148370757361155">"Հնարավոր չէ զանգահարել, քանի որ Հեռախոս հավելվածն անջատված է:"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Կոնտակտների որոնում"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> նոր բաց թողնված զանգ"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Արագ համարահավաքման ցանկը դատարկ է"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Ավելացնել կոնտակտ"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Դեռ կոնտակտներ չունեք"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Ավելացնել կոնտակտ"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Բոլոր համարները տեսնելու համար հպեք պատկերին: Վերադասավորելու համար հպեք և պահեք:"</string>
<string name="remove_contact" msgid="2353580570488923668">"Հեռացնել"</string>
+ <string name="select_all" msgid="408601760696146245">"Ընտրել բոլորը"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Տեսազանգ"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Ուղարկել հաղորդագրություն"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Զանգի մանրամասները"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Արգելափակված համարներ"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> համարն արդեն արգելափակված է:"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Հաշիվներ զանգերի համար"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Միացնել"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Թույլտվությունների սահմանում"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Արագ համարահավաքը թույլատրելու համար միացրեք Կոնտակտների թույլտվությունը:"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Ձեր զանգերի մատյանը տեսնելու համար միացրեք Հեռախոսի թույլտվությունը:"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Ձեր կոնտակտները տեսնելու համար միացրեք Կոնտակտների թույլտվությունը:"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Ձայնային փոստն օգտագործելու համար միացրեք Հեռախոսի թույլտվությունը:"</string>
<string name="permission_no_search" msgid="2424710404207193826">"Կոնտակտները որոնելու համար միացրեք Կոնտակտների թույլտվությունները:"</string>
<string name="permission_place_call" msgid="8686908130349369423">"Զանգ կատարելու համար միացրեք Հեռախոսի թույլտվությունը:"</string>
diff --git a/java/com/android/dialer/app/res/values-in/strings.xml b/java/com/android/dialer/app/res/values-in/strings.xml
index c0de9b3b4..e72fd6337 100644
--- a/java/com/android/dialer/app/res/values-in/strings.xml
+++ b/java/com/android/dialer/app/res/values-in/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Tambahkan tunggu"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Setelan"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Buat Pintasan UI Baru"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Semua kontak"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Gunakan keypad nada sentuh"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Kembali ke panggilan sedang berlangsung"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Tambahkan panggilan"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Panggilan masuk"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Masuk ke mode tindakan massal"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Keluar dari mode tindakan massal"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> dipilih"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> tidak dipilih"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Putar pesan suara"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Lihat kontak <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Telepon <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Kotak Pesan"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> dtk"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> mnt <xliff:g id="SECONDS">%s</xliff:g> dtk"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"pesan suara"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"pesan suara"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ya"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Tidak"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Membatalkan mode tindakan kelompok"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Hapus"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Batal"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Hapus <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> yang dipilih?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> dipilih"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Hapus pesan suara ini? "</b>"</item>
+ <item quantity="one">"<b>"Hapus pesan suara ini? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> pukul <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>.<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Memuat dari kartu SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontak pada kartu SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Aplikasi kontak tidak tersedia"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Penelusuran suara tidak tersedia"</string>
<string name="call_not_available" msgid="7850148370757361155">"Tidak dapat melakukan panggilan telepon karena aplikasi Telepon telah dinonaktifkan."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Telusuri kontak"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> panggilan tidak terjawab baru"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Daftar panggilan cepat masih kosong"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Tambahkan favorit"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Anda belum memiliki kontak"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Tambahkan kontak"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Sentuh foto untuk melihat semua nomor atau sentuh &amp; tahan untuk menyusun ulang"</string>
<string name="remove_contact" msgid="2353580570488923668">"Hapus"</string>
+ <string name="select_all" msgid="408601760696146245">"Pilih semua"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Panggilan video"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Kirim pesan"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detail panggilan"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Nomor yang diblokir"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> sudah diblokir."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Akun panggilan"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktifkan"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Setel izin"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Untuk mengaktifkan panggilan cepat, aktifkan izin Kontak."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Untuk melihat log panggilan, aktifkan izin Telepon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Untuk melihat kontak, aktifkan izin Kontak."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Untuk mengakses pesan suara, aktifkan izin Telepon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Untuk menelusuri kontak, aktifkan izin Kontak."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Untuk melakukan panggilan, aktifkan izin Telepon."</string>
diff --git a/java/com/android/dialer/app/res/values-is/strings.xml b/java/com/android/dialer/app/res/values-is/strings.xml
index fdd635668..bd329be9d 100644
--- a/java/com/android/dialer/app/res/values-is/strings.xml
+++ b/java/com/android/dialer/app/res/values-is/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Bæta töf við"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Stillingar"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Hermir"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Stofna flýtileið í nýtt viðmót"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Allir tengiliðir"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Nota snertitónatakkaborð"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Fara aftur í símtal í gangi"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Bæta við símtali"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Móttekin símtöl"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Opnar fjöldaaðgerðastillingu"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Fjöldaaðgerðastillingu lokað"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Valdi <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Fjarlægði val á <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Spila talhólfsskilaboð"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Skoða tengiliðinn <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Hringja í <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Talhólf"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> mín. og <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"talhólfsskilaboð"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"talhólfsskilaboð"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Já"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nei"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Hætta við runuaðgerðastillingu"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Eyða"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Hætta við"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Eyða völdum <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> valin"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Eyða þessum talhólfsskilaboðum? "</b>"</item>
+ <item quantity="other">"<b>"Eyða þessum talhólfsskilaboðum? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Hleður af SIM-kortinu…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Tengiliðir á SIM-korti"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Ekkert tengiliðaforrit í boði"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Raddleit er ekki í boði"</string>
<string name="call_not_available" msgid="7850148370757361155">"Ekki er hægt að hringja vegna þess að forritið Sími hefur verið gert óvirkt."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Leita í tengiliðum"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ný ósvöruð símtöl"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Þú ert ekki með neinn í hraðvali enn sem komið er"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Bæta uppáhaldi við"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Þú ert ekki með neina tengiliði enn sem komið er"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Bæta tengilið við"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Snertu myndina til að sjá öll númer eða haltu henni inni til að endurraða"</string>
<string name="remove_contact" msgid="2353580570488923668">"Fjarlægja"</string>
+ <string name="select_all" msgid="408601760696146245">"Velja allt"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Myndsímtal"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Senda skilaboð"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Símtalsupplýsingar"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Númer á bannlista"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> er nú þegar á bannlista."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Símtalareikningar"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Kveikja"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Stilla heimildir"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Kveiktu á tengiliðaheimildinni til að gera hraðval virkt."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Kveiktu á heimild símaforritsins til að sjá símtalaskrána þína."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Kveiktu á tengiliðaheimildinni til að sjá tengiliðina þína."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Kveiktu á heimild símaforritsins til að fá aðgang að talhólfinu þínu."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Kveiktu á heimildunum fyrir tengiliði til að leita að tengiliðum."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Kveiktu á heimild símaforritsins til að hringja símtal."</string>
diff --git a/java/com/android/dialer/app/res/values-it/strings.xml b/java/com/android/dialer/app/res/values-it/strings.xml
index 9bd8cd359..356f5a603 100644
--- a/java/com/android/dialer/app/res/values-it/strings.xml
+++ b/java/com/android/dialer/app/res/values-it/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Aggiungi attesa"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Impostazioni"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulatore"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Crea nuova scorciatoia UI"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Tutti i contatti"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Usa tastierino per selezione a toni"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Torna alla chiamata in corso"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Aggiungi chiamata"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Chiamate in arrivo"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Attivazione della modalità di azione collettiva"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Disttivazione della modalità di azione collettiva"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> selezionato"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> deselezionato"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Riproduci messaggio vocale"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Visualizza <xliff:g id="NAME">%1$s</xliff:g> contatto"</string>
<string name="description_call" msgid="1532402285334775372">"Chiama <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Segreteria"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> secondi"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"messaggio vocale"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"messaggi vocali"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sì"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Annulla modalità di azione collettiva"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Elimina"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Annulla"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Eliminare i <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> selezionati?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selezionate"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Eliminare questi messaggi vocali? "</b>"</item>
+ <item quantity="one">"<b>"Eliminare questo messaggio vocale? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> alle ore <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Caricamento da SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contatti SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nessuna app di contatti disponibile"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Ricerca vocale non disponibile"</string>
<string name="call_not_available" msgid="7850148370757361155">"Impossibile effettuare una telefonata perché l\'applicazione Telefono è stata disattivata."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Cerca contatti"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nuove chiamate perse"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Nessun preferito disponibile nella Composizione rapida"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Aggiungi un preferito"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Nessun contatto disponibile"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Aggiungi un contatto"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Tocca l\'immagine per visualizzare tutti i numeri oppure tieni premuto per cambiare l\'ordine"</string>
<string name="remove_contact" msgid="2353580570488923668">"Rimuovi"</string>
+ <string name="select_all" msgid="408601760696146245">"Seleziona tutto"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videochiamata"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Invia un messaggio"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Dettagli chiamata"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Numeri bloccati"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> è già bloccato."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Account di chiamata"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Attiva"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Imposta autorizzazioni"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Per attivare la composizione rapida, attiva l\'autorizzazione Contatti."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Per accedere al registro chiamate, attiva l\'autorizzazione sul telefono."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Per accedere ai tuoi contatti, attiva l\'autorizzazione Contatti."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Per accedere alla segreteria, attiva l\'autorizzazione sul telefono."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Per cercare nei tuoi contatti, attiva le autorizzazioni Contatti."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Per fare una chiamata, attiva l\'autorizzazione sul telefono."</string>
diff --git a/java/com/android/dialer/app/res/values-iw/strings.xml b/java/com/android/dialer/app/res/values-iw/strings.xml
index bb115e2f8..230555a14 100644
--- a/java/com/android/dialer/app/res/values-iw/strings.xml
+++ b/java/com/android/dialer/app/res/values-iw/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"הוסף המתנה"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"הגדרות"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"סימולטור"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"יצירת קיצור דרך לממשק החדש"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"כל אנשי הקשר"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"השתמש במקלדת עם חיוג צלילים"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"חזור לשיחה פעילה"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"הוסף שיחה"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"שיחות נכנסות"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"עברת למצב של ביצוע פעולות בכמות גדולה"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"עזבת את המצב של ביצוע פעולות בכמות גדולה"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"בחרת את <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"ביטלת את הבחירה של <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"הפעל דואר קולי"</string>
<string name="description_view_contact" msgid="3940984937384372665">"הצג את איש הקשר <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"התקשר אל <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"דואר קולי"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> שניות"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> דק\' <xliff:g id="SECONDS">%s</xliff:g> שנ\'"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ההודעה הקולית"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ההודעות הקוליות"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"כן"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"לא"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"ביטול המצב של ביצוע פעולות בכמות גדולה"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"מחיקה"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"ביטול"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"האם למחוק את <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> שבחרת?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> נבחרו"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="two">"<b>"האם למחוק את ההודעות הקוליות האלה? "</b>"</item>
+ <item quantity="many">"<b>"האם למחוק את ההודעות הקוליות האלה? "</b>"</item>
+ <item quantity="other">"<b>"האם למחוק את ההודעות הקוליות האלה? "</b>"</item>
+ <item quantity="one">"<b>"האם למחוק את ההודעה הקולית הזו? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ב-<xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"‏טוען מכרטיס SIM…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"‏אנשי קשר בכרטיס SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"אין אפליקציה זמינה עבור אנשי קשר"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"חיפוש קולי אינו זמין"</string>
<string name="call_not_available" msgid="7850148370757361155">"לא ניתן לבצע שיחת טלפון מפני שאפליקציית הטלפון הושבתה."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"חפש אנשי קשר"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> שיחות חדשות שלא נענו"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"עדיין לא הוגדר חיוג מהיר לאף איש קשר"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"הוסף פריט מועדף"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"עדיין אין לך אנשי קשר"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"הוסף איש קשר"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"גע בתמונה כדי להציג את כל המספרים או גע והחזק כדי לשנות את הסדר"</string>
<string name="remove_contact" msgid="2353580570488923668">"הסר"</string>
+ <string name="select_all" msgid="408601760696146245">"בחירת הכל"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"שיחת וידאו"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"שלח הודעה"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"פרטי שיחה"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"מספרים חסומים"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> כבר חסום."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"חשבונות לביצוע שיחות"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"הפעל"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"הגדר הרשאות"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"כדי להפעיל חיוג מהיר, הפעל את ההרשאה \'אנשי קשר\'."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"כדי לראות את יומן השיחות, הפעל את ההרשאה \'טלפון\'."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"כדי להציג את אנשי הקשר, הפעל את ההרשאה \'אנשי קשר\'."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"כדי לגשת לדואר הקולי, הפעל את ההרשאה \'טלפון\'."</string>
<string name="permission_no_search" msgid="2424710404207193826">"כדי לחפש באנשי הקשר, הפעל את ההרשאה \'אנשי קשר\'."</string>
<string name="permission_place_call" msgid="8686908130349369423">"כדי להתקשר, הפעל את ההרשאה \'טלפון\'."</string>
diff --git a/java/com/android/dialer/app/res/values-ja/strings.xml b/java/com/android/dialer/app/res/values-ja/strings.xml
index 63b15cbed..71fca83d5 100644
--- a/java/com/android/dialer/app/res/values-ja/strings.xml
+++ b/java/com/android/dialer/app/res/values-ja/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"待機を追加"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"設定"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"シミュレーション"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"新しいUIのショートカットを作成"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"すべての連絡先"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"プッシュホン式キーパッドを使う"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"通話に戻る"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"別の通話を追加"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"着信"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"一括操作モードを開始します"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"一括操作モードを終了しました"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> を選択しました"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> を選択解除しました"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"ボイスメールを再生"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g>の連絡先を表示"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g>に発信"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"ボイスメール"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g>秒"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g>分<xliff:g id="SECONDS">%s</xliff:g>秒"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ボイスメール"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ボイスメール"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"はい"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"いいえ"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"一括操作モードをキャンセルします"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"削除"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"キャンセル"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"選択した<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>を削除しますか?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> 件選択済み"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"これらのボイスメールを削除しますか?"</b>"</item>
+ <item quantity="one">"<b>"このボイスメールを削除しますか?"</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>、<xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g> 分 <xliff:g id="SECONDS">%2$02d</xliff:g> 秒"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIMカードから読み取り中..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIMカードの連絡先"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"連絡先アプリがありません"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"音声検索を利用できません"</string>
<string name="call_not_available" msgid="7850148370757361155">"電話アプリが無効になっているため発信できません。"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"連絡先を検索"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g>件の不在着信"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"クイックアクセスに登録済みの連絡先はまだありません"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"お気に入りを追加"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"連絡先はまだありません"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"連絡先を追加"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"画像をタップするとすべての番号が表示され、押し続けると番号を並べ替えることができます"</string>
<string name="remove_contact" msgid="2353580570488923668">"削除"</string>
+ <string name="select_all" msgid="408601760696146245">"すべて選択"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"ビデオハングアウト"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"メッセージを送信"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"通話の詳細"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"ブロックした番号"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g>は既にブロックしています。"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"通話アカウント"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ONにする"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"権限を設定"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"クイックアクセスを有効にするには、連絡先権限をONにしてください。"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"通話履歴を表示するには、電話権限をONにしてください。"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"連絡先を表示するには、連絡先権限をONにしてください。"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"ボイスメールにアクセスするには、電話権限をONにしてください。"</string>
<string name="permission_no_search" msgid="2424710404207193826">"連絡先を検索するには、連絡先権限をONにしてください。"</string>
<string name="permission_place_call" msgid="8686908130349369423">"電話をかけるには、電話権限をONにしてください。"</string>
diff --git a/java/com/android/dialer/app/res/values-ka/strings.xml b/java/com/android/dialer/app/res/values-ka/strings.xml
index ae89505b5..fd9351f54 100644
--- a/java/com/android/dialer/app/res/values-ka/strings.xml
+++ b/java/com/android/dialer/app/res/values-ka/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"ლოდინის დამატება"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"პარამეტრები"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"სიმულატორი"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"ახალი UI მალსახმობის შექმნა"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"ყველა კონტაქტი"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ტონალური კლავიატურის გამოყენება"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"მიმდინარე ზარზე დაბრუნება"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"ზარის დამატება"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"შემომავალი ზარები"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"მიმდინარეობს ერთიანი ქმედების რეჟიმში შესვლა"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ერთიანი ქმედების რეჟიმიდან გამოხვედით"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"არჩეულია <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ის არჩევა გაუქმდა"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"ხმოვანი ფოსტის ჩართვა"</string>
<string name="description_view_contact" msgid="3940984937384372665">"კონტაქტის <xliff:g id="NAME">%1$s</xliff:g> ნახვა"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g>-თან დარეკვა"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"ხმოვანი ფოსტა"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> წმ"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> მინ <xliff:g id="SECONDS">%s</xliff:g> წამ"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ხმოვანი ფოსტა"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ხმოვანი ფოსტა"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"დიახ"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"არა"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"ერთიანი ქმედების რეჟიმის გაუქმება"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"წაშლა"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"გაუქმება"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"გსურთ, წაშალოთ არჩეული <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"არჩეულია <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"გსურთ ამ ხმოვანი შეტყობინებების წაშლა? "</b>"</item>
+ <item quantity="one">"<b>"გსურთ ამ ხმოვანი შეტყობინების წაშლა? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"იტვირთება SIM ბარათიდან…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM ბარათის კონტაქტები"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"კონტაქტების აპლიკაცია არ არის ხელმისაწვდომი"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"ხმოვანი ძიება არ არის ხელმისაწვდომი"</string>
<string name="call_not_available" msgid="7850148370757361155">"სატელეფონო ზარის განხორციელება ვერ ხერხდება, ვინაიდან ტელეფონის აპლიკაცია გაუქმებულია."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"კონტაქტებში ძიება"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ახალი გაცდენილი ზარი"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"სწრაფი აკრეფისთვის რჩეულები ჯერ არ გყავთ"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"რჩეული კონტაქტის დამატება"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"კონტაქტები ჯერ არ გაქვთ"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"კონტაქტის დამატება"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"ყველა ნომრის სანახავად შეეხეთ სურათს ან შეეხეთ და დააყოვნეთ მიმდევრობის შესაცვლელად"</string>
<string name="remove_contact" msgid="2353580570488923668">"ამოშლა"</string>
+ <string name="select_all" msgid="408601760696146245">"ყველას არჩევა"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"ვიდეო ზარი"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"შეტყობინების გაგზავნა"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"ზარის მონაცემები"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"დაბლოკილი ნომრები"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> უკვე დაბლოკილია."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"ანგარიშების გამოძახება"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ჩართვა"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"ნებართვების დაყენება"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"სწრაფი აკრეფის გასააქტიურებლად, ჩართეთ კონტაქტების ნებართვა."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"ზარების ჟურნალის სანახავად, ჩართეთ ტელეფონის ნებართვა."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"კონტაქტების სანახავად, ჩართეთ კონტაქტების ნებართვა."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"ხმოვან ფოსტაზე წვდომისთვის, ჩართეთ ტელეფონის ნებართვა."</string>
<string name="permission_no_search" msgid="2424710404207193826">"თქვენი კონტაქტების მოსაძებნად ჩართეთ კონტაქტების ნებართვები."</string>
<string name="permission_place_call" msgid="8686908130349369423">"ზარის განსახორციელებლად, ჩართეთ ტელეფონის ნებართვა."</string>
diff --git a/java/com/android/dialer/app/res/values-kk/strings.xml b/java/com/android/dialer/app/res/values-kk/strings.xml
index ba4238692..f1763a21a 100644
--- a/java/com/android/dialer/app/res/values-kk/strings.xml
+++ b/java/com/android/dialer/app/res/values-kk/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Күтуді қосу"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Параметрлер"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Симулятор"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Жаңа пайдаланушы интерфейсінің пернелер тіркесімін жасау"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Барлық контактілер"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Сенсорлы әуенді пернетақта"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Қосылып тұрған қоңырауға оралу"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Қоңырау қосу"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Келген қоңыраулар"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Жаппай әрекет режиміне өту"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Жаппай әрекет режиімінен шығу"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> таңдалды"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> таңдауы алынды"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Дауыс-хабарды ойнату"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> контактісін көру"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> нөміріне қоңырау шалу"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Дауыстық пошта"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"дауыстық хабар"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"дауыстық хабарлар"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Иә"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Жоқ"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Топтама әрекеттер режимін жабу"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Жою"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Жабу"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Таңдалған <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> хабарларын жою қажет пе?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> таңдалды"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Осы дауыстық хабарларды жою қажет пе? "</b>"</item>
+ <item quantity="one">"<b>"Осы дауыстық хабарды жою қажет пе? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID (ұялы жабдық анықтағыш)"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM картасынан жүктеу…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM картасының контактілері"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Контактілер қолданбасы қол жетімді емес"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Дауыс арқылы іздеу қол жетімді емес"</string>
<string name="call_not_available" msgid="7850148370757361155">"Телефон қоңырауын шалу мүмкін емес, өйткені «Телефон» қолданбасы өшірілген."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Контактілерді іздеу"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> жаңа қабылданбаған қоңыраулар"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Жылдам теруде әлі ешкім жоқ"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Таңдаулыны қосу"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Әлі ешқандай контактілер жоқ"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Контакт қосу"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Барлық нөмірлерді көру үшін кескінді түртіңіз, ал ретін өзгерту үшін түртіп, ұстап тұрыңыз"</string>
<string name="remove_contact" msgid="2353580570488923668">"Алып тастау"</string>
+ <string name="select_all" msgid="408601760696146245">"Барлығын таңдау"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Бейне қоңырау"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Хабар жіберу"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Қоңырау мәліметтері"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Бөгелген нөмірлер"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> бөгеліп қойылған."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Қоңырау шалу есептік жазбалары"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Қосу"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Рұқсаттар орнату"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Жылдам теруді қосу үшін \"Контактілер\" рұқсатын қосыңыз."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Қоңыраулар журналы көру үшін \"Телефон\" рұқсатын қосыңыз."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Контактілерді көру үшін \"Контактілер\" рұқсатын қосыңыз."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Дауыс поштасына қатынасу үшін \"Телефон\" рұқсатын қосыңыз."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Контактілерді іздеу үшін \"Контактілер\" рұқсаттарын қосыңыз."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Қоңырауды шалу үшін \"Телефон\" рұқсатын қосыңыз."</string>
diff --git a/java/com/android/dialer/app/res/values-km/strings.xml b/java/com/android/dialer/app/res/values-km/strings.xml
index bdc91cf0b..54f1a126a 100644
--- a/java/com/android/dialer/app/res/values-km/strings.xml
+++ b/java/com/android/dialer/app/res/values-km/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"បញ្ចូល​ការ​រង់ចាំ"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"ការកំណត់"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"កម្មវិធីធ្វើ​ដូច​មែនទែន"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"បង្កើត​ផ្លូវកាត់ UI ថ្មី"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"ទំនាក់ទំនង​ទាំងអស់"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ប្រើ​សំឡេង​ប៉ះ​បន្ទះ​លេខ"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"កំពុង​ត្រឡប់​ទៅកាន់​ការ​ហៅ"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"បន្ថែម​ការ​ហៅ"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ការ​ហៅ​ចូល"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ចូល​មុខងារ​សកម្មភាព​ច្រើន"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"បាន​ចាកចេញ​ពី​មុខងារ​សកម្មភាព​ច្រើន"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"បាន​ជ្រើសរើស <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"បាន​ដក​ការជ្រើសរើស <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"ចាក់​សារ​ជា​សំឡេង"</string>
<string name="description_view_contact" msgid="3940984937384372665">"មើល​ទំ​នាក់ទំនង <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"ហៅ <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"សារ​ជា​សំឡេង"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> វិនាទី"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> នាទី <xliff:g id="SECONDS">%s</xliff:g> វិនាទី"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"សារ​ជា​សំឡេង"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"សារ​ជា​សំឡេង"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"បាទ/ចាស"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ទេ"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"បោះបង់​មុខងារ​សកម្មភាព​ជា​ក្រុម"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"លុប"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"បោះបង់"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"លុប <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ដែល​បាន​ជ្រើសរើស?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"បាន​ជ្រើសរើស <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"លុប​សារ​ជា​សំឡេង​ទាំងនេះ? "</b>"</item>
+ <item quantity="one">"<b>"លុប​សារ​ជា​សំឡេង​នេះ? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> នៅម៉ោង <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"កំពុង​ផ្ទុក​ពី​ស៊ីម​កាត..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"ទំនាក់ទំនង​នៅ​ក្នុង​ស៊ីម​កាត"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"មិនមានកម្មវិធីទំនាក់ទំនងទេ"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"ការស្វែងរកជាសម្លេងមិនមានទេ"</string>
<string name="call_not_available" msgid="7850148370757361155">"មិន​អាច​ហៅ​បាន​ទេ​ ព្រោះ​កម្មវិធី​ទូរស័ព្ទ​ត្រូវ​បាន​បិទ។"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"រក​ទំនាក់ទំនង"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"ខកខាន​ទទួល​ថ្មី <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"គ្មាននរណាម្នាក់នៅក្នុងការហៅរហ័សរបស់អ្នកនៅឡើយទេ"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"បញ្ចូលសំណព្វ"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"អ្នកមិនទាន់មានទំនាក់ទំនងនៅឡើយទេ"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"បន្ថែមទំនាក់ទំនង"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"ប៉ះរូបភាពដើម្បីមើលលេខទាំងអស់ ឬប៉ះ &amp; សង្កត់ឲ្យជាប់ដើម្បីតម្រៀបឡើងវិញ"</string>
<string name="remove_contact" msgid="2353580570488923668">"លុបចេញ"</string>
+ <string name="select_all" msgid="408601760696146245">"ជ្រើសរើស​​ទាំងអស់"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"ហៅជាវីដេអូ"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"ផ្ញើសារ"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"ព័ត៌មានលម្អិតអំពីការហៅ"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"លេខបានរារាំង"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ត្រូវបានទប់ស្កាត់រួចហើយ"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"គណនីហៅទូរសព្ទ"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"បើក"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"កំណត់សិទ្ធិអនុញ្ញាត"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"ដើម្បីបើកដំណើរការហៅរហ័ស សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីទំនាក់ទំនង។"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"ដើម្បីមើលកំណត់ហេតុហៅទូរស័ព្ទរបស់អ្នក សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីហៅទូរស័ព្ទ។"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"ដើម្បីមើលទំនាក់ទំនងរបស់អ្នក សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីទំនាក់ទំនង។"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"ដើម្បីចូលដំណើរការសារជាសំឡេងរបស់អ្នក សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីហៅទូរស័ព្ទ។"</string>
<string name="permission_no_search" msgid="2424710404207193826">"ដើម្បីស្វែងរកទំនាក់ទំនងរបស់អ្នក សូមបើកសិទ្ធិអនុញ្ញាតទំនាក់ទំនង។"</string>
<string name="permission_place_call" msgid="8686908130349369423">"ដើម្បីធ្វើការហៅទូរស័ព្ទ សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីហៅទូរស័ព្ទ។"</string>
diff --git a/java/com/android/dialer/app/res/values-kn/strings.xml b/java/com/android/dialer/app/res/values-kn/strings.xml
index dae544d3f..d7f3aabbc 100644
--- a/java/com/android/dialer/app/res/values-kn/strings.xml
+++ b/java/com/android/dialer/app/res/values-kn/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"ನಿರೀಕ್ಷೆಯನ್ನು ಸೇರಿಸಿ"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"ಸಿಮ್ಯುಲೇಟರ್"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"ಹೊಸ UI ಶಾರ್ಟ್‌ಕಟ್ ರಚಿಸಿ"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"ಎಲ್ಲಾ ಸಂಪರ್ಕಗಳು"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ಸ್ಪರ್ಶ ಟೋನ್ ಕೀಪ್ಯಾಡ್ ಬಳಸಿ"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ಪ್ರತ್ಯತ್ತರ ಕರೆಯು ಪ್ರಗತಿಯಲ್ಲಿದೆ"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"ಕರೆಯನ್ನು ಸೇರಿಸಿ"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ಒಳಬರುವ ಕರೆಗಳು"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ದೊಡ್ಡ ಪ್ರಮಾಣದ ಕ್ರಿಯೆಯ ಮೋಡ್‌ಗೆ ಪ್ರವೇಶಿಸಲಾಗುತ್ತಿದೆ"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ದೊಡ್ಡ ಪ್ರಮಾಣದ ಕ್ರಿಯೆಯ ಮೋಡ್ ತೊರೆಯಲಾಗಿದೆ"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ಆಯ್ಕೆಯನ್ನು ರದ್ದುಮಾಡಲಾಗಿದೆ"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"ಧ್ವನಿಮೇಲ್‌ ಪ್ಲೇ ಮಾಡಿ"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> ಸಂಪರ್ಕ ವೀಕ್ಷಿಸಿ"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ಕರೆ ಮಾಡಿ"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"ಧ್ವನಿಮೇಲ್"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ಸೆಕೆಂ"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> ನಿಮಿ <xliff:g id="SECONDS">%s</xliff:g> ಸೆಕೆಂ"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ಧ್ವನಿಮೇಲ್"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ಧ್ವನಿಮೇಲ್‌ಗಳು"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ಹೌದು"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ಇಲ್ಲ"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"ಬ್ಯಾಚ್ ಕ್ರಿಯೆಗಳ ಮೋಡ್ ಅನ್ನು ರದ್ದುಮಾಡಿ"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"ಅಳಿಸಿ"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"ರದ್ದುಮಾಡಿ"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ಆಯ್ಕೆ ಮಾಡಲಾದ <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ಅನ್ನು ಅಳಿಸುವುದೇ?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"ಈ ಧ್ವನಿಮೇಲ್‌ಗಳನ್ನು ಅಳಿಸುವುದೇ? "</b>"</item>
+ <item quantity="other">"<b>"ಈ ಧ್ವನಿಮೇಲ್‌ಗಳನ್ನು ಅಳಿಸುವುದೇ? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ರಂದು <xliff:g id="TIME">%2$s</xliff:g> ಗಂಟೆಗೆ"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ನಿಂದ ಲೋಡ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ ಸಂಪರ್ಕಗಳು"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"ಯಾವುದೇ ಸಂಪರ್ಕಗಳ ಅಪ್ಲಿಕೇಶನ್‌ ಲಭ್ಯವಿಲ್ಲ"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"ಧ್ವನಿ ಹುಡುಕಾಟ ಲಭ್ಯವಿಲ್ಲ"</string>
<string name="call_not_available" msgid="7850148370757361155">"ಫೋನ್ ಅಪ್ಲಿಕೇಶನ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿರುವುದರಿಂದ ಫೋನ್ ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"ಸಂಪರ್ಕಗಳನ್ನು ಹುಡುಕಿ"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ಹೊಸ ಮಿಸ್ಡ್‌ ಕರೆಗಳು"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"ನಿಮ್ಮ ತ್ವರಿತ ಡಯಲ್‌ನಲ್ಲಿ ಇದುವರೆಗೆ ಯಾರೂ ಇಲ್ಲ"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ಮೆಚ್ಚಿನದನ್ನು ಸೇರಿಸಿ"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"ನೀವು ಇನ್ನೂ ಯಾವುದೇ ಸಂಪರ್ಕಗಳನ್ನು ಹೊಂದಿಲ್ಲ"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ಸಂಪರ್ಕ ಸೇರಿಸಿ"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"ಎಲ್ಲಾ ಸಂಖ್ಯೆಗಳನ್ನು ನೋಡಲು ಚಿತ್ರವನ್ನು ಸ್ಪರ್ಶಿಸಿ ಅಥವಾ ಮರುಕ್ರಮಗೊಳಿಸಲು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್‌‌ ಮಾಡಿ"</string>
<string name="remove_contact" msgid="2353580570488923668">"ತೆಗೆದುಹಾಕು"</string>
+ <string name="select_all" msgid="408601760696146245">"ಎಲ್ಲವನ್ನೂ ಆಯ್ಕೆ ಮಾಡಿ"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"ವೀಡಿಯೊ ಕರೆ"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"ಸಂದೇಶ ಕಳುಹಿಸಿ"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"ಕರೆಯ ವಿವರಗಳು"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"ನಿರ್ಬಂಧಿಸಲಾದ ಸಂಖ್ಯೆಗಳು"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ಈಗಾಗಲೇ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"ಕರೆ ಮಾಡುವ ಖಾತೆಗಳು"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ಆನ್‌ ಮಾಡಿ"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿಸು"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"ವೇಗ ಡಯಲ್ ಸಕ್ರಿಯಗೊಳಿಸಲು, ಸಂಪರ್ಕಗಳ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"ನಿಮ್ಮ ಕರೆಯ ಲಾಗ್ ಅನ್ನು ವೀಕ್ಷಿಸಲು, ಫೋನ್ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ವೀಕ್ಷಿಸಲು, ಸಂಪರ್ಕಗಳ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"ನಿಮ್ಮ ಧ್ವನಿಮೇಲ್ ಪ್ರವೇಶಿಸಲು, ಫೋನ್ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string>
<string name="permission_no_search" msgid="2424710404207193826">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಹುಡುಕಲು, ಸಂಪರ್ಕಗಳ ಅನುಮತಿಗಳನ್ನು ಆನ್ ಮಾಡಿ."</string>
<string name="permission_place_call" msgid="8686908130349369423">"ಕರೆ ಮಾಡಲು, ಫೋನ್ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string>
diff --git a/java/com/android/dialer/app/res/values-ko/strings.xml b/java/com/android/dialer/app/res/values-ko/strings.xml
index 1850b6ce1..cb2e83c79 100644
--- a/java/com/android/dialer/app/res/values-ko/strings.xml
+++ b/java/com/android/dialer/app/res/values-ko/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"대기 시간 추가"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"설정"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"시뮬레이터"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"새 UI 바로가기 만들기"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"모든 연락처"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"터치톤 키패드 사용"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"진행 중인 통화로 돌아가기"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"통화 추가"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"수신전화"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"일괄 작업 모드 시작 중"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"일괄 작업 모드 종료됨"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> 선택됨"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> 선택 취소됨"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"음성사서함 재생"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g>님의 연락처 보기"</string>
<string name="description_call" msgid="1532402285334775372">"전화걸기: <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"음성사서함"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g>초"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g>분 <xliff:g id="SECONDS">%s</xliff:g>초"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"음성사서함"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"음성사서함"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"예"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"아니요"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"일괄 작업 모드 취소"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"삭제"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"취소"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"선택한 <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>을(를) 삭제하시겠습니까?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g>개 선택됨"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"이 음성사서함을 삭제하시겠습니까? "</b>"</item>
+ <item quantity="one">"<b>"이 음성사서함을 삭제하시겠습니까? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>분 <xliff:g id="SECONDS">%2$02d</xliff:g>초"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM 카드에서 로딩 중..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM 카드 주소록"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"사용할 수 있는 주소록 앱이 없습니다."</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"음성검색이 지원되지 않습니다."</string>
<string name="call_not_available" msgid="7850148370757361155">"전화 애플리케이션을 사용 중지했으므로 전화를 걸 수 없습니다."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"주소록 검색"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"새로운 부재중 전화 <xliff:g id="NUMBER">%s</xliff:g>건"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"아직 단축 다이얼이 설정된 연락처가 없습니다."</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"단축 다이얼 추가"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"아직 연락처가 없습니다."</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"연락처 추가"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"이미지를 터치하여 모든 번호를 확인하거나 길게 터치하여 재정렬합니다."</string>
<string name="remove_contact" msgid="2353580570488923668">"삭제"</string>
+ <string name="select_all" msgid="408601760696146245">"모두 선택"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"화상 통화"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"메시지 보내기"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"통화 세부정보"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"차단된 번호"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g>번은 이미 차단되었습니다."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"통화 계정"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"사용"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"권한 설정"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"단축번호를 사용하려면 주소록 권한을 사용하도록 설정하세요."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"통화 기록을 보려면 전화 권한을 사용하도록 설정하세요."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"주소록을 보려면 주소록 권한을 사용하도록 설정하세요."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"음성사서함에 액세스하려면 전화 권한을 사용하도록 설정하세요."</string>
<string name="permission_no_search" msgid="2424710404207193826">"주소록을 검색하려면 주소록 권한을 사용하도록 설정하세요."</string>
<string name="permission_place_call" msgid="8686908130349369423">"전화를 걸려면 전화 권한을 사용하도록 설정하세요."</string>
diff --git a/java/com/android/dialer/app/res/values-ky/strings.xml b/java/com/android/dialer/app/res/values-ky/strings.xml
index 9e80e29ee..0a0b3e661 100644
--- a/java/com/android/dialer/app/res/values-ky/strings.xml
+++ b/java/com/android/dialer/app/res/values-ky/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Тыныгуу кошуу"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Жөндөөлөр"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Симулятор"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Жаңы интерфейс үчүн кыска жол түзүү"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Бардык байланыштар"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Тоналдык терүү тактасын колдонуу"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Токтотулган чалууга кайтуу"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Чалууну кошуу"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Кирүүчү чалуулар"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Жапырт аракет режимине кирдиңиз"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Жапырт аракет режиминен чыктыңыз"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> объект тандалды"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> объект тандоодон чыгарылды"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Үнкатты угуу"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Байланышты кароо <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Чалуу <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Үн почтасы"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мүн. <xliff:g id="SECONDS">%s</xliff:g> сек."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"үн почтасы"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"үн почталары"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ооба"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Жок"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Жапырт аракет режимин жокко чыгаруу"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Жок кылуу"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Жокко чыгаруу"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Тандалган <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> жок кылынсынбы?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> тандалды"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Бул үн почталар жок кылынсынбы? "</b>"</item>
+ <item quantity="one">"<b>"Бул үн почта жок кылынсынбы? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> саат <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM картадан жүктөлүүдө..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM картадагы байланыштар"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Жеткиликтүү байланыштар колдонмосу жок"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Үн менен издөө жеткиликтүү эмес"</string>
<string name="call_not_available" msgid="7850148370757361155">"Телефон колдонмосу өчүрүлгөндүктөн, чалуу мүмкүн болбой жатат."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Байланыштарды издөө"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> жаңы өткөзүлгөн чалуу"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Азырынча тез териле турган номерлер жок"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Сүйүктүү номер кошуу"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Азырынча бир дагы байланышыңыз жок"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Байланыш кошуу"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Бардык номерлерди көрүү үчүн, сүрөткө тийип коюңуз же коё бербей басып туруп иретин өзгөртсөңүз болот."</string>
<string name="remove_contact" msgid="2353580570488923668">"Алып салуу"</string>
+ <string name="select_all" msgid="408601760696146245">"Баарын тандоо"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Видео чалуу"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Билдирүү жөнөтүү"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Чалуунун чоо-жайы"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Бөгөттөлгөн номерлер"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> мурунтан эле бөгөттөлгөн."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Чалуу каттоо эсептери"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Күйгүзүү"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Уруксаттарды берүү"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Тез терүүнү иштетүү үчүн, \"Байланыштар\" колдонмосуна уруксат бериңиз."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Чалуулар таржымалыңызды көрүү үчүн, \"Телефон\" колдонмосуна уруксат бериңиз."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Байланыштар тизмесин көрүү үчүн, \"Байланыштар\" колдонмосуна уруксат бериңиз."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Үн почтаңызга кирүү үчүн, \"Телефон\" колдонмосуна уруксат бериңиз."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Байланыштарыңызды издөө үчүн, Байланыштарга уруксатты күйгүзүңүз."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Чалуу үчүн, \"Телефон\" колдонмосуна уруксат бериңиз."</string>
diff --git a/java/com/android/dialer/app/res/values-lo/strings.xml b/java/com/android/dialer/app/res/values-lo/strings.xml
index 8284e8de0..267d1c6be 100644
--- a/java/com/android/dialer/app/res/values-lo/strings.xml
+++ b/java/com/android/dialer/app/res/values-lo/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"ເພີ່ມການລໍຖ້າ"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"ການ​ຕັ້ງ​ຄ່າ"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"ຕົວຈຳລອງ"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"ສ້າງປຸ່ມລັດສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ໃໝ່"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"ລາຍຊື່ຜູ່ຕິດຕໍ່ທັງໝົດ"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ໃຊ້ປຸ່ມກົດສັນຍານສຽງ"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ກັບໄປການໂທທີ່ກຳລັງດຳເນີນຢູ່"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"ເພີ່ມການໂທ"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ສາຍໂທເຂົ້າ"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ກຳລັງເຂົ້າໂໝດຄຳສັ່ງຈຳນວນຫຼາຍ"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ອອກຈາກໂໝດຄຳສັ່ງຈຳນວນຫຼາຍແລ້ວ"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"ເລືອກ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ແລ້ວ"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"ເຊົາເລືອກ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ແລ້ວ"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"ເປີດຂໍ້ຄວາມສຽງ"</string>
<string name="description_view_contact" msgid="3940984937384372665">"ເບິ່ງລາຍຊື່ຜູ່ຕິດຕໍ່ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"ໂທຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"ຂໍ້ຄວາມສຽງ"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ວິນາທີ"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> ນ​ທ <xliff:g id="SECONDS">%s</xliff:g> ວິ"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ແມ່ນແລ້ວ"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ບໍ່"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"ຍົກເລີກໂໝດຄຳສັ່ງເປັນຊຸດ"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"ລຶບ"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"ຍົກເລີກ"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ລຶບ <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ທີ່ເລືອກອອກໄປບໍ?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"ເລືອກ <xliff:g id="NUMBER">%1$s</xliff:g> ລາຍການແລ້ວ"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"ລຶບຂໍ້ຄວາມສຽງເຫຼົ່ານີ້ບໍ? "</b>"</item>
+ <item quantity="one">"<b>"ລຶບຂໍ້ຄວາມສຽງນີ້ບໍ? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ເວລາ <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"ກຳລັງໂຫລດຈາກ SIM card..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"ລາຍຊື່ຜູ່ຕິດຕໍ່ SIM card"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"ບໍ່​ມີ​ແອັບຯ​ລາຍ​ຊື່​ຕິດ​ຕໍ່​ຢູ່"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"ບໍ່​ມີ​ການ​ຊອກ​ຫາ​ດ້ວຍ​ສຽງ​ຢູ່"</string>
<string name="call_not_available" msgid="7850148370757361155">"ບໍ່​ສາ​ມາດ​ໂທ​ໄດ​້​ເນື່ອງ​ຈາກ​ແອັບ​ພ​ລິ​ເຄ​ຊັນ​ໂທ​ລະ​ສັບ​ຖືກ​ປິດ​ການ​ນຳ​ໃຊ້​ໄວ້."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"ຊອກຫາລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ສາຍທີ່ບໍ່ໄດ້ຮັບໃໝ່"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"ບໍ່​ມີ​ຜູ້​ໃດ​ຢູ່​ໃນ​ການ​ໂທ​ດ່ວນ​ຂອງ​ທ່ານ​ເທື່ອ"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ເພີ່ມ​ລາຍ​ການ​ທີ່​ມັກ"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"ທ່ານ​ບໍ່​ມີ​ລາຍ​ຊື່​ໃດ​ເທື່ອ"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ເພີ່ມ​ລາຍ​ຊື່"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"ແຕະຮູບເພື່ອເບິ່ງເບີໂທທັງໝົດ ຫຼື ແຕະຄ້າງໄວ້ເພື່ອຈັດລຳດັບໃໝ່"</string>
<string name="remove_contact" msgid="2353580570488923668">"​ລຶບ​ອອກ"</string>
+ <string name="select_all" msgid="408601760696146245">"ເລືອກທັງໝົດ"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"​ໂທ​ດ້ວຍ​ວິ​ດີ​ໂອ"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"ສົ່ງຂໍ້ຄວາມ"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"ລາຍລະອຽດ​ການໂທ"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"ເບີໂທລະສັບທີ່ບລັອກໄວ້"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ຖືກ​ບ​ລັອກ​ແລ້ວ."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"ບັນ​ຊີ​ໂທ"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ເປີດ​"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"ຕັ້ງ​ການ​ອະ​ນຸ​ຍາດ"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"ເພື່ອ​ເປີດ​ໃຊ້​ງານ​ການໂທດ່ວນ, ເປີດ​ການ​ອະ​ນຸ​ຍາດ​ລາຍ​ຊື່."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"ເພື່ອ​ເບິ່ງ​ບັນ​ທຶກ​ການ​ໂທ​ຂອງ​ທ່ານ, ເປີດ​ການ​ອະ​ນຸ​ຍາດ​ໂທ​ລະ​ສັບ."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"ເພື່ອ​ເບິ່ງ​ລາຍ​ຊື່​ຂອງ​ທ່ານ, ເປີດ​ການ​ອະ​ນຸ​ຍາດ​ລາຍ​ຊື່"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"ເພື່ອ​ເຂົ້າ​ຫາ​ຂໍ້​ຄວາມ​ສຽງ​ຂອງ​ທ່ານ, ເປີດ​ການ​ອະ​ນຸ​ຍາດ​ໂທ​ລະ​ສັບ."</string>
<string name="permission_no_search" msgid="2424710404207193826">"ເພື່ອຄົ້ນຫາລາຍາຊື່ຂອງທ່ານ, ໃຫ້ເປີດການອະນຸຍາດລາຍຊື່."</string>
<string name="permission_place_call" msgid="8686908130349369423">"ເພື່ອ​ເຮັດການໂທ, ເປີດ​ການ​ອະ​ນຸ​ຍາດ​ໂທ​ລະ​ສັບ."</string>
diff --git a/java/com/android/dialer/app/res/values-lt/strings.xml b/java/com/android/dialer/app/res/values-lt/strings.xml
index a346d5d0a..e26a90927 100644
--- a/java/com/android/dialer/app/res/values-lt/strings.xml
+++ b/java/com/android/dialer/app/res/values-lt/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"Pridėti laukimą"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Nustatymai"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simuliatorius"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Sukurti naują NS spart. klav."</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Visi kontaktai"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Naudoti jutiklinę klaviatūrą"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Grįžti prie vykdomo skambučio"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Pridėti skambutį"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Gaunami skambučiai"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Įjungiamas masinių veiksmų režimas"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Masinių veiksmų režimas išjungtas"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Pasirinkta: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Pasirinkimas atšauktas: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Paleisti balso pašto pranešimus"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Žiūrėti kontaktą <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Skambinti <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"Balso paštas"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"balso pašto praneš."</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"balso pašto praneš."</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Taip"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Atšaukti masinių veiksmų režimą"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Ištrinti"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Atšaukti"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Ištrinti pasir. <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Pasirinkta: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Ištrinti šiuos balso pašto pranešimus? "</b>"</item>
+ <item quantity="few">"<b>"Ištrinti šiuos balso pašto pranešimus? "</b>"</item>
+ <item quantity="many">"<b>"Ištrinti šiuos balso pašto pranešimus? "</b>"</item>
+ <item quantity="other">"<b>"Ištrinti šiuos balso pašto pranešimus? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Įkeliama iš SIM kortelės..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM kortelės adresatai"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nepasiekiama jokia kontaktų programa"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Paieška balsu nepasiekiama"</string>
<string name="call_not_available" msgid="7850148370757361155">"Negalima skambinti telefonu, nes Telefono programa išjungta."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Ieškoti adresatų"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Naujų praleistų skambučių: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Dar nieko neįtraukėte į sparčiojo rinkimo sąrašą"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Pridėti mėgstamiausią"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Dar neturite kontaktų"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Pridėti kontaktą"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Palieskite vaizdą, kad peržiūrėtumėte visus numerius, arba palieskite ir palaikykite, kad pertvarkytumėte"</string>
<string name="remove_contact" msgid="2353580570488923668">"Pašalinti"</string>
+ <string name="select_all" msgid="408601760696146245">"Pasirinkti viską"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Vaizdo skambutis"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Siųsti pranešimą"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Išsami skambučio informacija"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"Užblokuoti numeriai"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> jau užblokuotas."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Skambinimo paskyros"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Įjungti"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Nustatyti leidimus"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Jei norite įgalinti spartųjį rinkimą, įjunkite Kontaktų programos leidimą."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Jei norite peržiūrėti skambučių žurnalą, įjunkite Telefono programos leidimą."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Jei norite peržiūrėti kontaktus, įjunkite Kontaktų programos leidimą."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Jei norite pasiekti balso paštą, įjunkite Telefono programos leidimą."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Kad galėtumėte ieškoti kontaktų, įjunkite Kontaktų leidimus."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Jei norite paskambinti, įjunkite Telefono programos leidimą."</string>
diff --git a/java/com/android/dialer/app/res/values-lv/strings.xml b/java/com/android/dialer/app/res/values-lv/strings.xml
index 808d7bfb7..8df2813c4 100644
--- a/java/com/android/dialer/app/res/values-lv/strings.xml
+++ b/java/com/android/dialer/app/res/values-lv/strings.xml
@@ -81,11 +81,16 @@
<string name="add_wait" msgid="1177723010768282578">"Pievienot gaidīšanu"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Iestatījumi"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulators"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Jaunās liet. saskarnes saīsne"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Visas kontaktpersonas"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Izmantot skārientoņu tastatūru"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Atgriezties pie pašreizējā zvana"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Pievienot zvanu"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Ienākošie zvani"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Tiek atvērts lielapjoma darbību režīms"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Tika aizvērts lielapjoma darbību režīms"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Atlasīt: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Noņemt atlasi: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Atskaņot balss pasta ziņojumu"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Skatīt kontaktpersonu <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Zvanīt: <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -100,11 +105,16 @@
<string name="voicemail" msgid="8899540969000957954">"Balss pasts"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"balss pasta ziņojums"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"balss pasta ziņojumi"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Jā"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nē"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Iziet no grupas darbību režīma"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Dzēst"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Atcelt"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vai dzēst atlasi: <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Atlasīti: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="zero">"<b>"Vai dzēst šos balss pasta ziņojumus? "</b>"</item>
+ <item quantity="one">"<b>"Vai dzēst šos balss pasta ziņojumus? "</b>"</item>
+ <item quantity="other">"<b>"Vai dzēst šos balss pasta ziņojumus? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> plkst. <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -117,7 +127,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Notiek ielāde no SIM kartes..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontaktpersonas SIM kartē"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nav pieejama neviena kontaktpersonu lietotne."</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Meklēšana ar balsi nav pieejama."</string>
<string name="call_not_available" msgid="7850148370757361155">"Nevar veikt tālruņa zvanu, jo lietojumprogramma Tālrunis tika atspējota."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Meklēt kontaktpersonas"</string>
@@ -146,10 +155,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Jauni neatbildēti zvani: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Ātro zvanu sarakstā vēl nav nevienas kontaktpersonas."</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Pievienot izlasei"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Jums vēl nav nevienas kontaktpersonas."</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Pievienot kontaktpersonu"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Pieskarieties attēlam, lai skatītu visus numurus, vai pieskarieties attēlam un turiet to, lai veiktu pārkārtošanu."</string>
<string name="remove_contact" msgid="2353580570488923668">"Noņemt"</string>
+ <string name="select_all" msgid="408601760696146245">"Atlasīt visu"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videozvans"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Sūtīt ziņojumu"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Informācija par zvanu"</string>
@@ -215,11 +223,9 @@
<string name="block_list" msgid="4701585783411870782">"Bloķētie numuri"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> jau ir bloķēts."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Zvanu konti"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Ieslēgt"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Iestatīt atļaujas"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Lai iespējotu ātros zvanus, ieslēdziet atļauju Kontaktpersonas."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Lai skatītu zvanu žurnālu, ieslēdziet atļauju Tālrunis."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Lai skatītu kontaktpersonas, ieslēdziet atļauju Kontaktpersonas."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Lai piekļūtu balss pastam, ieslēdziet atļauju Tālrunis."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Lai meklētu savas kontaktpersonas, ieslēdziet atļauju Kontaktpersonas."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Lai veiktu zvanu, ieslēdziet atļauju Tālrunis."</string>
diff --git a/java/com/android/dialer/app/res/values-mk/strings.xml b/java/com/android/dialer/app/res/values-mk/strings.xml
index 6d2e533a5..953a05569 100644
--- a/java/com/android/dialer/app/res/values-mk/strings.xml
+++ b/java/com/android/dialer/app/res/values-mk/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Додај почекај"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Поставки"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Симулатор"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Создај крат. за нов интерфејс"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Сите контакти"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Користи тастатура со звуци на допир"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Врати се на повик во тек"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Додај повик"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Дојдовни повици"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Влегувате во режим на групно дејство"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Излеговте од режим на групно дејство"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Избрано е <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Поништен е изборот на <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Преслушај говорна пошта"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Прикажи контакт <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Повикај <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Говорна пошта"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин. <xliff:g id="SECONDS">%s</xliff:g> сек."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"говорна пошта"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"говорни пораки"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Да"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Не"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Откажи го режимот на групни дејства"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Избриши"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Откажи"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Да се избришат избраните <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Избрани се <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Да се избришат говорните пораки? "</b>"</item>
+ <item quantity="other">"<b>"Да се избришат говорните пораки? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> во <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Вчитување од SIM картичка..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Контакти од SIM картичка"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Не е достапна апликација за контакти"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Гласовното пребарување не е достапно"</string>
<string name="call_not_available" msgid="7850148370757361155">"Не може да се воспостави телефонски повик, бидејќи апликацијата Телефон е оневозможена."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Пребарај контакти"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> нови пропуштени повици"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Сè уште немате никого на брзо бирање"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Додај омилено"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Сè уште немате контакти"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Додај контакт"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Допрете ја сликата за да ги видите сите броеви или допрете и држете за промена на редоследот"</string>
<string name="remove_contact" msgid="2353580570488923668">"Отстрани"</string>
+ <string name="select_all" msgid="408601760696146245">"Изберете ги сите"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Видеоповик"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Испрати порака"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Детали на повик"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Блокирани броеви"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> веќе е блокиран."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Сметки за повикување"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Вклучи"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Постави дозволи"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"За да овозможите брзо бирање, вклучете ја дозволата за контакти."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"За да ја видите евиденцијата на повици, вклучете ја дозволата за телефон."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"За да ги видите контактите, вклучете ја дозволата за контакти."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"За да пристапите кон говорната пошта, вклучете ја дозволата за телефон."</string>
<string name="permission_no_search" msgid="2424710404207193826">"За да ги пребарувате контактите, вклучете ги дозволите за контакти."</string>
<string name="permission_place_call" msgid="8686908130349369423">"За да воспоставите повик, вклучете ја дозволата за телефон."</string>
diff --git a/java/com/android/dialer/app/res/values-ml/strings.xml b/java/com/android/dialer/app/res/values-ml/strings.xml
index 91accf442..0eef40748 100644
--- a/java/com/android/dialer/app/res/values-ml/strings.xml
+++ b/java/com/android/dialer/app/res/values-ml/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"കാത്തിരിക്കൽ ചേർക്കുക"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"ക്രമീകരണം"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"സിമുലേറ്റർ"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"പുതിയ UI കുറുക്കുവഴി സൃഷ്‌ടിക്കുക"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"എല്ലാ കോൺടാക്റ്റുകളും"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ടച്ച് ടോൺ കീപാഡ് ഉപയോഗിക്കുക"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"വിളിച്ചുകൊണ്ടിരിക്കുന്ന കോളിലേക്ക് മടങ്ങുക"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"കോൾ ചേർക്കുക"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ഇൻകമിംഗ് കോളുകൾ"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ബൾക്ക് പ്രവർത്തന മോഡിലേക്ക് പ്രവേശിക്കുന്നു"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ബൾക്ക് പ്രവർത്തന മോഡ് വിട്ടു"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> തിരഞ്ഞെടുത്തു"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> തിരഞ്ഞെടുത്തത് മാറ്റി"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"വോയ്‌സ്‌മെയിൽ പ്ലേ ചെയ്യുക"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> എന്ന കോൺടാക്റ്റ് കാണുക"</string>
<string name="description_call" msgid="1532402285334775372">"വിളിക്കുക <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"വോയ്‌സ്‌മെയിൽ"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> സെക്കൻഡ്"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> മി. <xliff:g id="SECONDS">%s</xliff:g> സെ."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"വോയ്‌സ്‌മെയിൽ"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"വോയ്‌സ്മെയിലുകൾ"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"അതെ"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ഇല്ല"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"\'ബാച്ച് പ്രവർത്തനങ്ങൾ\' മോഡ് റദ്ദാക്കുക"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"ഇല്ലാതാക്കുക"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"റദ്ദാക്കൂ"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"തിരഞ്ഞെടുത്ത <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ഇല്ലാതാക്കണോ?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> എണ്ണം തിരഞ്ഞെടുത്തു"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"ഈ വോയ്‌സ്‌മെയിലുകൾ ഇല്ലാതാക്കണോ? "</b>"</item>
+ <item quantity="one">"<b>"ഈ വോയ്‌സ്‌മെയിൽ ഇല്ലാതാക്കണോ? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>-ന്"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"സിം കാർഡിൽ നിന്നും ലോഡുചെയ്യുന്നു…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"സിം കാർഡ് കോൺടാക്റ്റുകൾ"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"കോൺടാക്റ്റ് അപ്ലിക്കേഷനൊന്നും ലഭ്യമല്ല"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"വോയ്‌സ് തിരയൽ ലഭ്യമല്ല"</string>
<string name="call_not_available" msgid="7850148370757361155">"ഫോൺ അപ്ലിക്കേഷൻ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നതിനാൽ ഫോൺ കോൾ ചെയ്യാനാകില്ല."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"കോണ്‍‌ടാക്റ്റുകള്‍ തിരയുക"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> പുതിയ മിസ്‌ഡ് കോളുകൾ"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"ഇതുവരെ ആരും നിങ്ങളുടെ സ്പീഡ് ഡയലിൽ ഇല്ല"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"പ്രിയപ്പെട്ടത് ചേർക്കുക"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"നിങ്ങൾക്ക് ഇതുവരെയും കോൺടാക്റ്റുകൾ ഒന്നുമില്ല."</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ഒരു കോണ്‍ടാക്റ്റ് ചേര്‍ക്കുക"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"എല്ലാ നമ്പറുകളും കാണാൻ ചിത്രം സ്‌പർശിക്കുക അല്ലെങ്കിൽ വീണ്ടും ക്രമീകരിക്കാൻ സ്‌പർശിച്ച് പിടിക്കുക"</string>
<string name="remove_contact" msgid="2353580570488923668">"നീക്കംചെയ്യുക"</string>
+ <string name="select_all" msgid="408601760696146245">"എല്ലാം തിരഞ്ഞെടുക്കുക"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"വീഡിയോ കോള്‍"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"ഒരു സന്ദേശം അയയ്‌ക്കുക"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"കോൾ വിശദാംശങ്ങൾ"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"ബ്ലോക്കുചെയ്ത നമ്പറുകൾ"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"ഇതിനകം തന്നെ <xliff:g id="NUMBER">%1$s</xliff:g> ബ്ലോക്കുചെയ്തിരിക്കുന്നു"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"കോളിംഗ് അക്കൗണ്ട്"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ഓണാക്കുക"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"അനുമതികൾ സജ്ജമാക്കുക"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"സ്പീഡ് ഡയൽ പ്രവർത്തനക്ഷമാക്കുന്നതിന്, \'കോൺടാക്റ്റുകൾ\' അനുമതി ഓണാക്കുക."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"നിങ്ങളുടെ കോൾ ലോഗ് കാണുന്നതിന്, \'ഫോൺ\' അനുമതി ഓണാക്കുക."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ കാണുന്നതിന്, \'കോൺടാക്റ്റുകൾ\' അനുമതി ഓണാക്കുക."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"നിങ്ങളുടെ വോയ്‌സ്‌മെയിൽ ആക്സസ് ചെയ്യുന്നതിന്, \'ഫോൺ\' അനുമതി ഓണാക്കുക."</string>
<string name="permission_no_search" msgid="2424710404207193826">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ തിരയുന്നതിന് കോൺടാക്റ്റുകൾക്കുള്ള അനുമതികൾ ഓണാക്കുക."</string>
<string name="permission_place_call" msgid="8686908130349369423">"കോൾ വിളിക്കുന്നതിന്, \'ഫോൺ\' അനുമതി ഓണാക്കുക."</string>
diff --git a/java/com/android/dialer/app/res/values-mn/strings.xml b/java/com/android/dialer/app/res/values-mn/strings.xml
index a07a826d5..e0cd98710 100644
--- a/java/com/android/dialer/app/res/values-mn/strings.xml
+++ b/java/com/android/dialer/app/res/values-mn/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Хүлээлт нэмэх"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Тохиргоо"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Симулятор"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Шинэ UI үүсгэх товчлол"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Бүх харилцагчид"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Хүрэлтээр дуугардаг гар ашиглах"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Үргэлжилж буй дуудлага руу буцах"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Дуудлага нэмэх"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Ирж буй дуудлага"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Багц үйлдлийн горимд орж байна"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Багц үйлдлийн горимоос гарсан"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> сонгосон"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> сонголтыг болиулсан"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Дуут шууданг тоглуулах"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> харилцагчийг харах"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> руу залгах"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Дуут шуудан"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> минут <xliff:g id="SECONDS">%s</xliff:g> секунд"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"дуут шуудан"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"дуут шуудан"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Тийм"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Үгүй"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Багц үйлдлийн горимыг цуцлах"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Устгах"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Цуцлах"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Сонгосон <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>-г устгах уу?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> сонгосон"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Эдгээр дуут шууданг устгах уу? "</b>"</item>
+ <item quantity="one">"<b>"Энэ дуут шууданг устгах уу? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g>-д"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM картаас уншиж байна…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM картны харилцагчид"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Ямар ч харилцагчдын апликейшн байхгүй байна."</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Дуут хайлт хийх боломжгүй байна"</string>
<string name="call_not_available" msgid="7850148370757361155">"Утас аппликешныг идэвхгүйжүүлсэн тул утасны дуудлага хийх боломжгүй."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Харилцагчдаас хайх"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> шинэ аваагүй дуудлага"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Таны яаралтай залгах тохиргоон дээр одоогоор харилцагч байхгүй байна"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Таалагдсан хэсэгт нэмэх"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Танд одоогоор харилцагч байхгүй байна"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Харилцагч нэмэх"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Бүх дугаарыг харахын тулд зурганд хүрнэ үү эсвэл жагсаалтыг өөрчлөхийн тулд удаан дарна уу."</string>
<string name="remove_contact" msgid="2353580570488923668">"Хасах"</string>
+ <string name="select_all" msgid="408601760696146245">"Бүгдийг сонгох"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Видео дуудлага"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Зурвас илгээх"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Дуудлагын мэдээлэл"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Блоклосон дугаар"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g>-г аль хэдийн блоклосон байна."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Дуудах бүртгэл"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Идэвхжүүлэх"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Зөвшөөрөл тохируулах"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Яаралтай дуудлагыг идэвхжүүлэхийн тулд Харилцагчдын зөвшөөрлийг идэвхжүүлнэ үү."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Дуудлагын жагсаалтыг харахын тулд утасны зөвшөөрлийг идэвхжүүлнэ үү."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Харилцагчдаа харахын тулд Харилцагчдын зөвшөөрлийг идэвхжүүлнэ үү."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Дуут шууданд хандахын тулд Утасны зөвшөөрлийг идэвхжүүлнэ үү."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Харилцагчаа хайхын тулд, Харилцагчийн жагсаалтын зөвшөөрлийг идэвхжүүлнэ үү."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Залгахын тулд Утасны зөвшөөрлийг идэвхжүүлнэ үү."</string>
diff --git a/java/com/android/dialer/app/res/values-mr/strings.xml b/java/com/android/dialer/app/res/values-mr/strings.xml
index 5aca7a5e2..70e6d410c 100644
--- a/java/com/android/dialer/app/res/values-mr/strings.xml
+++ b/java/com/android/dialer/app/res/values-mr/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"प्रतीक्षा करा जोडा"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"सेटिंग्ज"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"सिम्युलेटर"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"नवीन UI शॉर्टकट तयार करा"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"सर्व संपर्क"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"स्‍पर्श टोन कीपॅडचा वापर करा"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"चालू असलेल्या कॉलवर परत जा"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"कॉल जोडा"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"येणारे कॉल"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"मोठ्या प्रमाणात क्रिया मोडमध्ये प्रवेश करीत आहे"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"मोठ्या प्रमाणात क्रिया मोड सोडत आहे"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> निवडले"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ची निवड रद्द केली"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"व्हॉइसमेल प्ले करा"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> संपर्क पहा"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ला कॉल करा"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"व्हॉइसमेल"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> सेकंद"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> मिनिट <xliff:g id="SECONDS">%s</xliff:g> सेकंद"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"व्हॉइसमेल"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"व्हॉइसमेल"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"होय"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"नाही"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"बॅच क्रिया मोड रद्द करा"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"हटवा"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"रद्द करा"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"निवडलेले <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> हटवायचेे?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> निवडले"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"हा व्हॉइसमेल हटवायचा? "</b>"</item>
+ <item quantity="other">"<b>"हे व्हॉइसमेल हटवायचे? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> रोजी <xliff:g id="TIME">%2$s</xliff:g> वाजता"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"सिम कार्ड मधून लोड करीत आहे..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"सिम कार्ड संपर्क"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"कोणताही संपर्क अॅप उपलब्ध नाही"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"व्हॉइस शोध उपलब्ध नाही"</string>
<string name="call_not_available" msgid="7850148370757361155">"फोन अनुप्रयोग अक्षम केला गेला असल्याने फोन कॉल करणे शक्य नाही."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"संपर्क शोधा"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> नवीन सुटलेले कॉल"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"अद्याप आपल्‍या स्पीड डायलवर कोणीही नाही"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"एक आवडते जोडा"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"आपल्‍याकडे अद्याप कोणतेही संपर्क नाहीत"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"एक संपर्क जोडा"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"सर्व नंबर पाहण्यासाठी प्रतिमेस स्पर्श करा किंवा पुन्हा क्रम लावण्यासाठी स्पर्श करा आणि धरून ठेवा"</string>
<string name="remove_contact" msgid="2353580570488923668">"काढा"</string>
+ <string name="select_all" msgid="408601760696146245">"सर्व निवडा"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"व्हिडिओ कॉल"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"एक संदेश पाठवा"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"कॉल तपशील"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"अवरोधित केलेले नंबर"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> आधीच अवरोधित केलेला आहे."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"कॉल करण्याची खाती"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"चालू करा"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"परवानग्या सेट करा"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"स्पीड डायल सक्षम करण्‍यासाठी, संपर्क परवानगी चालू करा."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"आपला कॉल लॉग पाहण्‍यासाठी, फोन परवानगी चालू करा."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"आपले संपर्क पाहण्‍यासाठी, संपर्क परवानगी चालू करा."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"आपल्‍या व्हॉइसमेलमध्‍ये प्रवेश करण्‍यासाठी, फोन परवानगी चालू करा."</string>
<string name="permission_no_search" msgid="2424710404207193826">"आपले संपर्क शोधण्‍यासाठी, संपर्क परवानग्या चालू करा."</string>
<string name="permission_place_call" msgid="8686908130349369423">"कॉल करण्यासाठी, फोन परवानगी चालू करा."</string>
diff --git a/java/com/android/dialer/app/res/values-ms/strings.xml b/java/com/android/dialer/app/res/values-ms/strings.xml
index 9dbe541d9..f58f08f02 100644
--- a/java/com/android/dialer/app/res/values-ms/strings.xml
+++ b/java/com/android/dialer/app/res/values-ms/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Tambah penungguan"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Tetapan"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Buat Pintasan UI Baharu"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Semua kenalan"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Gunakan pad kekunci nada sentuh"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Kembali ke panggilan yang sedang berlangsung"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Tambah panggilan"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Panggilan masuk"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Memasuki mod tindakan pukal"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Meninggalkan mod tindakan pukal"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> dipilih"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> dinyahpilih"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Mainkan mel suara"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Lihat kenalan <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Panggil <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Mel suara"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> saat"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> saat"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"mel suara"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mel suara"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ya"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Tidak"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Batalkan mod tindakan kelompok"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Padam"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Batal"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Padam <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> yang dipilih?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> dipilih"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Padamkan mel suara ini? "</b>"</item>
+ <item quantity="one">"<b>"Padamkan mel suara ini? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> pada <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Memuatkan dari kad SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kenalan kad SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Tiada apl kenalan tersedia"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Carian suara tidak tersedia"</string>
<string name="call_not_available" msgid="7850148370757361155">"Tidak boleh membuat panggilan telefon kerana aplikasi Telefon telah dilumpuhkan."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Cari dalam kenalan"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> panggilan terlepas baharu"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Belum ada sesiapa pada dail pantas anda"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Tambahkan kegemaran"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Anda belum mempunyai sebarang kenalan"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Tambahkan kenalan"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Sentuh imej untuk melihat semua nombor atau sentuh &amp; tahan untuk menyusun semula"</string>
<string name="remove_contact" msgid="2353580570488923668">"Alih keluar"</string>
+ <string name="select_all" msgid="408601760696146245">"Pilih semua"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Panggilan video"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Hantar mesej"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Butiran panggilan"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Nombor yang disekat"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> sudah disekat."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Akaun panggilan"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Hidupkan"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Tetapkan kebenaran"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Untuk mendayakan dail laju, hidupkan kebenaran Kenalan."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Untuk melihat log panggilan anda, hidupkan kebenaran Telefon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Untuk melihat kenalan anda, hidupkan kebenaran Kenalan."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Untuk mengakses mel suara anda, hidupkan kebenaran Telefon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Untuk mencari kenalan anda, hidupkan kebenaran Kenalan."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Untuk membuat panggilan, hidupkan kebenaran Telefon."</string>
diff --git a/java/com/android/dialer/app/res/values-my/strings.xml b/java/com/android/dialer/app/res/values-my/strings.xml
index 2b51b2054..60c3271a0 100644
--- a/java/com/android/dialer/app/res/values-my/strings.xml
+++ b/java/com/android/dialer/app/res/values-my/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"စောင့်ဆိုင်းခြင်း ထည့်ပါ"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"ဆက်တင်များ"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"အသစ်ကဲ့သို့ တုပသည့်စနစ်"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"UI ဖြတ်လမ်းလင့်ခ်အသစ် လုပ်ရန်"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"လိပ်စာများအားလုံး"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"touch tone ကီးခလုတ် ကိုအသုံးပြုပါ"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ဖုန်းပြန်ခေါ်မှု ပြုလုပ်နေစဉ်"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"ဖုန်းခေါ်မှု ထပ်ထည့်ပါ"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"အဝင်ခေါ်ဆိုမှုများ"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"တပြိုင်နက်တည်း စုပြုံလုပ်ဆောင်ချက်မုဒ်ကို ထည့်သွင်းခြင်း"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"တပြိုင်နက်တည်း စုပြုံလုပ်ဆောင်ချက်မုဒ်မှ ထွက်လိုက်သည်"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"ရွေးချယ်ထားသော <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"မရွေးချယ်ထားသော <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"အသံပို့စာ နားထောင်ရန်"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> လိပ်စာကြည့်ရန်"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ကိုခေါ်ပါ"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"အသံစာပို့စနစ်"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> စက္ကန့်"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> မိနစ် <xliff:g id="SECONDS">%s</xliff:g> စက္ကန့်"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"အသံမေးလ်"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"အသံမေးလ်များ"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yes"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"တပြိုင်နက်တည်း စုပြုံလုပ်ဆောင်ချက်များမုဒ်ကိ ပယ်ဖျက်ရန်"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"ဖျက်ပါ"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"မလုပ်တော့"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ရွေးထားသော <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ကို ဖျက်လိုပါသလား။"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ကို ရွေးချယ်ထားသည်"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"ဤအသံမေးလ်များကို ဖျက်မလား။ "</b>"</item>
+ <item quantity="one">"<b>"ဤအသံမေးလ်ကို ဖျက်မလား။ "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g> ၌"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEIDနံပါတ်"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"ဆင်းမ်ကဒ်မှ ဖွင့်နေပါသည်..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"ဆင်းမ်ကဒ်မှ အဆက်အသွယ်များ"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"အဆက်အသွယ်များ app မရှိ"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"အသံဖြင့် ရှာဖွေမှု မရှိ"</string>
<string name="call_not_available" msgid="7850148370757361155">"ဖုန်း အပလီကေးရှင်းကို ပိတ်ထား၍ ဖုန်း ခေါ်ဆိုမှု မပြုလုပ်နိုင်ခဲ့ပါ။"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"အဆက်အသွယ်များရှာပါ"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"လွတ်သွားသောဖုန်း <xliff:g id="NUMBER">%s</xliff:g> ခါ"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"သင်၏အမြန်ခေါ်စာရင်းတွင် မည်သူမျှ မရှိသေးပါ"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"အနှစ်သက်ဆုံးတစ်ခု ထည့်ရန်"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"သင့်တွင် မည်သည့်အဆက်အသွယ်မျှ မရှိသေးပါ"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"အဆက်အသွယ်တစ်ယောက် ထည့်မည်"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"နံပါတ်အားလုံးကိုကြည့်ရန် ပုံကိုထိပါ (သို့) ပြန်စီရန် ထိပြီးဖိထားပါ"</string>
<string name="remove_contact" msgid="2353580570488923668">"ဖယ်ရှာခြင်း"</string>
+ <string name="select_all" msgid="408601760696146245">"အားလုံးကို ရွေးချယ်ပါ"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"ဗီဒီယို ခေါ်ဆိုမှု"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"စာ တစ်စောင် ပို့ပါ"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"ဖုန်းခေါ်မှု အသေးစိတ်အချက်အလက်"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"ပိတ်ထားသည့် နံပါတ်များ"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> အားပိတ်ဆို့ထားပြီးပါပြီ။"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"ခေါ်ဆိုသော အကောင့်များ"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ဖွင့်ထားရန်"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"ခွင့်ပြုချက်များ သတ်မှတ်မည်"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"မြန်နှုန်းမြင့်ဖုန်းခေါ်ဆိုမှုကို ဖွင့်ရန်၊ အဆက်အသွယ်ခွင့်ပြုချက်ကို ဖွင့်ပါ။"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"ခေါ်ဆိုမှုမှတ်တမ်းကို ကြည့်ရန်၊ ဖုန်းခွင့်ပြုချက်ကို ဖွင့်ပါ။"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"အဆက်အသွယ်များကိုကြည့်ရန်၊ အဆက်အသွယ်ခွင့်ပြုချက်ကို ဖွင့်ပါ။"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"အသံမေးလ်ကိုအသုံးပြုရန်၊ ဖုန်းခွင့်ပြုချက်ကိုဖွင့်ပါ။"</string>
<string name="permission_no_search" msgid="2424710404207193826">"သင့်အဆက်အသွယ်များကို ရှာဖွေရန်၊ အဆက်အသွယ်ခွင့်ပြုချက်များကို ဖွင့်ပါ။"</string>
<string name="permission_place_call" msgid="8686908130349369423">"ဖုန်းခေါ်ဆိုရန်၊ ဖုန်းခွင့်ပြုချက်ကိုဖွင့်ပါ။"</string>
diff --git a/java/com/android/dialer/app/res/values-nb/strings.xml b/java/com/android/dialer/app/res/values-nb/strings.xml
index d92edc649..344a26a51 100644
--- a/java/com/android/dialer/app/res/values-nb/strings.xml
+++ b/java/com/android/dialer/app/res/values-nb/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Legg til Vent"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Innstillinger"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Nytt grensesnitt – lag snarvei"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Alle kontakter"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Bruk tonetastatur"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Gå tilbake til aktiv samtale"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Legg til en samtale"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Innkommende samtaler"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Starter massehandlingsmodus"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Massehandlingsmodus er avsluttet"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Du har valgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Du har valgt bort <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Spill av talemelding"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Se kontakten <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Ring <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Telefonsvarer"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"talepost"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"talepost"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nei"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Avbryt massehandlinsmodus"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Slett"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Avbryt"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Slett markert <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> er valgt"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Vil du slette disse talemeldingene? "</b>"</item>
+ <item quantity="one">"<b>"Vil du slette denne talemeldingen? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Henter fra SIM-kort…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakter på SIM-kort"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Ingen kontaktapper er tilgjengelige"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Talesøk er ikke tilgjengelig"</string>
<string name="call_not_available" msgid="7850148370757361155">"Kan ikke ringe fordi Telefon-appen er deaktivert."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Søk i kontakter"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nye tapte anrop"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Du har ingen på hurtigoppringning ennå"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Legg til en favoritt"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Du har ingen kontakter ennå"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Legg til en kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Trykk på bildet for å se alle numrene, eller trykk og hold for å omorganisere"</string>
<string name="remove_contact" msgid="2353580570488923668">"Fjern"</string>
+ <string name="select_all" msgid="408601760696146245">"Velg alle"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videoanrop"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Send en melding"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Samtaleinformasjon"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokkerte numre"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> er allerede blokkert."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Ringekontoer"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Slå på"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Angi tillatelser"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"For å slå på hurtigoppringning, slå på Kontakter-tillatelsen."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"For å se samtaleloggen din, slå på Telefon-tillatelsen."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"For å se kontaktene dine, slå på Kontakter-tillatelsen."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"For å få tilgang til talepostkassen, slå på Telefon-tillatelsen."</string>
<string name="permission_no_search" msgid="2424710404207193826">"For å søke i kontaktene dine, slå på tillatelser for Kontakter."</string>
<string name="permission_place_call" msgid="8686908130349369423">"For å ringe, slå på Telefon-tillatelsen."</string>
diff --git a/java/com/android/dialer/app/res/values-ne/strings.xml b/java/com/android/dialer/app/res/values-ne/strings.xml
index 90a3016e2..5e70c40b6 100644
--- a/java/com/android/dialer/app/res/values-ne/strings.xml
+++ b/java/com/android/dialer/app/res/values-ne/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"पर्खाइ थप्नुहोस्"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"सेटिङ्हरू"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"सिम्युलेटर"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"नयाँ UI सर्टकट सिर्जना गर्ने"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"सबै सम्पर्कहरू"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"स्पर्श टोन किप्याडको प्रयोग गर्नुहोस्"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"हुदै गरेको कलमा फर्कनुहोस्"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"कल थप्नुहोस्"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"आगमन कलहरू"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"बल्क कारबाही सम्बन्धी मोडमा प्रवेश गर्दै"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"बल्क कारबाही सम्बन्धी मोड छोडियो"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> चयन गरियो"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> चयन हटाइयो"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"भ्वाइसमेल बजाउनुहोस्"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> सम्पर्क हेर्नुहोस्"</string>
<string name="description_call" msgid="1532402285334775372">"कल <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"भ्वाइसमेल"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> सेकेन्ड"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> मिनेट <xliff:g id="SECONDS">%s</xliff:g> सकेन्ड"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"भ्वाइस मेल"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"भ्वाइस मेलहरू"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"हो"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"होइन"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"ब्याच सम्बन्धी कारबाहीको मोडलाई रद्द गर्नुहोस्"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"मेट्नुहोस्"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"रद्द गर्नुहोस्"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"चयन गरिएका <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> लाई मेटाउने हो?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> चयन गरियो"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"यी भ्वाइस मेलहरू मेट्ने हो? "</b>"</item>
+ <item quantity="one">"<b>"यो भ्वाइस मेल मेट्ने हो? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> मा <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM कार्डबाट लोड हुँदै"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM कार्ड सम्पर्कहरू"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"कुनै पनि सम्पर्क अनुप्रयोग उपलब्ध छैन"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"आवाज खोजी उपलब्ध छैन"</string>
<string name="call_not_available" msgid="7850148370757361155">"फोन अनुप्रयोग असक्षम गरिएकोले फोन गर्न सकिँदैन।"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"सम्पर्कहरू खोज्नुहोस्"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> नयाँ छुटेका कलहरु"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"तपाईँको स्पिड डायलमा अझसम्म कोही छैन"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"एक मनपर्ने थप्नुहोस्"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"तपाईँसँग अझसम्म कुनै सम्पर्कहरू छैनन्"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"एउटा सम्पर्क थप्नुहोस्"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"सबै नम्बरहरू हेर्न छविलाई छुनुहोस् वा पुन:क्रमबद्ध गर्न छोइराख्नुहोस्"</string>
<string name="remove_contact" msgid="2353580570488923668">"हटाउँनुहोस्"</string>
+ <string name="select_all" msgid="408601760696146245">"सबैलाई चयन गर्नुहोस्"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"भिडियो कल"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"सन्देश पठाउनुहोस्"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"कल विवरणहरु"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"रोकिएका नम्बरहरू"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> पहिले नै रोकिएको छ।"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"खाता कलिङ"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"सक्रिय पार्नुहोस्"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"अनुमतिहरू सेट गर्नुहोस्"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"तीव्र डायल सक्षम गर्न, सम्पर्क अनुमति सक्षम गर्नुहोस्।"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"आफ्नो कल लग हेर्न, फोन अनुमति सक्रिय गर्नुहोस्।"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"आफ्नो सम्पर्क हेर्न सम्पर्क अनुमति सक्रिय गर्नुहोस्।"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"आफ्नो भ्वाइस मेल पहुँच गर्न, फोन अनुमति सक्रिय गर्नुहोस्"</string>
<string name="permission_no_search" msgid="2424710404207193826">"तपाईँको सम्पर्कहरू खोज गर्न सम्पर्क अनुमतिहरू सक्रिय गर्नुहोस्।"</string>
<string name="permission_place_call" msgid="8686908130349369423">"कल गर्न फोन अनुमति सक्रिय गर्नुहोस्।"</string>
diff --git a/java/com/android/dialer/app/res/values-nl/strings.xml b/java/com/android/dialer/app/res/values-nl/strings.xml
index 5f41b8063..dbd29bc78 100644
--- a/java/com/android/dialer/app/res/values-nl/strings.xml
+++ b/java/com/android/dialer/app/res/values-nl/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Wachten toevoegen"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Instellingen"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Snelkoppeling voor nieuwe UI"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Alle contacten"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Toetsen voor toonkiezen gebruiken"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Terug naar actief gesprek"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Oproep toevoegen"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Inkomende oproepen"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Modus voor bulkacties openen"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Modus voor bulkacties verlaten"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> geselecteerd"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Selectie van <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> opgeheven"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Voicemail afspelen"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Contact <xliff:g id="NAME">%1$s</xliff:g> bekijken"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> bellen"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Voicemail"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"voicemails"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nee"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Modus voor batchacties annuleren"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Verwijderen"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Annuleren"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Geselecteerde <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> verwijderen?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> geselecteerd"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Deze voicemails verwijderen? "</b>"</item>
+ <item quantity="one">"<b>"Deze voicemail verwijderen? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> om <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Laden vanaf SIM-kaart..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contacten op SIM-kaart"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Geen app voor contacten beschikbaar"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Gesproken zoekopdracht niet beschikbaar"</string>
<string name="call_not_available" msgid="7850148370757361155">"Kan niet bellen omdat de Telefoon-app is uitgeschakeld."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Contacten zoeken"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nieuwe gemiste oproepen"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Er staat nog niemand in je snelkeuzelijst"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Een favoriet toevoegen"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Je hebt nog geen contacten"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Contact toevoegen"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Tik op de afbeelding om alle nummers te bekijken of tik op de afbeelding en houd vast om opnieuw te rangschikken"</string>
<string name="remove_contact" msgid="2353580570488923668">"Verwijderen"</string>
+ <string name="select_all" msgid="408601760696146245">"Alles selecteren"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videogesprek"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Een bericht verzenden"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Oproepdetails"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Geblokkeerde nummers"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is al geblokkeerd."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Oproepaccounts"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Inschakelen"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Toestemmingen instellen"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Als je de snelkeuzefunctie wilt inschakelen, schakel je de machtiging voor Contacten in."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Als je je gesprekkenlijst wilt bekijken, schakel je de machtiging voor Telefoon in."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Als je je contacten wilt bekijken, schakel je de machtiging voor Contacten in."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Als je je voicemail wilt beluisteren, schakel je de machtiging voor Telefoon in."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Als je naar contacten wilt zoeken, schakel je de contacttoestemming in."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Als je iemand wilt bellen, schakel je de machtiging voor Telefoon in."</string>
diff --git a/java/com/android/dialer/app/res/values-no/strings.xml b/java/com/android/dialer/app/res/values-no/strings.xml
index d92edc649..344a26a51 100644
--- a/java/com/android/dialer/app/res/values-no/strings.xml
+++ b/java/com/android/dialer/app/res/values-no/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Legg til Vent"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Innstillinger"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Nytt grensesnitt – lag snarvei"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Alle kontakter"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Bruk tonetastatur"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Gå tilbake til aktiv samtale"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Legg til en samtale"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Innkommende samtaler"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Starter massehandlingsmodus"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Massehandlingsmodus er avsluttet"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Du har valgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Du har valgt bort <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Spill av talemelding"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Se kontakten <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Ring <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Telefonsvarer"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"talepost"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"talepost"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nei"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Avbryt massehandlinsmodus"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Slett"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Avbryt"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Slett markert <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> er valgt"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Vil du slette disse talemeldingene? "</b>"</item>
+ <item quantity="one">"<b>"Vil du slette denne talemeldingen? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Henter fra SIM-kort…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakter på SIM-kort"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Ingen kontaktapper er tilgjengelige"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Talesøk er ikke tilgjengelig"</string>
<string name="call_not_available" msgid="7850148370757361155">"Kan ikke ringe fordi Telefon-appen er deaktivert."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Søk i kontakter"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nye tapte anrop"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Du har ingen på hurtigoppringning ennå"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Legg til en favoritt"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Du har ingen kontakter ennå"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Legg til en kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Trykk på bildet for å se alle numrene, eller trykk og hold for å omorganisere"</string>
<string name="remove_contact" msgid="2353580570488923668">"Fjern"</string>
+ <string name="select_all" msgid="408601760696146245">"Velg alle"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videoanrop"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Send en melding"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Samtaleinformasjon"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokkerte numre"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> er allerede blokkert."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Ringekontoer"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Slå på"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Angi tillatelser"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"For å slå på hurtigoppringning, slå på Kontakter-tillatelsen."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"For å se samtaleloggen din, slå på Telefon-tillatelsen."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"For å se kontaktene dine, slå på Kontakter-tillatelsen."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"For å få tilgang til talepostkassen, slå på Telefon-tillatelsen."</string>
<string name="permission_no_search" msgid="2424710404207193826">"For å søke i kontaktene dine, slå på tillatelser for Kontakter."</string>
<string name="permission_place_call" msgid="8686908130349369423">"For å ringe, slå på Telefon-tillatelsen."</string>
diff --git a/java/com/android/dialer/app/res/values-pa/strings.xml b/java/com/android/dialer/app/res/values-pa/strings.xml
index 76d4b9b70..33afd5824 100644
--- a/java/com/android/dialer/app/res/values-pa/strings.xml
+++ b/java/com/android/dialer/app/res/values-pa/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"ਉਡੀਕ ਜੋੜੋ"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"ਸੈਟਿੰਗਾਂ"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"ਸਿਮੁਲੇਟਰ"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"ਨਵਾਂ UI ਸ਼ਾਰਟਕੱਟ ਬਣਾਓ"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"ਸਾਰੇ ਸੰਪਰਕ"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ਟਚ ਟੋਨ ਕੀਪੈਡ ਵਰਤੋ"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ਪ੍ਰਗਤੀ ਵਿੱਚ ਕਾਲ ਤੇ ਵਾਪਸ ਜਾਓ"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"ਕਾਲ ਜੋੜੋ"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ਇਨਕਮਿੰਗ ਕਾਲਾਂ"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ਬਲਕ ਕਾਰਵਾਈ ਮੋਡ ਵਿੱਚ ਦਾਖਲ ਹੋਇਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ਬਲਕ ਕਾਰਵਾਈ ਮੋਡ ਨੂੰ ਛੱਡਿਆ"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ਨੂੰ ਚੁਣਿਆ ਗਿਆ"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ਨੂੰ ਅਣ-ਚੁਣਿਆ ਕੀਤਾ ਗਿਆ"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"ਵੌਇਸਮੇਲ ਪਲੇ ਕਰੋ"</string>
<string name="description_view_contact" msgid="3940984937384372665">"ਸੰਪਰਕ <xliff:g id="NAME">%1$s</xliff:g> ਦੇਖੋ"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ਨੂੰ ਕਾਲ ਕਰੋ"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"ਵੌਇਸਮੇਲ"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ਸਕਿੰਟ"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> ਮਿੰਟ <xliff:g id="SECONDS">%s</xliff:g> ਸਕਿੰਟ"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ਵੌਇਸਮੇਲ"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ਵੌਇਸਮੇਲਾਂ"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ਹਾਂ"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ਨਹੀਂ"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"ਬੈਚ ਕਾਰਵਾਈਆਂ ਮੋਡ ਨੂੰ ਰੱਦ ਕਰੋ"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"ਮਿਟਾਓ"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"ਰੱਦ ਕਰੋ"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ਕੀ ਚੁਣੀ(ਆਂ) ਹੋਈ(ਆਂ) <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ਨੂੰ ਚੁਣਿਆ ਗਿਆ"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"ਕੀ ਇਸ ਵੌਇਸਮੇਲ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ? "</b>"</item>
+ <item quantity="other">"<b>"ਕੀ ਇਹਨਾਂ ਵੌਇਸਮੇਲਾਂ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ਨੂੰ <xliff:g id="TIME">%2$s</xliff:g> ਵਜੇ"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM ਕਾਰਡ ਵਿੱਚੋਂ ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM ਕਾਰਡ ਸੰਪਰਕ"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"ਕੋਈ ਸੰਪਰਕ ਐਪ ਉਪਲਬਧ ਨਹੀਂ"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"ਵੌਇਸ ਖੋਜ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
<string name="call_not_available" msgid="7850148370757361155">"ਇੱਕ ਫੋਨ ਕਾਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿਉਂਕਿ ਫੋਨ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ।"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"ਸੰਪਰਕ ਖੋਜੋ"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ਨਵੀਆਂ ਮਿਸਡ ਕਾਲਾਂ"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"ਅਜੇ ਤੁਹਾਡੇ ਸਪੀਡ ਡਾਇਲ \'ਤੇ ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਨਹੀਂ ਹੈ"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ਕੋਈ ਮਨਪਸੰਦ ਸ਼ਾਮਲ ਕਰੋ"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"ਤੁਹਾਡੇ ਕੋਲ ਅਜੇ ਕੋਈ ਸੰਪਰਕ ਨਹੀਂ ਹਨ।"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ਕੋਈ ਸੰਪਰਕ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"ਸਾਰੇ ਨੰਬਰਾਂ ਨੂੰ ਵੇਖਣ ਲਈ ਚਿਤਰ ਨੂੰ ਸਪਰਸ਼ ਕਰੋ ਜਾਂ ਦੁਬਾਰਾ ਕ੍ਰਮਬੱਧ ਕਰਨ ਲਈ ਸਪਰਸ਼ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ"</string>
<string name="remove_contact" msgid="2353580570488923668">"ਹਟਾਓ"</string>
+ <string name="select_all" msgid="408601760696146245">"ਸਭ ਚੁਣੋ"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"ਵੀਡੀਓ ਕਾਲ"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"ਇੱਕ ਸੁਨੇਹਾ ਭੇਜੋ"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"ਕਾਲ ਵੇਰਵੇ"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"ਬਲੌਕ ਕੀਤੇ ਗਏ ਨੰਬਰ"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ਪਹਿਲਾਂ ਹੀ ਬਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"ਕਾਲਿੰਗ ਖਾਤੇ"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ਚਾਲੂ ਕਰੋ"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"ਅਨੁਮਤੀਆਂ ਸੈੱਟ ਕਰੋ"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"ਸਪੀਡ ਡਾਇਲ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ, ਸੰਪਰਕ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"ਆਪਣਾ ਕਾਲ ਲੌਗ ਵੇਖਣ ਲਈ, ਫ਼ੋਨ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਨੂੰ ਵੇਖਣ ਲਈ, ਸੰਪਰਕ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"ਆਪਣੀ ਵੌਇਸਮੇਲ ਐਕਸੈਸ ਕਰਨ ਲਈ, ਫ਼ੋਨ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string>
<string name="permission_no_search" msgid="2424710404207193826">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਦੀ ਖੋਜ ਕਰਨ ਲਈ,, ਸੰਪਰਕ ਅਨੁਮਤੀਆਂ ਨੂੰ ਚਾਲੂ ਕਰੋ।"</string>
<string name="permission_place_call" msgid="8686908130349369423">"ਕਾਲ ਕਰਨ ਲਈ, ਫ਼ੋਨ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string>
diff --git a/java/com/android/dialer/app/res/values-pl/strings.xml b/java/com/android/dialer/app/res/values-pl/strings.xml
index 76adfe579..7f6027c51 100644
--- a/java/com/android/dialer/app/res/values-pl/strings.xml
+++ b/java/com/android/dialer/app/res/values-pl/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"Dodaj oczekiwanie"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Ustawienia"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Symulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Utwórz skrót do nowego interfejsu"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Wszystkie kontakty"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Użyj klawiatury tonowej"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Wróć do aktywnego połączenia"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj połączenie"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Połączenia przychodzące"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Włączono tryb działań zbiorczych"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Wyłączono tryb działań zbiorczych"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Wybrano: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Anulowano wybór: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Odtwórz pocztę głosową"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Wyświetl kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Zadzwoń do: <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"Poczta głosowa"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"wiadomości głosowe"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"wiadomości głosowe"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Tak"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nie"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Anuluj tryb działań zbiorczych"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Usuń"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Anuluj"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Usunąć wybrane <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Wybrane: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="few">"<b>"Usunąć te wiadomości głosowe? "</b>"</item>
+ <item quantity="many">"<b>"Usunąć te wiadomości głosowe? "</b>"</item>
+ <item quantity="other">"<b>"Usunąć te wiadomości głosowe? "</b>"</item>
+ <item quantity="one">"<b>"Usunąć tę wiadomość głosową? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> o <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"Numer MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Wczytuję z karty SIM…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakty z karty SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nie jest dostępna aplikacja do obsługi kontaktów"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Wyszukiwanie głosowe jest niedostępne"</string>
<string name="call_not_available" msgid="7850148370757361155">"Nie można zadzwonić, ponieważ aplikacja Telefon została wyłączona."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Przeszukuj kontakty"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Nowe nieodebrane połączenia: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Lista szybkiego wybierania jest pusta"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj do ulubionych"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Nie masz jeszcze żadnych kontaktów"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodaj kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Kliknij obraz, by zobaczyć wszystkie numery, lub kliknij go i przytrzymaj, by zmienić kolejność"</string>
<string name="remove_contact" msgid="2353580570488923668">"Usuń"</string>
+ <string name="select_all" msgid="408601760696146245">"Zaznacz wszystkie"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Rozmowa wideo"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Wyślij wiadomość"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Szczegóły połączenia"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"Zablokowane numery"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Numer <xliff:g id="NUMBER">%1$s</xliff:g> jest już zablokowany."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Konta telefoniczne"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Włącz"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ustaw uprawnienia"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Aby włączyć szybkie wybieranie, włącz uprawnienie Kontakty."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Aby zobaczyć swój rejestr połączeń, włącz uprawnienie Telefon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Aby zobaczyć swoje kontakty, włącz uprawnienie Kontakty."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Aby uzyskać dostęp do poczty głosowej, włącz uprawnienie Telefon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Aby wyszukać kontakty, włącz uprawnienia Kontakty."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Aby nawiązać połączenie, włącz uprawnienie Telefon."</string>
diff --git a/java/com/android/dialer/app/res/values-pt-rBR/strings.xml b/java/com/android/dialer/app/res/values-pt-rBR/strings.xml
index 780ca07db..768ce57d4 100644
--- a/java/com/android/dialer/app/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/app/res/values-pt-rBR/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Adicionar espera"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Configurações"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulador"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Criar atalho para a nova IU"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Todos os contatos"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Usar teclado multifrequencial"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Retornar para a chamada em espera"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Ad. cham."</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Chamadas recebidas"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando no modo de ação em massa"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saindo do modo de ação em massa"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> selecionado"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> não selecionado"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Reproduzir mensagem de voz"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Visualizar contato <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Ligar para <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Correio de voz"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> seg"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> m <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"correio de voz"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"correios de voz"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sim"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Não"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar modo de ações em lote"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Excluir"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancelar"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Excluir a seleção de <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Itens selecionados: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Excluir este correio de voz? "</b>"</item>
+ <item quantity="other">"<b>"Excluir estes correios de voz? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> às <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Carregando do cartão SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contatos do cartão SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nenhum app de contatos disponível"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"A pesquisa por voz não está disponível"</string>
<string name="call_not_available" msgid="7850148370757361155">"Não é possível fazer uma chamada porque o app Telefone foi desativado."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pesquisar contatos"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> novas chamadas perdidas"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Ainda não há ninguém na sua discagem rápida"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Adicionar favorito"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Você ainda não tem contatos"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Adicionar um contato"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Toque na imagem para ver todos os números ou toque e segure para reordenar"</string>
<string name="remove_contact" msgid="2353580570488923668">"Remover"</string>
+ <string name="select_all" msgid="408601760696146245">"Selecionar tudo"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videochamada"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar uma mensagem"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalhes da chamada"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"O número <xliff:g id="NUMBER">%1$s</xliff:g> já está bloqueado."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Contas de chamadas"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Ativar"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Definir permissões"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Para ativar a discagem rápida, ative a permissão para o app Contatos."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Para ver seu registro de chamadas, ative a permissão para o app Telefone."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver seus contatos, ative a permissão para o app Contatos."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Para acessar seu correio de voz, ative a permissão para o app Telefone."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Para pesquisar seus contatos, ative as permissões para \"Contatos\"."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Para fazer uma chamada, ative a permissão para o app Telefone."</string>
diff --git a/java/com/android/dialer/app/res/values-pt-rPT/strings.xml b/java/com/android/dialer/app/res/values-pt-rPT/strings.xml
index 95fa75c7e..3c636e1d6 100644
--- a/java/com/android/dialer/app/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/app/res/values-pt-rPT/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Adicionar espera"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Definições"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulador"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Criar novo atalho de IU"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Todos os contactos"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Utilizar teclado numérico com tons de toque"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Voltar à chamada em curso"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Adicionar chamada"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Chamadas recebidas"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"A entrar no modo de ação em massa…"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saiu do modo de ação em massa"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> selecionado"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> não selecionado"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Reproduzir mensagem de correio de voz"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Ver o contacto <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Ligar a <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Correio de voz"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> seg"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> seg."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"mensagem de correio de voz"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mensagens de correio de voz"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sim"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Não"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar modo de ações em lote"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Eliminar"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancelar"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Pretende eliminar a(s) <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> selecionada(s)?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selecionada(s)"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Pretende eliminar esta(s) mensagem(ns) de correio de voz? "</b>"</item>
+ <item quantity="other">"<b>"Pretende eliminar estas mensagens de correio de voz? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> às <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"A carregar a partir do cartão SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contactos no cartão SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Não existe nenhuma aplicação de contactos disponível"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Pesquisa por voz não disponível"</string>
<string name="call_not_available" msgid="7850148370757361155">"Não é possível efetuar uma chamada porque a aplicação Telefone foi desativada."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pesquisar contactos"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> chamadas não atendidas novas"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Ainda não tem ninguém na marcação rápida"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Adicionar um favorito"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Ainda não tem nenhum contacto"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Adicionar um contacto"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Toque na imagem para ver todos os números ou toque sem soltar para reordenar"</string>
<string name="remove_contact" msgid="2353580570488923668">"Remover"</string>
+ <string name="select_all" msgid="408601760696146245">"Selecionar tudo"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videochamada"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar uma mensagem"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalhes da chamada"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> já está bloqueado."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Contas de chamadas"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Ativar"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Definir autorizações"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Para ativar a marcação rápida, ative a autorização Contactos."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Para ver o registo de chamadas, ative a autorização Telemóvel."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver os seus contactos, ative a autorização Contactos."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Para aceder ao correio de voz, ative a autorização Telemóvel."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Para pesquisar os seus contactos, ative as autorizações Contactos."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Para efetuar uma chamada, ative a autorização Telemóvel."</string>
diff --git a/java/com/android/dialer/app/res/values-pt/strings.xml b/java/com/android/dialer/app/res/values-pt/strings.xml
index 780ca07db..768ce57d4 100644
--- a/java/com/android/dialer/app/res/values-pt/strings.xml
+++ b/java/com/android/dialer/app/res/values-pt/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Adicionar espera"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Configurações"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulador"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Criar atalho para a nova IU"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Todos os contatos"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Usar teclado multifrequencial"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Retornar para a chamada em espera"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Ad. cham."</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Chamadas recebidas"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando no modo de ação em massa"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saindo do modo de ação em massa"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> selecionado"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> não selecionado"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Reproduzir mensagem de voz"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Visualizar contato <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Ligar para <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Correio de voz"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> seg"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> m <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"correio de voz"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"correios de voz"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sim"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Não"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar modo de ações em lote"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Excluir"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Cancelar"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Excluir a seleção de <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Itens selecionados: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Excluir este correio de voz? "</b>"</item>
+ <item quantity="other">"<b>"Excluir estes correios de voz? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> às <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Carregando do cartão SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Contatos do cartão SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nenhum app de contatos disponível"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"A pesquisa por voz não está disponível"</string>
<string name="call_not_available" msgid="7850148370757361155">"Não é possível fazer uma chamada porque o app Telefone foi desativado."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pesquisar contatos"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> novas chamadas perdidas"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Ainda não há ninguém na sua discagem rápida"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Adicionar favorito"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Você ainda não tem contatos"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Adicionar um contato"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Toque na imagem para ver todos os números ou toque e segure para reordenar"</string>
<string name="remove_contact" msgid="2353580570488923668">"Remover"</string>
+ <string name="select_all" msgid="408601760696146245">"Selecionar tudo"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videochamada"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar uma mensagem"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detalhes da chamada"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"O número <xliff:g id="NUMBER">%1$s</xliff:g> já está bloqueado."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Contas de chamadas"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Ativar"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Definir permissões"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Para ativar a discagem rápida, ative a permissão para o app Contatos."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Para ver seu registro de chamadas, ative a permissão para o app Telefone."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver seus contatos, ative a permissão para o app Contatos."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Para acessar seu correio de voz, ative a permissão para o app Telefone."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Para pesquisar seus contatos, ative as permissões para \"Contatos\"."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Para fazer uma chamada, ative a permissão para o app Telefone."</string>
diff --git a/java/com/android/dialer/app/res/values-ro/strings.xml b/java/com/android/dialer/app/res/values-ro/strings.xml
index 725ff4a3c..b85f84987 100644
--- a/java/com/android/dialer/app/res/values-ro/strings.xml
+++ b/java/com/android/dialer/app/res/values-ro/strings.xml
@@ -81,11 +81,16 @@
<string name="add_wait" msgid="1177723010768282578">"Adăugați interval de așteptare"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Setări"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Creați comandă rapidă IU nouă"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Toată agenda"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Tastatura tactilă cu sunet"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Reveniți la apelul în curs"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Adăugați un apel"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Apeluri de intrare"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Se intră în modul acțiune în bloc"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Ați ieșit din modul acțiune în bloc"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"S-a selectat <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"S-a deselectat <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Redați mesajul vocal"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Afișați persoana din agendă <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Apelați <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -100,11 +105,16 @@
<string name="voicemail" msgid="8899540969000957954">"Mesagerie vocală"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> secunde"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"mesagerie vocală"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mesaje vocale"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nu"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Anulați modul de acțiuni în lot"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Ștergeți"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Anulați"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Ștergeți cele <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> selectate?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selectate"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="few">"<b>"Ștergeți aceste mesaje vocale? "</b>"</item>
+ <item quantity="other">"<b>"Ștergeți aceste mesaje vocale? "</b>"</item>
+ <item quantity="one">"<b>"Ștergeți acest mesaj vocal? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> la <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -117,7 +127,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Se încarcă de pe cardul SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Persoanele din agendă de pe cardul SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nu este disponibilă nicio aplicație pentru agendă"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Căutarea vocală nu este disponibilă"</string>
<string name="call_not_available" msgid="7850148370757361155">"Nu se poate efectua un apel telefonic, deoarece aplicația Telefon a fost dezactivată."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Căutați în Agendă"</string>
@@ -146,10 +155,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> apeluri nepreluate noi"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Nicio persoană de contact setată pentru apelarea rapidă"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Adăugați o persoană de contact preferată"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Nu aveți încă persoane de contact"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Adăugați o persoană de contact"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Atingeți imaginea pentru a vedea toate numerele sau atingeți lung pentru reordonare"</string>
<string name="remove_contact" msgid="2353580570488923668">"Eliminați"</string>
+ <string name="select_all" msgid="408601760696146245">"Selectați tot"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Apel video"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Trimiteți un mesaj"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detaliile apelului"</string>
@@ -215,11 +223,9 @@
<string name="block_list" msgid="4701585783411870782">"Numere blocate"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> este deja blocat."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Conturi pentru apelare"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Activați"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Setați permisiunile"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Pentru a activa apelarea rapidă, activați permisiunea Agendă."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Pentru a vedea jurnalul de apeluri, activați permisiunea Telefon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Pentru a vedea persoanele de contact, activați permisiunea Agendă."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Pentru a accesa mesageria vocală, activați permisiunea Telefon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Pentru a căuta în persoanele de contact, activați permisiunea Agendă."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Pentru a apela, activați permisiunea Telefon."</string>
diff --git a/java/com/android/dialer/app/res/values-ru/strings.xml b/java/com/android/dialer/app/res/values-ru/strings.xml
index 557832bcd..91441cc56 100644
--- a/java/com/android/dialer/app/res/values-ru/strings.xml
+++ b/java/com/android/dialer/app/res/values-ru/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"Добавить паузу"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Настройки"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Симулятор"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Создать ярлык для нового интерфейса"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Все контакты"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Панель тонального набора"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Вернуться к текущему вызову"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Добавить вызов"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Входящие вызовы"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Вы вошли в режим массового действия"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Вы вышли из режима массового действия"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Выбран объект <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Выбор объекта <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> отменен"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Прослушать голосовую почту"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Просмотреть данные: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Вызов: <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"Голосовая почта"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин. <xliff:g id="SECONDS">%s</xliff:g> сек."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"голосовое сообщение"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"голосовые сообщения"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Да"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Нет"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Отмена режима массового действия"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Удалить"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Отмена"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Удалить <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Выбрано: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Удалить эти голосовые сообщения? "</b>"</item>
+ <item quantity="few">"<b>"Удалить эти голосовые сообщения? "</b>"</item>
+ <item quantity="many">"<b>"Удалить эти голосовые сообщения? "</b>"</item>
+ <item quantity="other">"<b>"Удалить эти голосовые сообщения? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> в <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Загрузка с SIM-карты…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Контакты на SIM-карте"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Нет приложения для работы с контактами"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Голосовой поиск недоступен"</string>
<string name="call_not_available" msgid="7850148370757361155">"Нельзя совершать телефонные звонки, поскольку приложение \"Телефон\" отключено."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Поиск в контактах"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Пропущенных вызовов: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Нет номеров для быстрого набора"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Настроить быстрый набор"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Нет контактов"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Добавить контакт"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Коснитесь изображения, чтобы увидеть все номера, или нажмите и удерживайте, чтобы изменить порядок"</string>
<string name="remove_contact" msgid="2353580570488923668">"Удалить"</string>
+ <string name="select_all" msgid="408601760696146245">"Выбрать все"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Видеовстреча"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Отправить сообщение"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Сведения о вызове"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"Заблокированные номера"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> уже заблокирован."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Аккаунты для звонков"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Включить"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Задать разрешения"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Чтобы настроить быстрый набор, предоставьте приложению разрешение \"Контакты\"."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Чтобы открыть список вызовов, предоставьте приложению разрешение \"Телефон\"."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Чтобы открыть список контактов, предоставьте приложению разрешение \"Контакты\"."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Чтобы получить доступ к голосовой почте, предоставьте приложению разрешение \"Телефон\"."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Для поиска контактов включите разрешение \"Контакты\"."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Чтобы позвонить, предоставьте приложению разрешение \"Телефон\"."</string>
diff --git a/java/com/android/dialer/app/res/values-si/strings.xml b/java/com/android/dialer/app/res/values-si/strings.xml
index 329d89e8d..8a748d53c 100644
--- a/java/com/android/dialer/app/res/values-si/strings.xml
+++ b/java/com/android/dialer/app/res/values-si/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"රැඳී සිටීම එක් කරන්න"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"සැකසීම්"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"සමාකෘතිය"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"නව UI කෙටිමග තනන්න"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"සියලුම සම්බන්ධතා"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ස්පර්ශ නාද යතුරුපෑඩය භාවිතා කරන්න"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"පවතින ඇමතුමට නැවත යන්න"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"ඇමතුමක් එක් කරන්න"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"එන ඇමතුම්"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"තොග ක්‍රියා ප්‍රකාරය ඇතුළු කරමින්"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"තොග ක්‍රියා ප්‍රකාරය හැර යන ලදී"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> තෝරා ගන්නා ලදී"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> තෝරා ගැනීම ඉවත් කරන ලදී"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"හඬ තැපෑල ධාවනය කිරීම"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> සම්බන්ධතාවය බලන්න"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> අමතන්න"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"හඬ තැපෑල"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"තත් <xliff:g id="SECONDS">%s</xliff:g>"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"මිනි <xliff:g id="MINUTES">%s</xliff:g> තත් <xliff:g id="SECONDS">%s</xliff:g>"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"හඬ තැපෑල"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"හඬ තැපැල්"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ඔව්"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"නැත"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"කාණ්ඩ ක්‍රියා ප්‍රකාරය අවලංගු කරන්න"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"මකන්න"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"අවලංගු කරන්න"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"තෝරා ගත් <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> මකන්නද?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> තෝරා ගන්නා ලදි"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"මෙම හඬ තැපැල් මකන්නද? "</b>"</item>
+ <item quantity="other">"<b>"මෙම හඬ තැපැල් මකන්නද? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> දින <xliff:g id="TIME">%2$s</xliff:g>ට"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM පතෙන් පූරණය කරමින්…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM පත් සම්බන්ධතා"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"සබඳතා යෙදුමක් ලබාගත නොහැකිය"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"හඬ සෙවුම ලබාගත නොහැකිය"</string>
<string name="call_not_available" msgid="7850148370757361155">"දුරකථන යෙදුම අබල කර ඇති නිසා දුරකථන ඇමතුම ලබාගැනීම කළ නොහැක."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"සම්බන්ධතා සෙවීම"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"නව මඟ හැරුණු ඇමතුම් <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"ඔබගේ වේග ඩයල් එකේ තවමත් කවුරුවත් නැහැ"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ප්‍රියතම ලෙස එක් කරන්න"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"ඔබ තවමත් සම්බන්ධතා නැහැ"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"සම්බන්ධතාවයක් එක් කරන්න"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"සියලු අංක බැලීමට රූපය ස්පර්ශ කරන්න නැතහොත් නැවත අනුපිළිවෙළට සැකසීමට ස්පර්ශ කර අල්ලාගෙන සිටින්න"</string>
<string name="remove_contact" msgid="2353580570488923668">"ඉවත් කරන්න"</string>
+ <string name="select_all" msgid="408601760696146245">"සියල්ල තෝරන්න"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"වීඩියෝ ඇමතුම"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"පණිවිඩයක් යවන්න"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"ඇමතුම් විස්තර"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"අවහිර කළ අංක"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> දැනටමත් අවහිර කර ඇත."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"ගිණුම් ඇමතීම"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ක්‍රියාත්මක කරන්න"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"අවසර සකසන්න"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"වේග ඩයල් කිරීම සබල කිරීමට, සම්බන්ධතා අවසරය ක්‍රියාත්මක කරන්න."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"ඔබේ ඇමතුම් ලොගය බැලීමට, දුරකථන අවසරය ක්‍රියාත්මක කරන්න."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"ඔබේ සම්බන්ධතා බැලීමට, සම්බන්ධතා අවසරය ක්‍රියාත්මක කරන්න."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"ඔබේ හඬ තැපෑල වෙත ප්‍රවේශ වීමට, දුරකථන අවසරය ක්‍රියාත්මක කරන්න."</string>
<string name="permission_no_search" msgid="2424710404207193826">"ඔබේ සම්බන්ධතා සෙවීමට, සම්බන්ධතා අවසර ක්‍රියාත්මක කරන්න."</string>
<string name="permission_place_call" msgid="8686908130349369423">"ඇමතුමක් ලබා ගැනීමට, දුරකථන අවසරය ක්‍රියාත්මක කරන්න."</string>
diff --git a/java/com/android/dialer/app/res/values-sk/strings.xml b/java/com/android/dialer/app/res/values-sk/strings.xml
index 60b63d520..e84febb17 100644
--- a/java/com/android/dialer/app/res/values-sk/strings.xml
+++ b/java/com/android/dialer/app/res/values-sk/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"Pridať čakanie"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Nastavenia"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulátor"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Vyt. skratku na nové rozhranie"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Všetky kontakty"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Použiť dotykovú tónovú klávesnicu"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Návrat k prebiehajúcemu hovoru"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Pridať hovor"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Prichádzajúce hovory"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Vstupuje sa do režimu hromadných akcií"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Odišli ste z režimu hromadných akcií"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Položka <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> bola vybraná"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Výber položky <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> bol zrušený"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Prehrať hlasovú správu"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Zobraziť kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Zavolať kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"Hlasová schránka"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"hlasová správa"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"hlasové správy"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Áno"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nie"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Zrušiť režim hromadných akcií"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Odstrániť"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Zrušiť"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Chcete odstrániť vybraté položky (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Vybraté: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="few">"<b>"Chcete odstrániť tieto hlasové správy? "</b>"</item>
+ <item quantity="many">"<b>"Chcete odstrániť tieto hlasové správy? "</b>"</item>
+ <item quantity="other">"<b>"Chcete odstrániť tieto hlasové správy? "</b>"</item>
+ <item quantity="one">"<b>"Chcete odstrániť túto hlasovú správu? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> o <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Prebieha načítavanie z SIM karty..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakty na SIM karte"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nie je k dispozícii žiadna aplikácia na kontakty"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Hlasové vyhľadávanie nie je k dispozícii"</string>
<string name="call_not_available" msgid="7850148370757361155">"Nie je možné volať, pretože aplikácia Telefón bola deaktivovaná."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Hľadať v kontaktoch"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Nové zmeškané hovory: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"V rýchlej voľbe zatiaľ nemáte žiadny kontakt"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Pridať obľúbený kontakt"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Zatiaľ nemáte žiadne kontakty"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Pridať kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Klepnutím na obrázok môžete zobraziť všetky čísla. Pridržaním obrázka môžete zmeniť poradie."</string>
<string name="remove_contact" msgid="2353580570488923668">"Odstrániť"</string>
+ <string name="select_all" msgid="408601760696146245">"Vybrať všetko"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videohovor"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Odoslať správu"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Podrobnosti hovoru"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokované čísla"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Číslo <xliff:g id="NUMBER">%1$s</xliff:g> je už blokované."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Telefónne účty"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Zapnúť"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Nastaviť povolenia"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Ak chcete aktivovať rýchlu voľbu, zapnite povolenie Kontakty."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Ak si chcete zobraziť denník hovorov, zapnite povolenie Telefón."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Ak si chcete zobraziť kontakty, zapnite povolenie Kontakty."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Ak chcete používať hlasovú schránku, zapnite povolenie Telefón."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Ak chcete hľadať kontakty, zapnite povolenie Kontakty."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Ak chcete volať, zapnite povolenie Telefón."</string>
diff --git a/java/com/android/dialer/app/res/values-sl/strings.xml b/java/com/android/dialer/app/res/values-sl/strings.xml
index b46b99ab5..495b6e802 100644
--- a/java/com/android/dialer/app/res/values-sl/strings.xml
+++ b/java/com/android/dialer/app/res/values-sl/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"Dodaj premor"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Nastavitve"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Ustvari bliž. za novi up. vm."</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Vsi stiki"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Uporabi številčnico za tonsko klicanje"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Nazaj na klic, ki poteka"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj klic"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Dohodni klici"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Prehod v način množičnega dejanja"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Prehod iz načina množičnega dejanja"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Izbrano: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Preklican izbor: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Predvajanje sporočil glasovne pošte"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Ogled stika <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Pokliči <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"Glasovna pošta"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"sporočilo v odzivniku"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"sporočila v odzivniku"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Prekliči način množičnega dejanja"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Izbriši"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Prekliči"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Želite izbrisati <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Št. izbranih: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Želite izbrisati ta sporočila v odzivniku? "</b>"</item>
+ <item quantity="two">"<b>"Želite izbrisati ta sporočila v odzivniku? "</b>"</item>
+ <item quantity="few">"<b>"Želite izbrisati ta sporočila v odzivniku? "</b>"</item>
+ <item quantity="other">"<b>"Želite izbrisati ta sporočila v odzivniku? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ob <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Nalaganje s kartice SIM ..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Stiki na kartici SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Ni aplikacije za stike"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Glasovno iskanje ni na voljo"</string>
<string name="call_not_available" msgid="7850148370757361155">"Ni mogoče opraviti telefonskega klica, ker je aplikacija Telefon onemogočena."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Iskanje stikov"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Št. novih zgrešenih klicev: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Na seznamu za hitro klicanje nimate še nikogar"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodajte priljubljenega"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Nimate še stikov"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodajte stik"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Dotaknite se slike, da prikažete vse številke, ali pa se je dotaknite in pridržite, da spremenite vrstni red."</string>
<string name="remove_contact" msgid="2353580570488923668">"Odstrani"</string>
+ <string name="select_all" msgid="408601760696146245">"Izberi vse"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videoklic"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Pošljite sporočilo"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Podrobnosti klica"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"Blokirane številke"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Telefonska številka <xliff:g id="NUMBER">%1$s</xliff:g> je že blokirana."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Računi za klicanje"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Vklop"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Nastavi dovoljenja"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Če želite omogočiti hitro klicanje, vklopite dovoljenje za stike."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Če si želite ogledati dnevnik klicev, vklopite dovoljenje za telefon."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Če si želite ogledati stike, vklopite dovoljenje za stike."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Če želite dostopati do sporočil v odzivniku, vklopite dovoljenje za telefon."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Če želite iskati po stikih, vklopite dovoljenje za stike."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Če želite klicati, vklopite dovoljenje za telefon."</string>
diff --git a/java/com/android/dialer/app/res/values-sq/strings.xml b/java/com/android/dialer/app/res/values-sq/strings.xml
index 6a274fcd2..809fd8a22 100644
--- a/java/com/android/dialer/app/res/values-sq/strings.xml
+++ b/java/com/android/dialer/app/res/values-sq/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Shto një pritje"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Cilësimet"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simuluesi"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Krijo një shkurtore për ndërfaqen e re të përdoruesit"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Të gjitha kontaktet"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Përdor bllokun e tasteve"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Kthehu te telefonata"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Shto një telefonatë"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Telefonatat hyrëse"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Po hyn në modalitetin e veprimit në masë"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"U largove nga modaliteti i veprimit në masë"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"U zgjodh <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Zgjedhja e <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> u anulua"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Luaj postën zanore"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Shiko kontaktin <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Telefono <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Posta zanore"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sekonda"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. e <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"posta zanore"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"postat zanore"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Po"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Jo"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Anulo modalitetin e veprimeve në grup"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Fshi"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Anulo"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Të fshihen <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> të zgjedhura?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> të zgjedhura"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Të fshihen këto posta zanore? "</b>"</item>
+ <item quantity="one">"<b>"Të fshihet kjo postë zanore? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> në <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Po ngarkon nga karta SIM…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontaktet e kartës SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Nuk mund të përdoret asnjë aplikacion për kontaktet"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Kërkimi me zë nuk mundësohet"</string>
<string name="call_not_available" msgid="7850148370757361155">"Telefonata nuk mund të bëhet sepse aplikacioni \"Telefoni\" është i çaktivizuar."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Kërko për kontakte"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> telefonata të reja të humbura"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Askush nuk është ende në thirrjen tënde të shpejtuar"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Shto një të preferuar"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Nuk ke ende kontakte"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Shto një kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Prek imazhin për të parë të gjithë numrat ose mbaje të shtypur për ta pozicionuar përsëri"</string>
<string name="remove_contact" msgid="2353580570488923668">"Hiq"</string>
+ <string name="select_all" msgid="408601760696146245">"Zgjidh të gjitha"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Telefonatë me video"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Dërgo një mesazh"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Detajet e telefonatës"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Numrat e bllokuar"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> është i bllokuar tashmë."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Llogaritë e telefonatave"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktivizo"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Cakto lejet"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Për të aktivizuar thirrjen e shpejtuar, aktivizo lejen e Kontakteve."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Për të parë evidencën e telefonatave, aktivizo lejen e Telefonit."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Për të parë kontaktet, aktivizo lejen e Kontakteve."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Për të pasur qasje në postën zanore, aktivizo lejen e Telefonit."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Për të kërkuar kontaktet, aktivizo lejet e Kontakteve"</string>
<string name="permission_place_call" msgid="8686908130349369423">"Për të kryer një telefonatë, aktivizo lejen e Telefonit."</string>
diff --git a/java/com/android/dialer/app/res/values-sr/strings.xml b/java/com/android/dialer/app/res/values-sr/strings.xml
index 0def958d4..6f85c0ba8 100644
--- a/java/com/android/dialer/app/res/values-sr/strings.xml
+++ b/java/com/android/dialer/app/res/values-sr/strings.xml
@@ -81,11 +81,16 @@
<string name="add_wait" msgid="1177723010768282578">"Додај чекање"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Подешавања"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Симулатор"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Направите пречицу за нови UI"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Сви контакти"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Употребите бројчаник за тонско бирање"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Врати се на позив који је у току"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Додај позив"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Долазни позиви"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Улазите у режим групних радњи"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Изашли сте из режима групних радњи"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Изабрано је <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Опозван је избор <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Пуштање говорне поште"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Прикажи контакт <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Позови <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -100,11 +105,16 @@
<string name="voicemail" msgid="8899540969000957954">"Говорна пошта"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"говорну поруку"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"говорне поруке"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Да"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Не"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Откажите режим групних радњи"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Избриши"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Откажи"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Желите ли да избришете изабрану(е) <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Изабраних: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Желите ли да избришете ове говорне поруке? "</b>"</item>
+ <item quantity="few">"<b>"Желите ли да избришете ове говорне поруке? "</b>"</item>
+ <item quantity="other">"<b>"Желите ли да избришете ове говорне поруке? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> у <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -117,7 +127,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Учитава се са SIM картице…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Контакти на SIM картици"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Нема доступне апликације за контакте"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Гласовна претрага није доступна"</string>
<string name="call_not_available" msgid="7850148370757361155">"Није могуће упутити телефонски позив јер је апликација Телефон онемогућена."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Претражи контакте"</string>
@@ -146,10 +155,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Нових пропуштених позива: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Немате ниједан контакт на брзом бирању"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Додај омиљен контакт"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Још увек немате ниједан контакт"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Додај контакт"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Додирните слику да бисте видели све бројеве или додирните и задржите да бисте им променили распоред"</string>
<string name="remove_contact" msgid="2353580570488923668">"Уклони"</string>
+ <string name="select_all" msgid="408601760696146245">"Изабери све"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Видео позив"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Пошаљи поруку"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Детаљи позива"</string>
@@ -215,11 +223,9 @@
<string name="block_list" msgid="4701585783411870782">"Блокирани бројеви"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> је већ блокиран."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Налози за позивање"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Укључи"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Подеси дозволе"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Да бисте омогућили брзо бирање, укључите дозволу за Контакте."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Да бисте видели евиденцију позива, укључите дозволу за Телефон."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Да бисте видели контакте, укључите дозволу за Контакте."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Да бисте приступили говорној пошти, укључите дозволу за Телефон."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Да бисте претражили контакте, укључите дозволе за Контакте."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Да бисте упутили позив, укључите дозволу за Телефон."</string>
diff --git a/java/com/android/dialer/app/res/values-sv/strings.xml b/java/com/android/dialer/app/res/values-sv/strings.xml
index 75aa731f9..e8446cab1 100644
--- a/java/com/android/dialer/app/res/values-sv/strings.xml
+++ b/java/com/android/dialer/app/res/values-sv/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Lägg till väntetid"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Inställningar"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Skapa genväg till anv.gränssn."</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Alla kontakter"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Använd tonvalstelefon"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Återvänd till pågående samtal"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Lägg t. samt."</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Inkommande samtal"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Öppnar läget för massåtgärd"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Stängde läget för massåtgärd"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Markerade <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Avmarkerade <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Spela upp röstmeddelande"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Visa kontakten <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Ring <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Röstbrevlåda"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sekund"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"röstbrevlåda"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"röstmeddelanden"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nej"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Avbryt läget för massåtgärd"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Radera"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Avbryt"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vill du radera markerade <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> har markerats"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Vill du ta bort dessa röstmeddelanden? "</b>"</item>
+ <item quantity="one">"<b>"Vill du ta bort det här röstmeddelandet? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Läser in från SIM-kort…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Kontakter från SIM-kort"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Det finns inga appar för kontakter"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Röstsökning är inte tillgänglig"</string>
<string name="call_not_available" msgid="7850148370757361155">"Det går inte att ringa eftersom appen Telefon har inaktiverats."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Sök efter kontakter"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nya missade samtal"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Du har ingen kontakt som snabbval ännu"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Lägg till en favorit"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Du har inga kontakter ännu"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Lägg till en kontakt"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Tryck på bilden för att visa alla nummer eller tryck länge för att ändra ordningen"</string>
<string name="remove_contact" msgid="2353580570488923668">"Ta bort"</string>
+ <string name="select_all" msgid="408601760696146245">"Markera alla"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Videosamtal"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Skicka ett meddelande"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Samtalsinfo"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Blockerade nummer"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> är redan blockerat."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Konton för samtal"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktivera"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ange behörigheter"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Du måste aktivera behörigheten Kontakter för att kunna använda snabbuppringning."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Du måste aktivera behörigheten Telefon för att kunna visa samtalsloggen."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Du måste aktivera behörigheten Kontakter för att kunna visa kontakterna."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Du måste aktivera behörigheten Telefon för att kunna komma åt röstmeddelanden."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Aktivera behörigheter för Kontakter om du vill söka bland kontakterna."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Du måste aktivera behörigheten Telefon för att kunna ringa."</string>
diff --git a/java/com/android/dialer/app/res/values-sw/strings.xml b/java/com/android/dialer/app/res/values-sw/strings.xml
index d3b8392d4..142aaf0de 100644
--- a/java/com/android/dialer/app/res/values-sw/strings.xml
+++ b/java/com/android/dialer/app/res/values-sw/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Ongeza kusubiri"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Mipangilio"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Kielelezo"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Unda Mkato Mpya wa Kiolesura"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Anwani zote"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Tumia kibao cha kuchapa cha sauti na kugusa"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Rudi kwa simu inayoendelea"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Ongeza simu"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Simu zinazoingia"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Unaingia katika hali ya kutekeleza vitendo vingi"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Umeondoka katika hali ya kutekeleza vitendo vingi"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Umeteua <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Umebatilisha uteuzi wa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Sikiliza ujumbe wa sauti"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Angalia anwani <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Pigia <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Ujumbe wa sauti"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"Sekunde <xliff:g id="SECONDS">%s</xliff:g>"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"Dak <xliff:g id="MINUTES">%s</xliff:g> sek <xliff:g id="SECONDS">%s</xliff:g>"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ujumbe wa sauti"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ujumbe wa sauti"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ndiyo"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Hapana"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Ghairi hali ya kutekeleza vitendo vingi"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Futa"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Ghairi"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Je, ungependa kufuta <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> uliochagua?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> zimechaguliwa"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Je, unataka kufuta kila ujumbe wa sauti ulioonyeshwa? "</b>"</item>
+ <item quantity="one">"<b>"Je, unataka kufuta ujumbe huu wa sauti? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> saa <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Inapakia kutoka SIM kadi..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Anwani za SIM kadi"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Hakuna programu za mawasiliano zinazopatikana"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Kutafuta kwa kutamka hakupatikani"</string>
<string name="call_not_available" msgid="7850148370757361155">"Haiwezi kupiga simu kwa sababu programu ya Simu imezimwa."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Tafuta anwani"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Simu <xliff:g id="NUMBER">%s</xliff:g> za karibuni ambazo hazikujibiwa"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Hakuna mtu aliye katika orodha yako ya watu unaowasiliana nao zaidi"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Ongeza anwani unazopenda zaidi"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Bado huna anwani zozote"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Ongeza anwani"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Gusa picha ili uone nambari zote ama uguse na kushikilia ili upange upya"</string>
<string name="remove_contact" msgid="2353580570488923668">"Ondoa"</string>
+ <string name="select_all" msgid="408601760696146245">"Chagua zote"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Hangout ya Video"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Tuma SMS"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Maelezo ya simu"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Nambari zilizozuiwa"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> tayari imezuiwa."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Akaunti za simu"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Washa"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Weka ruhusa"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Ili kuwasha kipengele cha unaowasiliana nao zaidi, washa ruhusa ya Anwani."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Ili uone rekodi yako ya nambari za simu, washa ruhusa ya Simu."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Ili uone anwani zako, washa ruhusa ya Anwani."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Ili ufikie ujumbe wako wa sauti, washa ruhusa ya Simu."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Ili utafute anwani zako, washa ruhusa za Anwani."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Ili upige simu, washa ruhusa ya Simu."</string>
diff --git a/java/com/android/dialer/app/res/values-ta/strings.xml b/java/com/android/dialer/app/res/values-ta/strings.xml
index afb852b6d..e270a3cee 100644
--- a/java/com/android/dialer/app/res/values-ta/strings.xml
+++ b/java/com/android/dialer/app/res/values-ta/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"காத்திருப்பைச் சேர்"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"அமைப்பு"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"சிமுலேட்டர்"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"புதிய UI குறுக்குவழியை உருவாக்கு"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"எல்லா தொடர்புகளும்"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"டச் டோன் விசைப்பலகையைப் பயன்படுத்தவும்"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"செயலிலுள்ள அழைப்பிற்குத் திரும்பு"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"அழைப்பைச் சேர்"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"உள்வரும் அழைப்புகள்"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"மொத்தச் செயல் பயன்முறையில் நுழைகிறீர்கள்"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"மொத்தச் செயல் பயன்முறையிலிருந்து வெளியேறிவிட்டீர்கள்"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"தேர்ந்தெடுத்த <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"தேர்வுநீக்கிய <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"குரலஞ்சலை இயக்கு"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> தொடர்பைக் காட்டு"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ஐ அழை"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"குரலஞ்சல்"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> வி"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> நிமிடம் <xliff:g id="SECONDS">%s</xliff:g> வினாடி"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"குரலஞ்சல்"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"குரலஞ்சல்கள்"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ஆம்"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"வேண்டாம்"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"தொகுப்புச் செயல்கள் பயன்முறையை ரத்துசெய்யும்"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"நீக்கு"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"ரத்துசெய்"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"தேர்ந்தெடுத்த <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ஐ நீக்கவா?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> தேர்ந்தெடுக்கப்பட்டன"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"இந்தக் குரலஞ்சல்களை நீக்கவா? "</b>"</item>
+ <item quantity="one">"<b>"இந்தக் குரலஞ்சலை நீக்கவா? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> அன்று <xliff:g id="TIME">%2$s</xliff:g> மணிக்கு"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"சிம் கார்டிலிருந்து ஏற்றுகிறது…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"சிம் கார்டின் தொடர்புகள்"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"தொடர்புகள் பயன்பாடு எதுவுமில்லை"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"குரல் தேடல் இல்லை"</string>
<string name="call_not_available" msgid="7850148370757361155">"Phone பயன்பாடு முடக்கப்பட்டுள்ளதால், ஃபோன் அழைப்பைச் செய்ய முடியாது."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"தொடர்புகளைத் தேடு"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> புதிய தவறிய அழைப்புகள்"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"இன்னும் விரைவு டயலில் யாரையும் சேர்க்கவில்லை"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"முக்கியமானவர்களைச் சேர்"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"இதுவரை எந்தத் தொடர்புகளும் இல்லை"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ஒரு தொடர்பைச் சேர்க்கவும்"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"எல்லா எண்களையும் பார்க்க, படத்தைத் தொடவும் அல்லது மறுவரிசைப்படுத்த, தொட்டுப் பிடித்திருக்கவும்"</string>
<string name="remove_contact" msgid="2353580570488923668">"அகற்று"</string>
+ <string name="select_all" msgid="408601760696146245">"அனைத்தையும் தேர்ந்தெடு"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"வீடியோ அழைப்பு"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"செய்தி அனுப்பவும்"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"அழைப்பு விவரங்கள்"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"தடுக்கப்பட்ட எண்கள்"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ஏற்கனவே தடுக்கப்பட்டுள்ளது."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"அழைப்பு கணக்குகள்"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"இயக்கு"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"அனுமதிகளை அமை"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"விரைவு டயலை இயக்க, தொடர்புகள் அனுமதியை இயக்கவும்."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"அழைப்புப் பதிவைப் பார்க்க, ஃபோன் அனுமதியை இயக்கவும்."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"தொடர்புகளைப் பார்க்க, தொடர்புகள் அனுமதியை இயக்கவும்."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"குரலஞ்சலை அணுக, ஃபோன் அனுமதியை இயக்கவும்."</string>
<string name="permission_no_search" msgid="2424710404207193826">"தொடர்புகளைத் தேட, தொடர்புகள் அனுமதிகளை இயக்கவும்."</string>
<string name="permission_place_call" msgid="8686908130349369423">"அழைக்க, ஃபோன் அனுமதியை இயக்கவும்."</string>
diff --git a/java/com/android/dialer/app/res/values-te/strings.xml b/java/com/android/dialer/app/res/values-te/strings.xml
index ffc046f69..8d2c66784 100644
--- a/java/com/android/dialer/app/res/values-te/strings.xml
+++ b/java/com/android/dialer/app/res/values-te/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"నిరీక్షణ సమయాన్ని జోడించు"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"సెట్టింగ్‌లు"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"సిములేటర్"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"కొత్త UI సత్వరమార్గం సృష్టించు"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"అన్ని పరిచయాలు"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"టచ్ టోన్ కీప్యాడ్‌ను ఉపయోగించండి"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ప్రోగ్రెస్‌లో ఉన్న కాల్‌కు వెళ్లు"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"కాల్‌ను జోడించు"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"ఇన్‌కమింగ్ కాల్‌లు"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"బల్క్ చర్య మోడ్‌లోకి ప్రవేశిస్తున్నారు"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"బల్క్ చర్య మోడ్ నుండి నిష్క్రమించారు"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ఎంచుకోబడింది"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ఎంపిక తీసివేయబడింది"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"వాయిస్ మెయిల్ ప్లే చేయండి"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> పరిచయాన్ని వీక్షించండి"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g>కు కాల్ చేయి"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"వాయిస్ మెయిల్"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> సెక"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> నిమి <xliff:g id="SECONDS">%s</xliff:g> సెక"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"వాయిస్ మెయిల్"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"వాయిస్ మెయిల్‌లు"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"అవును"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"వద్దు"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"సమూహ చర్యల మోడ్‌ను రద్దు చేస్తుంది"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"తొలగించు"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"రద్దు చేయి"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ఎంచుకున్న <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ను తొలగించాలా?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ఎంచుకోబడ్డాయి"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"ఈ వాయిస్ మెయిల్‌లను తొలగించాలా? "</b>"</item>
+ <item quantity="one">"<b>"ఈ వాయిస్ మెయిల్‌ను తొలగించాలా? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g>కి"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"సిమ్ కార్డు నుండి లోడ్ చేస్తోంది…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"సిమ్ కార్డు పరిచయాలు"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"పరిచయాల అనువర్తనం ఏదీ అందుబాటులో లేదు"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"వాయిస్ శోధన అందుబాటులో లేదు"</string>
<string name="call_not_available" msgid="7850148370757361155">"ఫోన్ అనువర్తనం నిలిపివేయబడినందున ఫోన్ కాల్ చేయలేరు."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"పరిచయాలను శోధించు"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> కొత్త సమాధానం ఇవ్వని కాల్‌లు"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"మీ స్పీడ్ డయల్‌లో ఇంకా ఎవరూ లేరు"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ఇష్టమైన వారిని జోడించండి"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"మీకు ఇప్పటికీ పరిచయాలేవీ లేవు"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"పరిచయాన్ని జోడించండి"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"అన్ని నంబర్‌లను చూడటానికి చిత్రాన్ని తాకండి లేదా క్రమం మార్చడానికి తాకి, కాసేపు అలాగే ఉంచండి"</string>
<string name="remove_contact" msgid="2353580570488923668">"తీసివేయి"</string>
+ <string name="select_all" msgid="408601760696146245">"అన్నీ ఎంచుకోండి"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"వీడియో కాల్"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"సందేశాన్ని పంపు"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"కాల్ వివరాలు"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"బ్లాక్ చేయబడిన నంబర్‌లు"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ఇప్పటికే బ్లాక్ చేయబడింది."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"కాల్ చేసే ఖాతాలు"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"ఆన్ చేయి"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"అనుమతులను సెట్ చేయి"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"స్పీడ్ డయల్‌ను ప్రారంభించడానికి, పరిచయాల అనుమతిని ఆన్ చేయండి."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"మీ కాల్ లాగ్‌ను చూడటానికి, ఫోన్ అనుమతిని ఆన్ చేయండి."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"మీ పరిచయాలను చూడటానికి, పరిచయాల అనుమతిని ఆన్ చేయండి."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"మీ వాయిస్ మెయిల్‌ను ప్రాప్యత చేయడానికి, ఫోన్ అనుమతిని ఆన్ చేయండి."</string>
<string name="permission_no_search" msgid="2424710404207193826">"మీ పరిచయాలను శోధించడానికి, పరిచయాల అనుమతులను ఆన్ చేయండి."</string>
<string name="permission_place_call" msgid="8686908130349369423">"కాల్ చేయడానికి, ఫోన్ అనుమతిని ఆన్ చేయండి."</string>
diff --git a/java/com/android/dialer/app/res/values-th/strings.xml b/java/com/android/dialer/app/res/values-th/strings.xml
index 13916a51d..76a66e20e 100644
--- a/java/com/android/dialer/app/res/values-th/strings.xml
+++ b/java/com/android/dialer/app/res/values-th/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"เพิ่มการรอ"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"การตั้งค่า"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"เครื่องมือจำลอง"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"สร้างทางลัด UI ใหม่"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"รายชื่อติดต่อทั้งหมด"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ใช้ปุ่มกดสัญญาณเสียง"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"กลับไปคุยสายต่อ"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"เพิ่มการโทร"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"สายโทรเข้า"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"กำลังเข้าสู่โหมดการดำเนินการแบบกลุ่ม"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ออกจากโหมดการทำงานแบบกลุ่มแล้ว"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"เลือก <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> แล้ว"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"ยกเลิกการเลือก <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> แล้ว"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"เล่นข้อความเสียง"</string>
<string name="description_view_contact" msgid="3940984937384372665">"ดูรายชื่อติดต่อ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"โทรหา <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"ข้อความเสียง"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> วินาที"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> นาที <xliff:g id="SECONDS">%s</xliff:g> วินาที"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ข้อความเสียง"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ข้อความเสียง"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ใช่"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ไม่"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"ยกเลิกโหมดการทำงานแบบกลุ่ม"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"ลบ"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"ยกเลิก"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ลบ<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ที่เลือกหรือไม่"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"เลือกไว้ <xliff:g id="NUMBER">%1$s</xliff:g> รายการ"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"ลบข้อความเสียงเหล่านี้ไหม "</b>"</item>
+ <item quantity="one">"<b>"ลบข้อความเสียงนี้ไหม "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"วันที่ <xliff:g id="DATE">%1$s</xliff:g> เวลา <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"กำลังโหลดจากซิมการ์ด…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"รายชื่อบนซิมการ์ด"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"ไม่มีแอปรายชื่อติดต่อที่พร้อมใช้งาน"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"การค้นหาด้วยเสียงไม่พร้อมใช้งาน"</string>
<string name="call_not_available" msgid="7850148370757361155">"ไม่สามารถโทรศัพท์ได้เนื่องจากแอปพลิเคชันโทรศัพท์ถูกปิดใช้งาน"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"ค้นหารายชื่อติดต่อ"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"สายที่ไม่ได้รับใหม่ <xliff:g id="NUMBER">%s</xliff:g> สาย"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"ยังไม่ได้กำหนดผู้ใดในการโทรด่วน"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"เพิ่มรายการโปรด"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"คุณยังไม่มีรายชื่อติดต่อ"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"เพิ่มรายชื่อติดต่อ"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"แตะรูปภาพเพื่อดูหมายเลขทั้งหมด หรือแตะค้างไว้เพื่อจัดเรียงใหม่"</string>
<string name="remove_contact" msgid="2353580570488923668">"ลบ"</string>
+ <string name="select_all" msgid="408601760696146245">"เลือกทั้งหมด"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"แฮงเอาท์วิดีโอ"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"ส่งข้อความ"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"รายละเอียดการโทร"</string>
@@ -201,7 +208,7 @@
<string name="voicemail_settings_label" msgid="4594299554519920570">"ข้อความเสียง"</string>
<string name="voicemail_settings_select_sim_title" msgid="129296966967476845">"เลือกซิมสำหรับการตั้งค่าข้อความเสียง"</string>
<string name="blocked_numbers_disabled_emergency_header_label" msgid="6936696532562923971">"การบล็อกสายเรียกเข้าปิดชั่วคราว"</string>
- <string name="blocked_numbers_disabled_emergency_desc" msgid="5484785225285297040">"ระบบปิดใช้การบล็อกสายเรียกเข้าเนื่องจากคุณติดต่อบริการฉุกเฉินจากโทรศัพท์เครื่องนี้ภายใน 48 ชั่วโมงที่ผ่านมา ระบบจะเปิดใช้คุณลักษณะนี้อีกครั้งโดยอัตโนมัติเมื่อครบ 48 ชั่วโมง"</string>
+ <string name="blocked_numbers_disabled_emergency_desc" msgid="5484785225285297040">"ระบบปิดใช้การบล็อกสายเรียกเข้าเนื่องจากคุณติดต่อบริการฉุกเฉินจากโทรศัพท์เครื่องนี้ภายใน 48 ชั่วโมงที่ผ่านมา ระบบจะเปิดใช้ฟีเจอร์นี้อีกครั้งโดยอัตโนมัติเมื่อครบ 48 ชั่วโมง"</string>
<string name="import_send_to_voicemail_numbers_label" msgid="7821890095264297681">"นำเข้าหมายเลข"</string>
<string name="blocked_call_settings_import_description" msgid="1819412052545228965">"ก่อนหน้านี้คุณได้ทำเครื่องหมายว่าให้ส่งผู้โทรบางคนไปยังข้อความเสียงโดยอัตโนมัติผ่านแอปอื่นๆ"</string>
<string name="blocked_call_settings_view_numbers_button" msgid="3332727948554356704">"ดูหมายเลข"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"หมายเลขที่ถูกบล็อก"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ถูกบล็อกอยู่แล้ว"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"บัญชีการโทร"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"เปิด"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"ตั้งค่าสิทธิ์"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"หากต้องการเปิดใช้การโทรด่วน ให้เปิดสิทธิ์เข้าถึงรายชื่อติดต่อ"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"หากต้องการดูประวัติการโทร ให้เปิดสิทธิ์เข้าถึงโทรศัพท์"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"หากต้องการดูรายชื่อติดต่อ ให้เปิดสิทธิ์เข้าถึงรายชื่อติดต่อ"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"หากต้องการเข้าถึงข้อความเสียง ให้เปิดสิทธิ์เข้าถึงโทรศัพท์"</string>
<string name="permission_no_search" msgid="2424710404207193826">"หากต้องการค้นหารายชื่อติดต่อ ให้เปิดสิทธิ์เข้าถึงรายชื่อติดต่อ"</string>
<string name="permission_place_call" msgid="8686908130349369423">"หากต้องการโทรออก ให้เปิดสิทธิ์เข้าถึงโทรศัพท์"</string>
diff --git a/java/com/android/dialer/app/res/values-tl/strings.xml b/java/com/android/dialer/app/res/values-tl/strings.xml
index cc44cb5f2..51e7a6659 100644
--- a/java/com/android/dialer/app/res/values-tl/strings.xml
+++ b/java/com/android/dialer/app/res/values-tl/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Magdagdag ng paghihintay"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Mga Setting"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Gawa ng Shortcut ng Bagong UI"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Lahat ng mga contact"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Gumamit ng touch tone na keypad"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Bumalik sa kasalukuyang tawag"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Mag-add: tawag"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Mga paparating na tawag"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Pumapasok sa bulk action mode"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Umalis sa bulk action mode"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Napili <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Inalis sa pagkakapili <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"I-play ang voicemail"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Tingnan ang contact na si <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Tawagan si <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Voicemail"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mga voicemail"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Oo"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Hindi"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Kanselahin ang batch actions mode"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"I-delete"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Kanselahin"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"I-delete ang napiling <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ang napili"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"I-delete ang mga voicemail na ito? "</b>"</item>
+ <item quantity="other">"<b>"I-delete ang mga voicemail na ito? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ng <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Naglo-load mula sa SIM card…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Mga contact sa SIM card"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Walang available na app ng mga contact"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Hindi available ang paghahanap gamit ang boses"</string>
<string name="call_not_available" msgid="7850148370757361155">"Hindi makagawa ng tawag sa telepono dahil naka-disable ang application na Telepono."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Maghanap ng mga contact"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> (na) bagong hindi nasagot na tawag"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Wala pang tao sa iyong speed dial"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Magdagdag ng paborito"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Wala ka pang sinumang mga contact"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Magdagdag ng contact"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Pindutin ang larawan upang makita ang lahat ng numero o pindutin nang matagal upang ayusing muli"</string>
<string name="remove_contact" msgid="2353580570488923668">"Alisin"</string>
+ <string name="select_all" msgid="408601760696146245">"Piliin lahat"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Mag-video call"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Magpadala ng mensahe"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Mga detalye ng tawag"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Mga naka-block na numero"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Naka-block na ang <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Account sa pagtawag"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"I-on"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Magtakda ng mga pahintulot"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Upang i-enable ang speed dial, i-on ang pahintulot ng Mga Contact."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Upang makita ang iyong log ng tawag, i-on ang pahintulot ng Telepono."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Upang makita ang iyong mga contact, i-on ang pahintulot ng Mga Contact."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Upang ma-access ang iyong voicemail, i-on ang pahintulot ng Telepono."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Upang hanapin ang iyong mga contact, i-on ang mga pahintulot sa Mga Contact."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Upang tumawag, i-on ang pahintulot ng Telepono."</string>
diff --git a/java/com/android/dialer/app/res/values-tr/strings.xml b/java/com/android/dialer/app/res/values-tr/strings.xml
index 2f6f704f8..1ff0128d4 100644
--- a/java/com/android/dialer/app/res/values-tr/strings.xml
+++ b/java/com/android/dialer/app/res/values-tr/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Bekleme ekle"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Ayarlar"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simülatör"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Kull. Arayüzü Kısayolu Oluştur"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Tüm kişiler"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Telefon tuş takımını kullan"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Çağrıya dön"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Çağrı ekle"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Gelen çağrılar"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Toplu işlem moduna giriliyor"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Toplu işlem modundan çıkıldı"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Seçildi: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Seçimi kaldırıldı: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Sesli mesajı oynat"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Kişiyi görüntüle: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Ara: <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Sesli Mesaj"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sn."</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> dk. <xliff:g id="SECONDS">%s</xliff:g> sn."</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"sesli mesaj"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"sesli mesajlar"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Evet"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Hayır"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Toplu işlemler modu iptal edilir"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Sil"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"İptal"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Seçili <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> silinsin mi?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> öğe seçildi"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Bu sesli mesajlar silinsin mi? "</b>"</item>
+ <item quantity="one">"<b>"Bu sesli mesaj silinsin mi? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM karttan yükleniyor..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM kart kişileri"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Kullanılabilir rehber uygulaması yok"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Sesli arama kullanılamaz"</string>
<string name="call_not_available" msgid="7850148370757361155">"Telefon uygulaması devre dışı bırakıldığından telefon edilemiyor."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Kişilerde ara"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> yeni cevapsız çağrı"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Hızlı arama listenizde henüz kimse yok"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Favori ekle"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Henüz kayıtlı kişi yok"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Kişi ekle"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Tüm numaraları görmek için resme dokunun veya yeniden sıralamak için dokunup basılı tutun"</string>
<string name="remove_contact" msgid="2353580570488923668">"Kaldır"</string>
+ <string name="select_all" msgid="408601760696146245">"Tümünü seç"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Video görüşmesi"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"İleti gönder"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Çağrı ayrıntıları"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Engellenen numaralar"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> numaralı telefon zaten engellendi."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Çağrı hesapları"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Aç"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"İzinleri ayarla"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Hızlı aramayı etkinleştirmek için Kişiler iznini açın."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Çağrı günlüğünüzü görmek için Telefon iznini açın."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Kişilerinizi görmek için Kişiler iznini açın."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Sesli mesajınıza erişmek için Telefon iznini açın."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Kişilerinizde arama yapmak için Kişiler izinlerini açın."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Telefon etmek için Telefon iznini açın."</string>
diff --git a/java/com/android/dialer/app/res/values-uk/strings.xml b/java/com/android/dialer/app/res/values-uk/strings.xml
index 9a790125b..b92970daa 100644
--- a/java/com/android/dialer/app/res/values-uk/strings.xml
+++ b/java/com/android/dialer/app/res/values-uk/strings.xml
@@ -82,11 +82,16 @@
<string name="add_wait" msgid="1177723010768282578">"Додати паузу"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Налаштування"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Симулятор"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Створити ярлик для нової дії"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Усі контакти"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Використовувати тональний набір"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Повернутися до поточного виклику"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Додати виклик"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Вхідні виклики"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Перехід у режим масових дій"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Ви вийшли з режиму масових дій"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Вибрано користувача <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Скасовано вибір користувача <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Відтворити голосову пошту"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Переглянути контакт <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Набрати <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -101,11 +106,17 @@
<string name="voicemail" msgid="8899540969000957954">"Голосова пошта"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> с"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> хв <xliff:g id="SECONDS">%s</xliff:g> с"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"голосова пошта"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"голосова пошта"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Так"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ні"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Скасувати режим масових дій"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Видалити"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Скасувати"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Видалити вибране (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Вибрано <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Видалити ці повідомлення голосової пошти? "</b>"</item>
+ <item quantity="few">"<b>"Видалити ці повідомлення голосової пошти? "</b>"</item>
+ <item quantity="many">"<b>"Видалити ці повідомлення голосової пошти? "</b>"</item>
+ <item quantity="other">"<b>"Видалити ці повідомлення голосової пошти? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> о <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -118,7 +129,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Завантаж. із SIM-карти…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Контакти SIM-карти"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Немає додатка з контактами"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Голосовий пошук недоступний"</string>
<string name="call_not_available" msgid="7850148370757361155">"Не вдається здійснити дзвінок, оскільки додаток Телефон вимкнено."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Пошук контактів"</string>
@@ -147,10 +157,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"Нових пропущених дзвінків: <xliff:g id="NUMBER">%s</xliff:g>"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Немає номерів для швидкого набору"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Додати номер"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Ще немає контактів"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Додати контакт"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Торкніться зображення, щоб побачити всі номери, або натисніть і утримуйте, щоб змінити порядок."</string>
<string name="remove_contact" msgid="2353580570488923668">"Видалити"</string>
+ <string name="select_all" msgid="408601760696146245">"Вибрати все"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Відеодзвінок"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Надіслати повідомлення"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Деталі виклику"</string>
@@ -217,11 +226,9 @@
<string name="block_list" msgid="4701585783411870782">"Заблоковані номери"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"Номер <xliff:g id="NUMBER">%1$s</xliff:g> уже заблоковано."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Обл. записи для дзвінків"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Увімкнути"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Налаштувати дозволи"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Щоб активувати швидкий набір, увімкніть дозвіл \"Контакти\"."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Щоб переглянути журнал викликів, увімкніть дозвіл \"Телефон\"."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Щоб переглянути контакти, увімкніть дозвіл \"Контакти\"."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Щоб користуватися голосовою поштою, увімкніть дозвіл \"Телефон\"."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Щоб шукати контакти, увімкніть дозвіл \"Контакти\"."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Щоб зателефонувати, увімкніть дозвіл \"Телефон\"."</string>
diff --git a/java/com/android/dialer/app/res/values-ur/strings.xml b/java/com/android/dialer/app/res/values-ur/strings.xml
index 25198711b..cb2eb9e33 100644
--- a/java/com/android/dialer/app/res/values-ur/strings.xml
+++ b/java/com/android/dialer/app/res/values-ur/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"انتظار شامل کریں"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"ترتیبات"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"‏نیا UI شارٹ کٹ تخلیق کریں"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"سبھی رابطے"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"ٹچ ٹون کی پیڈ کا استعمال کریں"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"جاری کال پر واپس لوٹیں"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"کال شامل کریں"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"آنے والی کالیں"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"بلک کاروائی موڈ میں داخل ہو رہا ہے"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"بلک کاروائی موڈ چھوڑ دیا"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"منتخب کردہ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"غیر منتخب کردہ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"صوتی میل چلائیں"</string>
<string name="description_view_contact" msgid="3940984937384372665">"رابطہ <xliff:g id="NAME">%1$s</xliff:g> دیکھیں"</string>
<string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> کو کال کریں"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"صوتی میل"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> سیکنڈ"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> منٹ <xliff:g id="SECONDS">%s</xliff:g> سیکنڈ"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"صوتی میل"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"صوتی میلز"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ہاں"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"نہیں"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"بیچ کاروائی موڈ منسوخ کریں"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"حذف کریں"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"منسوخ کریں"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"منتخب کردہ <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> حذف کریں؟"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> منتخب کردہ"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"ان صوتی میلز کو حذف کریں؟ "</b>"</item>
+ <item quantity="one">"<b>"اس صوتی میل کو حذف کریں؟ "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> بوقت <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"‏SIM کارڈ سے لوڈ ہو رہا ہے…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"‏SIM کارڈ کے رابطے"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"رابطوں کی کوئی ایپ دستیاب نہیں ہے"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"صوتی تلاش دستیاب نہیں ہے"</string>
<string name="call_not_available" msgid="7850148370757361155">"فون کال نہیں کی جا سکتی ہے کیونکہ فون ایپلیکیشن کو غیر فعال کر دیا گیا ہے۔"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"رابطے تلاش کریں"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> نئی چھوٹی ہوئی کالیں"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"آپ کے اسپیڈ ڈائل پر ابھی تک کوئی نہیں ہے"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ایک پسندیدہ شامل کریں"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"آپ کے پاس ابھی تک کوئی رابطے نہیں ہیں"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ایک رابطہ شامل کریں"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"سبھی نمبرز دیکھنے کیلئے تصویر ٹچ کریں یا دوبارہ ترتیب دینے کیلئے ٹچ کریں اور پکڑے رہیں"</string>
<string name="remove_contact" msgid="2353580570488923668">"ہٹائیں"</string>
+ <string name="select_all" msgid="408601760696146245">"سبھی کو منتخب کریں"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"ویڈیو کال"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"پیغام بھیجیں"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"کال کی تفصیلات"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"مسدود کردہ نمبرز"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> پہلے ہی مسدود ہے۔"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"کالنگ اکاؤنٹس"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"آن کریں"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"اجازتیں طے کریں"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"اسپیڈ ڈائل کو فعال کرنے کیلئے رابطوں کی اجازت آن کریں۔"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"اپنا کال لاگ دیکھنے کیلئے فون کی اجازت آن کریں۔"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"اپنے رابطے دیکھنے کیلئے رابطوں کی اجازت آن کریں۔"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"اپنی صوتی میل تک رسائی کیلئے فون کی اجازت آن کریں۔"</string>
<string name="permission_no_search" msgid="2424710404207193826">"اپنے رابطوں کو تلاش کرنے کیلئے رابطوں کی اجازتیں آن کریں۔"</string>
<string name="permission_place_call" msgid="8686908130349369423">"کال کرنے کیلئے فون کی اجازت آن کریں۔"</string>
diff --git a/java/com/android/dialer/app/res/values-uz/strings.xml b/java/com/android/dialer/app/res/values-uz/strings.xml
index 705cae765..c7d08f3bf 100644
--- a/java/com/android/dialer/app/res/values-uz/strings.xml
+++ b/java/com/android/dialer/app/res/values-uz/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Kutishni qo‘shish"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Sozlamalar"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Simulyator"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Yangi interfeys uchun yorliq"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Barcha kontaktlar"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Tovushli raqam tergich"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Amaldagi chaqiruvga qaytish"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Chaqiruv qo‘shish"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Kiruvchi qo‘ng‘iroqlar"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Yoppasiga bajariladigan amallar rejimiga o‘tilmoqda"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Yoppasiga bajariladigan amallar rejimidan chiqib ketildi"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> tanlandi"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> tanlovi bekor qilindi"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Ovozli xabarni eshitish"</string>
<string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> kontaktini ko‘rish"</string>
<string name="description_call" msgid="1532402285334775372">"Qo‘ng‘iroq: <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Ovozli pochta"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> soniya"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> daq <xliff:g id="SECONDS">%s</xliff:g> son"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ovozli xabar"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ovozli xabarlar"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ha"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Yo‘q"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Yoppasiga bajariladigan amallar rejimini bekor qilish"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"O‘chirish"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Bekor qilish"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Tanlangan <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> o‘chirib tashlansinmi?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Tanlandi: <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Bu ovozli xabarlar o‘chirib tashlansinmi? "</b>"</item>
+ <item quantity="one">"<b>"Bu ovozli xabar o‘chirib tashlansinmi? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM kartadan yuklanmoqda…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM karta kontaktlari"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Hech qanday kontakt ilovasi yo‘q"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Ovozli qidiruv mavjud emas"</string>
<string name="call_not_available" msgid="7850148370757361155">"Telefon ilovasi o‘chirib qo‘yilgani sababli telefon qo‘ng‘iroqlarini amalga oshirib bo‘lmaydi."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Kontaktlar ichidan qidirish"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ta javobsiz chaqiruv"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Tezkor terish uchun hech kim yo‘q"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Tezkor raqam terishni sozlang"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Sizda hali hech qanday kontakt yo‘q"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Yangi kontakt qo‘shing"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Barcha raqamlarni ko‘rish uchun rasm ustiga bosing yoki joyini o‘zgartirish uchun rasmni bosib turing."</string>
<string name="remove_contact" msgid="2353580570488923668">"O‘chirish"</string>
+ <string name="select_all" msgid="408601760696146245">"Hammasini tanlash"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Video qo‘ng‘iroq"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Xabar yuborish"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Chaqiruv tafsilotlari"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Bloklangan raqamlar"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> raqami allaqachon bloklangan."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Chaqiruv uchun hisoblar"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Yoqish"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ruxsatnomalarni sozlash"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Tezkor raqam terish uchun “Kontaktlar” ruxsatnomasini yoqing."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Qo‘ng‘iroqlaringiz ro‘yxatini ko‘rish uchun “Telefon” ruxsatnomasini yoqing."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Kontaktlaringizni ko‘rish uchun “Kontaktlar” ruxsatnomasini yoqing."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Ovozli pochtaga kirish uchun “Telefon” ruxsatnomasini yoqing."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Kontaktlarni qidirish uchun “Kontaktlar” ruxsatnomasini yoqing."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Qo‘ng‘iroq qilish uchun “Telefon” ruxsatnomasini yoqing."</string>
diff --git a/java/com/android/dialer/app/res/values-vi/strings.xml b/java/com/android/dialer/app/res/values-vi/strings.xml
index 5a60e0ac3..c79e1ed20 100644
--- a/java/com/android/dialer/app/res/values-vi/strings.xml
+++ b/java/com/android/dialer/app/res/values-vi/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Thêm chờ"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Cài đặt"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Trình mô phỏng"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Tạo phím tắt giao diện người dùng mới"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Tất cả liên hệ"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Sử dụng bàn phím số cảm ứng có âm"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Quay lại cuộc gọi đang thực hiện"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Thêm cuộc gọi"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Cuộc gọi đến"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Truy cập chế độ tác vụ hàng loạt"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Đã rời khỏi chế độ tác vụ hàng loạt"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Đã chọn <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Đã bỏ chọn <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Phát thư thoại"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Xem thông tin liên hệ của <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Gọi <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Thư thoại"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> giây"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> phút <xliff:g id="SECONDS">%s</xliff:g> giây"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"thư thoại"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"thư thoại"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Có"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Không"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Hủy chế độ tác vụ hàng loạt"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Xóa"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Hủy"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Xóa <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> đã chọn?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Đã chọn <xliff:g id="NUMBER">%1$s</xliff:g>"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"Xóa các thư thoại này? "</b>"</item>
+ <item quantity="one">"<b>"Xóa thư thoại này? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> lúc <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Đang tải từ thẻ SIM…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"Danh bạ trên thẻ SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Không có ứng dụng danh bạ"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Không có tính năng tìm kiếm bằng giọng nói"</string>
<string name="call_not_available" msgid="7850148370757361155">"Không thể thực hiện cuộc gọi điện thoại vì ứng dụng Điện thoại đã bị tắt."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Tìm kiếm trong danh bạ"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> cuộc gọi nhỡ mới"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Chưa có ai trong danh bạ quay số nhanh của bạn"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Thêm liên hệ quay số nhanh yêu thích"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Bạn chưa có bất kỳ liên hệ nào"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Thêm liên hệ"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Chạm vào hình ảnh để xem tất cả các số hoặc chạm và giữ để sắp xếp lại"</string>
<string name="remove_contact" msgid="2353580570488923668">"Xóa"</string>
+ <string name="select_all" msgid="408601760696146245">"Chọn tất cả"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Cuộc gọi điện video"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Gửi tin nhắn"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Chi tiết cuộc gọi"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Số bị chặn"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> đã bị chặn."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Tài khoản gọi"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Bật"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Đặt quyền"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Để bật quay số nhanh, bật quyền đối với Danh bạ."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Để xem nhật ký cuộc gọi của bạn, bật quyền đối với Điện thoại."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Để xem danh bạ của bạn, bật quyền đối với Danh bạ."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Để truy cập thư thoại của bạn, bật quyền đối với Điện thoại."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Để tìm kiếm liên hệ của bạn, hãy bật quyền đối với Danh bạ."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Để thực hiện cuộc gọi, bật quyền đối với Điện thoại."</string>
diff --git a/java/com/android/dialer/app/res/values-zh-rCN/strings.xml b/java/com/android/dialer/app/res/values-zh-rCN/strings.xml
index 98abc396a..3262c1a02 100644
--- a/java/com/android/dialer/app/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/app/res/values-zh-rCN/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"延长等待时间"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"设置"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"模拟器"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"创建可在新界面中使用的快捷键"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"所有联系人"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"使用按键式键盘"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"返回正在进行的通话"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"添加通话"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"来电"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"正在进入批量操作模式"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"已退出批量操作模式"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"已选择 <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"已取消选择 <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"播放语音邮件"</string>
<string name="description_view_contact" msgid="3940984937384372665">"查看联系人<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"呼叫<xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"语音信箱"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> 分钟 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"语音邮件"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"语音邮件"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"是"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"否"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"取消批量操作模式"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"删除"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"取消"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"要删除所选的<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>吗?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"已选择 <xliff:g id="NUMBER">%1$s</xliff:g> 封"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"要删除这些语音邮件吗?"</b>"</item>
+ <item quantity="one">"<b>"要删除这封语音邮件吗?"</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g><xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"正从 SIM 卡中加载..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM卡联系人"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"没有可用的通讯录应用"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"无法使用语音搜索"</string>
<string name="call_not_available" msgid="7850148370757361155">"“电话”应用已被停用,因此无法拨打电话。"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"搜索联系人"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g>个新的未接电话"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"尚未给任何联系人设定快速拨号"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"添加常用联系人"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"您还没有任何联系人"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"添加联系人"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"触摸图片可查看所有号码,触摸并按住可重新排序"</string>
<string name="remove_contact" msgid="2353580570488923668">"移除"</string>
+ <string name="select_all" msgid="408601760696146245">"全选"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"视频通话"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"发送短信"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"通话详情"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"已屏蔽的号码"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> 已被屏蔽。"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"通话帐号"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"开启"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"设置权限"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"要启用快速拨号功能,请开启“通讯录”权限。"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"要查看您的通话记录,请开启“电话”权限。"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"要查看您的联系人,请开启“通讯录”权限。"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"要使用您的语音信箱,请开启“电话”权限。"</string>
<string name="permission_no_search" msgid="2424710404207193826">"要搜索您的联系人,请开启“通讯录”权限。"</string>
<string name="permission_place_call" msgid="8686908130349369423">"要拨打电话,请开启“电话”权限。"</string>
diff --git a/java/com/android/dialer/app/res/values-zh-rHK/strings.xml b/java/com/android/dialer/app/res/values-zh-rHK/strings.xml
index 2a96ce045..71e62eddc 100644
--- a/java/com/android/dialer/app/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/app/res/values-zh-rHK/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"新增插播功能"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"設定"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"模擬器"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"建立新使用者介面捷徑"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"所有聯絡人"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"使用觸控音頻按鍵"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"返回進行中的通話"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"新增通話"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"來電"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"正在進入大量操作模式"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"已離開大量操作模式"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"已選取<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"已取消選取<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"播放語音留言"</string>
<string name="description_view_contact" msgid="3940984937384372665">"查看聯絡人<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"打電話給<xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"留言"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"留言"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"留言"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"是"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"否"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"取消批量操作模式"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"刪除"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"取消"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"要刪除所選的<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>嗎?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"已選取 <xliff:g id="NUMBER">%1$s</xliff:g> 個"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"要刪除這些留言嗎?"</b>"</item>
+ <item quantity="one">"<b>"要刪除此留言嗎?"</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g><xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"正在從 SIM 卡載入..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM 卡聯絡人"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"沒有可用的聯絡人應用程式"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"無法使用語音搜尋"</string>
<string name="call_not_available" msgid="7850148370757361155">"由於「電話」應用程式已停用,因此無法打電話。"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"搜尋聯絡人"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> 個新的未接來電"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"快速撥號名單中沒有聯絡人"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"新增常用聯絡人"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"暫時沒有聯絡人"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"新增聯絡人"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"輕觸圖片以查看所有電話號碼,或輕觸並按住圖片以重新排序"</string>
<string name="remove_contact" msgid="2353580570488923668">"移除"</string>
+ <string name="select_all" msgid="408601760696146245">"全選"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"視像通話"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"傳送訊息"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"通話詳情"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"已封鎖的號碼"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"已封鎖 <xliff:g id="NUMBER">%1$s</xliff:g>。"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"通話帳戶"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"開放權限"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"設定權限"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"如要啟用快速撥號功能,請開放「通訊錄」權限。"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"如要查看通話記錄,請開放「手機」權限。"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"如要查看聯絡人,請開放「通訊錄」權限。"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"如要存取留言信箱,請開放「手機」權限。"</string>
<string name="permission_no_search" msgid="2424710404207193826">"如要搜尋聯絡人,請開啟「通訊錄」權限。"</string>
<string name="permission_place_call" msgid="8686908130349369423">"如要撥打電話,請開放「手機」權限。"</string>
diff --git a/java/com/android/dialer/app/res/values-zh-rTW/strings.xml b/java/com/android/dialer/app/res/values-zh-rTW/strings.xml
index 917452133..9178dcf67 100644
--- a/java/com/android/dialer/app/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/app/res/values-zh-rTW/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"延長等待時間"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"設定"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"模擬工具"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"建立新版 UI 捷徑"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"所有聯絡人"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"使用觸控音按鍵"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"返回進行中的通話"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"新增通話"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"來電"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"已進入大量操作模式"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"已離開大量操作模式"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"已選取:<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"已取消選取:<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"播放語音留言"</string>
<string name="description_view_contact" msgid="3940984937384372665">"查看聯絡人<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"撥電話給<xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"語音留言"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"語音留言"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"語音留言"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"是"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"否"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"取消批次操作模式"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"刪除"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"取消"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"要刪除選取的<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>嗎?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"已選取 <xliff:g id="NUMBER">%1$s</xliff:g> 個"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="other">"<b>"要刪除這些語音留言嗎?"</b>"</item>
+ <item quantity="one">"<b>"要刪除這則語音留言嗎?"</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g><xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"從 SIM 卡讀取中…"</string>
<string name="simContacts_title" msgid="7961069730386378887">"SIM 卡聯絡人"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"沒有可用的聯絡人應用程式"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"無法使用語音搜尋"</string>
<string name="call_not_available" msgid="7850148370757361155">"「電話」應用程式已遭停用,因此無法撥打電話。"</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"搜尋聯絡人"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> 通新的未接來電"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"您的快速撥號功能尚未設定任何聯絡人"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"新增常用聯絡人"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"您尚未加入任何聯絡人"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"新增聯絡人"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"輕觸圖片即可查看所有號碼,按住則可重新排序"</string>
<string name="remove_contact" msgid="2353580570488923668">"移除"</string>
+ <string name="select_all" msgid="408601760696146245">"全選"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"視訊通話"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"傳送簡訊"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"通話詳細資料"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"已封鎖的號碼"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> 已在封鎖清單中。"</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"通話帳戶"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"開啟"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"設定權限"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"如要啟用快速撥號,請開啟「聯絡人」存取權限。"</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"如要查看您的通話紀錄,請開啟「電話」存取權限。"</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"如要查看您的聯絡人,請開啟「聯絡人」存取權限。"</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"如要存取您的語音信箱,請開啟「電話」存取權限。"</string>
<string name="permission_no_search" msgid="2424710404207193826">"如要搜尋您的聯絡人,請開啟「聯絡人」存取權限。"</string>
<string name="permission_place_call" msgid="8686908130349369423">"如要撥打電話,請開啟「電話」存取權限。"</string>
diff --git a/java/com/android/dialer/app/res/values-zu/strings.xml b/java/com/android/dialer/app/res/values-zu/strings.xml
index 9c8a6b8e1..f52f597c8 100644
--- a/java/com/android/dialer/app/res/values-zu/strings.xml
+++ b/java/com/android/dialer/app/res/values-zu/strings.xml
@@ -80,11 +80,16 @@
<string name="add_wait" msgid="1177723010768282578">"Yengeza ukulinda"</string>
<string name="dialer_settings_label" msgid="4980176284150290175">"Izilungiselelo"</string>
<string name="simulator_submenu_label" msgid="186156287346615267">"Isilingisi"</string>
+ <string name="new_ui_launcher_shortcut_label" msgid="7195823535703686736">"Dala isinqamuleli esisha se-UI"</string>
<string name="menu_allContacts" msgid="8544950176866640863">"Bonke othintana nabo"</string>
<string name="dialer_useDtmfDialpad" msgid="3919115408138798484">"Sebenzisa ikhiphedi yethoni yokuthinta"</string>
<string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Buyela kukholi eqhubekayo"</string>
<string name="dialer_addAnotherCall" msgid="3132945651710234674">"Yengeza ikholi"</string>
<string name="actionIncomingCall" msgid="891346596090030558">"Amakholi angenayo"</string>
+ <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Kungenwa kumodi yesenzo senqwaba"</string>
+ <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Ishiye imodi yesenzo senqwaba"</string>
+ <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Kukhethwe i-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Akukhethiwe i-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
<string name="description_call_log_play_button" msgid="2349845005022431438">"Dlala i-imeyli yezwi"</string>
<string name="description_view_contact" msgid="3940984937384372665">"Bheka oxhumana naye <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="description_call" msgid="1532402285334775372">"Shayela <xliff:g id="NAME">%1$s</xliff:g>"</string>
@@ -99,11 +104,15 @@
<string name="voicemail" msgid="8899540969000957954">"Ivoyisimeyili"</string>
<string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> isekhondi"</string>
<string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> amaminithi <xliff:g id="SECONDS">%s</xliff:g> amasekhondi"</string>
- <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ivoyisimeyili"</string>
- <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ama-meyli ezwi"</string>
- <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yebo"</string>
- <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Cha"</string>
+ <string name="description_cancel_multi_select" msgid="3930475950253360461">"Khansela imodi lezenzo zeqoqo"</string>
+ <string name="voicemailMultiSelectDeleteConfirm" msgid="5110048580165845200">"Susa"</string>
+ <string name="voicemailMultiSelectDeleteCancel" msgid="4574287102479485528">"Khansela"</string>
<string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Susa okukhethiwe <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string>
+ <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Engu-<xliff:g id="NUMBER">%1$s</xliff:g> ekhethiwe"</string>
+ <plurals name="delete_voicemails_confirmation_dialog_title" formatted="false" msgid="2452264208706783960">
+ <item quantity="one">"<b>"Sula lawa mavoyisimeyili? "</b>"</item>
+ <item quantity="other">"<b>"Sula lawa mavoyisimeyili? "</b>"</item>
+ </plurals>
<string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string>
<string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ngo-<xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string>
@@ -116,7 +125,6 @@
<string name="meid" msgid="3333779521535224028">"I-MEID"</string>
<string name="simContacts_emptyLoading" msgid="6205424276735652071">"Ilayisha kusuka ekhadini le-SIM..."</string>
<string name="simContacts_title" msgid="7961069730386378887">"Othintana nabo bekhadi le-SIM"</string>
- <string name="add_contact_not_available" msgid="7065884447935173347">"Alukho uhlelo lokusebenza loxhumana nabo olutholakalayo"</string>
<string name="voice_search_not_available" msgid="6546240433719732905">"Usesho lwezwi alutholakali"</string>
<string name="call_not_available" msgid="7850148370757361155">"Ayikwazi ukwenza ikholi yefoni ngoba uhlelo lokusebenza lwefoni likhutshaziwe."</string>
<string name="dialer_hint_find_contact" msgid="2023214799381149808">"Sesha othintana nabo"</string>
@@ -145,10 +153,9 @@
<string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> amakholi amasha owaphuthelwe"</string>
<string name="speed_dial_empty" msgid="3346406399966039505">"Akekho umuntu osekudayeleni kwakho okusheshayo okwamanje"</string>
<string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Engeza intandokazi"</string>
- <string name="all_contacts_empty" msgid="243071567853617177">"Awunabo oxhumana nabo okwamanje"</string>
- <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Engeza oxhumana naye"</string>
<string name="contact_tooltip" msgid="8871614660967439999">"Thinta isithombe ukuze ubone zonke izinombolo noma thinta bese ubambe ukuze uhlele kabusha"</string>
<string name="remove_contact" msgid="2353580570488923668">"Susa"</string>
+ <string name="select_all" msgid="408601760696146245">"Khetha konke"</string>
<string name="call_log_action_video_call" msgid="7565549950343850819">"Ikholi yevidiyo"</string>
<string name="call_log_action_send_message" msgid="6948727362660115554">"Thumela umlayezo"</string>
<string name="call_log_action_details" msgid="2091370737371449501">"Imininingwane yekholi"</string>
@@ -213,11 +220,9 @@
<string name="block_list" msgid="4701585783411870782">"Izinombolo ezivinjiwe"</string>
<string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> isivinjiwe kakade."</string>
<string name="phone_account_settings_label" msgid="8372485478006965920">"Ama-akhawunti wokushaya"</string>
- <string name="permission_single_turn_on" msgid="8014796118294187894">"Vula"</string>
<string name="permission_multiple_turn_on" msgid="5679888820253829400">"Setha izimvume"</string>
<string name="permission_no_speeddial" msgid="8487215628510596753">"Nika amandla ukudayela okusheshayo, vula imvume yoxhumana nabo."</string>
<string name="permission_no_calllog" msgid="4053705651238775784">"Ukuze ubone irekhodi lakho lamakholi, vuma imvume yefoni."</string>
- <string name="permission_no_contacts" msgid="8995025765862026771">"Ukuze ubone oxhumana nabo, vula imvume yoxhumana nabo."</string>
<string name="permission_no_voicemail" msgid="1908142679289209291">"Ukuze ufinyelele ivoyisimeyili, vula imvume yefoni."</string>
<string name="permission_no_search" msgid="2424710404207193826">"Ukuze useshe oxhumana nabo, vula izimvume zoxhumana nabo."</string>
<string name="permission_place_call" msgid="8686908130349369423">"Ukuze ubeke ikholi, vula imvume yefoni."</string>
diff --git a/java/com/android/dialer/app/res/values/colors.xml b/java/com/android/dialer/app/res/values/colors.xml
index cf6b926be..2f6d87b49 100644
--- a/java/com/android/dialer/app/res/values/colors.xml
+++ b/java/com/android/dialer/app/res/values/colors.xml
@@ -52,8 +52,6 @@
<!-- Colour of voicemail progress bar to the left of position indicator. -->
<color name="voicemail_playback_seek_bar_already_played">@color/dialer_theme_color</color>
- <!-- Background color of new dialer activity -->
- <color name="background_dialer_light">#fafafa</color>
<!-- Background color for search results and call details -->
<color name="background_dialer_results">#f9f9f9</color>
<color name="background_dialer_call_log">@color/background_dialer_light</color>
@@ -69,8 +67,6 @@
<!-- Undo dialogue color -->
<color name="undo_dialogue_text_color">#4d4d4d</color>
- <color name="empty_list_text_color">#b2b2b2</color>
-
<color name="remove_text_color">#ffffff</color>
<!-- Text color for the "Remove" text when a contact is dragged on top of the remove view -->
diff --git a/java/com/android/dialer/app/res/values/dimens.xml b/java/com/android/dialer/app/res/values/dimens.xml
index 7da29c7a3..90a8bb879 100644
--- a/java/com/android/dialer/app/res/values/dimens.xml
+++ b/java/com/android/dialer/app/res/values/dimens.xml
@@ -24,6 +24,11 @@
-->
<dimen name="remove_text_size">16dp</dimen>
+ <!-- Select All/Multi Select -->
+ <dimen name="select_all_text_size">14sp</dimen>
+ <dimen name="select_all_icon_padding">16dp</dimen>
+ <dimen name="select_all_text_left_padding">18dp</dimen>
+
<!-- Call Log -->
<dimen name="call_log_horizontal_margin">8dp</dimen>
<dimen name="call_log_call_action_size">32dp</dimen>
@@ -105,9 +110,6 @@
<!-- Length of dialpad's shadows in dialer. -->
<dimen name="shadow_length">10dp</dimen>
- <dimen name="empty_list_message_top_padding">20dp</dimen>
- <dimen name="empty_list_message_text_size">16sp</dimen>
-
<!-- Dimensions for individual preference cards -->
<dimen name="preference_padding_top">16dp</dimen>
<dimen name="preference_padding_bottom">16dp</dimen>
diff --git a/java/com/android/dialer/app/res/values/strings.xml b/java/com/android/dialer/app/res/values/strings.xml
index 9e1fdeb5a..e02c6fb30 100644
--- a/java/com/android/dialer/app/res/values/strings.xml
+++ b/java/com/android/dialer/app/res/values/strings.xml
@@ -114,7 +114,7 @@
<!-- Title of the notification of new voicemails. [CHAR LIMIT=30] -->
<plurals name="notification_voicemail_title">
<item quantity="one">Voicemail</item>
- <item quantity="other">
+ <item quantity="other">
<xliff:g id="count">%1$d</xliff:g>
Voicemails
</item>
@@ -131,12 +131,12 @@
[CHAR LIMIT=10]
-->
- <string name="notification_voicemail_callers_list"><xliff:g id="newer_callers">%1$s</xliff:g>,
+ <string name="notification_voicemail_callers_list"><xliff:g id="newer_callers">%1$s</xliff:g>,
<xliff:g id="older_caller">%2$s</xliff:g>
</string>
<!-- Text used in the ticker to notify the user of the latest voicemail. [CHAR LIMIT=30] -->
- <string name="notification_new_voicemail_ticker">New voicemail from
+ <string name="notification_new_voicemail_ticker">New voicemail from
<xliff:g id="caller">%1$s</xliff:g>
</string>
@@ -165,7 +165,7 @@
<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>)
+ <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>
@@ -258,6 +258,9 @@
and testing. [CHAR LIMIT=30]-->
<string name="simulator_submenu_label">Simulator</string>
+ <!-- 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>
@@ -279,6 +282,34 @@
<!-- 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.
+ This is especially valuable for views without textual representation like ImageView.
+-->
+ <string name="description_entering_bulk_action_mode">Entering bulk action mode</string>
+
+ <!-- String describing the user leaving bulk action mode.
+
+ 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_leaving_bulk_action_mode">Left bulk action mode</string>
+
+ <!-- String describing the button to select an entry for bulk action.
+
+ 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_selecting_bulk_action_mode">Selected <xliff:g id="nameOrNumber">%1$s</xliff:g></string>
+
+ <!-- String describing the button to unselect an entry for bulk action.
+
+ 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_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.
@@ -362,12 +393,23 @@
<!-- 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 name="voicemailMultiSelectVoicemail">voicemail</string>
- <string name="voicemailMultiSelectVoicemails">voicemails</string>
- <string name="voicemailMultiSelectDeleteConfirm">Yes</string>
- <string name="voicemailMultiSelectDeleteCancel">No</string>
+ <!-- String describing the cancel button in multi select.
+ Note: AccessibilityServices uses this attribute to announce what the view represents.
+ [CHAR LIMIT=NONE] -->
+ <string name="description_cancel_multi_select">Cancel batch actions mode</string>
+
+ <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>
+
+ <!-- Alert dialog title to accept or decline deleting voicemail(s). -->
+ <plurals name="delete_voicemails_confirmation_dialog_title">
+ <item quantity="one"><b>Delete this voicemail? </b></item>
+ <item quantity="other"><b>Delete these voicemails? </b></item>
+ </plurals>
+
<!-- The string 'Today'. This value is used in the voicemailCallLogDateTimeFormat rather than an
explicit date string, e.g. Jul 25, 2014, in the event that a voicemail was created on the
current day -->
@@ -411,9 +453,6 @@
<!-- Dialog title displayed when loading a phone number from the SIM card for speed dial -->
<string name="simContacts_title">SIM card contacts</string>
- <!-- Message displayed when there is no application available to handle the add contact menu option. [CHAR LIMIT=NONE] -->
- <string name="add_contact_not_available">No contacts app available</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>
@@ -484,7 +523,7 @@
<string name="favorite_hidden_undo">Undo</string>
<!-- Shortcut item used to call a number directly from search -->
- <string name="search_shortcut_call_number">Call
+ <string name="search_shortcut_call_number">Call
<xliff:g id="number">%s</xliff:g>
</string>
@@ -514,12 +553,6 @@
<!-- Shown as an action when there are no speed dial favorites -->
<string name="speed_dial_empty_add_favorite_action">Add a favorite</string>
- <!-- Shown when there are no contacts in the all contacts list. -->
- <string name="all_contacts_empty">You don\'t have any contacts yet</string>
-
- <!-- Shown as an action when the all contacts list is empty -->
- <string name="all_contacts_empty_add_contact_action">Add a contact</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]
@@ -529,6 +562,9 @@
<!-- Remove button that shows up when contact is long-pressed. [CHAR LIMIT=NONE] -->
<string name="remove_contact">Remove</string>
+ <!-- Select all text that shows up when in multi select mode. [CHAR LIMIT=NONE] -->
+ <string name="select_all">Select all</string>
+
<!-- Button text for the "video call" displayed underneath an entry in the call log.
Tapping causes a video call to be placed to the caller represented by the call log entry.
[CHAR LIMIT=30] -->
@@ -550,13 +586,13 @@
<!-- Button text for the button displayed underneath an entry in the call log, which when
tapped triggers a return call to the named user. [CHAR LIMIT=30] -->
- <string name="call_log_action_call">
+ <string name="call_log_action_call">
Call <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
</string>
<!-- String describing an incoming missed call entry in the call log.
- Note: AccessibilityServices uses this attribute to announce what the view represents.
- [CHAR LIMIT=NONE] -->
+ Note: AccessibilityServices uses this attribute to announce what the view represents.
+ [CHAR LIMIT=NONE] -->
<string name="description_incoming_missed_call">Missed call from <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>, <xliff:g example="Mobile" id="typeOrLocation">^2</xliff:g>, <xliff:g example="2 min ago" id="timeOfCall">^3</xliff:g>, <xliff:g example="on SIM 1" id="phoneAccount">^4</xliff:g>.</string>
<!-- String describing an incoming answered call entry in the call log.
@@ -592,7 +628,7 @@
action triggers a return call to the named user.
Note: AccessibilityServices uses this attribute to announce the purpose of the button.
[CHAR LIMIT=NONE] -->
- <string name="description_call_action">
+ <string name="description_call_action">
Call <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
</string>
@@ -600,7 +636,7 @@
action triggers a return video call to the named person/number.
Note: AccessibilityServices uses this attribute to announce the purpose of the button.
[CHAR LIMIT=NONE] -->
- <string name="description_video_call_action">
+ <string name="description_video_call_action">
Video call <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>.
</string>
@@ -609,21 +645,21 @@
triggers playing back the voicemail.
Note: AccessibilityServices uses this attribute to announce the purpose of the button.
[CHAR LIMIT=NONE] -->
- <string name="description_voicemail_action">
+ <string name="description_voicemail_action">
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">
+ <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">
+ <string name="description_voicemail_pause">
Pause voicemail from <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
</string>
@@ -631,7 +667,7 @@
<!-- 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">
+ <string name="description_voicemail_delete">
Delete voicemail from <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
</string>
@@ -645,14 +681,14 @@
<!-- 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">
+ <string name="description_create_new_contact_action">
Create contact for <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
</string>
<!-- Description for the "add to existing contact" action for an entry in the call log. This
action opens a screen for adding this name or number to an existing contact.
[CHAR LIMIT=NONE] -->
- <string name="description_add_to_existing_contact_action">
+ <string name="description_add_to_existing_contact_action">
Add <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g> to existing contact
</string>
@@ -660,7 +696,7 @@
displays the call details screen for an entry in the call log. This shows the calls to
and from the specified number associated with the call log entry.
[CHAR LIMIT=NONE] -->
- <string name="description_details_action">
+ <string name="description_details_action">
Call details for <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>
</string>
@@ -769,14 +805,14 @@
<!-- 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">
+ <string name="blocked_numbers_disabled_emergency_header_label">
Call blocking temporarily off
</string>
<!-- Description that call blocking is temporarily disabled because the user called an
emergency number, and explains that call blocking will be re-enabled after a buffer
period has passed. [CHAR LIMIT=NONE] -->
- <string name="blocked_numbers_disabled_emergency_desc">
+ <string name="blocked_numbers_disabled_emergency_desc">
Call blocking has been disabled because you contacted emergency services from this phone
within the last 48 hours. It will be automatically reenabled once the 48 hour period
expires.
@@ -789,7 +825,7 @@
<!-- Text informing the user they have previously marked contacts to be sent to voicemail.
This will be followed by two buttons, 1) to view who is marked to be sent to voicemail
and 2) importing these settings to Dialer's block list. [CHAR LIMIT=NONE] -->
- <string name="blocked_call_settings_import_description">
+ <string name="blocked_call_settings_import_description">
You previously marked some callers to be automatically sent to voicemail via other apps.
</string>
@@ -811,13 +847,13 @@
<!-- Footer message of number blocking screen with visual voicemail active.
[CHAR LIMIT=NONE] -->
- <string name="block_number_footer_message_vvm">
+ <string name="block_number_footer_message_vvm">
Calls from these numbers will be blocked and voicemails will be automatically deleted.
</string>
<!-- Footer message of number blocking screen with no visual voicemail.
[CHAR LIMIT=NONE] -->
- <string name="block_number_footer_message_no_vvm">
+ <string name="block_number_footer_message_no_vvm">
Calls from these numbers will be blocked, but they may still be able to leave you voicemails.
</string>
@@ -826,7 +862,7 @@
<!-- Error message shown when user tries to add a number to the block list that was already
blocked. [CHAR LIMIT=64] -->
- <string name="alreadyBlocked"><xliff:g example="(555) 555-5555" id="number">%1$s</xliff:g>
+ <string name="alreadyBlocked"><xliff:g example="(555) 555-5555" id="number">%1$s</xliff:g>
is already blocked.</string>
<!-- Label for the phone account settings [CHAR LIMIT=30] -->
@@ -841,9 +877,6 @@
<!-- 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 a single permission [CHAR LIMIT=30]-->
- <string name="permission_single_turn_on">Turn on</string>
-
<!-- The label of the button used to turn on multiple permissions [CHAR LIMIT=30]-->
<string name="permission_multiple_turn_on">Set permissions</string>
@@ -853,9 +886,6 @@
<!-- 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 contacts permission to show all contacts [CHAR LIMIT=NONE]-->
- <string name="permission_no_contacts">To see your contacts, turn on the Contacts 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>
diff --git a/java/com/android/dialer/app/res/values/styles.xml b/java/com/android/dialer/app/res/values/styles.xml
index 7adf7ca2c..e0122e81c 100644
--- a/java/com/android/dialer/app/res/values/styles.xml
+++ b/java/com/android/dialer/app/res/values/styles.xml
@@ -16,6 +16,11 @@
-->
<resources>
+ <style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
+ <item name="android:colorPrimary">@color/dialtacts_theme_color</item>
+ <item name="android:colorAccent">@color/dialtacts_theme_color</item>
+ </style>
+
<style name="DialtactsTheme" parent="DialerThemeBase">
<!-- Styles that require AppCompat compatibility, remember to update both sets -->
@@ -25,13 +30,13 @@
<item name="windowActionModeOverlay">true</item>
<item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item>
<item name="actionBarStyle">@style/DialtactsActionBarStyle</item>
+ <item name="actionModeStyle">@style/ActionModeStyle</item>
+ <item name="android:actionModeStyle">@style/ActionModeStyle</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:overlapAnchor">true</item>
- <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
<item name="android:listViewStyle">@style/ListViewStyle</item>
- <item name="section_header_background">@drawable/list_title_holo</item>
<item name="list_section_header_height">32dip</item>
<item name="list_item_padding_top">7dp</item>
<item name="list_item_padding_right">24dp</item>
@@ -66,7 +71,7 @@
<item name="android:textAppearanceButton">@style/DialerButtonTextStyle</item>
<!-- Video call icon -->
- <item name="list_item_video_call_icon_size">32dip</item>
+ <item name="list_item_video_call_icon_size">48dip</item>
<item name="list_item_video_call_icon_margin">8dip</item>
<item name="dialpad_style">@style/Dialpad.Light</item>
@@ -129,6 +134,12 @@
<item name="contentInsetStart">@dimen/actionbar_contentInsetStart</item>
</style>
+ <style name="ActionModeStyle" parent="Widget.AppCompat.ActionMode">
+ <item name="android:background">@color/actionbar_background_color</item>
+ <item name="background">@color/actionbar_background_color</item>
+ <item name="closeItemLayout">@layout/action_mode_close_button</item>
+ </style>
+
<style name="DialtactsActionBarWithoutTitleStyle" parent="DialtactsActionBarStyle">
<!-- Styles that require AppCompat compatibility, remember to update both sets -->
<item name="android:displayOptions"></item>
diff --git a/java/com/android/dialer/app/res/xml/sound_settings.xml b/java/com/android/dialer/app/res/xml/sound_settings.xml
index 796ed2ec1..d9afb7411 100644
--- a/java/com/android/dialer/app/res/xml/sound_settings.xml
+++ b/java/com/android/dialer/app/res/xml/sound_settings.xml
@@ -25,13 +25,13 @@
android:ringtoneType="ringtone"
android:title="@string/ringtone_title"/>
- <CheckBoxPreference
+ <SwitchPreference
android:defaultValue="false"
android:key="@string/vibrate_on_preference_key"
android:persistent="false"
android:title="@string/vibrate_on_ring_title"/>
- <CheckBoxPreference
+ <SwitchPreference
android:defaultValue="true"
android:key="@string/play_dtmf_preference_key"
android:persistent="false"
diff --git a/java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java b/java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java
index 2c464386b..e8e425626 100644
--- a/java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java
+++ b/java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java
@@ -18,7 +18,6 @@ package com.android.dialer.app.settings;
import android.content.res.Configuration;
import android.os.Bundle;
import android.preference.PreferenceActivity;
-import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatDelegate;
import android.support.v7.widget.Toolbar;
import android.view.MenuInflater;
@@ -49,10 +48,6 @@ public class AppCompatPreferenceActivity extends PreferenceActivity {
getDelegate().onPostCreate(savedInstanceState);
}
- public ActionBar getSupportActionBar() {
- return getDelegate().getSupportActionBar();
- }
-
public void setSupportActionBar(Toolbar toolbar) {
getDelegate().setSupportActionBar(toolbar);
}
diff --git a/java/com/android/dialer/app/settings/DialerSettingsActivity.java b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
index f1c270ca9..6036c85ce 100644
--- a/java/com/android/dialer/app/settings/DialerSettingsActivity.java
+++ b/java/com/android/dialer/app/settings/DialerSettingsActivity.java
@@ -36,7 +36,6 @@ import com.android.dialer.about.AboutPhoneFragment;
import com.android.dialer.app.R;
import com.android.dialer.blocking.FilteredNumberCompat;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.compat.CompatUtils;
import com.android.dialer.proguard.UsedByReflection;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.VoicemailComponent;
@@ -83,14 +82,12 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity {
soundSettingsHeader.id = R.id.settings_header_sounds_and_vibration;
target.add(soundSettingsHeader);
- if (CompatUtils.isMarshmallowCompatible()) {
- Header quickResponseSettingsHeader = new Header();
- Intent quickResponseSettingsIntent =
- new Intent(TelecomManager.ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS);
- quickResponseSettingsHeader.titleRes = R.string.respond_via_sms_setting_title;
- quickResponseSettingsHeader.intent = quickResponseSettingsIntent;
- target.add(quickResponseSettingsHeader);
- }
+ Header quickResponseSettingsHeader = new Header();
+ Intent quickResponseSettingsIntent =
+ new Intent(TelecomManager.ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS);
+ quickResponseSettingsHeader.titleRes = R.string.respond_via_sms_setting_title;
+ quickResponseSettingsHeader.intent = quickResponseSettingsIntent;
+ target.add(quickResponseSettingsHeader);
TelephonyManager telephonyManager =
(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
diff --git a/java/com/android/dialer/app/settings/SoundSettingsFragment.java b/java/com/android/dialer/app/settings/SoundSettingsFragment.java
index 83ce45398..dcfb7a595 100644
--- a/java/com/android/dialer/app/settings/SoundSettingsFragment.java
+++ b/java/com/android/dialer/app/settings/SoundSettingsFragment.java
@@ -23,11 +23,11 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Vibrator;
-import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
+import android.preference.SwitchPreference;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import android.telephony.TelephonyManager;
@@ -68,8 +68,8 @@ public class SoundSettingsFragment extends PreferenceFragment
updateRingtonePreferenceSummary();
}
};
- private CheckBoxPreference mVibrateWhenRinging;
- private CheckBoxPreference mPlayDtmfTone;
+ private SwitchPreference mVibrateWhenRinging;
+ private SwitchPreference mPlayDtmfTone;
private ListPreference mDtmfToneLength;
@Override
@@ -87,9 +87,9 @@ public class SoundSettingsFragment extends PreferenceFragment
mRingtonePreference = findPreference(context.getString(R.string.ringtone_preference_key));
mVibrateWhenRinging =
- (CheckBoxPreference) findPreference(context.getString(R.string.vibrate_on_preference_key));
+ (SwitchPreference) findPreference(context.getString(R.string.vibrate_on_preference_key));
mPlayDtmfTone =
- (CheckBoxPreference) findPreference(context.getString(R.string.play_dtmf_preference_key));
+ (SwitchPreference) findPreference(context.getString(R.string.play_dtmf_preference_key));
mDtmfToneLength =
(ListPreference)
findPreference(context.getString(R.string.dtmf_tone_length_preference_key));
diff --git a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
index 9d07ec561..a7cfc0c00 100644
--- a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
+++ b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java
@@ -27,7 +27,7 @@ import android.support.v4.os.BuildCompat;
import android.support.v4.os.UserManagerCompat;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
-import com.android.dialer.app.calllog.DefaultVoicemailNotifier;
+import com.android.dialer.app.calllog.LegacyVoicemailNotifier;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.PerAccountSharedPreferences;
@@ -35,7 +35,7 @@ import com.android.voicemail.VoicemailComponent;
/**
* Receives {@link TelephonyManager#ACTION_SHOW_VOICEMAIL_NOTIFICATION}, and forwards to {@link
- * DefaultVoicemailNotifier}. Will ignore the notification if the account has visual voicemail.
+ * LegacyVoicemailNotifier}. Will ignore the notification if the account has visual voicemail.
* Legacy voicemail is the traditional, non-visual, dial-in voicemail.
*/
@TargetApi(VERSION_CODES.O)
@@ -43,6 +43,15 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver {
private static final String LEGACY_VOICEMAIL_COUNT = "legacy_voicemail_count";
+ /**
+ * Hidden extra for {@link TelephonyManager#ACTION_SHOW_VOICEMAIL_NOTIFICATION} for whether the
+ * notification is just a refresh or for a new voicemail. The phone should not play a ringtone or
+ * vibrate during a refresh if the notification is already showing.
+ *
+ * <p>TODO(b/62202833): make public
+ */
+ private static final String EXTRA_IS_REFRESH = "is_refresh";
+
@Override
public void onReceive(Context context, Intent intent) {
LogUtil.i(
@@ -51,7 +60,6 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver {
PhoneAccountHandle phoneAccountHandle =
Assert.isNotNull(intent.getParcelableExtra(TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE));
-
int count = intent.getIntExtra(TelephonyManager.EXTRA_NOTIFICATION_COUNT, -1);
if (!hasVoicemailCountChanged(context, phoneAccountHandle, count)) {
@@ -70,7 +78,7 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver {
if (count == 0) {
LogUtil.i("LegacyVoicemailNotificationReceiver.onReceive", "clearing notification");
- new DefaultVoicemailNotifier(context).cancelLegacyNotification();
+ LegacyVoicemailNotifier.cancelNotification(context);
return;
}
@@ -91,13 +99,14 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver {
intent.getParcelableExtra(TelephonyManager.EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT);
LogUtil.i("LegacyVoicemailNotificationReceiver.onReceive", "sending notification");
- new DefaultVoicemailNotifier(context)
- .notifyLegacyVoicemail(
- phoneAccountHandle,
- count,
- voicemailNumber,
- callVoicemailIntent,
- voicemailSettingIntent);
+ LegacyVoicemailNotifier.showNotification(
+ context,
+ phoneAccountHandle,
+ count,
+ voicemailNumber,
+ callVoicemailIntent,
+ voicemailSettingIntent,
+ intent.getBooleanExtra(EXTRA_IS_REFRESH, false));
}
private static boolean hasVoicemailCountChanged(
diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
index ea48c8321..5c9bc01c2 100644
--- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
+++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
@@ -47,12 +47,12 @@ import com.android.common.io.MoreCloseables;
import com.android.dialer.app.R;
import com.android.dialer.app.calllog.CallLogListItemViewHolder;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.AsyncTaskExecutor;
import com.android.dialer.common.concurrent.AsyncTaskExecutors;
import com.android.dialer.common.concurrent.DialerExecutor;
import com.android.dialer.common.concurrent.DialerExecutors;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.constants.Constants;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
@@ -87,7 +87,6 @@ import javax.annotation.concurrent.ThreadSafe;
* calls into this class from outside must be done from the main UI thread.
*/
@NotThreadSafe
-@VisibleForTesting
@TargetApi(VERSION_CODES.M)
public class VoicemailPlaybackPresenter
implements MediaPlayer.OnPreparedListener,
@@ -502,7 +501,7 @@ public class VoicemailPlaybackPresenter
* will call {@link #onError()} otherwise.
*/
protected void prepareContent() {
- if (mView == null) {
+ if (mView == null || mContext == null) {
return;
}
LogUtil.d("VoicemailPlaybackPresenter.prepareContent", null);
@@ -548,7 +547,9 @@ public class VoicemailPlaybackPresenter
mView.setClipPosition(mPosition, mDuration.get());
mView.enableUiElements();
mView.setSuccess();
- mMediaPlayer.seekTo(mPosition);
+ if (!mp.isPlaying()) {
+ mMediaPlayer.seekTo(mPosition);
+ }
if (mIsPlaying) {
resumePlayback();
diff --git a/java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java b/java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java
index 48602ea33..909de70bb 100644
--- a/java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/OmtpVoicemailMessageCreator.java
@@ -47,6 +47,12 @@ public class OmtpVoicemailMessageCreator {
@Nullable
public static VoicemailErrorMessage create(
Context context, VoicemailStatus status, final VoicemailStatusReader statusReader) {
+ VoicemailErrorMessage tosMessage =
+ new VoicemailTosMessageCreator(context, status, statusReader).maybeCreateTosMessage();
+ if (tosMessage != null) {
+ return tosMessage;
+ }
+
if (Status.CONFIGURATION_STATE_OK == status.configurationState
&& Status.DATA_CHANNEL_STATE_OK == status.dataChannelState
&& Status.NOTIFICATION_CHANNEL_STATE_OK == status.notificationChannelState) {
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailStatusCorruptionHandler.java b/java/com/android/dialer/app/voicemail/error/VoicemailStatusCorruptionHandler.java
index 2ff182b63..3a169e41c 100644
--- a/java/com/android/dialer/app/voicemail/error/VoicemailStatusCorruptionHandler.java
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailStatusCorruptionHandler.java
@@ -26,8 +26,8 @@ import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
import com.android.contacts.common.compat.TelephonyManagerCompat;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
diff --git a/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
new file mode 100644
index 000000000..3f0ed1f58
--- /dev/null
+++ b/java/com/android/dialer/app/voicemail/error/VoicemailTosMessageCreator.java
@@ -0,0 +1,301 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.app.voicemail.error;
+
+import android.app.AlertDialog;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+import android.support.annotation.Nullable;
+import android.telecom.PhoneAccountHandle;
+import android.telephony.TelephonyManager;
+import android.view.View;
+import android.view.View.OnClickListener;
+import com.android.contacts.common.compat.TelephonyManagerCompat;
+import com.android.dialer.app.voicemail.error.VoicemailErrorMessage.Action;
+import com.android.dialer.buildtype.BuildType;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
+import com.android.voicemail.VisualVoicemailTypeExtensions;
+import com.android.voicemail.VoicemailClient;
+import com.android.voicemail.VoicemailComponent;
+import java.util.Locale;
+
+/**
+ * Create error message from {@link VoicemailStatus} for voicemail. This is will show different
+ * terms of service for Verizon and for other carriers.
+ */
+public class VoicemailTosMessageCreator {
+ // Flag to check which version of the Verizon ToS that the user has accepted.
+ public static final String VVM3_TOS_VERSION_ACCEPTED_KEY = "vvm3_tos_version_accepted";
+
+ // Flag to check which version of the Google Dialer ToS that the user has accepted.
+ public static final String DIALER_TOS_VERSION_ACCEPTED_KEY = "dialer_tos_version_accepted";
+
+ public static final int CURRENT_VVM3_TOS_VERSION = 2;
+ public static final int CURRENT_DIALER_TOS_VERSION = 1;
+
+ private static final String ISO639_SPANISH = "es";
+
+ private final Context context;
+ private final VoicemailStatus status;
+ private final VoicemailStatusReader statusReader;
+ private final SharedPreferences preferences;
+
+ VoicemailTosMessageCreator(
+ final Context context,
+ final VoicemailStatus status,
+ final VoicemailStatusReader statusReader) {
+ this.context = context;
+ this.status = status;
+ this.statusReader = statusReader;
+ this.preferences = PreferenceManager.getDefaultSharedPreferences(context);
+ }
+
+ @Nullable
+ VoicemailErrorMessage maybeCreateTosMessage() {
+ // TODO: add filtering based on carrier
+ if (hasAcceptedTos()) {
+ return null;
+ }
+ // TODO: temporarily skip the terms of service for dogfood builds
+ if (BuildType.get() == BuildType.DOGFOOD) {
+ LogUtil.i(
+ "VoicemailTosMessageCreator.maybeCreateTosMessage",
+ "Skipping voicemail ToS for dogfood build");
+ return null;
+ }
+ logTosCreatedImpression();
+
+ return new VoicemailTosMessage(
+ getTosTitle(),
+ getTosMessage(),
+ new Action(
+ getDeclineText(),
+ new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ LogUtil.i("VoicemailTosMessageCreator.maybeShowTosMessage", "decline clicked");
+ PhoneAccountHandle handle =
+ new PhoneAccountHandle(
+ ComponentName.unflattenFromString(status.phoneAccountComponentName),
+ status.phoneAccountId);
+ logTosDeclinedImpression();
+ showDeclineTosDialog(handle);
+ }
+ }),
+ new Action(
+ getAcceptText(),
+ new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ LogUtil.i("VoicemailTosMessageCreator.maybeShowTosMessage", "accept clicked");
+ recordTosAcceptance();
+ logTosAcceptedImpression();
+ statusReader.refresh();
+ }
+ },
+ true /* raised */))
+ .setModal(true);
+ }
+
+ private void showDeclineTosDialog(final PhoneAccountHandle handle) {
+ if (isVvm3() && Vvm3VoicemailMessageCreator.PIN_NOT_SET == status.configurationState) {
+ LogUtil.i(
+ "VoicemailTosMessageCreator.showDeclineTosDialog", "PIN_NOT_SET, showing set PIN dialog");
+ showSetPinBeforeDeclineDialog();
+ return;
+ }
+ LogUtil.i(
+ "VoicemailTosMessageCreator.showDeclineVerizonTosDialog",
+ "showing decline ToS dialog, status=" + status);
+ final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ builder.setMessage(getTosDeclinedDialogMessageId());
+ builder.setPositiveButton(
+ getTosDeclinedDialogDowngradeId(),
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Logger.get(context).logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_DECLINED);
+ VoicemailClient voicemailClient = VoicemailComponent.get(context).getVoicemailClient();
+ if (voicemailClient.isVoicemailModuleEnabled()) {
+ voicemailClient.setVoicemailEnabled(context, status.getPhoneAccountHandle(), false);
+ } else {
+ TelephonyManagerCompat.setVisualVoicemailEnabled(telephonyManager, handle, false);
+ }
+ }
+ });
+
+ builder.setNegativeButton(
+ android.R.string.cancel,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ }
+ });
+
+ builder.setCancelable(true);
+ builder.show();
+ }
+
+ private void showSetPinBeforeDeclineDialog() {
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ builder.setMessage(R.string.verizon_terms_and_conditions_decline_set_pin_dialog_message);
+ builder.setPositiveButton(
+ R.string.verizon_terms_and_conditions_decline_set_pin_dialog_set_pin,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Logger.get(context)
+ .logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_DECLINE_CHANGE_PIN_SHOWN);
+ Intent intent = new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL);
+ context.startActivity(intent);
+ }
+ });
+
+ builder.setNegativeButton(
+ android.R.string.cancel,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ }
+ });
+
+ builder.setCancelable(true);
+ builder.show();
+ }
+
+ private boolean isVvm3() {
+ return VisualVoicemailTypeExtensions.VVM_TYPE_VVM3.equals(status.type);
+ }
+
+ private boolean useSpanish() {
+ return Locale.getDefault().getLanguage().equals(new Locale(ISO639_SPANISH).getLanguage());
+ }
+
+ private boolean hasAcceptedTos() {
+ if (isVvm3()) {
+ return preferences.getInt(VVM3_TOS_VERSION_ACCEPTED_KEY, 0) >= CURRENT_VVM3_TOS_VERSION;
+ } else {
+ return preferences.getInt(DIALER_TOS_VERSION_ACCEPTED_KEY, 0) >= CURRENT_DIALER_TOS_VERSION;
+ }
+ }
+
+ private void recordTosAcceptance() {
+ if (isVvm3()) {
+ preferences.edit().putInt(VVM3_TOS_VERSION_ACCEPTED_KEY, CURRENT_VVM3_TOS_VERSION).apply();
+ } else {
+ preferences
+ .edit()
+ .putInt(DIALER_TOS_VERSION_ACCEPTED_KEY, CURRENT_DIALER_TOS_VERSION)
+ .apply();
+ }
+ }
+
+ private void logTosCreatedImpression() {
+ if (isVvm3()) {
+ Logger.get(context).logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_V2_CREATED);
+ } else {
+ Logger.get(context).logImpression(DialerImpression.Type.VOICEMAIL_DIALER_TOS_CREATED);
+ }
+ }
+
+ private void logTosDeclinedImpression() {
+ if (isVvm3()) {
+ Logger.get(context)
+ .logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_V2_DECLINE_CLICKED);
+ } else {
+ Logger.get(context).logImpression(DialerImpression.Type.VOICEMAIL_DIALER_TOS_DECLINE_CLICKED);
+ }
+ }
+
+ private void logTosAcceptedImpression() {
+ if (isVvm3()) {
+ Logger.get(context).logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_V2_ACCEPTED);
+ } else {
+ Logger.get(context).logImpression(DialerImpression.Type.VOICEMAIL_DIALER_TOS_ACCEPTED);
+ }
+ }
+
+ private CharSequence getVvm3Tos() {
+ return useSpanish()
+ ? context.getString(R.string.verizon_terms_and_conditions_1_1_spanish)
+ : context.getString(R.string.verizon_terms_and_conditions_1_1_english);
+ }
+
+ private CharSequence getDialerTos() {
+ return useSpanish()
+ ? context.getString(R.string.dialer_terms_and_conditions_1_0_spanish)
+ : context.getString(R.string.dialer_terms_and_conditions_1_0_english);
+ }
+
+ private CharSequence getAcceptText() {
+ if (isVvm3()) {
+ return useSpanish()
+ ? context.getString(R.string.verizon_terms_and_conditions_accept_spanish)
+ : context.getString(R.string.verizon_terms_and_conditions_accept_english);
+ } else {
+ return useSpanish()
+ ? context.getString(R.string.dialer_terms_and_conditions_accept_spanish)
+ : context.getString(R.string.dialer_terms_and_conditions_accept_english);
+ }
+ }
+
+ private CharSequence getDeclineText() {
+ if (isVvm3()) {
+ return useSpanish()
+ ? context.getString(R.string.verizon_terms_and_conditions_decline_spanish)
+ : context.getString(R.string.verizon_terms_and_conditions_decline_english);
+ } else {
+ return useSpanish()
+ ? context.getString(R.string.dialer_terms_and_conditions_decline_spanish)
+ : context.getString(R.string.dialer_terms_and_conditions_decline_english);
+ }
+ }
+
+ private String getTosTitle() {
+ return isVvm3()
+ ? context.getString(R.string.verizon_terms_and_conditions_title)
+ : context.getString(R.string.dialer_terms_and_conditions_title);
+ }
+
+ private String getTosMessage() {
+ return isVvm3()
+ ? context.getString(
+ R.string.verizon_terms_and_conditions_message, getDialerTos(), getVvm3Tos())
+ : context.getString(R.string.dialer_terms_and_conditions_message, getDialerTos());
+ }
+
+ private int getTosDeclinedDialogMessageId() {
+ return isVvm3()
+ ? R.string.verizon_terms_and_conditions_decline_dialog_message
+ : R.string.dialer_terms_and_conditions_decline_dialog_message;
+ }
+
+ private int getTosDeclinedDialogDowngradeId() {
+ return isVvm3()
+ ? R.string.verizon_terms_and_conditions_decline_dialog_downgrade
+ : R.string.dialer_terms_and_conditions_decline_dialog_downgrade;
+ }
+}
diff --git a/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java b/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
index 132e8a328..e639eff23 100644
--- a/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
+++ b/java/com/android/dialer/app/voicemail/error/Vvm3VoicemailMessageCreator.java
@@ -16,32 +16,19 @@
package com.android.dialer.app.voicemail.error;
-import android.app.AlertDialog;
-import android.content.ComponentName;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Build.VERSION_CODES;
-import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
-import android.support.annotation.VisibleForTesting;
-import android.telecom.PhoneAccountHandle;
-import android.telephony.TelephonyManager;
import android.view.View;
import android.view.View.OnClickListener;
-import com.android.contacts.common.compat.TelephonyManagerCompat;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.dialer.app.voicemail.error.VoicemailErrorMessage.Action;
-import com.android.dialer.common.LogUtil;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
-import com.android.voicemail.VoicemailClient;
-import com.android.voicemail.VoicemailComponent;
-import java.util.Locale;
/**
* Create error message from {@link VoicemailStatus} for VVM3 visual voicemail. VVM3 is used only by
@@ -84,15 +71,13 @@ public class Vvm3VoicemailMessageCreator {
public static final int PIN_NOT_SET = -100;
public static final int SUBSCRIBER_UNKNOWN = -99;
- private static final String ISO639_SPANISH = "es";
- @VisibleForTesting static final String VVM3_TOS_ACCEPTANCE_FLAG_KEY = "vvm3_tos_acceptance_flag";
-
@Nullable
public static VoicemailErrorMessage create(
final Context context,
final VoicemailStatus status,
final VoicemailStatusReader statusReader) {
- VoicemailErrorMessage tosMessage = maybeShowTosMessage(context, status, statusReader);
+ VoicemailErrorMessage tosMessage =
+ new VoicemailTosMessageCreator(context, status, statusReader).maybeCreateTosMessage();
if (tosMessage != null) {
return tosMessage;
}
@@ -299,135 +284,4 @@ public class Vvm3VoicemailMessageCreator {
}
});
}
-
- @Nullable
- private static VoicemailErrorMessage maybeShowTosMessage(
- final Context context,
- final VoicemailStatus status,
- final VoicemailStatusReader statusReader) {
- final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
- if (preferences.getBoolean(VVM3_TOS_ACCEPTANCE_FLAG_KEY, false)) {
- return null;
- }
- Logger.get(context).logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_SHOWN);
-
- CharSequence termsAndConditions;
- CharSequence acceptText;
- CharSequence declineText;
- // TODO(b/29082671): use LocaleList
- if (Locale.getDefault().getLanguage().equals(new Locale(ISO639_SPANISH).getLanguage())) {
- // Spanish
- termsAndConditions = context.getString(R.string.verizon_terms_and_conditions_1_1_spanish);
- acceptText = context.getString(R.string.verizon_terms_and_conditions_accept_spanish);
- declineText = context.getString(R.string.verizon_terms_and_conditions_decline_spanish);
- } else {
- termsAndConditions = context.getString(R.string.verizon_terms_and_conditions_1_1_english);
- acceptText = context.getString(R.string.verizon_terms_and_conditions_accept_english);
- declineText = context.getString(R.string.verizon_terms_and_conditions_decline_english);
- }
-
- return new VoicemailTosMessage(
- context.getString(R.string.verizon_terms_and_conditions_title),
- context.getString(R.string.verizon_terms_and_conditions_message, termsAndConditions),
- new Action(
- declineText,
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- LogUtil.i("Vvm3VoicemailMessageCreator.maybeShowTosMessage", "decline clicked");
- PhoneAccountHandle handle =
- new PhoneAccountHandle(
- ComponentName.unflattenFromString(status.phoneAccountComponentName),
- status.phoneAccountId);
- Logger.get(context)
- .logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_DECLINE_CLICKED);
- showDeclineTosDialog(context, handle, status);
- }
- }),
- new Action(
- acceptText,
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- LogUtil.i("Vvm3VoicemailMessageCreator.maybeShowTosMessage", "accept clicked");
- preferences.edit().putBoolean(VVM3_TOS_ACCEPTANCE_FLAG_KEY, true).apply();
- Logger.get(context)
- .logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_ACCEPTED);
- statusReader.refresh();
- }
- },
- true /* raised */))
- .setModal(true);
- }
-
- private static void showDeclineTosDialog(
- final Context context, final PhoneAccountHandle handle, VoicemailStatus status) {
- if (PIN_NOT_SET == status.configurationState) {
- LogUtil.i(
- "Vvm3VoicemailMessageCreator.showDeclineTosDialog",
- "PIN_NOT_SET, showing set PIN dialog");
- showSetPinBeforeDeclineDialog(context);
- return;
- }
- LogUtil.i(
- "Vvm3VoicemailMessageCreator.showDeclineTosDialog",
- "showing decline ToS dialog, status=" + status);
- final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setMessage(R.string.verizon_terms_and_conditions_decline_dialog_message);
- builder.setPositiveButton(
- R.string.verizon_terms_and_conditions_decline_dialog_downgrade,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Logger.get(context).logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_DECLINED);
- VoicemailClient voicemailClient = VoicemailComponent.get(context).getVoicemailClient();
- if (voicemailClient.isVoicemailModuleEnabled()) {
- voicemailClient.setVoicemailEnabled(context, status.getPhoneAccountHandle(), false);
- } else {
- TelephonyManagerCompat.setVisualVoicemailEnabled(telephonyManager, handle, false);
- }
- }
- });
-
- builder.setNegativeButton(
- android.R.string.cancel,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
-
- builder.setCancelable(true);
- builder.show();
- }
-
- private static void showSetPinBeforeDeclineDialog(final Context context) {
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setMessage(R.string.verizon_terms_and_conditions_decline_set_pin_dialog_message);
- builder.setPositiveButton(
- R.string.verizon_terms_and_conditions_decline_set_pin_dialog_set_pin,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Logger.get(context)
- .logImpression(DialerImpression.Type.VOICEMAIL_VVM3_TOS_DECLINE_CHANGE_PIN_SHOWN);
- Intent intent = new Intent(TelephonyManager.ACTION_CONFIGURE_VOICEMAIL);
- context.startActivity(intent);
- }
- });
-
- builder.setNegativeButton(
- android.R.string.cancel,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
-
- builder.setCancelable(true);
- builder.show();
- }
}
diff --git a/java/com/android/dialer/app/voicemail/error/res/layout/voicemail_tos_fragment.xml b/java/com/android/dialer/app/voicemail/error/res/layout/voicemail_tos_fragment.xml
index c193eaa47..a082e8e67 100644
--- a/java/com/android/dialer/app/voicemail/error/res/layout/voicemail_tos_fragment.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/layout/voicemail_tos_fragment.xml
@@ -1,4 +1,18 @@
<?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.
+-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -68,4 +82,4 @@
android:text="@string/verizon_terms_and_conditions_accept_english"/>
</LinearLayout>
-</LinearLayout> \ No newline at end of file
+</LinearLayout>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-af/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-af/strings.xml
index 9c64735af..ab951eb11 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-af/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-af/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktiveer tans visuele stemboodskapdiens"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Jy sal dalk nie stemboodskapkennisgewings ontvang totdat visuele stemboodskapdiens heeltemal geaktiveer is nie. Bel stemboodskapdiens om nuwe boodskappe te kry totdat stemboodskapdiens volledig geaktiveer is."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Kan nie visuele stemboodskapdiens aktiveer nie"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Maak seker jou foon het sellulêre verbinding en probeer weer."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Maak seker jou foon het ’n mobiele netwerkverbinding en probeer weer."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Skakel vliegtuigmodus af en probeer weer."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Geen verbinding nie"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Jy sal nie van nuwe stemboodskappe in kennis gestel word nie. As jy op Wi-Fi is, kan jy jou stemboodskapdiens nagaan deur nou te sinkroniseer."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Jy sal nie van nuwe stemboodskappe in kennis gestel word nie. As jy op Wi-Fi is, kan jy jou stemboodskapdiens nagaan deur nou te sinkroniseer."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Jy sal nie van nuwe stemboodskappe in kennis gestel word nie. Skakel vliegtuigmodus af om jou stemboodskapdiens te sinkroniseer."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Jou foon benodig \'n sellulêre dataverbinding om stemboodskapdiens na te gaan."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Jou foon benodig \'n mobiele dataverbinding om stemboodskapdiens na te gaan"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Kan nie visuele stemboodskapdiens aktiveer nie"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Jy kan steeds bel om stemboodskapdiens na te gaan."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Kan nie visuele stemboodskapdiens opdateer nie"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Probeer weer wanneer jou Wi-Fi- of sellulêre verbinding beter is. Jy kan steeds bel om stemboodskapdiens na te gaan."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Probeer weer wanneer jou sellulêredataverbinding beter is. Jy kan steeds bel om stemboodskapdiens na te gaan."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Probeer weer wanneer jou Wi-Fi- of mobiele dataverbinding beter is. Jy kan steeds bel om stemboodskapdiens na te gaan."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Probeer weer wanneer jou mobiele dataverbinding beter is. Jy kan steeds bel om stemboodskapdiens na te gaan."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Kan nie visuele stemboodskapdiens opdateer nie"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Jy kan steeds bel om stemboodskapdiens na te gaan."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Kan nie visuele stemboodskapdiens opdateer nie"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Iets het verkeerd geloop"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontak asseblief Kliëntediens by <xliff:g id="NUMBER">%1$s</xliff:g> en gee vir hulle die foutkode 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Visuele stemboodskapdiens se bepalings en voorwaardes"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Jy moet Verizon Wireless se bepalings en voorwaardes aanvaar om visuele stemboodskapdiens te gebruik:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nJy moet Verizon Wireless se bepalings en voorwaardes aanvaar om visuele stemboodskappe te gebruik:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Skakel visuele stemboodskappe aan"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visuele stemboodskapdiens sal gedeaktiveer word as die bepalings en voorwaardes afgekeur word."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Deaktiveer visuele stemboodskapdiens"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Stemboodskaptranskripsie sal gedeaktiveer word as die bepalings en voorwaardes afgekeur word."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Deaktiveer stemboodskaptranskripsie"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Stempos sal slegs toeganklik wees as jy *86 bel. Stel \'n nuwe stempos-PIN om voort te gaan."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Stel PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-am/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-am/strings.xml
index 502b87304..14482e999 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-am/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-am/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"እይታዊ የድምጽ መልዕክት በማግበር ላይ"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"እይታዊ የድምጽ መልዕክት ሙሉ ለሙሉ እስከሚነቃ ድረስ የድምፅ መልዕክት ማሳወቂያዎችን ላይቀበሉ ይችላሉ። የድምጽ መልዕክት ሙሉ ለሙሉ እስኪያገብር ድረስ አዲስ መልዕክቶችን ለማምጣት ወደ ድምፅ መልዕክት ይደውሉ።"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"እይታዊ የድምጽ መልዕክትን ማግበር አይቻልም"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"ስልክዎ የሴሉላር ግንኙነት እንዳለው ያረጋግጡና እንደገና ይሞክሩ።"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"ስልክዎ የተንቀሳቃሽ ስልክ አውታረ መረብ ግንኙነት እንዳለው ያረጋግጡና እንደገና ይሞክሩ።"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"የአውሮፕላን ሁነታን ያጥፉ እና እንደገና ይሞክሩ።"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"ምንም ግንኙነት የለም"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"ለአዲስ የድምጽ መልዕክቶች ማሳወቂያ አይደርስዎትም። Wi-Fi ላይ ከሆኑ አሁን በማስመር የድምጽ መልዕክትን መፈተሽ ይችላሉ።"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"ለአዲስ የድምጽ መልዕክቶች ማሳወቂያ አይደርስዎትም። Wi-Fi ላይ ከሆኑ አሁን በማስመር የድምጽ መልዕክትን መፈተሽ ይችላሉ።"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"ለአዲስ የድምጽ መልዕክቶች ማሳወቂያ አይደርስዎትም። የድምጽ መልዕክትዎን ለማስመር የአውሮፕላን ሁነታን ያጥፉ።"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"የድምጽ መልዕክት ለመፈተሽ ስልክዎ የሴሉላር ውሂብ ያስፈልገዋል።"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"የድምጽ መልዕክትን ለመፈተሽ ስልክዎ የተንቀሳቃሽ ስልክ ውሂብ ግንኙነት ያስፈልገዋል።"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"እይታዊ የድምጽ መልዕክትን ማግበር አይቻልም"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"አሁንም ቢሆን የድምጽ መልዕክትን ለመፈተሽ መደወል ይችላሉ።"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"እይታዊ የድምጽ መልዕክትን ማዘመን አይቻልም"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"የWi-Fi ወይም ሴሉላር ግንኙነትዎ ሲሻሻል እንደገና ይሞክሩ። አሁንም ቢሆን የድምጽ መልዕክት ለመፈተሽ መደወል ይችላሉ።"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"የሴሉላር ውሂብዎ ሲሻሻል እንደገና ይሞክሩ። አሁንም ቢሆን የድምጽ መልዕክትዎን ለመፈተሽ መደወል ይችላሉ።"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"የWi‑Fi ወይም የተንቀሳቃሽ ስልክ ውሂብ ግንኙነትዎ ሲሻሻል እንደገና ይሞክሩ። አሁንም ቢሆን የድምጽ መልዕክትዎን ለመፈተሽ መደወል ይችላሉ።"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"የተንቀሳቃሽ ስልክ ውሂብ ግንኙነትዎ ሲሻሻል እንደገና ይሞክሩ። አሁንም ቢሆን የድምጽ መልዕክትዎን ለመፈተሽ መደወል ይችላሉ።"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"እይታዊ የድምጽ መልዕክትን ማዘመን አይቻልም"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"አሁንም ቢሆን የድምጽ መልዕክትን ለመፈተሽ መደወል ይችላሉ።"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"እይታዊ የድምጽ መልዕክትን ማዘመን አይቻልም"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"የሆነ ችግር ተፈጥሯል"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"እባክዎ የደንበኛ አገልግሎትን በ<xliff:g id="NUMBER">%1$s</xliff:g> ላይ ያግኙ እና የስህተት ቁጥሩ 9999 እንደሆነ ይንገሯቸው።"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Visual Voicemail የአገልግሎት ውል"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"እይታዊ የድምጽ መልዕክትን ለመጠቀም የVerizon Wirelessን የአገልግሎት ውል መቀበል አለብዎ፦ \n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nእይታዊ የድምጽ መልዕክትን ለመጠቀም የVerizon Wirelessን የአገልግሎት ውል መቀበል አለብዎ፦\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"እይታዊ የድምጽ መልዕክን አብራ"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"የአገልግሎት ውሉ ተቀባይነት ካላገኘ እይታዊ የድምጽ መልዕክት ይወገዳል።"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"እይታዊ የድምጽ መልዕክትን አስወግድ"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"የአገልግሎት ውል ተቀባይነት ካላገኙ፣ የድምጽ መልዕክት ወደ ጽሁፍ መለወጥ ይሰናከላል።"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"የድምጽ መልዕክትን ወደ ጽሁፍ መለወጥን አሰናክል"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"የድምጽ መልዕክት ላይ መድረስ የሚቻለው *86 በመደወል ብቻ ነው። ለመቀጠል አዲስ የድምጽ መልዕክት ፒን ያዘጋጁ።"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"ፒን ያዘጋጁ"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ar/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ar/strings.xml
index 6d462ef41..91f639872 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ar/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ar/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"تنشيط البريد الصوتي المرئي"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"قد لا تتلقّى إشعارات البريد الصوتي حتى يتم تنشيط البريد الصوتي المرئي تمامًا. يمكنك الاتصال بالبريد الصوتي لاسترداد الرسائل الجديدة إلى أن يتم تنشيط البريد الصوتي تمامًا."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"يتعذر تنشيط البريد الصوتي المرئي"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"تأكد من وجود اتصال جوال على هاتفك وحاول مرة أخرى."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"تأكد من أن هاتفك توجد به اتصال شبكة جوال وحاول مرة أخرى."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"أوقف تشغيل وضع الطائرة وحاول مرة أخرى."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"لا يتوفر اتصال"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"‏لن يتم إعلامك برسائل البريد الصوتي الجديدة. إذا كنت تستخدم شبكة Wi-Fi، فيمكنك التحقق من البريد الصوتي عن طريق إجراء المزامنة الآن."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"‏لن يتم إعلامك برسائل البريد الصوتي الجديدة. إذا كنت تستخدم شبكة Wi-Fi، فيمكنك التحقق من البريد الصوتي عن طريق إجراء المزامنة الآن."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"لن يتم إعلامك برسائل البريد الصوتي الجديدة. أوقف تشغيل وضع الطائرة لمزامنة بريدك الصوتي."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"يحتاج هاتفك إلى اتصال جوال للتحقق من البريد الصوتي."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"يحتاج هاتفك إلى اتصال بيانات جوال للتحقق من البريد الصوتي."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"يتعذر تنشيط البريد الصوتي المرئي"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"لا يزال بإمكانك إجراء الاتصال للتحقق من البريد الصوتي."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"يتعذر تحديث البريد الصوتي المرئي"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"‏حاول مرة أخرى عندما يكون لديك اتصال Wi-Fi أو جوال أفضل. لا يزال بإمكانك الاتصال والتحقق من البريد الصوتي."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"حاول مرة أخرى عندما يكون لديك اتصال جوال أفضل. لا يزال بإمكانك الاتصال والتحقق من البريد الصوتي."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"‏حاول مرة أخرى عندما يكون لديك اتصال Wi-Fi أو جوال أفضل. لا يزال بإمكانك الاتصال والتحقق من البريد الصوتي."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"حاول مرة أخرى عندما يكون لديك اتصال جوال أفضل. لا يزال بإمكانك الاتصال والتحقق من البريد الصوتي."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"يتعذر تحديث البريد الصوتي المرئي"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"لا يزال بإمكانك إجراء الاتصال للتحقق من البريد الصوتي."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"يتعذر تحديث البريد الصوتي المرئي"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"حدث خطأٌ ما"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"يُرجى الاتصال بخدمة العملاء على الرقم <xliff:g id="NUMBER">%1$s</xliff:g> وإبلاغهم أن رمز الخطأ هو 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"البنود والشروط للبريد الصوتي المرئي"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"‏يجب قبول البنود والشروط لاتصال Verizon اللاسلكي من أجل استخدام البريد الصوتي المرئي:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"‏%1$s\n\nينبغي لك قبول البنود والشروط التي تخص Verizon Wireless لاستخدام البريد الصوتي المرئي:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"تشغيل البريد الصوتي المرئي"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"سيتم تعطيل البريد الصوتي المرئي في حالة رفض البنود والشروط."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"تعطيل البريد الصوتي المرئي"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"سيتم تعطيل نسخ البريد الصوتي في حالة رفض البنود والشروط."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"تعطيل نسخ البريد الصوتي"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"يمكن الوصول إلى البريد الصوتي فقط عن طريق طلب *86. ينبغي تعيين رقم تعريف شخصي جديد للبريد الصوتي للمتابعة."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"تعيين رقم التعريف الشخصي"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-az/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-az/strings.xml
index 33ddafa0a..58479841e 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-az/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-az/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Vizual Səsli Mesaj aktiv edilir"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Vizual səsli mesaj tam aktiv edilənə klim səsli mesaj bildirişi ala bilməzsiniz. Səsli mesaj tam aktiv edilənə kimi yeni mesajları əldə etmək üçün səsli poçta zəng edin."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Vizual Səsli Mesaj aktiv edilə bilmir"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Telefonunuzda mobil bağlantı olduğuna əmin olun və yenidən cəhd edin."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Əmin olun ki, telefonun şəbəkə bağlantısı var və yenidən cəhd edin."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Təyyarə rejimini deaktiv edin və yenidən cəhd edin."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Bağlantı yoxdur"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Yeni gələn səsli mesajlara görə bildiriş almayacaqsınız. Wi-Fi qoşuludursa, sinxronizasiya etməklə səsli mesajları yoxlaya bilərsiniz."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Yeni gələn səsli e-məktublara görə bildiriş almayacaqsınız. Wi-Fi qoşuludursa, sinxronizasiya etməklə səsli e-məktubları yoxlaya bilərsiniz."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Yeni gələn səsli mesajlara görə bildiriş almayacaqsınız. Səsli mesajları sinxronizasiya etmək üçün təyyarə rejimini deaktiv edin."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Səsli mesajları yoxlamaq üçün telefonda mobil data bağlantısı olmalıdır."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Səsli e-məktubları yoxlamaq üçün telefonda mobil data bağlantısı olmalıdır."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Vizual Səsli Mesaj aktiv edilə bilmir"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Səsli mesajları yoxlamaq üçün yenə də zəng edə bilərsiniz."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Vizual səsli mesajları yeniləmək olmur"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Wi-Fivə ya mobil data bağlantısı yaxşı olduqda bir daha yoxlayın. Səsli mesajları yoxlamaq üçün yenə də zəng edə bilərsiniz."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Mobil data bağlantısı yaxşı olduqda bir daha yoxlayın. Səsli mesajları yoxlamaq üçün yenə də zəng edə bilərsiniz."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Wi‑Fi və ya mobil data bağlantısı daha yaxşı olduqda yenidən cəhd edin. Səsli e-məktubları yoxlamaq üçün yenə də zəng edə bilərsiniz."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Mobil data bağlantısı yaxşı olduqda bir daha yoxlayın. Səsli e-məktubları yoxlamaq üçün yenə də zəng edə bilərsiniz."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Vizual səsli mesajları yeniləmək olmur"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Səsli mesajları yoxlamaq üçün yenə də zəng edə bilərsiniz."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Vizual səsli mesajları yeniləmək olmur"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Nəsə Xəta Oldu"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Lütfən, <xliff:g id="NUMBER">%1$s</xliff:g> nömrəsi ilə Müştəri Xidmətinə zəng edin. Xəta kodu 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Vizual Səsli Poçt Şərtləri və Qaydaları"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Vizual səsli poçtu istifadə etmək üçün Verizon Wireless şərtlər və qaydalarını qəbul etməlisiniz:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nGörünən səsli e-poçtdan istifadə etmək üçün Verizon Wireless\'in şərt və qaydalarını qəbul etməlisiniz:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Görünən Səsli e-poçtu aktiv edin"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Şərtlər və qaydalar rədd edilsə, vizual səsli poçt deaktiv ediləcək."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Vizual səsli poçtu deaktiv edin"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Şərt və qaydalar rədd edilərsə, səsli e-poçt transkripsiyası deaktiv ediləcək."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Səsli e-poçt transkripsiyasını deaktiv edin"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Səsli məktub yalnız *86 nömrəsinə zəng etməklə mümkündür. Davam etmək üçün yeni səsli məktub PIN kodu təyin edin."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN kodu ayarlayın"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-b+sr+Latn/strings.xml
index 98dc0619d..dc9c23a37 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-b+sr+Latn/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktivira se vizuelna govorna pošta"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Možda nećete dobijati obaveštenja o govornoj pošti dok potpuno ne aktivirate vizuelnu govornu poštu. Pozovite govornu poštu da biste preuzeli nove poruke dok govorna pošta ne bude potpuno aktivirana."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Aktiviranje vizuelne govorne pošte nije uspelo"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Proverite da li telefon ima mobilnu vezu i pokušajte ponovo."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Proverite da li telefon ima vezu preko mobilne mreže i probajte ponovo."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Isključite režim rada u avionu i pokušajte ponovo."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Veza nije uspostavljena"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nećete dobijati obaveštenja o novim govornim porukama. Ako ste na Wi-Fi mreži, sinhronizujte da biste proverili govornu poštu."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nećete dobijati obaveštenja o novim govornim porukama. Ako ste na Wi‑Fi mreži, možete da sinhronizujete da biste proverili govornu poštu."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nećete dobijati obaveštenja o novim govornim porukama. Isključite režim rada u avionu da biste sinhronizovali govornu poštu."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Telefonu treba mobilna veza za prenos podataka da biste proverili govornu poštu."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefonu je za proveru govorne pošte potrebna mobilna veza za prenos podataka."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Aktiviranje vizuelne govorne pošte nije uspelo"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"I dalje možete da pozovete govornu poštu da biste je proverili."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Ažuriranje vizuelne govorne pošte nije uspelo"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Probajte ponovo kad budete imali bolju Wi-Fi ili mobilnu vezu. I dalje možete da pozovete govornu poštu da biste je proverili."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Probajte ponovo kad budete imali bolju mobilnu vezu za prenos podataka. I dalje možete da pozovete govornu poštu da biste je proverili."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Probajte ponovo kad budete imali bolju Wi‑Fi ili mobilnu vezu za prenos podataka. I dalje možete da pozovete govornu poštu da biste je proverili."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Probajte ponovo kad budete imali bolju mobilnu vezu za prenos podataka. I dalje možete da pozovete govornu poštu da biste je proverili."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Ažuriranje vizuelne govorne pošte nije uspelo"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"I dalje možete da pozovete govornu poštu da biste je proverili."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Ažuriranje vizuelne govorne pošte nije uspelo"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Nešto nije u redu"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontaktirajte korisničku podršku na <xliff:g id="NUMBER">%1$s</xliff:g> i recite im da je kôd greške 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Uslovi i odredbe za vizuelnu govornu poštu"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Morate da prihvatite Verizon Wireless uslove i odredbe da biste koristili vizuelnu govornu poštu:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nMorate da prihvatite Verizon Wireless uslove i odredbe da biste koristili vizuelnu govornu poštu:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Uključite vizuelnu govornu poštu"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Ako odbijete uslove i odredbe, onemogućićete vizuelnu govornu poštu."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Onemogućite vizuelnu govornu poštu"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transkripcija govorne pošte će biti onemogućena ako se uslovi i odredbe odbiju."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Onemogućite transkripciju govorne pošte"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Govornoj pošti ćete moći da pristupite samo ako pozovete *86. Podesite novi PIN kôd govorne pošte da biste nastavili."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Podesite PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-be/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-be/strings.xml
index 50f32af4f..368a41fbe 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-be/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-be/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Актывацыя візуальнай галасавой пошты"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Вы можаце не атрымліваць апавяшчэнні галасавой пошты, пакуль візуальная галасавая пошта не будзе поўнасцю актывавана. Каб атрымліваць новыя паведамленні да завяршэння актывацыі, выклікайце галасавую пошту."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Немагчыма актываваць візуальную галасавую пошту"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Пераканайцеся, што ваш тэлефон падключаны да сотавай сеткі і паўтарыце спробу."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Пераканайцеся, што ваш тэлефон падключаны да мабільнай сеткі і паўтарыце спробу."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Выключыце рэжым палёту і паўтарыце спробу."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Няма падключэння"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Вас не будуць апавяшчаць аб новых галасавых паведамленнях. Калі вы падключаны да Wi-Fi, можаце праверыць галасавую пошту шляхам сінхранізацыі."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Вас не будуць апавяшчаць аб новых галасавых паведамленнях. Калі вы падключаны да Wi-Fi, можаце праверыць галасавую пошту шляхам сінхранізацыі."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Вас не будуць апавяшчаць аб новых галасавых паведамленнях. Выключыце рэжым палёту і сінхранізуйце сваю галасавую пошту."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Каб праверыць галасавую пошту, вашаму тэлефону патрэбна падключэнне да сотавай перадачы даных."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Каб праверыць галасавую пошту, вашаму тэлефону патрэбна падключэнне да мабільнай перадачы даных."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Немагчыма актываваць візуальную галасавую пошту"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Вы надалей можаце пазваніць, каб праверыць галасавую пошту."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Немагчыма абнавіць візуальную галасавую пошту"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Паўтарыце спробу, калі падключэнне да Wi-Fi да сотавай перадачы даных палепшыцца. Вы надалей можаце пазваніць, каб праверыць галасавую пошту."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Паўтарыце спробу, калі паша падключэнне да сотавай перадачы даных палепшыцца. Вы надалей можаце пазваніць, каб праверыць галасавую пошту."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Паўтарыце спробу, калі падключэнне да Wi-Fi або да мабільнай перадачы даных палепшыцца. Вы надалей можаце пазваніць, каб праверыць галасавую пошту."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Паўтарыце спробу, калі паша падключэнне да мабільнай перадачы даных палепшыцца. Вы надалей можаце пазваніць, каб праверыць галасавую пошту."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Немагчыма абнавіць візуальную галасавую пошту"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Вы надалей можаце пазваніць, каб праверыць галасавую пошту."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Немагчыма абнавіць візуальную галасавую пошту"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Нешта пайшло не так"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Звяжыцеся са Службай падтрымкі па нумары <xliff:g id="NUMBER">%1$s</xliff:g> і паведаміце код памылкі 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Умовы візуальнай галасавой пошты"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Вы павінны прыняць ўмовы Verizon Wireless, каб можна было карыстацца візуальнай галасавой поштай:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nВы павінны прыняць правілы і ўмовы Verizon Wireless, каб можна было карыстацца візуальнай галасавой поштай:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Уключыць візуальную галасавую пошту"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Без згоды з правіламі і ўмовамі візуальная галасавая пошта будзе адключана."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Адключыць візуальную галасавую пошту"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Без згоды з правіламі і ўмовамі транскрыпцыя галасавой пошты будзе адключана."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Адключыць транскрыпцыю галасавой пошты"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Галасавая пошта даступна толькі па выкліку на нумар *86. Каб працягнуць, задайце новы PIN-код галасавой пошты."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Задаць PIN-код"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-bg/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-bg/strings.xml
index dbca19ea2..6e3463ff9 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-bg/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-bg/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Визуалната гласова поща се активира"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Възможно е да не получавате известия за гласова поща, докато визуалната гласова поща не бъде напълно активирана. Обаждайте се на номера за гласова поща, за да получавате нови съобщения, докато гласовата поща не е активирана."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Визуалната гласова поща не може да се активира"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Проверете дали телефонът ви има мобилна връзка и опитайте отново."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Проверете дали телефонът ви има връзка с мобилната мрежа и опитайте отново."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Изключете самолетния режим и опитайте отново."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Няма връзка"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Няма да бъдете известявани за нови гласови съобщения. Ако използвате Wi-Fi, можете да проверите за гласова поща, като синхронизирате сега."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Няма да бъдете известявани за нови гласови съобщения. Ако използвате Wi-Fi, можете да проверите за гласова поща, като синхронизирате сега."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Няма да бъдете известявани за нови гласови съобщения. Изключете самолетния режим, за да синхронизирате гласовата си поща."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"За да проверите гласовата поща, телефонът ви трябва да използва връзка за мобилни данни."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"За да проверите гласовата поща, телефонът ви трябва да използва мобилна връзка за данни."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Визуалната гласова поща не може да се активира"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Все пак можете да проверите гласовата поща с обаждане."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Визуалната гласова поща не може да се актуализира."</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Опитайте отново, когато имате по-добра Wi-Fi или мобилна връзка. Все пак можете да проверите гласовата поща с обаждане."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Опитайте отново, когато имате по-добра връзка за мобилни данни. Все пак можете да проверите гласовата поща с обаждане."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Опитайте отново, когато имате по-добра Wi-Fi връзка или мобилна връзка за данни. Пак можете да проверите гласовата си поща чрез обаждане."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Опитайте отново, когато имате по-добра мобилна връзка за данни. Пак можете да проверите гласовата си поща чрез обаждане."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Визуалната гласова поща не може да се актуализира."</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Все пак можете да проверите гласовата поща с обаждане."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Визуалната гласова поща не може да се актуализира."</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Нещо се обърка"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Моля, свържете се с екипа за поддръжка на клиенти на телефон <xliff:g id="NUMBER">%1$s</xliff:g> и кажете, че кодът на грешката е 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Общи условия за визуалната гласова поща"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"За да използвате визуалната гласова поща, трябва да приемете Общите условия на Verizon:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nЗа да използвате визуалната гласова поща, трябва да приемете Общите условия на Verizon:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Включване на визуалната гласова поща"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Ако отхвърлите Общите условия, визуалната гласова поща ще бъде деактивирана."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Деактивиране на визуалната гласова поща"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Ако отхвърлите Общите условия, създаването на преписи на гласовите съобщения ще бъде деактивирано."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Деактивиране на преписите на гласовите съобщения"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Ще имате достъп до гласовата поща само когато наберете *86. За да продължите, задайте нов ПИН за гласовата поща."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Задаване на ПИН"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-bn/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-bn/strings.xml
index 5954448ee..867ca8557 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-bn/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-bn/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"ভিজ্যুয়াল ভয়েসমেল সক্রিয়করণ"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"ভিজ্যুয়াল ভয়েসমেল সম্পূর্ণরূপে সক্রিয় না করা পর্যন্ত আপনি ভয়েসমেল সংক্রান্ত কোনো বিজ্ঞপ্তি নাও পেতে পারেন৷ ভয়েসমেল সম্পূর্ণরূপে সক্রিয় না হওয়া পর্যন্ত নতুন বার্তাগুলিকে পুনরুদ্ধার করতে ভয়েসমেলে কল করুন৷"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"ভিজ্যুয়াল ভয়েসমেল সক্রিয় করবেন না"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"নিশ্চিত করুন যে আপনার ফোনে সেলুলার সংযোগ আছে এবং আবার চেষ্টা করুন।"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"আপনার ফোনে কোনো মোবাইল নেটওয়ার্ক সংযোগ আছে কিনা নিশ্চিত করে আবার চেষ্টা করুন।"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"বিমান মোড বন্ধ করুন এবং আবার চেষ্টা করুন।"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"কোনো সংযোগ নেই"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"আপনাকে নতুন ভয়েসমেলগুলির জন্য সূচিত করা হবে না। আপনি Wi-Fi ব্যবহার করলে, আপনি এখনই সিঙ্ক করে ভয়েসমেল চেক করতে পারেন।"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"আপনাকে নতুন ভয়েসমেলগুলির জন্য সূচিত করা হবে না। আপনি ওয়াই-ফাই ব্যবহার করলে, এখনই সিঙ্ক করে ভয়েসমেল চেক করতে পারেন।"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"আপনাকে নতুন ভয়েসমেলগুলির জন্য সূচিত করা হবে না। আপনার ভয়েসমেলে সিঙ্ক করার জন্য বিমান মোড বন্ধ করুন।"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"ভয়েসমেল চেক করার জন্য আপনার ফোনের একটি সেলুলার ডেটার প্রয়োজন।"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"ভয়েসমেল চেক করার জন্য আপনার ফোনের একটি মোবাইল ডেটা সংযোগের প্রয়োজন।"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"ভিজ্যুয়াল ভয়েসমেল সক্রিয় করবেন না"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"আপনি এখনও ভয়েসমেল চেক করার জন্য কল করতে পারেন।"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"ভিজ্যুয়াল ভয়েসমেল আপডেট করা যাচ্ছে না"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"যখন আপনার Wi-Fi অথবা সেলুলার সংযোগ ভালো থাকবে তখন আবার চেষ্টা করুন। আপনি এখনও ভয়েসমেল চেক করার জন্য কল করতে পারেন।"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"যখন আপনার Wi-Fi অথবা সেলুলার সংযোগ ভালো থাকবে তখন আবার চেষ্টা করুন। আপনি এখনও ভয়েসমেল চেক করার জন্য কল করতে পারেন।"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"যখন আপনার ওয়াই-ফাই অথবা মোবাইল ডেটা সংযোগ ভালো থাকবে তখন আবার চেষ্টা করুন। আপনি এখনও ভয়েসমেল চেক করার জন্য কল করতে পারেন।"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"মোবাইল ডেটা সংযোগ ভালো থাকবে তখন আবার চেষ্টা করুন। আপনি এখনও ভয়েসমেল চেক করার জন্য কল করতে পারেন।"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"ভিজ্যুয়াল ভয়েসমেল আপডেট করা যাচ্ছে না"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"আপনি এখনও ভয়েসমেল চেক করার জন্য কল করতে পারেন।"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"ভিজ্যুয়াল ভয়েসমেল আপডেট করা যাচ্ছে না"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"কিছু ভুল হয়েছে"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"অনুগ্রহ করে <xliff:g id="NUMBER">%1$s</xliff:g> এ কল করে গ্রাহক পরিষেবার সাথে যোগাযোগ করুন এবং তাদের জানান যে ত্রুটি কোডটি হলো ৯৯৯৯৷"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"ভিজ্যুয়াল ভয়েসমেলের নিবন্ধন এবং শর্তাদি"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"ভিজ্যুয়াল ভয়েসমেল ব্যবহার করার জন্য আপনাকে অবশ্যই Verizon Wireless এর নিবন্ধন এবং শর্তাদি স্বীকার করতে হবে:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nভিজ্যুয়াল ভয়েসমেল ব্যবহার করার জন্য আপনাকে অবশ্যই Verizon Wireless এর নিবন্ধন এবং শর্তাদি স্বীকার করতে হবে:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"ভিজ্যুয়াল ভয়েসমেল চালু করুন"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"নিবন্ধন এবং শর্তাদি অস্বীকার করা হলে ভিজ্যুয়াল ভয়েসমেল অক্ষম করা হবে৷"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"ভিজ্যুয়াল ভয়েসমেল অক্ষম করুন"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"নিবন্ধন এবং শর্তাদি অস্বীকার করা হলে ভিজ্যুয়াল ভয়েসমেলের ট্রান্সক্রিপশান অক্ষম করা হবে৷"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"ভয়েসমেলের ট্রান্সক্রিপশান অক্ষম করুন"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"শুধুমাত্র *৮৬ নম্বরে কল করেই ভয়েসমেল অ্যাক্সেস করা যাবে৷ এগিয়ে যাওয়ার জন্য একটি নতুন ভয়েসমেলের পিন সেট করুন৷"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"পিন সেট করুন"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-bs/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-bs/strings.xml
index 0352436c4..b22c75211 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-bs/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-bs/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktiviranje vizuelne govorne pošte"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Možda nećete primati obavještenja o govornoj pošti dok se vizuelna govorna pošta ne aktivira u potpunosti. U međuvremenu pozovite govornu poštu za preuzimanje novih poruka."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Nije moguće aktivirati vizuelnu govornu poštu"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Provjerite imate li mobilnu mrežu na telefonu i pokušajte ponovo."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Provjerite imate li mobilnu mrežu na telefonu i pokušajte ponovo."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Isključite način rada u avionu i pokušajte ponovo."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Niste povezani na mrežu"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nećete primati obavještenja o novoj govornoj pošti. Ako ste na Wi-Fi mreži, možete provjeriti govornu poštu tako što ćete sada obaviti sinhronizaciju."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nećete primati obavještenja o novim govornim porukama. Ako ste na Wi-Fi mreži, provjerite govornu poštu tako što ćete odmah obaviti sinhronizaciju."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nećete primati obavještenja o novoj govornoj pošti. Isključite način rada u avionu da sinhronizirate govornu poštu."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Vaš telefon treba imati mobilnu podatkovnu vezu za provjeru govorne pošte."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefonu je potreban mobilni prijenos podataka radi provjere govorne pošte."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Nije moguće aktivirati vizuelnu govornu poštu"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"I dalje možete nazvati za provjeru govorne pošte."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Nije moguće ažurirati vizuelnu govornu poštu"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Pokušajte ponovo kada Wi-Fi ili mobilna mreža bude bolja. I dalje možete nazvati za provjeru govorne pošte."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Pokušajte ponovo kada mobilna podatkovna mreža bude bolja. I dalje možete nazvati za provjeru govorne pošte."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Pokušajte ponovo kada Wi-Fi veza ili mobilni prijenos podataka bude bolji. I dalje možete nazvati za provjeru govorne pošte."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Pokušajte ponovo kada mobilni prijenos podataka bude bolji. I dalje možete nazvati za provjeru govorne pošte."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Nije moguće ažurirati vizuelnu govornu poštu"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"I dalje možete nazvati za provjeru govorne pošte."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Nije moguće ažurirati vizuelnu govornu poštu"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Nešto nije uredu"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontaktirajte korisničku podršku na broj <xliff:g id="NUMBER">%1$s</xliff:g> i obavijestite ih da je kȏd greške 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Uslovi i odredbe vizuelne govorne pošte"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Morate prihvatiti uslove i odredbe kompanije Verizon Wireless prije korištenja vizuelne govorne pošte:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nMorate prihvatiti uslove i odredbe kompanije Verizon Wireless prije korištenja vizuelne govorne pošte:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Uključi vizuelnu govornu poštu"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Vizuelna govorna pošta bit će onemogućena ako odbijete uslove i odredbe."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Onemogući vizuelnu govornu poštu"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transkripcija govorne pošte će biti onemogućena ako odbijete uslove i odredbe."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Onemogući transkripciju govorne pošte"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Govornoj pošti ćete moći pristupiti samo pozivanjem broja *86. Postavite novi PIN govorne pošte da nastavite."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Postavi PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ca/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ca/strings.xml
index b6d844df8..4793f436d 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ca/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ca/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"S\'està activant la bústia de veu visual"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"És possible que no rebis notificacions de missatges de veu fins que la bústia de veu visual estigui completament activada. Fins aleshores, truca a la bústia de veu per recuperar els missatges nous."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"No es pot activar la bústia de veu visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Comprova la connexió mòbil del telèfon i torna-ho a provar."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Assegura\'t que el telèfon tingui connexió a una xarxa mòbil i torna-ho a provar."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Desactiva el mode d\'avió i torna-ho a provar."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Sense connexió"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"No rebràs notificacions de missatges de veu nous. Si estàs connectat a una xarxa Wi-Fi, pots sincronitzar ara per consultar la bústia de veu."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"No rebràs notificacions de missatges de veu nous. Si estàs connectat a una xarxa Wi-Fi, pots sincronitzar ara per consultar la bústia de veu."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"No rebràs notificacions de missatges de veu nous. Desactiva el mode d\'avió per sincronitzar la bústia de veu."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"El telèfon necessita una connexió de dades mòbils per consultar la bústia de veu."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Cal que el telèfon tingui una connexió de dades mòbils per poder consultar la bústia de veu."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"No es pot activar la bústia de veu visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Pots trucar igualment per consultar la bústia de veu."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"No es pot actualitzar la bústia de veu visual"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Torna-ho a provar quan la connexió Wi-Fi o mòbil sigui millor. Pots trucar igualment per consultar la bústia de veu."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Torna-ho a provar quan la connexió de dades mòbils sigui millor. Pots trucar igualment per consultar la bústia de veu."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Torna-ho a provar quan la connexió Wi-Fi o de dades mòbils sigui millor. Pots trucar igualment per consultar la bústia de veu."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Torna-ho a provar quan la connexió de dades mòbils sigui millor. Pots trucar igualment per consultar la bústia de veu."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"No es pot actualitzar la bústia de veu visual"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Pots trucar igualment per consultar la bústia de veu."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"No es pot actualitzar la bústia de veu visual"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"S\'ha produït un error"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Contacta amb el servei d\'atenció al client al <xliff:g id="NUMBER">%1$s</xliff:g> i informa\'ls que el codi d\'error és 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Termes i condicions de la bústia de veu visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Has d\'acceptar els termes i condicions de Verizon Wireless per utilitzar la bústia de veu visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nHas d\'acceptar els termes i condicions de Verizon Wireless per poder utilitzar la bústia de veu visual:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Activa la bústia de veu visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"La bústia de veu visual es desactivarà si es rebutgen els termes i condicions."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Desactiva la bústia de veu visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"La transcripció dels missatges de veu es desactivarà si es rebutgen els termes i condicions."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Desactiva la transcripció dels missatges de veu"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Només podràs accedir a la bústia de veu trucant al *86. Defineix un nou PIN de la bústia de veu per continuar."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Defineix el PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-cs/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-cs/strings.xml
index c52f7b007..bf8f54c3a 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-cs/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-cs/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktivace vizuální hlasové schránky"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Je možné, že dokud nebude vizuální hlasová schránka plně aktivována, nebudou vám chodit oznámení z hlasové schránky. Do té doby se k novým zprávám dostanete po zavolání do hlasové schránky."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Vizuální hlasovou schránku se nepodařilo aktivovat"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Zkontrolujte, že je telefon připojen k mobilní síti a zkuste to znovu."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Zkontrolujte, že je telefon připojen k mobilní síti a zkuste to znovu."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Vypněte režim letadla a zkuste to znovu."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Nejste připojeni"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nebudete dostávat oznámení o nových hlasových zprávách. Pokud jste připojeni k Wi-Fi, můžete hlasovou schránku zkontrolovat synchronizací."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nebudete dostávat oznámení o nových hlasových zprávách. Pokud jste připojeni k Wi-Fi, můžete hlasovou schránku zkontrolovat synchronizací."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nebudete dostávat oznámení o nových hlasových zprávách. Pokud chcete hlasovou schránku synchronizovat, vypněte režim letadla."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Telefon musí být připojen k mobilním datům, aby bylo možné zkontrolovat hlasovou schránku."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefon musí být připojen k mobilním datům, aby bylo možné zkontrolovat hlasovou schránku."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Vizuální hlasovou schránku se nepodařilo aktivovat"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Můžete ji ale stále zkontrolovat zavoláním."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Vizuální hlasovou schránku se nepodařilo aktualizovat"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Zkuste to znovu, až budete mít lepší připojení k Wi-Fi nebo k mobilním datům. Stále ale můžete hlasovou schránku zkontrolovat zavoláním."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Zkuste to znovu, až budete mít lepší připojení k mobilním datům. Stále ale můžete hlasovou schránku zkontrolovat zavoláním."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Zkuste to znovu, až budete mít lepší připojení k Wi-Fi nebo k mobilním datům. Stále ale můžete hlasovou schránku zkontrolovat zavoláním."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Zkuste to znovu, až budete mít lepší připojení k mobilním datům. Stále ale můžete hlasovou schránku zkontrolovat zavoláním."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Vizuální hlasovou schránku se nepodařilo aktualizovat"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Můžete ji ale stále zkontrolovat zavoláním."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Vizuální hlasovou schránku se nepodařilo aktualizovat"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Něco se pokazilo"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontaktujte zákaznický servis na čísle <xliff:g id="NUMBER">%1$s</xliff:g> a sdělte kód chyby 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Smluvní podmínky vizuální hlasové schránky"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Pokud chcete používat vizuální hlasovou schránku, musíte přijmout smluvní podmínky společnosti Verizon Wireless:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nChcete-li používat vizuální hlasovou schránku, musíte přijmout smluvní podmínky společnosti Verizon Wireless:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Zapnout vizuální hlasovou schránku"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Pokud smluvní podmínky odmítnete, vizuální hlasová schránka bude vypnuta."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Vypnout vizuální hlasovou schránku"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Pokud smluvní podmínky odmítnete, přepis hlasové schránky bude vypnut."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Vypnout přepis hlasové schránky"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Hlasová schránka bude dostupná jen zavoláním na číslo *86. Pokud chcete pokračovat, nastavte si nový kód PIN k hlasové schránce."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Nastavit kód PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-da/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-da/strings.xml
index 26e5ede7c..71dc2e66f 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-da/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-da/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktiverer visuel telefonsvarer"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Du modtager muligvis ikke telefonsvarerunderretninger, før den visuelle telefonsvarer er fuldt aktiveret. Ring til telefonsvareren for hente nye beskeder, indtil telefonsvareren er fuldt aktiveret."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Visuel telefonsvarer kan ikke aktiveres"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Sørg for, at din telefon har mobilforbindelse, og prøv igen."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Sørg for, at din telefon har forbindelse til mobilnetværket, og prøv igen."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Slå flytilstand fra, og prøv igen."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Ingen forbindelse"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Du vil ikke få besked om nye telefonsvarerbeskeder. Hvis du er på Wi-Fi, kan du tjekke, om der er telefonsvarerbeskeder, ved at synkronisere nu."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Du får ikke besked om nye talebeskeder. Hvis du er på Wi-Fi, kan du tjekke, om der er talebeskeder, ved at synkronisere nu."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Du vil ikke få besked om nye telefonsvarerbeskeder. Slå flytilstand fra for at synkronisere din e-mail."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Din telefon skal have en mobilforbindelse, for at du kan tjekke din telefonsvarer."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Din telefon skal have en mobildataforbindelse, for at du kan tjekke, om der er talebeskeder."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Visuel telefonsvarer kan ikke aktiveres"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Du kan stadig ringe op for at tjekke din telefonsvarer."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Visuel telefonsvarer kan ikke opdateres"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Prøv igen, når din Wi-Fi- eller mobilforbindelse er bedre. Du kan stadig ringe op for at tjekke din telefonsvarer."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Prøv igen, når din mobildataforbindelse er bedre. Du kan stadig ringe op for at tjekke din telefonsvarer."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Prøv igen, når din Wi-Fi- eller mobildataforbindelse er bedre. Du kan stadig ringe for at tjekke, om der er talebeskeder."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Prøv igen, når din mobildataforbindelse er bedre. Du kan stadig ringe for at tjekke, om der er talebeskeder."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Visuel telefonsvarer kan ikke opdateres"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Du kan stadig ringe op for at tjekke din telefonsvarer."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Visuel telefonsvarer kan ikke opdateres"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Der opstod en fejl"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontakt kundeservice på <xliff:g id="NUMBER">%1$s</xliff:g>, og fortæl dem, at fejlkoden er 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Vilkår og betingelser for visuel telefonsvarer"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Du skal acceptere vilkår og betingelser for Verizon Wireless for at bruge visuel telefonsvarer:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDu skal acceptere vilkår og betingelser for Verizon Wireless for at bruge visuel telefonsvarer:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Slå Visuel telefonsvarer til"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visuel telefonsvarer bliver deaktiveret, hvis vilkår og betingelser afvises."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Deaktiver visuel telefonsvarer"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transskription af talebeskeder deaktiveres, hvis du ikke accepterer vilkår og betingelser."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Deaktiver transskription af talebeskeder"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Telefonsvareren er kun tilgængelig, hvis du taster *86 og ringer op. Angiv en ny pinkode til telefonsvarer for at fortsætte."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Angiv pinkode"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-de/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-de/strings.xml
index 865ddd95a..c340582aa 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-de/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-de/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Visuelle Mailbox wird aktiviert"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Möglicherweise erhältst du keine Mailbox-Benachrichtigungen, solange die visuelle Mailbox nicht vollständig aktiviert ist. Bis es soweit ist, kannst du deine Mailbox anrufen, um neue Nachrichten abzuhören."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Visuelle Mailbox kann nicht aktiviert werden"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Vergewissere dich, dass dein Smartphone eine Mobilfunkverbindung hat und versuche es noch einmal."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Vergewissere dich, dass auf deinem Smartphone eine Mobilfunkverbindung besteht, und versuche es noch einmal."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Schalte den Flugmodus aus und versuche es noch einmal."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Keine Verbindung"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Du wirst nicht über neue Mailboxnachrichten informiert. Wenn du eine WLAN-Verbindung hast, kannst du deine Mailbox abrufen, indem du dein Smartphone jetzt synchronisierst."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Du wirst nicht über neue Mailboxnachrichten informiert. Wenn du eine WLAN-Verbindung verwendest, kannst du deine Mailbox abrufen, indem du dein Smartphone jetzt synchronisierst."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Du wirst nicht über neue Mailboxnachrichten informiert. Schalte den Flugmodus aus, um deine Mailbox zu synchronisieren."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Dein Smartphone benötigt eine mobile Datenverbindung, um die Mailbox abzurufen."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Dein Smartphone benötigt eine mobile Datenverbindung, um die Mailbox abzurufen."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Visuelle Mailbox kann nicht aktiviert werden"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Du kannst deine Mailbox immer noch per Anruf abhören."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Visuelle Mailbox kann nicht aktualisiert werden"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Versuch es noch einmal, sobald die WLAN- bzw. Mobilfunkverbindung besser ist. Du kannst deine Mailbox immer noch per Anruf abhören."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Versuch es noch einmal, sobald die Mobilfunkverbindung besser ist. Du kannst deine Mailbox immer noch per Anruf abhören."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Versuche es noch einmal, sobald die WLAN- bzw. Mobilfunkverbindung besser ist. Du kannst deine Mailbox weiterhin per Anruf abhören."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Versuche es noch einmal, sobald die Mobilfunkverbindung besser ist. Du kannst deine Mailbox weiterhin per Anruf abhören."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Visuelle Mailbox kann nicht aktualisiert werden"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Du kannst deine Mailbox immer noch per Anruf abhören."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Visuelle Mailbox kann nicht aktualisiert werden"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Ein Problem ist aufgetreten"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Bitte wende dich an den Kundensupport unter der Nummer <xliff:g id="NUMBER">%1$s</xliff:g> und gib den Fehlercode 9999 an."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Nutzungsbedingungen für visuelle Mailbox"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Du muss den Nutzungsbedingungen von Verizon Wireless zustimmen, um die visuelle Mailbox zu verwenden:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDu musst den Nutzungsbedingungen von Verizon Wireless zustimmen, um die visuelle Mailbox zu verwenden:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Visuelle Mailbox aktivieren"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Die visuelle Mailbox wird deaktiviert, wenn du die Nutzungsbedingungen ablehnst."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Visuelle Mailbox deaktivieren"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Die Sprache-zu-Text-Umwandlung von Mailbox-Nachrichten wird deaktiviert, wenn die Nutzungsbedingungen abgelehnt werden."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Sprache-zu-Text-Umwandlung von Mailbox-Nachrichten deaktivieren"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Du kannst nur auf Mailboxnachrichten zugreifen, indem du *86 anrufst. Lege eine neue Mailbox-PIN fest, um fortzufahren."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN festlegen"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-el/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-el/strings.xml
index acd1ca0e7..f05319d2d 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-el/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-el/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Ενεργοποίηση οπτικού αυτόματου τηλεφωνητή"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Ενδέχεται να μην λαμβάνετε ειδοποιήσεις αυτόματου τηλεφωνητή έως ότου ο οπτικός αυτόματος τηλεφωνητής ενεργοποιηθεί πλήρως. Καλέστε τον αυτόματο τηλεφωνητή για να ανακτήσετε νέα μηνύματα, έως ότου γίνει πλήρης ενεργοποίηση του οπτικού αυτόματου τηλεφωνητή."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Δεν είναι δυνατή η ενεργοποίηση του οπτικού αυτόματου τηλεφωνητή"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Βεβαιωθείτε ότι το τηλέφωνό σας διαθέτει σύνδεση κινητής τηλεφωνίας και δοκιμάστε ξανά."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Βεβαιωθείτε ότι το τηλέφωνό σας διαθέτει σύνδεση κινητής τηλεφωνίας και δοκιμάστε ξανά."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Απενεργοποιήστε τη λειτουργία πτήσης και δοκιμάστε ξανά."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Δεν υπάρχει σύνδεση"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Δεν θα ειδοποιείστε για νέα φωνητικά μηνύματα. Εάν είστε συνδεδεμένοι μέσω Wi-Fi, μπορείτε να ελέγξετε τον αυτόματο τηλεφωνητή σας για μηνύματα, εκτελώντας συγχρονισμό τώρα."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Δεν θα ειδοποιείστε για νέα φωνητικά μηνύματα. Εάν είστε συνδεδεμένοι μέσω Wi-Fi, μπορείτε να ελέγξετε τον αυτόματο τηλεφωνητή σας για μηνύματα, εκτελώντας συγχρονισμό τώρα."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Δεν θα ειδοποιείστε για νέα φωνητικά μηνύματα. Απενεργοποιήστε τη λειτουργία πτήσης για συγχρονισμό φωνητικών μηνυμάτων του αυτόματου τηλεφωνητή σας."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Το τηλέφωνό σας χρειάζεται σύνδεση δεδομένων κινητής τηλεφωνίας για έλεγχο του αυτόματου τηλεφωνητή σας."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Το τηλέφωνό σας χρειάζεται σύνδεση δεδομένων κινητής τηλεφωνίας για έλεγχο του αυτόματου τηλεφωνητή σας."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Δεν είναι δυνατή η ενεργοποίηση του οπτικού αυτόματου τηλεφωνητή"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Μπορείτε και πάλι να καλέσετε για να ελέγξετε τον αυτόματο τηλεφωνητή σας."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Δεν είναι δυνατή η ενημέρωση του οπτικού αυτόματου τηλεφωνητή"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Δοκιμάστε ξανά όταν η σύνδεση Wi-Fi ή η σύνδεση κινητής τηλεφωνίας είναι καλύτερη. Ακόμα κι έτσι, μπορείτε να καλέσετε για να ελέγξετε τον αυτόματο τηλεφωνητή σας."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Δοκιμάστε ξανά όταν η σύνδεση κινητής τηλεφωνίας είναι καλύτερη. Ακόμα κι έτσι, μπορείτε να καλέσετε για να ελέγξετε τον αυτόματο τηλεφωνητή σας."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Δοκιμάστε ξανά όταν η σύνδεση Wi-Fi ή η σύνδεση κινητής τηλεφωνίας είναι καλύτερη. Ακόμα κι έτσι, μπορείτε να καλέσετε για να ελέγξετε τον αυτόματο τηλεφωνητή σας."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Δοκιμάστε ξανά όταν η σύνδεση κινητής τηλεφωνίας είναι καλύτερη. Ακόμα κι έτσι, μπορείτε να καλέσετε για να ελέγξετε τον αυτόματο τηλεφωνητή σας."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Δεν είναι δυνατή η ενημέρωση του οπτικού αυτόματου τηλεφωνητή"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Μπορείτε και πάλι να καλέσετε για να ελέγξετε τον αυτόματο τηλεφωνητή σας."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Δεν είναι δυνατή η ενημέρωση του οπτικού αυτόματου τηλεφωνητή"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Παρουσιάστηκε κάποιο πρόβλημα"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Επικοινωνήστε με το τμήμα εξυπηρέτησης πελατών στο <xliff:g id="NUMBER">%1$s</xliff:g> και αναφέρετέ τους τον κωδικό σφάλματος 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Όροι και Προϋποθέσεις οπτικού αυτόματου τηλεφωνητή"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Πρέπει να αποδεχτείτε τους Όρους και τις Προϋποθέσεις της Verizon Wireless για να χρησιμοποιήσετε τον οπτικό αυτόματο τηλεφωνητή:\n\n"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nΠρέπει να αποδεχτείτε τους όρους και τις προϋποθέσεις της Verizon Wirelessγια τη χρήση οπτικού αυτόματου τηλεφωνητή:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Ενεργοποίηση Οπτικού αυτόματου τηλεφωνητή"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Ο οπτικός αυτόματος τηλεφωνητής θα απενεργοποιηθεί εάν δεν αποδεχτείτε τους Όρους και τις Προϋποθέσεις."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Απενεργοποίηση οπτικού αυτόματου τηλεφωνητή"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Η μεταγραφή αυτόματου τηλεφωνητή θα απενεργοποιηθεί εάν δεν αποδεχτείτε τους Όρους και τις Προϋποθέσεις."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Απενεργοποίηση μεταγραφής αυτόματου τηλεφωνητή"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Ο αυτόματος τηλεφωνητής θα είναι προσβάσιμος μόνο καλώντας το *86. Ορίστε έναν νέο αριθμό PIN αυτόματου τηλεφωνητή για να συνεχίσετε."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Ορισμός PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-en-rAU/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-en-rAU/strings.xml
index a036950a6..2349fe06b 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-en-rAU/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Activating visual voicemail"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"You might not receive voicemail notifications until visual voicemail is fully activated. Call voicemail to retrieve new messages until voicemail is fully activated."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Can\'t activate visual voicemail"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Make sure that your phone has a mobile connection and try again."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Make sure your phone has a mobile network connection and try again."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Turn off aeroplane mode and try again."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"No connection"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"You won\'t be notified about new voicemail. If you\'re on Wi-Fi, you can check for voicemail by syncing now."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"You won\'t be notified for new voicemails. If you\'re on Wi‑Fi, you can check for voicemail by syncing now."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"You won\'t be notified about new voicemail. Turn off aeroplane mode to sync your voicemail."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Your phone needs a mobile data connection to check voicemail."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Your phone needs a mobile data connection to check voicemail."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Can\'t activate visual voicemail"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"You can still call to check voicemail."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Can\'t update visual voicemail"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Try again when your Wi-Fi or mobile connection is better. You can still call to check voicemail."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Try again when your mobile data connection is better. You can still call to check voicemail."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Try again when your Wi‑Fi or mobile data connection is better. You can still call to check voicemail."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Try again when your mobile data connection is better. You can still call to check voicemail."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Can\'t update visual voicemail"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"You can still call to check voicemail."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Can\'t update visual voicemail"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Something went wrong"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Please contact Customer Service on <xliff:g id="NUMBER">%1$s</xliff:g> and tell them that the error code is 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Visual voicemail Terms and Conditions"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"You must accept Verizon Wireless\'s Terms and Conditions to use visual voicemail:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nYou must accept Verizon Wireless\'s terms and conditions to use visual voicemail:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Turn on Visual Voicemail"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visual voicemail will be disabled if the Terms and Conditions are declined."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Disable visual voicemail"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Voicemail transcription will be disabled if the terms and conditions are declined."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Disable voicemail transcription"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Voicemail will only be accessible by calling *86. Set a new voicemail PIN to proceed."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Set PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-en-rGB/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-en-rGB/strings.xml
index a036950a6..2349fe06b 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-en-rGB/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Activating visual voicemail"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"You might not receive voicemail notifications until visual voicemail is fully activated. Call voicemail to retrieve new messages until voicemail is fully activated."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Can\'t activate visual voicemail"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Make sure that your phone has a mobile connection and try again."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Make sure your phone has a mobile network connection and try again."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Turn off aeroplane mode and try again."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"No connection"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"You won\'t be notified about new voicemail. If you\'re on Wi-Fi, you can check for voicemail by syncing now."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"You won\'t be notified for new voicemails. If you\'re on Wi‑Fi, you can check for voicemail by syncing now."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"You won\'t be notified about new voicemail. Turn off aeroplane mode to sync your voicemail."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Your phone needs a mobile data connection to check voicemail."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Your phone needs a mobile data connection to check voicemail."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Can\'t activate visual voicemail"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"You can still call to check voicemail."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Can\'t update visual voicemail"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Try again when your Wi-Fi or mobile connection is better. You can still call to check voicemail."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Try again when your mobile data connection is better. You can still call to check voicemail."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Try again when your Wi‑Fi or mobile data connection is better. You can still call to check voicemail."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Try again when your mobile data connection is better. You can still call to check voicemail."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Can\'t update visual voicemail"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"You can still call to check voicemail."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Can\'t update visual voicemail"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Something went wrong"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Please contact Customer Service on <xliff:g id="NUMBER">%1$s</xliff:g> and tell them that the error code is 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Visual voicemail Terms and Conditions"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"You must accept Verizon Wireless\'s Terms and Conditions to use visual voicemail:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nYou must accept Verizon Wireless\'s terms and conditions to use visual voicemail:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Turn on Visual Voicemail"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visual voicemail will be disabled if the Terms and Conditions are declined."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Disable visual voicemail"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Voicemail transcription will be disabled if the terms and conditions are declined."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Disable voicemail transcription"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Voicemail will only be accessible by calling *86. Set a new voicemail PIN to proceed."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Set PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-en-rIN/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-en-rIN/strings.xml
index a036950a6..2349fe06b 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-en-rIN/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Activating visual voicemail"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"You might not receive voicemail notifications until visual voicemail is fully activated. Call voicemail to retrieve new messages until voicemail is fully activated."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Can\'t activate visual voicemail"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Make sure that your phone has a mobile connection and try again."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Make sure your phone has a mobile network connection and try again."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Turn off aeroplane mode and try again."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"No connection"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"You won\'t be notified about new voicemail. If you\'re on Wi-Fi, you can check for voicemail by syncing now."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"You won\'t be notified for new voicemails. If you\'re on Wi‑Fi, you can check for voicemail by syncing now."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"You won\'t be notified about new voicemail. Turn off aeroplane mode to sync your voicemail."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Your phone needs a mobile data connection to check voicemail."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Your phone needs a mobile data connection to check voicemail."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Can\'t activate visual voicemail"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"You can still call to check voicemail."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Can\'t update visual voicemail"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Try again when your Wi-Fi or mobile connection is better. You can still call to check voicemail."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Try again when your mobile data connection is better. You can still call to check voicemail."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Try again when your Wi‑Fi or mobile data connection is better. You can still call to check voicemail."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Try again when your mobile data connection is better. You can still call to check voicemail."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Can\'t update visual voicemail"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"You can still call to check voicemail."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Can\'t update visual voicemail"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Something went wrong"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Please contact Customer Service on <xliff:g id="NUMBER">%1$s</xliff:g> and tell them that the error code is 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Visual voicemail Terms and Conditions"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"You must accept Verizon Wireless\'s Terms and Conditions to use visual voicemail:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nYou must accept Verizon Wireless\'s terms and conditions to use visual voicemail:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Turn on Visual Voicemail"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visual voicemail will be disabled if the Terms and Conditions are declined."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Disable visual voicemail"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Voicemail transcription will be disabled if the terms and conditions are declined."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Disable voicemail transcription"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Voicemail will only be accessible by calling *86. Set a new voicemail PIN to proceed."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Set PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-es-rUS/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-es-rUS/strings.xml
index 485a78b10..16a74d92c 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-es-rUS/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Activando el buzón de voz visual"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Es posible que no recibas notificaciones de los mensajes de voz hasta que el buzón de voz visual se encuentre completamente activado. Hasta ese momento, puedes llamar al buzón de voz para recuperar los mensajes nuevos."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"No se puede activar el buzón de voz visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Asegúrate de que el teléfono tenga conexión móvil y vuelve a intentarlo."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Asegúrate de que el teléfono tenga conexión móvil y vuelve a intentarlo."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Desactiva el modo de avión y vuelve a intentarlo."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Sin conexión"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"No recibirás notificaciones de los mensajes de voz nuevos. Si estás conectado a Wi-Fi, puedes sincronizar ahora para revisar el buzón de voz."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"No recibirás notificaciones de los mensajes de voz nuevos. Si estás conectado a Wi-Fi, puedes sincronizar ahora para revisar el buzón de voz."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"No recibirás notificaciones de los mensajes de voz nuevos. Desactiva el modo de avión para sincronizar el buzón de voz."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"El teléfono necesita una conexión de datos móviles para revisar el buzón de voz."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"El teléfono necesita una conexión de datos móviles para revisar el buzón de voz."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"No se puede activar el buzón de voz visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Aún puedes llamar para revisar el buzón de voz."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"No se puede actualizar el buzón de voz visual"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Vuelve a intentarlo cuando la conexión Wi-Fi o la conexión móvil mejoren. Aún puedes llamar para revisar el buzón de voz."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Vuelve a intentarlo cuando la conexión de datos móviles mejore. Aún puedes llamar para revisar el buzón de voz."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Vuelve a intentarlo cuando la conexión Wi-Fi o la conexión de datos móviles mejoren. Aún puedes llamar para revisar el buzón de voz."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Vuelve a intentarlo cuando la conexión de datos móviles mejore. Aún puedes llamar para revisar el buzón de voz."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"No se puede actualizar el buzón de voz visual"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Aún puedes llamar para revisar el buzón de voz."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"No se puede actualizar el buzón de voz visual"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Se produjo un error"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Comunícate con el servicio de atención al cliente al <xliff:g id="NUMBER">%1$s</xliff:g> e indícales que el código de error es el 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Términos y condiciones del buzón de voz visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Debes aceptar los términos y condiciones de Verizon Wireless para usar el buzón de voz visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDebes aceptar los términos y condiciones de Verizon Wireless para usar el buzón de voz visual:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Activar el buzón de voz visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"El buzón de voz visual se desactiva si no aceptas los términos y condiciones."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Inhabilitar buzón de voz visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"La transcripción del buzón de voz se desactivará si no aceptas los términos y condiciones."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Inhabilitar la transcripción del buzón de voz"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Solo podrás acceder al buzón de voz llamando al *86. Para continuar, establece un nuevo PIN para el buzón de voz."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Establecer PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-es/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-es/strings.xml
index d351f375c..af0d583c9 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-es/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-es/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Activando el buzón de voz visual"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Es posible que no recibas notificaciones de mensajes de voz hasta que se active totalmente el buzón de voz visual. Hasta ese momento, puedes llamar al buzón de voz para escuchar los mensajes nuevos."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"No se puede activar el correo de voz visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Comprueba que el teléfono tenga cobertura e inténtalo otra vez."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Asegúrate de que tu teléfono tenga conexión a una red móvil y vuelve a intentarlo."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Desactiva el modo avión e inténtalo otra vez."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Sin conexión"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"No recibirás notificaciones de los mensajes de voz nuevos. Si estás usando una Wi-Fi, puedes sincronizar ahora el teléfono para comprobar si hay mensajes de voz."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"No recibirás notificaciones de los mensajes de voz nuevos. Si estás usando una Wi-Fi, puedes sincronizar ahora el teléfono para comprobar si hay mensajes de voz."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"No recibirás notificaciones de los mensajes de voz nuevos. Si quieres sincronizar tu buzón de voz, desactiva el modo avión."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Para comprobar el buzón de voz, necesitas una conexión de datos móviles en el teléfono."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Para comprobar el buzón de voz, necesitas una conexión de datos móviles en el teléfono."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"No se puede activar el correo de voz visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Puedes llamar para comprobar el buzón de voz."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"No se puede actualizar el correo de voz visual"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Inténtalo otra vez cuando tengas mejor conexión Wi-Fi o de datos móviles. Puedes llamar para comprobar el buzón de voz."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Inténtalo otra vez cuando tengas mejor conexión de datos móviles. Puedes llamar para comprobar el buzón de voz."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Inténtalo otra vez cuando tengas mejor conexión Wi-Fi o de datos móviles. Puedes llamar para comprobar el buzón de voz."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Inténtalo otra vez cuando tengas mejor conexión de datos móviles. Puedes llamar para comprobar el buzón de voz."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"No se puede actualizar el correo de voz visual"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Puedes llamar para comprobar el buzón de voz."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"No se puede actualizar el correo de voz visual"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Se ha producido un error"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Llama al servicio de Atención al cliente al <xliff:g id="NUMBER">%1$s</xliff:g> e indícales que el código de error es el 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Términos y Condiciones del buzón de voz visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Tienes que aceptar los términos y condiciones de Verizon Wireless para usar el buzón de voz visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDebes aceptar los términos y condiciones de Verizon Wireless para poder usar el buzón de voz visual:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Activar el buzón de voz visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Si rechazas los términos y condiciones, el buzón de voz visual se quedará inhabilitado."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Inhabilitar el buzón de voz visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Si rechazas los términos y condiciones, se inhabilitará la transcripción de mensajes de voz."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Inhabilitar la transcripción de mensajes de voz"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Solo podrás acceder al buzón de voz llamando al *86. Configura un nuevo PIN del buzón para continuar."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Configurar el PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-et/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-et/strings.xml
index 953b36b54..bf27a14f1 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-et/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-et/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Visuaalse kõneposti aktiveerimine"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Te ei pruugi kõneposti märguandeid saada enne, kui visuaalne kõnepost on täielikult aktiveeritud. Kuni kõnepost on täielikult aktiveeritud, helistage uute sõnumite toomiseks kõneposti."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Visuaalset kõneposti ei saa aktiveerida"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Veenduge, et teie telefonis oleks mobiilne andmeside saadaval, ja proovige uuesti."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Veenduge, et teie telefonis oleks mobiilsidevõrk saadaval, ja proovige uuesti."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Lülitage lennurežiim välja ja proovige uuesti."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Ühendus puudub"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Teid ei teavitata uutest kõnepostisõnumitest. Kui kasutate WiFi-t, saate kõneposti kontrollida, kui kohe sünkroonite."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Teid ei teavitata uutest kõnepostisõnumitest. Kui kasutate WiFi-t, saate kõneposti kontrollida, kui kohe sünkroonite."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Teid ei teavitata uutest kõnepostisõnumitest. Kõneposti sünkroonimiseks lülitage lennurežiim välja."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Teie telefonis peab kõneposti kontrollimiseks olema lubatud mobiilne andmeside."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Teie telefonis peab kõneposti kontrollimiseks olema lubatud mobiilne andmesideühendus."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Visuaalset kõneposti ei saa aktiveerida"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Kõneposti saate siiski kontrollida, kui sinna helistate."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Visuaalset kõneposti ei saa värskendada"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Proovige uuesti, kui WiFi- või mobiilne andmesideühendus on parem. Kõneposti saate siiski kontrollida, kui sinna helistate."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Proovige uuesti, kui mobiilne andmesideühendus on parem. Kõneposti saate siiski kontrollida, kui sinna helistate."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Proovige uuesti, kui WiFi- või mobiilne andmesideühendus on parem. Kõneposti saate siiski kontrollida, kui sinna helistate."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Proovige uuesti, kui mobiilne andmesideühendus on parem. Kõneposti saate siiski kontrollida, kui sinna helistate."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Visuaalset kõneposti ei saa värskendada"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Kõneposti saate siiski kontrollida, kui sinna helistate."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Visuaalset kõneposti ei saa värskendada"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Midagi läks valesti"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Võtke ühendust klienditeenindusega numbril <xliff:g id="NUMBER">%1$s</xliff:g> ja öelge neile, et veakood on 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Visuaalse kõneposti nõuded ja tingimused"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Visuaalse kõneposti kasutamiseks peate nõustuma Verizon Wirelessi nõuete ja tingimustega:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nVisuaalse kõneposti kasutamiseks peate nõustuma Verizon Wirelessi nõuete ja tingimustega:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Visuaalse kõneposti sisselülitamine"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visuaalne kõnepost keelatakse, kui nõuded ja tingimused tagasi lükatakse."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Visuaalse kõneposti keelamine"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Kõnepostisõnumite transkribeerimine keelatakse, kui nõuete ja tingimustega ei nõustuta."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Kõnepostisõnumite transkribeerimise keelamine"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Kõnepost on saadaval vaid siis, kui helistate numbril *86. Jätkamiseks määrake uus kõneposti PIN-kood."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN-koodi määramine"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-eu/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-eu/strings.xml
index af40192d2..86be1e84a 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-eu/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-eu/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Ikusizko erantzungailua aktibatzen"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"aktibatu arte, agian ez duzu jasoko erantzungailuaren jakinarazpenik. Erantzungailua guztiz aktibatuta ez dagoen artean, deitu erantzungailuari mezu berriak entzuteko."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Ezin da aktibatu ikusizko erantzungailua"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Ziurtatu telefonoak datu-konexioa duela eta saiatu berriro."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Ziurtatu telefonoak datu-konexioa duela eta saiatu berriro."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Desaktibatu hegaldi modua eta saiatu berriro."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Ez dago konexiorik"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Ez duzu jakinarazpenik jasoko ahots-mezu berriak dituzunean. Wi-Fi sarea erabiltzen ari bazara, orain sinkroniza dezakezu erantzungailua ahots-mezurik duzun begiratzeko."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Ez duzu jasoko jakinarazpenik ahots-mezu berriak dituzunean. Wi-Fi sarea erabiltzen ari bazara, orain sinkroniza dezakezu erantzungailua ahots-mezurik duzun begiratzeko."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Ez duzu jakinarazpenik jasoko ahots-mezu berriak dituzunean. Desaktibatu hegaldi modua erantzungailua sinkronizatzeko."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Erantzungailua egiaztatzeko, datu-konexioa behar du telefonoak."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Erantzungailua egiaztatzeko, datu-konexioa behar du telefonoak."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Ezin da aktibatu ikusizko erantzungailua"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Deitu egin dezakezu erantzungailua egiaztatzeko."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Ezin da eguneratu ikusizko erantzungailua."</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Saiatu berriro Wi-Fi konexioa edo datu-mugikorrak hobeak direnean. Deitu egin dezakezu erantzungailua egiaztatzeko."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Saiatu berriro datu-konexioa hobea denean. Deitu egin dezakezu erantzungailua egiaztatzeko."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Saiatu berriro Wi-Fi edo datu-konexioa hobeak direnean. Deitu egin dezakezu erantzungailua egiaztatzeko."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Saiatu berriro datu-konexioa hobea denean. Deitu egin dezakezu erantzungailua egiaztatzeko."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Ezin da eguneratu ikusizko erantzungailua."</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Deitu egin dezakezu erantzungailua egiaztatzeko."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Ezin da eguneratu ikusizko erantzungailua."</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Arazoren bat izan da"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Jarri harremanetan bezeroarentzako arreta-zerbitzuarekin (<xliff:g id="NUMBER">%1$s</xliff:g>) eta esan iezaiezu errore-kodea 9999 dela."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Ikusizko erantzungailuaren Zehaztapenak eta baldintzak"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Verizon Wireless zerbitzuaren zehaztapenak eta baldintzak onartu behar dituzu ikusizko erantzungailua erabiltzeko:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nVerizon Wireless zerbitzuaren Zehaztapenak eta baldintzak onartu behar dituzu ikusizko erantzungailua erabiltzeko:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Aktibatu ikusizko erantzungailua"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Zehaztapenak eta baldintzak onartzen ez badituzu, desgaitu egingo da ikusizko erantzungailua."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Desgaitu ikusizko erantzungailua"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Zehaztapenak eta baldintzak onartzen ez badituzu, desgaitu egingo da ahots-mezuak transkribatzeko aukera."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Desgaitu ahots-mezuak transkribatzeko aukera"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Erantzungailua atzitzeko, *86 zenbakira deitu beharko duzu. Jarraitzeko, ezarri erantzungailuaren PIN kodea."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Ezarri PIN kodea"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-fa/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-fa/strings.xml
index af79322bb..7b5b29b6d 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-fa/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-fa/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"فعال کردن پست صوتی تصویری"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"ممکن است تا زمانی که پست صوتی تصویری کاملاً فعال نشده باشد، اعلان‌های پست صوتی را دریافت نکنید. تا زمانی که پست صوتی به‌طور کامل فعال نشده است، برای بازیابی پیام‌های جدید، با پست صوتی تماس بگیرید."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"پست صوتی تصویری فعال نشد"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"بررسی کنید تلفن دارای اتصال همراه باشد و دوباره امتحان کنید."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"مطمئن شوید تلفنتان اتصال شبکه تلفن همراه دارد و دوباره امتحان کنید."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"حالت هواپیما را غیرفعال کنید و دوباره امتحان کنید."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"اتصال برقرار نیست"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"‏برای پست‌های صوتی جدید به شما اطلاع داده نمی‌شود. اگر از Wi-Fi استفاده می‌کنید، اکنون با همگام‌سازی می‌توانید پست صوتی را بررسی کنید."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"‏از پست‌های صوتی جدید مطلع نمی‌شود. اگر از Wi-Fi استفاده می‌کنید، با انجام همگام‌سازی در این لحظه، می‌توانید پست صوتی را بررسی کنید."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"برای پست‌های صوتی جدید به شما اطلاع داده نمی‌شود. حالت هواپیما را غیرفعال کنید تا پست صوتی همگام‌سازی شود."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"تلفنتان برای بررسی پست صوتی به اتصال داده همراه نیاز دارد."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"برای بررسی پست صوتی، تلفنتان باید اتصال داده همراه داشته باشد."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"پست صوتی تصویری فعال نشد"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"همچنان می‌توانید برای بررسی پست صوتی تماس بگیرید."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"پست صوتی تصویری به‌روزرسانی نشد"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"‏وقتی Wi-Fi یا اتصال همراه بهتر شد دوباره امتحان کنید. همچنان می‌توانید برای بررسی پست صوتی تماس بگیرید."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"وقتی اتصال داده همراه بهتر شد دوباره امتحان کنید. همچنان می‌توانید برای بررسی پست صوتی تماس بگیرید."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"‏وقتی Wi-Fi یا اتصال داده همراه بهتر شد دوباره امتحان کنید. همچنان می‌توانید برای بررسی پست صوتی، تماس بگیرید."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"وقتی اتصال داده همراه بهتر شد دوباره امتحان کنید. همچنان می‌توانید برای بررسی پست صوتی تماس بگیرید."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"پست صوتی تصویری به‌روزرسانی نشد"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"همچنان می‌توانید برای بررسی پست صوتی تماس بگیرید."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"پست صوتی تصویری به‌روزرسانی نشد"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"مشکلی روی داد"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"لطفاً از طریق شماره <xliff:g id="NUMBER">%1$s</xliff:g> با خدمات مشتری تماس بگیرید و این کد خطا را به آنها بگویید: ٩٩٩٩."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"شرایط و ضوابط پست صوتی دیداری"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"‏برای استفاده از پست صوتی تصویری باید شرایط و ضوابط Verizon Wireless را بپذیرید:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"‏%1$s\n\nبرای استفاده از پست صوتی تصویری، باید با شرایط و ضوابط Verizon Wireless موافقت کنید:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"روشن کردن پست صوتی تصویری"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"اگر شرایط و ضوابط را رد کنید، پست صوتی تصویری غیرفعال می‌شود."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"غیرفعال کردن پست صوتی تصویری"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"اگر شرایط و ضوابط را رد کنید، ترانویسی پست صوتی غیرفعال خواهد شد."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"غیرفعال کردن ترانویسی پست صوتی"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"پست صوتی فقط از طریق تماس با ٨۶* قابل دسترسی است. برای ادامه، یک پین پست صوتی جدید تنظیم کنید."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"تنظیم پین"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-fi/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-fi/strings.xml
index 54167659b..91ac26373 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-fi/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-fi/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktivoidaan visuaalista puhelinvastaajaa."</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Et ehkä saa vastaajan ilmoituksia, ennen kuin visuaalinen puhelinvastaaja on täysin aktivoitu. Saat uudet viestit soittamalla vastaajaan."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Visuaalisen puhelinvastaajan aktivointi epäonnistui."</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Varmista, että puhelimesi mobiiliyhteys toimii, ja yritä uudelleen."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Varmista, että puhelimesi mobiilidatayhteys toimii, ja yritä uudelleen."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Poista lentokonetila käytöstä ja yritä uudelleen."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Ei yhteyttä"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Uusista vastaajaviesteistä ei lähetetä ilmoitusta. Jos olet Wi-Fi:ssä, voit tarkistaa vastaajaviestit synkronoimalla nyt."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Uusista vastaajaviesteistä ei lähetetä ilmoitusta. Jos olet yhteydessä Wi-Fi-verkkoon, voit tarkistaa vastaajaviestit synkronoimalla nyt."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Uusista vastaajaviesteistä ei lähetetä ilmoitusta. Synkronoi vastaajaviestit poistamalla lentokonetila käytöstä."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Vastaajaviestien tarkistamista varten puhelimessasi on oltava mobiilidatayhteys."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Vastaajaviestien tarkistamista varten puhelimessasi on oltava mobiilidatayhteys."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Visuaalisen puhelinvastaajan aktivointi epäonnistui."</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Voit silti tarkistaa vastaajaviestit soittamalla."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Visuaalisen vastaajan päivitys epäonnistui."</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Yritä uudelleen, kun olet Wi-Fi:ssä tai mobiiliyhteys on parempi. Voit silti tarkistaa vastaajaviestit soittamalla."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Yritä uudelleen, kun mobiilidatayhteys on parempi. Voit silti tarkistaa vastaajaviestit soittamalla."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Yritä uudelleen, kun Wi-Fi- tai mobiilidatayhteys on vahvempi. Voit edelleen tarkistaa vastaajaviestit soittamalla."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Yritä uudelleen, kun mobiilidatayhteys on vahvempi. Voit edelleen tarkistaa vastaajaviestit soittamalla."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Visuaalisen vastaajan päivitys epäonnistui."</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Voit silti tarkistaa vastaajaviestit soittamalla."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Visuaalisen vastaajan päivitys epäonnistui."</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Jokin meni vikaan"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Ota yhteys asiakastukeen numerossa <xliff:g id="NUMBER">%1$s</xliff:g> ja ilmoita virhekoodi 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Visuaalisen puhelinvastaajan käyttöehdot"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Visuaalisen puhelinvastaajan käyttöä varten sinun on hyväksyttävä Verizon Wirelessin käyttöehdot:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nSinun on hyväksyttävä Verizon Wirelessin käyttöehdot, jotta voit käyttää visuaalista puhelinvastaajaa:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Ota visuaalinen puhelinvastaaja käyttöön"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visuaalinen puhelinvastaaja poistetaan käytöstä, jos käyttöehtoja ei hyväksytä."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Poista visuaalinen puhelinvastaaja käytöstä"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Puhelinvastaajan transkriptio poistetaan käytöstä, jos käyttöehtoja ei hyväksytä."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Poista puhelinvastaajan transkriptio käytöstä"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Vastaaja on käytettävissä vain soittamalla numeroon *86. Jatka asettamalla vastaajalle uusi PIN-koodi."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Aseta PIN-koodi"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-fr-rCA/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-fr-rCA/strings.xml
index ef88ecfa2..171365291 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-fr-rCA/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Activation de la messagerie vocale visuelle"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Vous ne recevrez peut-être aucune notification de la messagerie vocale tant que la messagerie vocale visuelle ne sera pas complètement activée. Appelez la messagerie vocale pour récupérer de nouveaux messages jusqu\'à l\'activation complète de la messagerie vocale."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Impossible d\'activer la messagerie vocale visuelle"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Assurez-vous que votre téléphone dispose d\'une connexion cellulaire et réessayez."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Assurez-vous que votre téléphone dispose d\'une connexion réseau cellulaire et réessayez."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Désactivez le mode Avion et réessayez."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Aucune connexion"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Vous ne serez pas averti à la réception de nouveaux messages vocaux. Si vous utilisez le Wi-Fi, vous pouvez vérifier si vous avez de nouveaux messages vocaux par une synchronisation."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Vous ne recevrez pas de notification à l\'arrivée de nouveaux messages vocaux. Si vous utilisez le Wi-Fi, vous pouvez vérifier si vous avez de nouveaux messages vocaux en effectuant une synchronisation."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Vous ne serez pas averti à la réception de nouveaux messages vocaux. Désactivez le mode Avion pour synchroniser votre messagerie vocale."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Votre téléphone requiert une connexion de données cellulaire pour consulter la messagerie vocale."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Votre téléphone requiert une connexion de données mobiles pour que vous puissiez consulter la messagerie vocale."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Impossible d\'activer la messagerie vocale visuelle"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Vous pouvez tout de même appeler pour consulter votre messagerie vocale."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Impossible de mettre à jour la messagerie vocale visuelle"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Réessayez lorsque votre connexion Wi-Fi ou cellulaire sera meilleure. Vous pouvez tout de même appeler pour consulter votre messagerie vocale."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Réessayez lorsque votre connexion cellulaire sera meilleure. Vous pouvez tout de même appeler pour consulter votre messagerie vocale."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Réessayez lorsque votre connexion Wi-Fi ou de données mobiles sera meilleure. Vous pouvez tout de même appeler pour consulter votre messagerie vocale."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Réessayez lorsque votre connexion de données mobiles sera meilleure. Vous pouvez tout de même appeler pour consulter votre messagerie vocale."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Impossible de mettre à jour la messagerie vocale visuelle"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Vous pouvez tout de même appeler pour consulter votre messagerie vocale."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Impossible de mettre à jour la messagerie vocale visuelle"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Une erreur s\'est produite"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Veuillez communiquer avec le service à la clientèle au numéro <xliff:g id="NUMBER">%1$s</xliff:g> et lui indiquer que le code d\'erreur est le 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Conditions d\'utilisation de la messagerie vocale visuelle"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Vous devez accepter les conditions d\'utilisation de Verizon Wireless pour utiliser la messagerie vocale visuelle : \n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nVous devez accepter les conditions d\'utilisation de Verizon Wireless pour utiliser la messagerie vocale visuelle :\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Activer la messagerie vocale visuelle"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Si les conditions d\'utilisation sont refusées, la messagerie vocale visuelle sera désactivée."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Désactiver la messagerie vocale visuelle"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Si les conditions d\'utilisation sont refusées, la fonction de transcription des messages vocaux sera désactivée."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Désactiver la fonction de transcription des messages vocaux"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Pour accéder à la messagerie vocale, vous devrez composer *86. Définissez un nouveau NIP de messagerie vocale pour continuer."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Définir le NIP"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-fr/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-fr/strings.xml
index eefd5ad24..a75cd128f 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-fr/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-fr/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Activation de la messagerie vocale visuelle..."</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Tant que la messagerie vocale visuelle n\'est pas totalement activée, vous risquez de ne pas être averti de la réception de nouveaux messages. Appelez votre boîte vocale pour consulter ces derniers."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Impossible d\'activer la messagerie vocale visuelle"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Vérifiez que votre téléphone est bien connecté au réseau mobile, puis réessayez."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Vérifiez que votre téléphone est bien connecté au réseau mobile, puis réessayez."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Désactivez le mode Avion, puis réessayez."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Aucune connexion"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Vous ne recevrez aucune notification en cas de nouveau message vocal. Si vous êtes connecté en Wi-Fi, vous pouvez consulter votre messagerie vocale maintenant en effectuant une synchronisation."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Vous ne recevrez aucune notification en cas de nouveau message vocal. Si vous êtes connecté en Wi-Fi, vous pouvez consulter votre messagerie vocale dès à présent en effectuant une synchronisation."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Vous ne recevrez aucune notification en cas de nouveau message. Désactivez le mode Avion pour synchroniser votre messagerie vocale."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Vous devez disposer d\'une connexion de données mobiles pour consulter votre messagerie vocale."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Vous devez disposer d\'une connexion de données mobiles pour consulter votre messagerie vocale."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Impossible d\'activer la messagerie vocale visuelle"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"La consultation de votre messagerie vocale par téléphone est toujours possible."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Impossible de mettre à jour la messagerie vocale visuelle"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Réessayez lorsque vous bénéficierez d\'une meilleure connexion au réseau mobile ou Wi-Fi. La consultation de votre messagerie vocale par téléphone est toujours possible."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Réessayez lorsque vous bénéficierez d\'une meilleure connexion de données mobiles. La consultation de votre messagerie vocale par téléphone est toujours possible."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Réessayez lorsque vous bénéficierez d\'une meilleure connexion au réseau mobile ou Wi-Fi. Vous pouvez tout de même consulter votre messagerie vocale par téléphone."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Réessayez lorsque vous bénéficierez d\'une meilleure connexion de données mobiles. Vous pouvez tout de même consulter votre messagerie vocale par téléphone."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Impossible de mettre à jour la messagerie vocale visuelle"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"La consultation de votre messagerie vocale par téléphone est toujours possible."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Impossible de mettre à jour la messagerie vocale visuelle"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Problème"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Veuillez contacter le service client au <xliff:g id="NUMBER">%1$s</xliff:g>. Le code d\'erreur à transmettre au conseiller est le 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Conditions d\'utilisation de la messagerie vocale visuelle"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Vous devez accepter les conditions d\'utilisation de Verizon Wireless pour pouvoir utiliser la messagerie vocale visuelle :\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nVous devez accepter les conditions d\'utilisation de Verizon Wireless pour pouvoir utiliser la messagerie vocale virtuelle :\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Activer la messagerie vocale visuelle"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Si vous refusez les conditions d\'utilisation, la messagerie vocale visuelle sera désactivée."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Désactiver la messagerie vocale visuelle"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"La transcription des messages vocaux sera désactivée en cas de refus des conditions d\'utilisation."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Désactiver la transcription des messages vocaux"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Vous ne pouvez accéder à la messagerie vocale qu\'en composant le *86. Définissez un nouveau code PIN de messagerie vocale pour continuer."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Définir un code"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-gl/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-gl/strings.xml
index efd174ffb..4cdd5dd94 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-gl/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-gl/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Activando correo de voz visual"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"É posible que non recibas notificacións do correo de voz ata que actives o correo de voz visual. Chama ao correo de voz para consultar as mensaxes novas ata que o correo de voz estea completamente activado."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Non se pode activar o correo de voz visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Asegúrate de que o teléfono ten conexión móbil e téntao de novo."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Asegúrate de que o teu teléfono ten unha conexión de rede móbil e téntao de novo."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Desactiva o modo avión e téntao de novo."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Sen conexión"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Non recibirás notificacións dos correos de voz novos. Se estás utilizando o sinal wifi, podes comprobar o correo de voz se o sincronizas agora."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Non recibirás notificacións dos correos de voz novos. Se estás utilizando o sinal wifi, podes comprobar o correo de voz se o sincronizas agora."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Non recibirás notificacións dos correos de voz novos. Desactiva o modo avión para sincronizar o correo de voz."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"O teléfono necesita conexión de datos móbiles para comprobar o correo de voz."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"O teléfono necesita conexión de datos móbiles para comprobar o correo de voz."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Non se pode activar o correo de voz visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Aínda podes chamar para comprobar o correo de voz."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Non se pode actualizar o correo de voz visual"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Téntao de novo cando o a conexión móbil ou wifi sexa mellor. Aínda podes chamar para comprobar o correo de voz."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Téntao de novo cando a conexión de datos móbiles sexa mellor. Aínda podes chamar para comprobar o correo de voz."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Téntao de novo cando o a túa conexión de datos móbiles ou wifi sexa mellor. Aínda podes chamar para comprobar o correo de voz."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Téntao de novo cando a túa conexión de datos móbiles sexa mellor. Aínda podes chamar para comprobar o correo de voz."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Non se pode actualizar o correo de voz visual"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Aínda podes chamar para comprobar o correo de voz."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Non se pode actualizar o correo de voz visual"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Produciuse un erro"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Ponte en contacto co servizo de atención ao cliente (<xliff:g id="NUMBER">%1$s</xliff:g>) e indica o código de erro 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Termos e condicións do correo de voz visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Debes aceptar os termos e condicións de Verizon Wireless para utilizar o correo de voz visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDebes aceptar os termos e condicións de Verizon Wireless para usar o correo de voz visual:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Activar correo de voz visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Se non se aceptan os termos e condicións, desactivarase o correo de voz visual."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Desactivar correo de voz visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Se se rexeitan os termos e condicións, desactivarase a transcrición do correo de voz."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Desactivar transcrición do correo de voz"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Só poderás acceder ao correo de voz chamando ao *86. Configura un novo PIN do correo de voz para continuar."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Establecer PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-gu/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-gu/strings.xml
index 44634437a..68a768b68 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-gu/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-gu/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"વિઝ્યુઅલ વૉઇસમેઇલ સક્રિય કરી રહ્યાં છે"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"જ્યાં સુધી વિઝ્યુઅલ વૉઇસમેઇલ સંપૂર્ણપણે સક્રિય ન થાય ત્યાં સુધી તમે વૉઇસમેઇલની સૂચનાઓ પ્રાપ્ત કરી શકશો નહીં. વૉઇસમેઇલ સંપૂર્ણપણે સક્રિય ન થાય ત્યાં સુધી નવા સંદેશા પુનઃપ્રાપ્ત કરવા માટે વૉઇસમેઇલને કૉલ કરો."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"વિઝ્યુઅલ વૉઇસમેઇલ સક્રિય કરી શકતાં નથી"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"તમારા ફોન પર સેલ્યુલર કનેક્શન હોવાની ખાતરી કરો અને ફરી પ્રયાસ કરો."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"તમારા ફોન પર મોબાઇલ નેટવર્ક કનેક્શન હોવાની ખાતરી કરો અને ફરી પ્રયાસ કરો."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"એરપ્લેન મોડ બંધ કરો અને ફરી પ્રયાસ કરો."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"કોઈ કનેક્શન નથી"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"નવી વૉઇસમેઇલ્સ માટે તમને સૂચિત કરવામાં આવશે નહીં. જો તમે Wi-Fi પર છો, તો હમણાં સમન્વયિત કરીને વૉઇસમેઇલ માટે તપાસ કરી શકો છો."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"નવા વૉઇસમેઇલ માટે તમને સૂચિત કરવામાં આવશે નહીં. જો તમે Wi-Fi પર છો, તો તમે હમણાં સમન્વયિત કરીને વૉઇસમેઇલ માટે તપાસ કરી શકો છો."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"નવી વૉઇસમેઇલ્સ માટે તમને સૂચિત કરવામાં આવશે નહીં. તમારી વૉઇસમેઇલ સમન્વયિત કરવા માટે એરપ્લેન મોડ બંધ કરો."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"વૉઇસમેઇલને તપાસવા માટે તમારા ફોનને સેલ્યુલર ડેટા કનેક્શનની જરૂર છે."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"વૉઇસમેઇલને તપાસવા માટે તમારા ફોનને મોબાઇલ ડેટા કનેક્શનની જરૂર છે."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"વિઝ્યુઅલ વૉઇસમેઇલ સક્રિય કરી શકતાં નથી"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"તમે વૉઇસમેઇલ તપાસવા માટે હજી પણ કૉલ કરી શકો છો."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"વિઝ્યુઅલ વૉઇસમેઇલ અપડેટ કરી શકતાં નથી"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"તમારું Wi-Fi અથવા સેલ્યુલર કનેક્શન બહેતર હોવા પર ફરી પ્રયાસ કરો. તમે વૉઇસમેઇલ તપાસવા માટે હજી પણ કૉલ કરી શકો છો."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"તમારું સેલ્યુલર ડેટા કનેક્શન બહેતર હોવા પર ફરી પ્રયાસ કરો. તમે વૉઇસમેઇલ તપાસવા માટે હજી પણ કૉલ કરી શકો છો."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"તમારું Wi-Fi અથવા મોબાઇલ ડેટા કનેક્શન બહેતર હોવા પર ફરી પ્રયાસ કરો. તમે વૉઇસમેઇલ તપાસવા માટે હજી પણ કૉલ કરી શકો છો."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"તમારું મોબાઇલ ડેટા કનેક્શન બહેતર હોવા પર ફરી પ્રયાસ કરો. તમે વૉઇસમેઇલ તપાસવા માટે હજી પણ કૉલ કરી શકો છો."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"વિઝ્યુઅલ વૉઇસમેઇલ અપડેટ કરી શકતાં નથી"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"તમે વૉઇસમેઇલ તપાસવા માટે હજી પણ કૉલ કરી શકો છો."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"વિઝ્યુઅલ વૉઇસમેઇલ અપડેટ કરી શકતાં નથી"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"કંઈક ખોટું થયું"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"કૃપા કરીને <xliff:g id="NUMBER">%1$s</xliff:g> પર ગ્રાહક સેવાનો સંપર્ક કરી અને તેમને ભૂલ કોડ 9999 કહો."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"વિઝ્યુઅલ વૉઇસમેઇલની શરતો અને નિયમો"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"વિઝ્યુઅલ વૉઇસમેઇલનો ઉપયોગ કરવા માટે તમારે Verizon Wireless ની શરતો અને નિયમોનો સ્વીકાર કરવો આવશ્યક છે:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nવિઝ્યુઅલ વૉઇસમેઇલનો ઉપયોગ કરવા માટે તમારે Verizon Wireless નાં નિયમો અને શરતોને સ્વીકારવી આવશ્યક છે:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"વિઝ્યુઅલ વૉઇસમેઇલ ચાલુ કરો"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"જો શરતો અને નિયમો નકારવામાં આવે છે તો વિઝ્યુઅલ વૉઇસમેઇલ અક્ષમ કરવામાં આવશે."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"વિઝ્યુઅલ વૉઇસમેઇલ અક્ષમ કરો"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"જો શરતો અને નિયમો નકારવામાં આવે તો વૉઇસમેઇલ ટ્રાંસ્ક્રિપ્શન અક્ષમ કરવામાં આવશે."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"વૉઇસમેઇલ ટ્રાંસ્ક્રિપ્શન અક્ષમ કરો"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"વૉઇસમેઇલ માત્ર *86 પર કૉલ કરીને જ ઍક્સેસ કરી શકાશે. આગળ વધવા માટે નવો વૉઇસમેઇલ PIN સેટ કરો."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN સેટ કરો"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml
index bc9c46331..5cf42e378 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"विज़ुअल वॉइसमेल सक्रिय किया जा रहा है"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"विज़ुअल वॉइसमेल के पूरी तरह सक्रिय होने तक हो सकता है कि आपको वॉइसमेल नोटिफ़िकेशन प्राप्त ना हों. वॉइसमेल के पूरी तरह सक्रिय होने तक नए संदेश प्राप्त करने के लिए वॉइसमेल को कॉल करें."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"विज़ुअल वॉइसमेल सक्रिय नहीं किया जा सकता"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"सुनिश्चित करें कि आपके फ़ोन में सेल्यूलर कनेक्शन है और फिर से प्रयास करें."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"सुनिश्चित करें कि आपके फ़ोन में मोबाइल नेटवर्क कनेक्शन है और दोबारा कोशिश करें."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"हवाई जहाज़ मोड बंद करें और फिर से प्रयास करें."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"कोई कनेक्शन नहीं"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"आपको नए वॉइसमेल के लिए सूचित नहीं किया जाएगा. यदि आप वाई-फ़ाई पर हैं, तो आप समन्वयित करके अभी वॉइसमेल देख सकते हैं."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"आपको नए वॉइसमेल की सूचना नहीं दी जाएगी. अगर आप Wi‑Fi का उपयोग कर रहे हैं, तो अभी सिंक करके वॉइसमेल देख सकते हैं."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"आपको नए वॉइसमेल के लिए सूचित नहीं किया जाएगा. अपना वॉइसमेल समन्वयित करने के लिए हवाई जहाज़ मोड बंद करें."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"वॉइसमेल देखने के लिए आपके फ़ोन में सेल्यूलर डेटा की आवश्यकता होगी."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"वॉइसमेल देखने के लिए आपके फ़ोन में मोबाइल डेटा कनेक्शन होना चाहिए."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"विज़ुअल वॉइसमेल सक्रिय नहीं किया जा सकता"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"आप वॉइसमेल देखने के लिए अभी भी कॉल कर सकते हैं."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"विज़ुअल वॉइसमेल अपडेट नहीं किया जा सकता"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"अपना वाई-फ़ाई या सेल्यूलर कनेक्शन बेहतर होने पर फिर से प्रयास करें. आप वॉइसमेल देखने के लिए अभी भी कॉल कर सकते हैं."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"अपना सेल्यूलर डेटा कनेक्शन बेहतर होने पर फिर से प्रयास करें. आप वॉइसमेल देखने के लिए अभी भी कॉल कर सकते हैं."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"आपका Wi‑Fi या मोबाइल डेटा कनेक्शन बेहतर होने पर दोबारा कोशिश करें. आप अभी भी वॉइसमेल देखने के लिए कॉल कर सकते हैं."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"आपका मोबाइल डेटा कनेक्शन बेहतर होने पर दोबारा कोशिश करें. आप अभी भी वॉइसमेल देखने के लिए कॉल कर सकते हैं."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"विज़ुअल वॉइसमेल अपडेट नहीं किया जा सकता"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"आप वॉइसमेल देखने के लिए अभी भी कॉल कर सकते हैं."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"विज़ुअल वॉइसमेल अपडेट नहीं किया जा सकता"</string>
@@ -55,7 +55,7 @@
<string name="voicemail_action_set_pin" msgid="958510049866316228">"पिन सेट करें"</string>
<string name="voicemail_action_retry" msgid="4450307484541052511">"पुन: प्रयास करें"</string>
<string name="voicemail_action_turn_archive_on" msgid="6008444955560830591">"चालू करें"</string>
- <string name="voicemail_action_dimiss" msgid="6018415798136796966">"नहीं धन्यवाद"</string>
+ <string name="voicemail_action_dimiss" msgid="6018415798136796966">"रहने दें"</string>
<string name="voicemail_action_sync" msgid="5139315923415392787">"समन्वयित करें"</string>
<string name="voicemail_action_call_voicemail" msgid="6701710720535556395">"वॉइसमेल को कॉल करें"</string>
<string name="voicemail_action_call_customer_support" msgid="7698973007656462748">"ग्राहक सहायता को कॉल करें"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"कुछ गलत हुआ"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"कृपया <xliff:g id="NUMBER">%1$s</xliff:g> पर ग्राहक सेवा से संपर्क करें और उन्हें बताएं कि गड़बड़ी कोड 9999 है."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"विज़ुअल वॉइसमेल नियम और शर्तें"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"विज़ुअल वॉइसमेल का उपयोग करने के लिए आपको Verizon वायरलेस के नियम और शर्तों को स्वीकार करना होगा:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nआपको विज़ुअल वॉइसमेल का उपयोग करने के लिए Verizon Wireless के नियम और शर्तों को स्वीकार करना होगा:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"विज़ुअल वॉयसमेल चालू करें"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"नियम और शर्तों को अस्वीकार किए जाने पर विज़ुअल वॉइसमेल अक्षम कर दिया जाएगा."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"विज़ुअल वॉइसमेल अक्षम करें"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"अगर नियम और शर्तों को अस्वीकार कर दिया जाता है, तो वॉइसमेंल ट्रांसक्रिप्शन अक्षम हो जाएगा."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"वॉइसमेल ट्रांसक्रिप्शन अक्षम करें"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"वॉइसमेल को केवल *86 पर कॉल करके एक्सेस किया जा सकेगा. आगे बढ़ने के लिए नया वॉइसमेल पिन सेट करें."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"पिन सेट करें"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-hr/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-hr/strings.xml
index a310d597c..46bee915f 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-hr/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-hr/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktiviranje vizualne govorne pošte"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Možda nećete primiti obavijesti o govornoj pošti dok se vizualna govorna pošta u potpunosti ne aktivira. Nazovite službu za govornu poštu da biste dohvatili nove poruke dok se govorna pošta u potpunosti ne aktivira."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Vizualna govorna pošta ne može se aktivirati"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Provjerite mobilnu vezu telefona i pokušajte ponovno."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Provjerite mobilnu vezu telefona i pokušajte ponovno."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Isključite način rada u zrakoplovu i pokušajte ponovno."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Nema veze"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nećete primati obavijesti o novim govornim porukama. Ako upotrebljavate Wi-Fi mrežu, govornu poštu možete provjeriti tako da se odmah sinkronizirate."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nećete primati obavijesti o novim govornim porukama. Ako upotrebljavate Wi-Fi mrežu, govornu poštu možete provjeriti tako da se odmah sinkronizirate."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nećete primati obavijesti o novim govornim porukama. Isključite način rada u zrakoplovu da biste sinkronizirali govornu poštu."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Telefon mora imati mobilnu podatkovnu vezu da biste provjerili govornu poštu."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefon mora imati mobilnu podatkovnu vezu da biste provjerili govornu poštu."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Vizualna govorna pošta ne može se aktivirati"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"I dalje možete nazvati govornu poštu i provjeriti je."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Vizualna govorna pošta ne može se ažurirati"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Pokušajte ponovno kad uspostavite bolju Wi-Fi ili mobilnu vezu. I dalje možete nazvati govornu poštu i provjeriti je."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Pokušajte ponovno kad uspostavite bolju mobilnu podatkovnu vezu. I dalje možete nazvati govornu poštu i provjeriti je."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Pokušajte ponovno kad uspostavite bolju Wi-Fi ili mobilnu vezu. I dalje možete nazvati govornu poštu i provjeriti je."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Pokušajte ponovno kad uspostavite bolju mobilnu podatkovnu vezu. I dalje možete nazvati govornu poštu i provjeriti je."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Vizualna govorna pošta ne može se ažurirati"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"I dalje možete nazvati govornu poštu i provjeriti je."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Vizualna govorna pošta ne može se ažurirati"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Nešto je pošlo po zlu"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Obratite se korisničkoj službi na broj <xliff:g id="NUMBER">%1$s</xliff:g> i recite da je kôd pogreške 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Uvjeti i odredbe za vizualnu govornu poštu"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Da biste koristili vizualnu govornu poštu morate prihvatiti uvjete i odredbe Verizon Wirelessa:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDa biste koristili vizualnu govornu poštu, morate prihvatiti uvjete i odredbe Verizon Wirelessa:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Uključivanje vizualne govorne pošte"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Ako odbijete uvjete i odredbe, onemogućit ćete vizualnu govornu poštu."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Onemogući vizualnu govornu poštu"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Ako odbijete uvjete i odredbe, onemogućit ćete prijepis govorne pošte."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Onemogućavanje prijepisa govorne pošte"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Govornoj pošti moći će se pristupiti samo pozivanjem broja *86. Postavite novi PIN za govornu poštu da biste nastavili."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Postavljanje PIN-a"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-hu/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-hu/strings.xml
index cc3eb7ecf..5d3915de2 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-hu/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-hu/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Vizuális hangpostaüzenetek aktiválása"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"A vizuális hangposta teljes aktiválásáig nem feltétlenül kap értesítést a hangpostaüzenetekről. A szolgáltatás teljes aktiválásáig a hangpostát felhívva kérheti le új üzeneteit."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Nem sikerült aktiválni a vizuális hangpostaüzeneteket"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Győződjön meg róla, hogy van adatkapcsolat, és próbálja újra."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Győződjön meg róla, hogy van mobil-adatkapcsolat, és próbálja újra."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Kapcsolja ki a repülős üzemmódot, és próbálja újra."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Nincs kapcsolat"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nem kap értesítést az új hangpostaüzenetekről. Ha Wi-Fi-t használ, szinkronizálással lekérheti a hangpostaüzeneteket."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nem kap értesítést az új hangpostaüzenetekről. Ha Wi-Fi-t használ, szinkronizálással lekérheti a hangpostaüzeneteket."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nem kap értesítést az új hangpostaüzenetekről. Kapcsolja ki a repülős üzemmódot, és szinkronizálja a hangpostaüzeneteket."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"A hangpostaüzenetek lekéréshez adatkapcsolattal kell rendelkeznie."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"A hangpostaüzenetek lekéréshez adatkapcsolattal kell rendelkeznie."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Nem sikerült aktiválni a vizuális hangpostaüzeneteket"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Hívással továbbra is lekérheti a hangpostaüzeneteket."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Nem sikerült frissíteni a vizuális hangpostaüzeneteket"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Próbálja újra, amikor a Wi-Fi- vagy adatkapcsolat erősebb lesz. Hívással továbbra is lekérheti a hangpostaüzeneteket."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Próbálja újra, amikor az adatkapcsolat erősebb lesz. Hívással továbbra is lekérheti a hangpostaüzeneteket."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Próbálja újra, amikor a Wi-Fi- vagy adatkapcsolat erősebb lesz. Hívással továbbra is lekérheti a hangpostaüzeneteket."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Próbálja újra, amikor a mobil-adatkapcsolat erősebb lesz. Hívással továbbra is lekérheti a hangpostaüzeneteket."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Nem sikerült frissíteni a vizuális hangpostaüzeneteket"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Hívással továbbra is lekérheti a hangpostaüzeneteket."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Nem sikerült frissíteni a vizuális hangpostaüzeneteket"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Hiba történt"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Forduljon az ügyfélszolgálathoz a következő telefonszámon, és adja meg a 9999-es hibakódot: <xliff:g id="NUMBER">%1$s</xliff:g>."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"A vizuális hangposta általános szerződési feltételei"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"A vizuális hangposta használatához el kell fogadnia a Verizon Wireless általános szerződési feltételeit:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nA virtuális hangposta használatához el kell fogadnia a Verizon Wireless Általános Szerződési Feltételeit:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"A vizuális hangposta bekapcsolása"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Ha nem fogadja el az általános szerződési feltételeket, letiltjuk a vizuális hangpostát."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"A vizuális hangposta letiltása"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Ha nem fogadja el az általános szerződési feltételeket, letiltjuk a hangpostaüzenetek átírását."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Hangpostaüzenetek átírásának letiltása"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"A hangpostát a *86 számot tárcsázva érheti el. A folytatáshoz állítson be új PIN-kódot."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN-kód beállítása"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-hy/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-hy/strings.xml
index 4a9c2ed21..60b6ce5da 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-hy/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-hy/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Ձայնային փոստի ցուցադրման ակտիվացում"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Ձայնային հաղորդագրությունների մասին ծանուցումներ չեք ստանա, քանի որ չեք ակտիվացրել ձայնային փոստի ցուցադրումը: Մինչ այդ, նոր հաղորդագրությունները լսելու համար զանգեք ձայնային փոստի ծառայություն:"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Չհաջողվեց ակտիվացնել ձայնային փոստի ցուցադրումը"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Համոզվեք, որ հեռախոսը միացած է բջջային ցանցին և նորից փորձեք:"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Համոզվեք, որ հեռախոսը միացած է բջջային ցանցին և նորից փորձեք:"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Անջատեք ինքնաթիռի ռեժիմը և նորից փորձեք:"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Կապ չկա"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Նոր ձայնային հաղորդագրությունների մասին ծանուցումներ չեք ստանա: Եթե միացած եք Wi-Fi-ին, կարող եք ստուգել ձայնային փոստը՝ կատարելով համաժամեցում:"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Նոր ձայնային հաղորդագրությունների մասին ծանուցումներ չեք ստանա: Եթե միացած եք Wi-Fi-ին, կարող եք ստուգել ձայնային փոստը՝ կատարելով համաժամեցում:"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Նոր ձայնային հաղորդագրությունների մասին ծանուցումներ չեք ստանա: Անջատեք ինքնաթիռի ռեժիմը՝ ձայնային փոստը համաժամեցնելու համար:"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Ձայնային փոստը ստուգելու համար ձեր հեռախոսի բջջային ինտերնետը պետք է միացած լինի:"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Ձայնային փոստը ստուգելու համար ձեր հեռախոսի բջջային ինտերնետը պետք է միացած լինի:"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Չհաջողվեց ակտիվացնել ձայնային փոստի ցուցադրումը"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Ձայնային փոստը ստուգելու համար զանգահարեք հատուկ համարին:"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Չհաջողվեց թարմացնել ձայնային փոստի ցուցադրումը"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Նորից փորձեք, երբ Wi-Fi-ը կամ բջջային կապը լավանա: Ձայնային փոստը ստուգելու համար զանգահարեք հատուկ համարին:"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Նորից փորձեք, երբ բջջային ինտերնետը լավանա: Ձայնային փոստը ստուգելու համար զանգահարեք հատուկ համարին:"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Նորից փորձեք, երբ Wi-Fi-ը կամ բջջային ինտերնետը լավանա: Ձայնային փոստը ստուգելու համար զանգահարեք հատուկ համարին:"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Նորից փորձեք, երբ բջջային ինտերնետը լավանա: Ձայնային փոստը ստուգելու համար զանգահարեք հատուկ համարին:"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Չհաջողվեց թարմացնել ձայնային փոստի ցուցադրումը"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Ձայնային փոստը ստուգելու համար զանգահարեք հատուկ համարին:"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Չհաջողվեց թարմացնել ձայնային փոստի ցուցադրումը"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Սխալ առաջացավ"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"<xliff:g id="NUMBER">%1$s</xliff:g> համարով կապվեք hաճախորդների սպասարկման ծառայության հետ և հայտնեք սխալի 9999 կոդը:"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Տեսողական ձայնային փոստի օգտագործման պայմաններ"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Տեսողական ձայնային փոստն օգտագործելու համար ընդունեք Verizon Wireless-ի օգտագործման պայմանները՝\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nՏեսողական ձայնային փոստն օգտագործելու համար ընդունեք Verizon Wireless-ի օգտագործման պայմանները՝\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Միացնել տեսողական ձայնային փոստը"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Եթե չընդունեք օգտագործման պայմանները, տեսողական ձայնային փոստը կանջատվի:"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Անջատել տեսողական ձայնային փոստը"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Եթե չընդունեք օգտագործման պայմանները, ձայնային փոստի տառադրումը կանջատվի:"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Անջատել ձայնային փոստի տառադրումը"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Ձայնային փոստը հասանելի կլինի միայն *86 համարով: Շարունակելու համար ընտրեք ձայնային փոստի նոր PIN:"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Ընտրել PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-in/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-in/strings.xml
index 948afaed4..eed7a3722 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-in/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-in/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Mengaktifkan pesan suara visual"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Anda mungkin tidak menerima pemberitahuan pesan suara hingga visual pesan suara sepenuhnya diaktifkan. Panggil pesan suara untuk mengambil pesan baru hingga pesan suara sepenuhnya diaktifkan."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Tidak dapat mengaktifkan pesan suara visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Pastikan ponsel Anda memiliki koneksi seluler, lalu coba lagi."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Pastikan ponsel memiliki koneksi jaringan seluler, dan coba lagi."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Nonaktifkan mode pesawat, lalu coba lagi."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Tidak ada sambungan internet"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Anda tidak akan menerima notifikasi pesan suara baru. Jika menggunakan Wi-Fi, pesan suara dapat diperiksa dengan menyinkronkannya sekarang."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Anda tidak akan menerima notifikasi pesan suara baru. Jika menggunakan Wi-Fi, pesan suara dapat diperiksa dengan menyinkronkannya sekarang."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Anda tidak akan menerima notifikasi pesan suara baru. Nonaktifkan mode pesawat untuk menyinkronkan pesan suara."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Ponsel Anda memerlukan koneksi data seluler untuk memeriksa pesan suara."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Ponsel memerlukan koneksi data seluler untuk memeriksa pesan suara."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Tidak dapat mengaktifkan pesan suara visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Anda masih dapat menelepon untuk memeriksa pesan suara."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Tidak dapat memperbarui pesan suara visual"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Coba lagi ketika koneksi Wi-Fi atau seluler lebih baik. Anda masih dapat menelepon untuk memeriksa pesan suara."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Coba lagi ketika koneksi data seluler lebih baik. Anda masih dapat menelepon untuk memeriksa pesan suara."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Coba lagi ketika koneksi Wi-Fi atau data seluler lebih baik. Anda masih bisa menelepon untuk memeriksa pesan suara."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Coba lagi ketika koneksi data seluler lebih baik. Anda masih bisa menelepon untuk memeriksa pesan suara."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Tidak dapat memperbarui pesan suara visual"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Anda masih dapat menelepon untuk memeriksa pesan suara."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Tidak dapat memperbarui pesan suara visual"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Terjadi Kesalahan"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Hubungi Layanan Pelanggan melalui nomor telepon <xliff:g id="NUMBER">%1$s</xliff:g> dan beri tahukan kode kesalahan 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Persyaratan dan Ketentuan Pesan Suara Visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Anda harus menerima persyaratan dan ketentuan Verizon Wireless untuk menggunakan pesan suara visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nAnda harus menerima persyaratan dan ketentuan Verizon Wireless untuk menggunakan pesan suara visual:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Aktifkan Pesan Suara Visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Pesan suara visual akan dinonaktifkan jika persyaratan dan ketentuan ditolak."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Nonaktifkan pesan suara visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transkripsi pesan suara akan dinonaktifkan jika persyaratan dan ketentuan ditolak."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Nonaktifkan transkripsi pesan suara"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Pesan suara hanya dapat diakses dengan menghubungi *86. Setel PIN pesan suara baru untuk melanjutkan."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Setel PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-is/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-is/strings.xml
index ae0497ee3..5965a04a9 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-is/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-is/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Virkjar myndrænt talhólf"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Þú getur ekki fengið tilkynningar um talhólfsskilaboð fyrr en myndrænt talhólf er virkjað að fullu. Hringdu í talhólfið til að sækja ný skilaboð þar til talhólfið hefur verið virkjað að fullu."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Ekki hægt að virkja myndrænt talhólf"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Gakktu úr skugga um að síminn sé tengdur farsímakerfi og reyndu aftur."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Gakktu úr skugga um að síminn sé tengdur farsímakerfi og reyndu aftur."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Slökktu á flugstillingu og reyndu aftur."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Engin tenging"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Þú færð ekki tilkynningu um ný talhólfsskilaboð. Ef þú ert með Wi-Fi tengingu geturðu athugað talhólfið með því að samstilla núna."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Þú færð ekki tilkynningar um ný talhólfsskilaboð. Ef þú ert með Wi-Fi tengingu geturðu athugað talhólfið með því að samstilla núna."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Þú færð ekki tilkynningu um ný talhólfsskilaboð. Slökktu á flugstillingu til að samstilla talhólfið."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Síminn þarf tengingu við farsímanet til að athuga talhólf."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Síminn þarf tengingu við farsímanet til að athuga talhólf."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Ekki hægt að virkja myndrænt talhólf"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Þú getur samt hringt til að athuga talhólfið."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Ekki hægt að uppfæra sjónrænt talhólf"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Reyndu aftur þegar Wi-Fi eða farsímanettengingin þín er betri. Þú getur samt hringt til að athuga talhólfið."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Reyndu aftur þegar farsímanettengingin þín er betri. Þú getur samt hringt til að athuga talhólfið."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Reyndu aftur þegar Wi-Fi eða farsímanettengingin þín er betri. Þú getur samt hringt til að athuga talhólfið."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Reyndu aftur þegar farsímanettengingin þín er betri. Þú getur samt hringt til að athuga talhólfið."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Ekki hægt að uppfæra sjónrænt talhólf"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Þú getur samt hringt til að athuga talhólfið."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Ekki hægt að uppfæra sjónrænt talhólf"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Eitthvað fór úrskeiðis"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Hafðu samband við þjónustudeild í síma <xliff:g id="NUMBER">%1$s</xliff:g> og gefðu upp villukóðann 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Skilmálar myndræns talhólfs"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Þú verður að samþykkja skilmála Verizon Wireless til að geta notað myndrænt talhólf:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nÞú verður að samþykkja skilmála Verizon Wireless til að nota myndrænt talhólf:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Kveikja á myndrænu talhólfi"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Slökkt verður á myndrænu talhólfi ef skilmálum er hafnað."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Slökkva á myndrænu talhólfi"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Slökkt verður á umritun talhólfsskilaboða ef skilmálarnir eru ekki samþykktir."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Slökkva á umritun talhólfsskilaboða"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Talhólf er einungis aðgengilegt með því að hringja í *86. Stilltu nýtt PIN-númer fyrir talhólfið til að halda áfram."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Stilla PIN-númer"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-it/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-it/strings.xml
index 1df608aed..0133be523 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-it/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-it/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Attivazione della lettura della segreteria"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Potresti non ricevere le notifiche dei messaggi vocali fino a che non avrai attivato completamente la funzione di lettura della segreteria. Fino ad allora, chiama la segreteria per recuperare i nuovi messaggi."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Impossibile attivare la lettura della segreteria"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Assicurati che il telefono abbia una connessione alla rete dati e riprova."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Assicurati che il telefono abbia una connessione alla rete mobile e riprova."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Disattiva la modalità aereo e riprova."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Nessuna connessione"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Non riceverai notifiche per i nuovi messaggi vocali. Se sei connesso a una rete Wi-Fi, puoi consultare la segreteria effettuando subito la sincronizzazione."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Non riceverai notifiche per i nuovi messaggi vocali. Se sei connesso a una rete Wi-Fi, puoi consultare la segreteria effettuando subito la sincronizzazione."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Non riceverai notifiche per i nuovi messaggi vocali. Disattiva la modalità aereo per sincronizzare la segreteria."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Per poter consultare la segreteria, il telefono deve essere connesso a una rete dati."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Per poter consultare la segreteria, il telefono deve essere connesso a una rete mobile."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Impossibile attivare la lettura della segreteria"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Puoi ancora consultare la segreteria tramite chiamata."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Impossibile aggiornare la lettura della segreteria"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Riprova quando la connessione alla rete Wi-Fi o dati sarà migliore. Puoi ancora consultare la segreteria tramite chiamata."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Riprova quando la connessione alla rete dati sarà migliore. Puoi ancora consultare la segreteria tramite chiamata."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Riprova quando la connessione alla rete Wi-Fi o mobile sarà migliore. Puoi ancora consultare la segreteria tramite chiamata."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Riprova quando la connessione dati mobile sarà migliore. Puoi ancora consultare la segreteria tramite chiamata."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Impossibile aggiornare la lettura della segreteria"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Puoi ancora consultare la segreteria tramite chiamata."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Impossibile aggiornare la lettura della segreteria"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Si è verificato un problema"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Contatta l\'assistenza clienti al numero <xliff:g id="NUMBER">%1$s</xliff:g> indicando il seguente codice di errore: 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Termini e condizioni della lettura della segreteria"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Devi accettare i termini e condizioni di Verizon Wireless per utilizzare la lettura della segreteria:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDevi accettare termini e condizioni di Verizon Wireless per utilizzare la lettura della segretaria:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Attiva la lettura della segreteria"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"La lettura della segreteria verrà disattivata se non accetti i termini e condizioni."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Disattiva la lettura della segreteria"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"La trascrizione della segreteria verrà disattivata se non accetti termini e condizioni."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Disattiva la trascrizione della segreteria"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"La segreteria sarà accessibile unicamente chiamando il numero *86. Imposta un nuovo PIN per la segreteria per procedere."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Imposta PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-iw/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-iw/strings.xml
index c05a02feb..a3fce0745 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-iw/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-iw/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"מפעיל את הדואר הקולי הוויזואלי"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"ייתכן שלא תקבל עדכונים על הודעות חדשות בדואר הקולי עד שהדואר הקולי הוויזואלי יופעל במלואו. עד אז, תצטרך להתקשר לדואר הקולי כדי להאזין להודעות החדשות."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"לא ניתן להפעיל את הדואר הקולי הוויזואלי"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"ודא שלטלפון יש חיבור לרשת סלולרית ונסה שוב."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"ודא שהטלפון מחובר לרשת סלולרית ונסה שוב."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"השבת את מצב טיסה ונסה שוב."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"אין חיבור"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"‏לא תקבל עדכונים על הודעות חדשות בדואר הקולי. אם אתה משתמש בחיבור Wi-Fi, סנכרן עכשיו כדי לבדוק את הדואר הקולי."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"‏לא תקבל עדכונים על הודעות קוליות חדשות. אם אתה משתמש בחיבור Wi-Fi, סנכרן עכשיו כדי לבדוק אם יש לך הודעות קוליות."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"לא תקבל עדכונים על הודעות חדשות בדואר הקולי. השבת את מצב הטיסה כדי לסנכרן את הדואר הקולי שלך."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"כדי שתוכל לבדוק את הדואר הקולי, נדרש חיבור לנתונים סלולריים בטלפון."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"כדי לבדוק הודעות קוליות נדרש חיבור לרשת סלולרית בטלפון."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"לא ניתן להפעיל את הדואר הקולי הוויזואלי"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"עדיין תוכל להתקשר כדי לבדוק את הדואר הקולי."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"לא ניתן לעדכן את הדואר הקולי הוויזואלי"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"‏נסה שוב כשיהיה חיבור טוב יותר ל-Wi-Fi או לרשת הסלולרית. עדיין תוכל להתקשר כדי לבדוק את הדואר הקולי."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"נסה שוב כשיהיה חיבור טוב יותר לרשת הסלולרית. עדיין תוכל להתקשר כדי לבדוק את הדואר הקולי."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"‏נסה שוב כשיהיה חיבור טוב יותר ל-Wi-Fi או לרשת הסלולרית. אפשר גם להתקשר כדי לבדוק הודעות קוליות."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"נסה שוב כשיהיה חיבור טוב יותר לרשת הסלולרית. אפשר גם להתקשר כדי לבדוק הודעות קוליות."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"לא ניתן לעדכן את הדואר הקולי הוויזואלי"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"עדיין תוכל להתקשר כדי לבדוק את הדואר הקולי."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"לא ניתן לעדכן את הדואר הקולי הוויזואלי"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"משהו השתבש"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"התקשר לשירות הלקוחות בטלפון <xliff:g id="NUMBER">%1$s</xliff:g> ואמור לנציג שקוד השגיאה הוא 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"התנאים וההגבלות של הדואר הקולי הוויזואלי"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"‏עליך לקבל את התנאים וההגבלות של Verizon Wireless כדי להשתמש בדואר הקולי הוויזואלי:\n\n‎%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"‏%1$s\n\nעליך לאשר את התנאים וההגבלות של Verizon Wireless כדי להשתמש בדואר הקולי הוויזואלי:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"הפעלה של דואר קולי ויזואלי"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"‎%s‎"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"אם תדחה את התנאים וההגבלות הדואר הקולי הוויזואלי יושבת."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"השבת את הדואר הקולי הוויזואלי"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"אם התנאים וההגבלות לא יאושרו, התמלולים של ההודעות הקוליות יושבתו."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"השבתת התמלולים של ההודעות הקוליות"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"תוכל לבדוק את הדואר הקולי רק על ידי חיוג 86*. כדי להמשיך, הגדר קוד גישה חדש לדואר הקולי."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"הגדרת קוד גישה"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ja/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ja/strings.xml
index 5d47a9cea..dc4bc9023 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ja/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ja/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"ビジュアル ボイスメールを有効化中"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"ビジュアル ボイスメールの有効化が完了するまでボイスメール通知を受信できません。ボイスメールの有効化が完了するまでは、ボイスメールを呼び出して新しいメッセージを取得してください。"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"ビジュアル ボイスメールを有効化できません"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"スマートフォンがモバイル ネットワークに接続済みであることを確認してから、もう一度お試しください。"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"スマートフォンがモバイル ネットワークに接続済みであることを確認してから、もう一度お試しください。"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"機内モードをオフにしてから、もう一度お試しください。"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"接続なし"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"新しいボイスメールの通知を受信できません。Wi-Fi をご利用の場合、同期してボイスメールを確認できます。"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"新しいボイスメールの通知を受信できません。Wi-Fi をご利用の場合は同期してボイスメールを確認できます。"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"新しいボイスメールの通知を受信できません。ボイスメールを同期するには機内モードをオフにしてください。"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"ボイスメールを確認するには、スマートフォンでモバイルデータ接続を使用する必要があります。"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"ボイスメールを確認するには、スマートフォンでモバイルデータ接続を使用する必要があります。"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"ビジュアル ボイスメールを有効化できません"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"ボイスメール サービスを呼び出してボイスメールを確認することは可能です。"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"ビジュアル ボイスメールを更新できません"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Wi-Fi かモバイルデータの接続状態が良好なときにもう一度お試しください。ボイスメール サービスを呼び出してボイスメールを確認することは可能です。"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"モバイルデータの接続状態が良好なときにもう一度お試しください。ボイスメール サービスを呼び出してボイスメールを確認することは可能です。"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Wi-Fi かモバイルデータの接続状態が良好なときにもう一度お試しください。ボイスメール サービスを呼び出してボイスメールを確認することは可能です。"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"モバイルデータの接続状態が良好なときにもう一度お試しください。ボイスメール サービスを呼び出してボイスメールを確認することは可能です。"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"ビジュアル ボイスメールを更新できません"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"ボイスメール サービスを呼び出してボイスメールを確認することは可能です。"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"ビジュアル ボイスメールを更新できません"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"エラー"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"カスタマー サービス(<xliff:g id="NUMBER">%1$s</xliff:g>)にご連絡いただき、エラーコード 9999 をお伝えください。"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"ビジュアル ボイスメールの利用規約"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"ビジュアル ボイスメールを利用するには Verizon Wireless の利用規約に同意していただく必要があります。\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nビジュアル ボイスメールを利用するには Verizon Wireless の利用規約に同意していただく必要があります。\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"ビジュアル ボイスメールの有効化"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"利用規約に同意いただけない場合は、ビジュアル ボイスメールが無効となります。"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"ビジュアル ボイスメールを無効にする"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"利用規約に同意いただけない場合は、ボイスメールの音声文字変換が無効になります。"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"ボイスメールの音声文字変換を無効にする"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"*86 への発信によってのみ、ボイスメールにアクセスできます。続行するには、新しいボイスメール PIN を設定してください。"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN の設定"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ka/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ka/strings.xml
index c5f6a12ca..f6d21b455 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ka/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ka/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"ვიზუალური ხმოვანი ფოსტა აქტიურდება"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"ვიზუალური ხმოვანი ფოსტის სრულად გააქტიურებამდე შეიძლება ხმოვანი ფოსტის შეტყობინებები არ მიიღოთ. დარეკეთ ხმოვან ფოსტაში, რათა მიიღოთ ახალი შეტყობინებები ხმოვანი ფოსტის ბოლომდე გააქტიურებამდე."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"ვიზუალური ხმოვანი ფოსტის გააქტიურება შეუძლებელია"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"დარწმუნდით, რომ თქვენს ტელეფონს აქვს ფიჭური კავშირი და სცადეთ ხელახლა."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"დარწმუნდით, რომ თქვენს ტელეფონს აქვს მობილურ ქსელთან კავშირი და სცადეთ ხელახლა."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"გამორთეთ თვითმფრინავის რეჟიმი და სცადეთ ხელახლა."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"კავშირი არ არის"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"ახალი ხმოვანი ფოსტის შესახებ არ გეცნობებათ. თუ იყენებთ Wi-Fi-ს, შეგიძლიათ ახლავე შეამოწმოთ ხმოვანი ფოსტა სინქრონიზაციის მეშვეობით."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"ახალი ხმოვანი ფოსტის შესახებ შეტყობინებას არ მიიღებთ. თუ იყენებთ Wi-Fi-ს, შეგიძლიათ შეამოწმოთ ხმოვანი ფოსტა ახლავე სინქრონიზაციის მეშვეობით."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"ახალი ხმოვანი ფოსტის შესახებ არ გეცნობებათ. გამორთეთ თვითმფრინავის რეჟიმი ხმოვანი ფოსტის სინქრონიზაციისთვის."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"ხმოვანი ფოსტის შესამოწმებლად თქვენი ტელეფონი საჭიროებს მობილურ ინტერნეტთან კავშირს."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"ხმოვანი ფოსტის შესამოწმებლად თქვენი ტელეფონი საჭიროებს მობილურ ინტერნეტთან კავშირს."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"ვიზუალური ხმოვანი ფოსტის გააქტიურება შეუძლებელია"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"ხმოვანი ფოსტის შესამოწმებლად დარეკვა მაინც შეგიძლიათ."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"ვიზუალური ხმოვანი ფოსტის განახლება შეუძლებელია"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"სცადეთ ხელახლა, როდესაც Wi-Fi ან ფიჭური კავშირი გაუმჯობესდება. ხმოვანი ფოსტის შესამოწმებლად დარეკვა მაინც შეგიძლიათ."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"სცადეთ ხელახლა, როდესაც ფიჭური კავშირი გაუმჯობესდება. ხმოვანი ფოსტის შესამოწმებლად დარეკვა მაინც შეგიძლიათ."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"სცადეთ ხელახლა, როდესაც Wi‑Fi ან მობილურ ინტერნეტთან კავშირი გაუმჯობესდება. ხმოვანი ფოსტის შესამოწმებლად დარეკვა ახლაც შეგიძლიათ."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"სცადეთ ხელახლა, როდესაც მობილურ ინტერნეტთან კავშირი გაუმჯობესდება. ხმოვანი ფოსტის შესამოწმებლად დარეკვა ახლაც შეგიძლიათ."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"ვიზუალური ხმოვანი ფოსტის განახლება შეუძლებელია"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"ხმოვანი ფოსტის შესამოწმებლად დარეკვა მაინც შეგიძლიათ."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"ვიზუალური ხმოვანი ფოსტის განახლება შეუძლებელია"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"მოხდა რაღაც შეცდომა"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"გთხოვთ, დაუკავშირდეთ კლიენტთა მხარდაჭერის ცენტრს ნომერზე <xliff:g id="NUMBER">%1$s</xliff:g> და უთხრათ, რომ შეცდომის კოდია 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"ვიზუალური ხმოვანი ფოსტის მომსახურების პირობები"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"თქვენ უნდა დაეთანხმოთ Verizon Wireless-ის მომსახურების პირობებს, რათა გამოიყენოთ ვიზუალური ხმოვანი ფოსტა:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nვიზუალური ხმოვანი ფოსტის გამოსაყენებლად თქვენ უნდა დაეთანხმოთ Verizon Wireless-ის მომსახურების პირობებს:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"ვიზუალური ხმოვანი ფოსტის ჩართვა"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"თუ მომსახურების პირობებს უარყოფთ, ვიზუალური ხმოვანი ფოსტა გამოირთვება."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"ვიზუალური ხმოვანი ფოსტის გამორთვა"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"მომსახურების პირობების უარყოფის შემთხვევაში ხმოვანი ფოსტის ტრანსკრიბირება გამოირთვება."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"ხმოვანი ფოსტის ტრანსკრიბირების გამორთვა"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"ხმოვანი ფოსტა ხელმისაწვდომი იქნება მხოლოდ *86-ზე დარეკვით. გასაგრძელებლად დააყენეთ ხმოვანი ფოსტის ახალი PIN-კოდი."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"დააყენეთ PIN-კოდი"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-kk/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-kk/strings.xml
index ad164c8fa..ed37db3c5 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-kk/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-kk/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Визуалды дауыстық хабарды іске қосу"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Визуалды дауыстық пошта толығымен белсендірілгенше, дауыстық пошта хабарландыруларын қабылдай алмайсыз. Дауыстық пошта толығымен белсендірілгенше, жаңа хабарлар шығарып алу үшін дауыстық поштаға қоңырау шалыңыз."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Визуалды дауыстық хабарды іске қосу мүмкін болмады"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Телефоныңыздың ұялы байланысын тексеріп, әрекетті қайталаңыз."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Телефоныңыздың мобильдік байланысын тексеріп, әрекетті қайталаңыз."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Ұшақ режимін өшіріп, әрекетті қайталаңыз."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Байланыс жоқ"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Жаңа дауыстық хабарлар туралы сізге хабарланбайды. Wi-Fi байланысыңыз болса, дауыстық хабарды қазір синхрондау арқылы тексере аласыз."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Сізге жаңа дауыстық хабарлар туралы ескерту жіберілмейді. Егер Wi-Fi байланысын қолдансаңыз, қазір синхрондап, дауыстық хабарларды қазір тексеруіңізге болады."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Жаңа дауыстық хабарлар туралы сізге хабарланбайды. Дауыстық хабарды синхрондау үшін ұшақ режимін өшіріңіз."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Дауыстық хабарды тексеру үшін телефоныңызда ұялы деректер байланысы болуы керек."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Дауыстық хабарларды тексеру үшін телефоныңызда мобильдік байланыс болуы керек."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Визуалды дауыстық хабарды іске қосу мүмкін болмады"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Дауыстық хабарды тексеру үшін қоңырау шалуыңызға болады."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Визуалды дауыстық хабарды жаңарту мүмкін болмады."</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Wi-Fi немесе ұялы байланыс жақсарғанда, әрекетті қайталаңыз. Дауыстық хабарды тексеру үшін қоңырау шалуыңызға болады."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Ұялы деректер байланысы жақсарғанда, әрекетті қайталаңыз. Дауыстық хабарды тексеру үшін қоңырау шалуыңызға болады."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Wi-Fi немесе мобильдік байланыс жақсарғанда қайталап көріңіз. Дауыстық хабарды тексеру үшін қоңырау шалуыңызға болады."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Мобильдік байланыс жақсарғанда қайталап көріңіз. Дауыстық хабарды тексеру үшін қоңырау шалуыңызға болады."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Визуалды дауыстық хабарды жаңарту мүмкін болмады"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Дауыстық хабарды тексеру үшін қоңырау шалуыңызға болады."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Визуалды дауыстық хабарды жаңарту мүмкін болмады"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Бірдеңе дұрыс болмады"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Тұтынушыларға қызмет көрсету орталығына <xliff:g id="NUMBER">%1$s</xliff:g> бойынша хабарласыңыз және қате коды 9999 екенін айтыңыз."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Визуалды дауыстық хабар функциясының шарттары мен талаптары"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Визуалды дауыстық хабар функциясын қолдану үшін Verizon Wireless шарттарын қабылдауыңыз қажет:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nВизуалды дауыстық хабар функциясын қолдану үшін Verizon Wireless шарттарын қабылдауыңыз қажет:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Visual дауыстық хабарын қосу"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Шарттары мен талаптары қабылданбаса, визуалды дауыстық хабар функциясы өшіріледі."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Визуалды дауыстық хабар функциясын өшіру"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Шарттары мен талаптары қабылданбаса, визуалды дауыстық хабар транскрипциясы өшіріледі."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Дауыстық хабар транскрипциясын өшіру"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Дауыстық хабарлар поштасына кіру *86 нөміріне қоңырау шалғанда ғана мүмкін болады. Жалғастыру үшін жаңа PIN кодын тағайындаңыз."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN кодын тағайындау"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-km/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-km/strings.xml
index f0ebf043d..4b37c8b3c 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-km/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-km/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"ធ្វើ​ឲ្យ​សកម្ម​សារ​ជា​សំឡេង​ដែល​មើល​ឃើញ"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"អ្នក​ប្រហែលជា​​មិន​ទទួល​បាន​ការ​ជូនដំណឹង​ជា​សារ​សំឡេង​រហូត​​ទាល់តែ​ធ្វើ​ឲ្យ​សកម្ម​សារ​ជា​សំឡេង​ដែល​មើល​ឃើញ​ពេញលេញ​​។ ហៅ​ជា​សារ​សំឡេង​ដើម្បី​​ទទួល​បាន​សារ​ថ្មី​រហូត​សារ​ជា​សំឡេង​ត្រូវ​បាន​ធ្វើ​ឲ្យ​សកម្ម​ពេញលេញ។"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"មិន​អាច​ធ្វើ​ឲ្យ​សកម្ម​សារ​ជា​សំឡេង​ដែល​មើល​ឃើញ​បាន​ទេ"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"សូម​ប្រាកដ​ថា​ទូរសព្ទ​របស់​អ្នក​​បាន​ភ្ជាប់​​បណ្ដាញ​អ៊ីនធឺណិត និង​​ព្យាយាម​​ម្ដង​ទៀត។"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"ប្រាកដ​ថា ទូរសព្ទ​របស់​អ្នក​មាន​ភ្ជាប់​បណ្ដាញ​ទូរសព្ទ​ចល័ត រួច​ព្យាយាម​ម្ដង​ទៀត។"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"បិទ​របៀប​លើ​យន្តហោះ និង​ព្យាយាម​ម្ដង​ទៀត។"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"គ្មាន​បណ្ដាញ​អ៊ីនធឺណិត"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"ពេល​មាន​សារ​ជា​សំឡេង​ថ្មី​នឹង​មិន​ជូន​ដំណឹង​ទៅ​អ្នក​ឡើយ។ បើ​អ្នក​​បាន​ភ្ជាប់​វ៉ាយហ្វាយ អ្នក​អាច​ឆែក​រក​មើល​សារ​ជា​សំឡេង​ដោយ​ទាញ​យក​ឥឡូវ​នេះ។"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"អ្នក​នឹង​មិន​ទទួល​បាន​ការជូនដំណឹង នៅពេល​មាន​សារ​ជា​សំឡេង​ថ្មី​ទេ។ បើ​អ្នក​​ភ្ជាប់​ទៅ Wi-Fi អ្នក​អាច​ពិនិត្យមើល​​សារ​ជា​សំឡេង​ដោយ​ធ្វើ​សមកាលកម្ម​ឥឡូវ​នេះ។"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"ពេល​មាន​សារ​ជា​សំឡេង​ថ្មី​នឹង​មិន​ជូន​ដំណឹង​ទៅ​អ្នក​ឡើយ។ សូម​បិទ​របៀប​លើ​យន្តហោះ​ដើម្បី​ទាញយក​សារ​សំឡេង​របស់​អ្នក។"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"ទូរសព្ទ​របស់​អ្នក​ត្រូវ​​ភ្ជាប់​អ៊ីនធឺណិតតាម​ទិន្នន័យ​ទូរសព្ទ​​​ចល័ត​ដើម្បី​អាច​ពិនិត្យ​មើល​សារ​​ជា​សំឡេង​បាន​។"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"ទូរសព្ទ​របស់​អ្នក​ត្រូវ​​ភ្ជាប់​អ៊ីនធឺណិតតាម​ទិន្នន័យ​ទូរសព្ទ​​​ចល័ត​ ដើម្បី​អាច​ពិនិត្យ​មើល​សារ​​ជា​សំឡេង​បាន​។"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"មិន​អាច​ធ្វើ​ឲ្យ​សកម្ម​សារ​ជា​សំឡេង​ដែល​មើល​ឃើញ​បាន​ទេ"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"អ្នក​នៅ​តែ​អាច​ហៅ​​ទូរសព្ទ​ដើម្បី​ស្ដាប់​សារ​ជា​សំឡេង។"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"មិន​អាច​ធ្វើ​បច្ចុប្បន្នភាព​សារ​​ជា​សំឡេង​ដែល​មើល​ឃើញ​បាន​​​ទេ។"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"ព្យាយាម​ម្ដង​ទៀត នៅពេល​ Wi-Fi ឬ​ការតភ្ជាប់​បណ្ដាញ​ទូរសព្ទ​ចល័ត​ប្រសើរ។ អ្នក​នៅ​តែ​អាច​ហៅ​ទូរសព្ទ​ដើម្បី​​ស្ដាប់​សារ​ជា​សំឡេង​។"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"ព្យាយាម​ម្ដង​ទៀត នៅពេល​​​ការតភ្ជាប់​បណ្ដាញ​ទូរសព្ទ​ចល័ត​ប្រសើរ។ អ្នក​នៅ​តែ​អាច​ហៅ​ទូរសព្ទ​ដើម្បី​​ស្ដាប់​សារ​ជា​សំឡេង​។"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"ព្យាយាម​ម្ដង​ទៀត នៅពេល​មាន Wi-Fi ឬ​អ៊ីនធឺណិត​​តាម​​ទិន្នន័យ​​ទូរសព្ទ​ចល័ត​ប្រសើរ។ អ្នក​នៅ​តែ​អាច​ហៅ​ទូរសព្ទ​ ដើម្បី​​ពិនិត្យមើល​សារ​ជា​សំឡេង​​បាន។"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"ព្យាយាម​ម្ដង​ទៀត នៅពេល​​​​មាន​អ៊ីនធឺណិត​តាម​ទិន្នន័យ​​ទូរសព្ទ​ចល័ត​ប្រសើរ។ អ្នក​នៅ​តែ​អាច​ហៅ​ទូរសព្ទ​ ដើម្បី​​ស្ដាប់​សារ​ជា​សំឡេង​។"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"មិន​អាច​ធ្វើ​បច្ចុប្បន្នភាព​សារ​​ជា​សំឡេង​ដែល​មើល​ឃើញ​​បាន​ទេ។"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"អ្នក​នៅ​តែ​អាច​ហៅ​​ទូរសព្ទ​ដើម្បី​ស្ដាប់​សារ​ជា​សំឡេង។"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"មិន​អាច​ធ្វើ​បច្ចុប្បន្នភាព​សារ​​ជា​សំឡេង​ដែល​មើល​ឃើញ​បាន​​​ទេ។"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"មានអ្វីមួយមិនប្រក្រតី"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"សូម​ទាក់ទង​ផ្នែក​បម្រើ​សេវា​អតិថិជន​តាមរយៈ <xliff:g id="NUMBER">%1$s</xliff:g> និង​ប្រាប់​ពួកគេ​កូដ​មាន​បញ្ហា គឺ 9999។"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"លក្ខខណ្ឌ​ប្រើប្រាស់​សារ​ជា​សំឡេង​ដែល​មើល​ឃើញ"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"អ្នក​ត្រូវតែ​យល់ព្រម​នឹង​​លក្ខខណ្ឌ​ប្រើប្រាស់​របស់​ Verizon Wireless ដើម្បី​អាច​ប្រើប្រាស់​សារ​ជា​សំឡេង​ដែល​មើល​ឃើញ៖\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nអ្នក​ត្រូវតែ​យល់ព្រម​នឹង​​គោលការណ៍ និង​លក្ខខណ្ឌ​របស់ Verizon Wireless ដើម្បី​ប្រើប្រាស់​សារ​ជា​សំឡេង​ដែល​មើល​ឃើញ៖\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"បើក​សារ​ជា​សំឡេង​ដែល​មើល​ឃើញ"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"សារ​ជា​សំឡេង​ដែល​​មើល​ឃើញ​នឹង​ត្រូវ​បាន​បិទ បើ​លក្ខខណ្ឌ​ប្រើប្រាស់​ត្រូវ​បាន​បដិសេធ។"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"បិទសារជាសំឡេងដែលមើលឃើញ"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"ការធ្វើ​ប្រតិចារឹក​សារ​ជាសំឡេង​នឹង​ត្រូវ​បិទ ប្រសិនបើ​គោលការណ៍ និង​លក្ខខណ្ឌ​ត្រូវបាន​បដិសេធ។"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"បិទ​ការធ្វើ​ប្រតិចារឹក​សារ​ជា​សំឡេង"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"សារ​ជា​សំឡេង​នឹង​អាច​ចូល​ស្ដាប់​បាន​​ដោយ​ហៅ​ទៅ *86។ កំណត់​កូដ PIN នៃ​សារ​ជា​សំឡេង​ថ្មី ដើម្បី​ចាប់ផ្ដើម​ដំណើរការ។"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"កំណត់​កូដ PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-kn/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-kn/strings.xml
index 7840fca9a..2f5169a7e 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-kn/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-kn/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಪೂರ್ಣವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸುವವರೆಗೂ ನಿಮಗೆ ಧ್ವನಿಮೇಲ್‌ ಅಧಿಸೂಚನೆಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಸಾಧ್ಯವಾಗದೇ ಇರಬಹುದು. ಧ್ವನಿಮೇಲ್‌ಗಳು ಪೂರ್ಣವಾಗಿ ಸಕ್ರಿಯವಾಗುವವರೆಗೆ ಹೊಸ ಸಂದೇಶಗಳನ್ನು ಹಿಂಪಡೆಯಲು ಧ್ವನಿಮೇಲ್‌ನಲ್ಲಿ ಕರೆಮಾಡಿ."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"ನಿಮ್ಮ ಫೋನ್‌ ಸೆಲ್ಯುಲಾರ್ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಹಾಗೂ ನಂತರ ಪ್ರಯತ್ನಿಸಿ."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"ನಿಮ್ಮ ಫೋನ್‌ ಮೊಬೈಲ್ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಹಾಗೂ ನಂತರ ಪ್ರಯತ್ನಿಸಿ."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್ ಆಫ್ ಮಾಡಿ ಹಾಗೂ ನಂತರ ಪ್ರಯತ್ನಿಸಿ."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"ಯಾವುದೇ ಸಂಪರ್ಕವಿಲ್ಲ"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"ಹೊಸ ಧ್ವನಿಮೇಲ್‌ಗಳ ಕುರಿತು ನಿಮಗೆ ಸೂಚಿಸಲಾಗುವುದಿಲ್ಲ. ನೀವು ವೈ-ಫೈನಲ್ಲಿದ್ದರೆ, ನೀವು ಈಗಲೇ ಸಿಂಕ್ ಮಾಡುವ ಮೂಲಕ ಧ್ವನಿಮೇಲ್‌ಗೆ ಪರಿಶೀಲಿಸಬಹುದು."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"ಹೊಸ ಧ್ವನಿಮೇಲ್‌ಗಳ ಕುರಿತು ನಿಮಗೆ ಸೂಚಿಸಲಾಗುವುದಿಲ್ಲ. ನೀವು ವೈ-ಫೈ ನಲ್ಲಿದ್ದರೆ, ನೀವು ಈಗಲೇ ಸಿಂಕ್ ಮಾಡುವ ಮೂಲಕ ಧ್ವನಿಮೇಲ್‌ ಪರಿಶೀಲಿಸಬಹುದು."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"ಹೊಸ ಧ್ವನಿಮೇಲ್‌ಗಳ ಕುರಿತು ನಿಮಗೆ ಸೂಚಿಸಲಾಗುವುದಿಲ್ಲ. ನಿಮ್ಮ ಧ್ವನಿಮೇಲ್‌ ಸಿಂಕ್ ಮಾಡಲು ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್ ಅನ್ನು ಆಫ್ ಮಾಡಿ."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"ಧ್ವನಿಮೇಲ್‌ ಅನ್ನು ಪರಿಶೀಲಿಸಲು ನಿಮ್ಮ ಫೋನ್‌‌ಗೆ ಸೆಲ್ಯುಲಾರ್ ಡೇಟಾ ಸಂಪರ್ಕ ಅಗತ್ಯವಿದೆ."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"ಧ್ವನಿಮೇಲ್‌ ಅನ್ನು ಪರಿಶೀಲಿಸಲು ನಿಮ್ಮ ಫೋನ್‌‌ಗೆ ಮೊಬೈಲ್ ಡೇಟಾ ಸಂಪರ್ಕದ ಅಗತ್ಯವಿದೆ."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"ನೀವು ಧ್ವನಿಮೇಲ್‌ ಪರಿಶೀಲಿಸಲು ಈಗಲೂ ಕರೆ ಮಾಡಬಹುದು."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"ನಿಮ್ಮ ವೈ-ಫೈ ಅಥವಾ ಸೆಲ್ಯುಲಾರ್ ಸಂಪರ್ಕವು ಉತ್ತಮವಾದಾಗ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ. ನೀವು ಧ್ವನಿಮೇಲ್‌ ಪರಿಶೀಲಿಸಲು ಈಗಲೂ ಕರೆ ಮಾಡಬಹುದು."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"ನಿಮ್ಮ ಸೆಲ್ಯುಲಾರ್ ಡೇಟಾ ಸಂಪರ್ಕವು ಉತ್ತಮವಾದಾಗ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ. ನೀವು ಧ್ವನಿಮೇಲ್‌ ಪರಿಶೀಲಿಸಲು ಈಗಲೂ ಕರೆ ಮಾಡಬಹುದು."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"ನಿಮ್ಮ ವೈ-ಫೈ ಅಥವಾ ಮೊಬೈಲ್ ಸಂಪರ್ಕವು ಉತ್ತಮವಾದಾಗ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ. ನೀವು ಧ್ವನಿಮೇಲ್‌ ಪರಿಶೀಲಿಸಲು ಈಗಲೂ ಕರೆ ಮಾಡಬಹುದು."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"ನಿಮ್ಮ ಮೊಬೈಲ್ ಡೇಟಾ ಸಂಪರ್ಕವು ಉತ್ತಮವಾದಾಗ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ. ನೀವು ಧ್ವನಿಮೇಲ್‌ ಪರಿಶೀಲಿಸಲು ಈಗಲೂ ಕರೆ ಮಾಡಬಹುದು."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"ನೀವು ಧ್ವನಿಮೇಲ್‌ ಪರಿಶೀಲಿಸಲು ಈಗಲೂ ಕರೆ ಮಾಡಬಹುದು."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"ಯಾವುದೋ ತಪ್ಪು ಸಂಭವಿಸಿದೆ"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"ಗ್ರಾಹಕ ಸೇವೆ ಸಂಖ್ಯೆ <xliff:g id="NUMBER">%1$s</xliff:g> ಗೆ ಸಂಪರ್ಕಿಸಿ ಮತ್ತು 9999 ದೋಷದ ಕೋಡ್‌ ಅನ್ನು ಅವರಿಗೆ ತಿಳಿಸಿ."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್‌ನ ನಿಯಮಗಳು ಮತ್ತು ನಿಬಂಧನೆಗಳು"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಬಳಸಲು ವೆರಿಜೋನ್ ವೈರ್‌ಲೆಸ್‌ನ ನಿಯಮಗಳು ಮತ್ತು ನಿಬಂಧನೆಗಳನ್ನು ನೀವು ಒಪ್ಪಿಕೊಳ್ಳಬೇಕು:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಬಳಸಲು Verizon Wireless ನಿಯಮಗಳು ಮತ್ತು ನಿಬಂಧನೆಗಳನ್ನು ನೀವು ಒಪ್ಪಿಕೊಳ್ಳಬೇಕು:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಆನ್ ಮಾಡಿ"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"ನಿಯಮಗಳು ಮತ್ತು ನಿಬಂಧನೆಗಳುಗಳನ್ನು ನಿರಾಕರಿಸಿದಲ್ಲಿ ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"ದೃಶ್ಯ ಧ್ವನಿಮೇಲ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"ನಿಯಮಗಳು ಮತ್ತು ನಿಬಂಧನೆಗಳನ್ನು ನಿರಾಕರಿಸಿದಲ್ಲಿ ಧ್ವನಿಮೇಲ್ ಟ್ರಾನ್ಸ್‌ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"ಧ್ವನಿಮೇಲ್ ಟ್ರಾನ್ಸ್‌ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"*86 ಗ ಕರೆ ಮಾಡುವ ಮೂಲಕ ಮಾತ್ರ ಧ್ವನಿಮೇಲ್‌ಗೆ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯ. ಮುಂದುವರೆಯಲು ಒಂದು ಹೊಸ ಧ್ವನಿಮೇಲ್ ಪಿನ್ ಹೊಂದಿಸಿ."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"ಪಿನ್ ಹೊಂದಿಸಿ"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ko/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ko/strings.xml
index 092214db1..00893f5d2 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ko/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ko/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"시각적 음성사서함 활성화 중"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"시각적 음성사서함이 완전히 활성화될 때까지 음성사서함 알림을 받지 못할 수 있습니다. 음성사서함이 완전히 활성화될 때까지 음성사서함으로 전화하여 새 메시지를 가져오세요."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"시각적 음성사서함을 활성화할 수 없음"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"휴대전화가 모바일 데이터에 연결되었는지 확인한 다음 다시 시도해 주세요."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"휴대전화가 모바일 네트워크에 연결되었는지 확인한 다음 다시 시도해 주세요."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"비행기 모드를 사용 중지한 다음 다시 시도해 주세요."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"네트워크 연결 없음"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"새로운 음성사서함에 대한 알림이 전송되지 않습니다. Wi-Fi에 연결되어 있는 경우 지금 동기화하여 음성사서함을 확인할 수 있습니다."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"새로운 음성 메시지에 관한 알림이 전송되지 않습니다. Wi-Fi에 연결되어 있는 경우 지금 동기화하여 음성사서함을 확인할 수 있습니다."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"새로운 음성사서함에 대한 알림이 전송되지 않습니다. 음성사서함을 동기화하려면 비행기 모드를 사용 중지하세요."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"음성사서함을 확인하려면 모바일 데이터에 연결되어야 합니다."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"음성사서함을 확인하려면 휴대전화가 모바일 데이터에 연결되어야 합니다."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"시각적 음성사서함을 활성화할 수 없음"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"여전히 전화를 걸어 음성사서함을 확인할 수 있습니다."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"시각적 음성사서함을 업데이트할 수 없음"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Wi-Fi 또는 모바일 데이터 연결이 개선되면 다시 시도해 주세요. 여전히 전화를 걸어 음성사서함을 확인할 수 있습니다."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"모바일 데이터 연결이 개선되면 다시 시도해 주세요. 여전히 전화를 걸어 음성사서함을 확인할 수 있습니다."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Wi-Fi 또는 모바일 데이터 연결이 개선되면 다시 시도해 주세요. 지금도 전화를 걸어 음성사서함을 확인할 수 있습니다."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"모바일 데이터 연결이 개선되면 다시 시도해 주세요. 지금도 전화를 걸어 음성사서함을 확인할 수 있습니다."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"시각적 음성사서함을 업데이트할 수 없음"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"여전히 전화를 걸어 음성사서함을 확인할 수 있습니다."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"시각적 음성사서함을 업데이트할 수 없음"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"문제 발생"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"고객 서비스 담당자(<xliff:g id="NUMBER">%1$s</xliff:g>)에게 문의하고 오류 코드가 9999임을 알려주시기 바랍니다."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"시각적 음성사서함 이용약관"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"시각적 음성사서함을 사용하려면 Verizon Wireless의 이용약관을 수락해야 합니다.\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nVerizon Wireless의 이용약관에 동의한 후 시각적 음성사서함을 사용할 수 있습니다:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"시각적 음성사서함 사용"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"이용약관을 거부하는 경우 시각적 음성사서함이 사용 중지됩니다."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"시각적 음성사서함 사용 중지"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"이용약관을 거부하면 음성사서함 텍스트 변환은 사용 중지됩니다."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"음성사서함 텍스트 변환 사용 중지"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"음성사서함은 *86번으로 통화해야만 액세스가 가능합니다. 계속하려면 새 음성사서함 PIN을 설정하세요."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN 설정"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ky/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ky/strings.xml
index 0fffb06d0..d976cb20f 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ky/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ky/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Визуалдык үн почтасын иштетүү"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Визуалдык үн почтасы толук иштетилмейинче үн почтасынын эскертмелерин ала албайсыз. Үн почтасы толугу менен иштетилгенче жаңы билдирүүлөрдү алуу үчүн үн почтасына чалыңыз."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Визуалдык үн почтасы иштебей жатат"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Телефонуңузда мобилдик байланыш бар экенин текшерип, кайра аракет кылыңыз."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Телефонуңузда мобилдик байланыш бар экенин текшерип, кайра аракет кылыңыз."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Учак режимин өчүрүп, кайра аракет кылыңыз."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Байланыш жок"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Жаңы билдирүүлөр жөнүндө эскертмелер келбейт. Эгер телефонуңуз Wi-Fi тармагына туташып турса, аны үн почтасы менен шайкештириңиз."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Жаңы билдирүүлөр жөнүндө эскертмелер келбейт. Эгер телефонуңуз Wi-Fi тармагына туташып турса, аны үн почтасы менен шайкештириңиз."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Жаңы билдирүүлөр жөнүндө эскертмелер келбейт. Учак режимин өчүрүп, телефонуңузду үн почтаңыз менен шайкештириңиз."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Үн почтаңызды текшерүү үчүн мобилдик интернетти иштетиңиз."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Үн почтаңызды текшерүү үчүн мобилдик интернетти иштетиңиз."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Визуалдык үн почтасы иштебей жатат"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Үн почтасын текшерүү үчүн атайын номерге чалсаңыз болот."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Визуалдык үн почтасы жаңырбай жатат"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Wi-Fi сигналы же мобилдик интернет туруктуу болгончо күтө туруп, анан кайра аракет кылыңыз. Эгер почтаны азыр текшергиңиз келсе, атайын номерге чалыңыз."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Мобилдик интернет туруктуу болгончо күтө туруп, анан кайра аракет кылыңыз. Эгер почтаны азыр текшергиңиз келсе, атайын номерге чалыңыз."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Wi-Fi сигналы же мобилдик интернет туруктуу болгончо күтө туруп, анан кайра аракет кылыңыз. Эгер почтаны азыр текшергиңиз келсе, атайын номерге чалыңыз."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Мобилдик интернет туруктуу болгончо күтө туруп, анан кайра аракет кылыңыз. Эгер почтаны азыр текшергиңиз келсе, атайын номерге чалыңыз."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Визуалдык үн почтасы жаңырбай жатат"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Үн почтасын текшерүү үчүн атайын номерге чалсаңыз болот."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Визуалдык үн почтасы жаңырбай жатат"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Бир жерден ката кетти"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Кардарларды колдоо кызматынын <xliff:g id="NUMBER">%1$s</xliff:g> номерине чалып, ката коду 9999 деп айтыңыз."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Визуалдык үн почтасынын колдонуу жоболору жана шарттары"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Сиз Verizon Wireless\'тин визуалдык үн почтасын колдонуу жоболору менен шарттарына макул болушуңуз керек:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nСиз Verizon Wireless\'тин визуалдык үн почтасын колдонуу жоболору менен шарттарына макул болушуңуз керек:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Визуалдык үн почтасын күйгүзүңүз"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Эгер колдонуу жоболору менен шарттары четке кагылган болсо, визуалдык үн почтасы өчүрүлөт."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Визуалдык үн почтасын өчүрүү"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Эгер колдонуу жоболору менен шарттары четке кагылган болсо, үн почтасы өчүрүлөт."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Үн почтасынын транскрипциясын өчүрүңүз"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Үн почтасын угуу үчүн *86 номерине чалыңыз. Улантуу үчүн, үн почтасына жаңы PIN-кодду коюңуз."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN-код коюу"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-lo/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-lo/strings.xml
index d6293d2e7..baa1a8e58 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-lo/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-lo/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"ກຳລັງເປີດໃຊ້ຂໍ້ຄວາມສຽງແບບພາບ"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"You might not receive voicemail notifications until visual voicemail is fully activated. Call voicemail to retrieve new messages until voicemail is fully activated."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"ບໍ່ສາມາດເປີດໃຊ້ຂໍ້ຄວາມສຽງແບບພາບໄດ້"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"ໃຫ້ກວດສອບເບິ່ງວ່າໂທລະສັບຂອງທ່ານເຊື່ອມຕໍ່ເຄືອຂ່າຍມືຖືແລ້ວ ຈາກນັ້ນລອງໃໝ່ອີກຄັ້ງ."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"ໃຫ້ກວດສອບວ່າໂທລະສັບຂອງທ່ານມີການເຊື່ອມຕໍ່ອິນເຕີເນັດ ແລ້ວລອງໃໝ່ອີກຄັ້ງ"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"ປິດໂໝດຢູ່ໃນຍົນແລ້ວລອງໃໝ່ອີກຄັ້ງ."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"ບໍ່ມີການເຊື່ອມຕໍ່"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"ທ່ານຈະບໍ່ໄດ້ຮັບການແຈ້ງເຕືອນເມື່ອມີຂໍ້ຄວາມສຽງໃໝ່. ຫາກທ່ານໃຊ້ Wi-Fi, ທ່ານສາມາດກວດສອບຂໍ້ຄວາມສຽງໄດ້ໂດຍການຊິ້ງຂໍ້ມູນຕອນນີ້."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"ທ່ານຈະບໍ່ໄດ້ຮັບການແຈ້ງເຕືອນເມື່ອມີຂໍ້ຄວາມສຽງໃໝ່. ຫາກທ່ານໃຊ້ Wi-Fi, ທ່ານສາມາດກວດສອບຂໍ້ຄວາມສຽງໄດ້ໂດຍການຊິ້ງຂໍ້ມູນຕອນນີ້."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"ທ່ານຈະບໍ່ໄດ້ຮັບການແຈ້ງເຕືອນເມື່ອມີຂໍ້ຄວາມສຽງໃໝ່. ກະລຸນາປິດໂໝດຢູ່ໃນຍົນເພື່ອຊິ້ງຂໍ້ຄວາມສຽງຂອງທ່ານ."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"ໂທລະສັບຂອງທ່ານຕ້ອງມີການເຊື່ອມຕໍ່ເຄືອຂ່າຍມືຖືເພື່ອກວດສອບຂໍ້ຄວາມສຽງ."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"ໂທລະສັບຂອງທ່ານຕ້ອງມີການເຊື່ອມຕໍ່ອິນເຕີເນັດມືຖືເພື່ອກວດສອບຂໍ້ຄວາມສຽງ."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"ບໍ່ສາມາດເປີດໃຊ້ຂໍ້ຄວາມສຽງແບບພາບໄດ້"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"ທ່ານສາມາດໂທເພື່ອກວດສອບຂໍ້ຄວາມສຽງໄດ້ຢູ່."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"ບໍ່ສາມາດອັບເດດຂໍ້ຄວາມສຽງແບບພາບໄດ້"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"ໃຫ້ລອງອີກຄັ້ງເມື່ອການເຊື່ອມຕໍ່ Wi-Fi ຫຼື ເຄືອຂ່າຍມືຖືຂອງທ່ານດີຂຶ້ນ. ທ່ານຍັງຄົງສາມາດໂທເພື່ອກວດສອບຂໍ້ຄວາມສຽງຂອງທ່ານໄດ້ຢູ່."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"ໃຫ້ລອງອີກຄັ້ງເມື່ອການເຊື່ອມຕໍ່ເຄືອຂ່າຍມືຖືຂອງທ່ານດີຂຶ້ນ. ທ່ານຍັງຄົງສາມາດໂທເພື່ອກວດສອບຂໍ້ຄວາມສຽງຂອງທ່ານໄດ້ຢູ່."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"ໃຫ້ລອງໃໝ່ອີກຄັ້ງເມື່ອການເຊື່ອມຕໍ່ Wi‑Fi ຫຼື ອິນເຕີເນັດມືຖືຂອງທ່ານໄວຂຶ້ນກວ່ານີ້. ທ່ານຍັງຄົງສາມາດໂທເພື່ອກວດສອບຂໍ້ຄວາມສຽງຂອງທ່ານໄດ້ຢູ່."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"ໃຫ້ລອງອີກຄັ້ງເມື່ອການເຊື່ອມຕໍ່ອິນຕີເນັດມືຖືຂອງທ່ານໄວຂຶ້ນກວ່ານີ້. ທ່ານຍັງຄົງສາມາດໂທເພື່ອກວດສອບຂໍ້ຄວາມສຽງຂອງທ່ານໄດ້ຢູ່."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"ບໍ່ສາມາດອັບເດດຂໍ້ຄວາມສຽງແບບພາບໄດ້"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"ທ່ານສາມາດໂທເພື່ອກວດສອບຂໍ້ຄວາມສຽງໄດ້ຢູ່."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"ບໍ່ສາມາດອັບເດດຂໍ້ຄວາມສຽງແບບພາບໄດ້"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"ມີບາງສິ່ງຜິດປົກກະຕິເກີດຂຶ້ນ"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Please contact Customer Service at <xliff:g id="NUMBER">%1$s</xliff:g> and tell them the error code is 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"ຂໍ້ກຳນົດ ແລະ ເງື່ອນໄຂຂໍ້ຄວາມສຽງສະເໝືອນ"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"ທ່ານຕ້ອງຍອມຮັບຂໍ້ກຳນົດ ແລະ ເງື່ອນໄຂຂອງ Verizon Wireless ເພື່ອໃຊ້ຂໍ້ຄວາມສຽງສະເໝືອນ:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nທ່ານຈະຕ້ອງຍອມຮັບຂໍ້ກຳນົດ ແລະ ເງື່ອນໄຂຂອງ Verizon Wireless ກ່ອນເພື່ອໃຊ້ຂໍ້ຄວາມສຽງສະເໝືອນ:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"ເປີດໃຊ້ຂໍ້ຄວາມສຽງສະເໝືອນ"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"ຂໍ້ຄວາມສຽງສະເໝືອນຈະຖືກປິດການນຳໃຊ້ຫາກປະຕິເສດຂໍ້ກຳນົດ ແລະ ເງື່ອນໄຂດັ່ງກ່າວ."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"ປິດການນຳໃຊ້ຂໍ້ຄວາມສຽງສະເໝືອນ"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"ການຖອດຂໍ້ຄວາມສຽງຈະຖືກປິດການນຳໃຊ້ຫາກປະຕິເສດຂໍ້ກຳນົດ ແລະ ເງື່ອນໄຂ."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"ປິດການນຳໃຊ້ການຖອດຂໍ້ຄວາມສຽງ"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"ຂໍ້ຄວາມສຽງສາມາດເຂົ້າເຖິງໄດ້ສະເພາະການໂທຜ່ານ *86 ເທົ່ານັ້ນ. ຕັ້ງລະຫັດ PIN ຂໍ້ຄວາມສຽງໃໝ່ເພື່ອດຳເນີນການຕໍ່."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"ຕັ້ງລະຫັດ PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-lt/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-lt/strings.xml
index 92f3316d4..08ba35994 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-lt/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-lt/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Suaktyvinamas vaizdinis balso paštas"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Kol vaizdinis balso paštas nebus visiškai suaktyvintas, galite negauti balso pašto pranešimų. Jei norite gauti naujus pranešimus, kol jis nėra visiškai suaktyvintas, paskambinkite į balso paštą."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Nepavyksta suaktyvinti vaizdinio balso pašto"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Įsitikinkite, kad telefone veikia korinis ryšys, ir bandykite dar kartą."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Įsitikinkite, kad telefone veikia mobilusis ryšys, ir bandykite dar kartą."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Išjunkite lėktuvo režimą ir bandykite dar kartą."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Nėra ryšio"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Jums nebus pranešta apie naujus balso pašto pranešimus. Jei esate prisijungę prie „Wi-Fi“, dabar įjungę sinchronizavimą galite patikrinti, ar yra naujų balso pašto pranešimų."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Jums nebus pranešta apie naujus balso pašto pranešimus. Jei esate prisijungę prie „Wi-Fi“, dabar įjungę sinchronizavimą galite patikrinti, ar yra balso pašto pranešimų."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Jums nebus pranešta apie naujus balso pašto pranešimus. Išjunkite lėktuvo režimą, kad galėtumėte sinchronizuoti balso pašto pranešimus."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"kad galėtumėte patikrinti balso pašto pranešimus, telefone turi būti įjungti mobiliojo ryšio duomenys."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Kad galėtumėte patikrinti balso pašto pranešimus, telefone turi būti įjungti mobiliojo ryšio duomenys."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Nepavyksta suaktyvinti vaizdinio balso pašto"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Vis tiek galite skambinti ir tikrinti balso pašto pranešimus."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Nepavyksta atnaujinti vaizdinio balso pašto"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Bandykite dar kartą, kai „Wi-Fi“ arba mobiliųjų duomenų ryšys bus geresnis. Vis tiek galite skambinti ir tikrinti balso pašto pranešimus."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Bandykite dar kartą, kai mobiliųjų duomenų ryšys bus geresnis. Vis tiek galite skambinti ir tikrinti balso pašto pranešimus."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Bandykite dar kartą, kai „Wi-Fi“ arba mobiliųjų duomenų ryšys bus geresnis. Vis tiek galite paskambinti ir patikrinti balso pašto pranešimus."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Bandykite dar kartą, kai mobiliųjų duomenų ryšys bus geresnis. Vis tiek galite paskambinti ir patikrinti balso pašto pranešimus."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Nepavyksta atnaujinti vaizdinio balso pašto"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Vis tiek galite skambinti ir tikrinti balso pašto pranešimus."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Nepavyksta atnaujinti vaizdinio balso pašto"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Kažkas ne taip"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Susisiekite su klientų aptarnavimo tarnyba numeriu <xliff:g id="NUMBER">%1$s</xliff:g> ir pasakykite klaidos kodą 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Vaizdinio balso pašto taisyklės ir nuostatos"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Norėdami naudoti vaizdinį balso paštą, turite sutikti su „Verizon Wireless“ taisyklėmis ir nuostatomis:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nTurite sutikti su „Verizon Wireless“ taisyklėmis ir nuostatomis, kad galėtumėte naudoti vaizdinį balso paštą:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Vaizdinio balso pašto įjungimas"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Atmetus taisykles ir nuostatas, vaizdinis balso paštas bus išjungtas."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Išjungti vaizdinį balso paštą"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Atmetus taisykles ir nuostatas, balso pašto transkribavimas bus išjungtas."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Išjungti balso pašto transkribavimą"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Balso paštas bus pasiekiamas tik paskambinus numeriu *86. Nustatykite naują balso pašto PIN kodą, kad galėtumėte tęsti."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN kodo nustatymas"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-lv/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-lv/strings.xml
index e27de6f21..e5d0d80f2 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-lv/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-lv/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Vizuālā balss pasta aktivizēšana"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Kamēr vizuālais balss pasts nebūs pilnībā aktivizēts, iespējams, nesaņemsiet balss pasta paziņojumus. Lai izgūtu jaunus ziņojumus, kamēr balss pasts nav pilnībā aktivizēts, zvaniet balss pastam."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Nevar aktivizēt vizuālo balss pastu."</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Pārbaudiet, vai tālrunim ir mobilo datu savienojums, un mēģiniet vēlreiz."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Pārbaudiet, vai tālrunim ir mobilo datu savienojums, un mēģiniet vēlreiz."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Izslēdziet lidojuma režīmu un mēģiniet vēlreiz."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Nav savienojuma."</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Jums netiks paziņots par jauniem balss pasta ziņojumiem. Ja ir izveidots Wi-Fi savienojums, varat pārbaudīt balss pastu, veicot sinhronizāciju tūlīt."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Jums netiks paziņots par jauniem balss pasta ziņojumiem. Ja ir izveidots Wi-Fi savienojums, varat pārbaudīt balss pastu, tagad veicot sinhronizāciju."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Jums netiks paziņots par jauniem balss pasta ziņojumiem. Lai sinhronizētu balss pastu, izslēdziet lidojuma režīmu."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Lai pārbaudītu balss pastu, tālrunim ir nepieciešams mobilo datu savienojums."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Lai pārbaudītu balss pastu, tālrunim ir nepieciešams mobilo datu savienojums."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Nevar aktivizēt vizuālo balss pastu."</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Joprojām varat piezvanīt, lai pārbaudītu balss pastu."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Nevar atjaunināt vizuālo balss pastu."</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Mēģiniet vēlreiz, kad būs stiprāks Wi-Fi vai mobilo datu savienojuma signāls. Joprojām varat piezvanīt, lai pārbaudītu balss pastu."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Mēģiniet vēlreiz, kad būs stiprāks mobilo datu savienojuma signāls. Joprojām varat piezvanīt, lai pārbaudītu balss pastu."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Mēģiniet vēlreiz, kad būs spēcīgāks Wi-Fi vai mobilo datu savienojuma signāls. Joprojām varat piezvanīt, lai pārbaudītu balss pastu."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Mēģiniet vēlreiz, kad būs spēcīgāks mobilo datu savienojuma signāls. Joprojām varat piezvanīt, lai pārbaudītu balss pastu."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Nevar atjaunināt vizuālo balss pastu."</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Joprojām varat piezvanīt, lai pārbaudītu balss pastu."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Nevar atjaunināt vizuālo balss pastu."</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Radās problēma"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Lūdzu, sazinieties ar klientu apkalpošanas dienestu, izmantojot tālāk norādīto tālruņa numuru, un nosauciet kļūdas kodu “9999”: <xliff:g id="NUMBER">%1$s</xliff:g>."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Vizuālā balss pasta pakalpojumu sniegšanas noteikumi"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Lai izmantotu vizuālo balss pastu, jums ir jāpiekrīt Verizon Wireless pakalpojumu sniegšanas noteikumiem:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nJums ir jāpiekrīt Verizon Wireless pakalpojumu sniegšanas noteikumiem, lai izmantotu vizuālo balss pastu:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Ieslēgt vizuālo balss pastu"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Ja tiks noraidīti pakalpojumu sniegšanas noteikumi, vizuālais balss pasts tiks atspējots."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Atspējot vizuālo balss pastu"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Ja tiks noraidīti pakalpojumu sniegšanas noteikumi, balss pasta transkripcija tiks atspējota."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Atspējot balss pasta transkripciju"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Balss pasts būs pieejams, tikai zvanot uz numuru *86. Lai turpinātu, iestatiet jaunu balss pasta PIN."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN iestatīšana"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-mk/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-mk/strings.xml
index 3ff8b8739..6ad7e1918 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-mk/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-mk/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Се активира визуелна говорна пошта"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Може да не добивате известувања за говорна пошта сѐ додека говорната пошта не се активира во целост. Дотогаш, повикувајте ја говорната пошта за преслушување на новите пораки."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Не може да се активира визуелна говорна пошта"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Проверете дали телефонот има мобилна врска и обидете се повторно."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Проверете дали телефонот е поврзан на мобилна мрежа и обидете се повторно."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Исклучете го авионскиот режим и обидете се повторно."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Нема мрежа"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Нема да добивате известувања за нова говорна пошта. Ако сте поврзани на Wi-Fi, може да ја проверите говорната пошта со синхронизирање сега."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Нема да добивате известувања за нови говорни пораки. Ако сте поврзани на Wi-Fi, може да ја проверите говорната пошта со синхронизирање сега."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Нема да добивате известувања за нова говорна пошта. Исклучете го авионскиот режим за синхронизирање на говорната пошта."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"За проверување говорна пошта, телефонот треба да се поврзе на интернет."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"За проверување говорна пошта, телефонот треба да се поврзе на мобилен интернет."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Не може да се активира визуелна говорна пошта"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Сѐ уште може да повикате за да ја проверите говорната пошта"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Не може да се ажурира визуелната говорна пошта"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Обидете се повторно кога Wi-Fi или мобилната врска ќе се подобрат. Сѐ уште може да повикате за да ја проверите говорната пошта."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Обидете се повторно кога ќе се подобри интернет-врската. Сѐ уште може да повикате за да ја проверите говорната пошта."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Обидете се повторно кога Wi-Fi или мобилниот интернет ќе се подобрат. Сѐ уште може да повикате за да ја проверите говорната пошта."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Обидете се повторно кога ќе се подобри мобилниот интернет. Сѐ уште може да повикате за да ја проверите говорната пошта."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Не може да се ажурира визуелната говорна пошта"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Сѐ уште може да повикате за да ја проверите говорната пошта."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Не може да се ажурира визуелната говорна пошта"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Нешто тргна наопаку"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Контактирајте со Грижа за корисници на <xliff:g id="NUMBER">%1$s</xliff:g> и кажете им дека кодот за грешка е 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Одредби и услови на визуелна говорна пошта"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Мора да ги прифатите Одредбите и условите на Verizon Wireless за да користите говорна пошта:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nМора да ги прифатите Одредбите и условите на Verizon Wireless за да користите визуелна говорна пошта:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Вклучи „Визуелна говорна пошта“"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Ако ги одбиете Одредбите и условите, визуелната говорна пошта ќе се оневозможи."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Оневозможете визуелна говорна пошта"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Ако ги одбиете Одредбите и условите, транскрипцијата на говорната пошта ќе се оневозможи."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Оневозможи транскрипција на говорна пошта"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Говорната пошта ќе биде достапна само со повикување *86. За да продолжите, поставете нов PIN на говорната пошта."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Поставете PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ml/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ml/strings.xml
index 84d221e3d..096b9294c 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ml/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ml/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"വിഷ്വൽ വോയ്‌സ്മെയിൽ സജീവമാക്കുന്നു"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ പൂർണ്ണമായും സജീവമാകുന്നത് വരെ നിങ്ങൾക്ക് വോയ്‌സ്‌മെയിൽ അറിയിപ്പുകൾ ലഭിക്കാനിടയില്ല. വോയ്‌സ്‌മെയിൽ പൂർണ്ണമായും സജീവമാകുന്നത് വരെ പുതിയ സന്ദേശങ്ങൾ വീണ്ടെടുക്കാൻ വോയ്‌സ്‌മെയിലിലേക്ക് വിളിക്കുക."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ സജീവമാക്കാനാവുന്നില്ല"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"നിങ്ങളുടെ ഫോണിന് സെല്ലുലാർ കണക്ഷനുണ്ടെന്ന് ഉറപ്പാക്കി, വീണ്ടും ശ്രമിക്കുക."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"നിങ്ങളുടെ ഫോണിന് മൊബൈൽ നെറ്റ്‌വർക്ക് കണക്ഷനുണ്ടെന്ന് ഉറപ്പാക്കിയശേഷം വീണ്ടും ശ്രമിക്കുക."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"ഫ്ലൈറ്റ് മോഡ് ഓഫാക്കി, വീണ്ടും ശ്രമിക്കുക."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"കണക്ഷൻ ഇല്ല"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"പുതിയ വോയ്‌സ്‌മെയിലുകൾ വരുമ്പോൾ നിങ്ങളെ അറിയിക്കില്ല. നിങ്ങൾ Wi-Fi ഉപയോഗിക്കുകയാണെങ്കിൽ, ഇപ്പോൾ സമന്വയിപ്പിക്കുന്നതിലൂടെ വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാനാവും."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"പുതിയ വോയ്‌സ്‌മെയിലുകൾ വരുമ്പോൾ നിങ്ങളെ അറിയിക്കില്ല. നിങ്ങൾ വൈഫൈ ഉപയോഗിക്കുകയാണെങ്കിൽ, ഇപ്പോൾ സമന്വയിപ്പിക്കുന്നതിലൂടെ വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാനാവും."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"പുതിയ വോയ്‌സ്‌മെയിലുകൾ വരുമ്പോൾ നിങ്ങളെ അറിയിക്കില്ല. വോയ്‌സ്‌മെയിൽ സമന്വയിപ്പിക്കാൻ ഫ്ലൈറ്റ് മോഡ് ഓഫാക്കുക."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാൻ നിങ്ങളുടെ ഫോണിന് ഒരു സെല്ലുലാർ ഡാറ്റ കണക്ഷൻ ആവശ്യമാണ്."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാൻ നിങ്ങളുടെ ഫോണിന് ഒരു മൊബൈൽ ഡാറ്റ കണക്ഷൻ ആവശ്യമാണ്."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ സജീവമാക്കാനാവുന്നില്ല"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാൻ തുടർന്നും നിങ്ങൾക്ക് കോൾ ചെയ്യാനാവും."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ അപ്‌ഡേറ്റുചെയ്യാനാകുന്നില്ല"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"നിങ്ങൾക്ക് മെച്ചപ്പെട്ട Wi-Fi അല്ലെങ്കിൽ സെല്ലുലാർ കണക്ഷൻ ലഭിക്കുമ്പോൾ, വീണ്ടും ശ്രമിക്കുക. വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാൻ തുടർന്നും നിങ്ങൾക്ക് കോൾ ചെയ്യാനാവും."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"നിങ്ങൾക്ക് മെച്ചപ്പെട്ട സെല്ലുലാർ ഡാറ്റ കണക്ഷൻ ലഭിക്കുമ്പോൾ വീണ്ടും ശ്രമിക്കുക. വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാൻ തുടർന്നും നിങ്ങൾക്ക് കോൾ ചെയ്യാനാവും."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"നിങ്ങൾക്ക് മെച്ചപ്പെട്ട വൈഫൈ അല്ലെങ്കിൽ മൊബൈൽ ഡാറ്റ കണക്ഷൻ ലഭിക്കുമ്പോൾ, വീണ്ടും ശ്രമിക്കുക. വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാൻ തുടർന്നും നിങ്ങൾക്ക് കോൾ ചെയ്യാനാവും."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"നിങ്ങൾക്ക് മെച്ചപ്പെട്ട മൊബൈൽ ഡാറ്റ കണക്ഷൻ ലഭിക്കുമ്പോൾ വീണ്ടും ശ്രമിക്കുക. വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാൻ തുടർന്നും നിങ്ങൾക്ക് കോൾ ചെയ്യാനാവും."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ അപ്‌ഡേറ്റുചെയ്യാനാകുന്നില്ല"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"വോയ്‌സ്‌മെയിൽ പരിശോധിക്കാൻ തുടർന്നും നിങ്ങൾക്ക് കോൾ ചെയ്യാനാവും."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ അപ്‌ഡേറ്റുചെയ്യാനാകുന്നില്ല"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"എന്തോ കുഴപ്പം സംഭവിച്ചു"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"<xliff:g id="NUMBER">%1$s</xliff:g>-ൽ ഉപയോക്തൃ സേവനവുമായി ബന്ധപ്പെട്ട്, പിശക് കോഡ് 9999 ആണെന്ന് പറയുക."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"വിഷ്വൽ വോയ്‌സ് മെയിൽ നിബന്ധനകളും വ്യവസ്ഥകളും"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"വിഷ്വൽ വോയ്‌സ് മെയിൽ ഉപയോഗിക്കാൻ, നിങ്ങൾ Verizon Wireless-ന്റെ നിബന്ധനകളും വ്യവസ്ഥകളും അംഗീകരിക്കേണ്ടതുണ്ട്:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nവിഷ്വൽ വോയ്‌സ്‌മെയിൽ ഉപയോഗിക്കുന്നതിന് നിങ്ങൾ Verizon Wireless-ന്റെ നിബന്ധനകളും വ്യവസ്ഥകളും അംഗീകരിക്കേണ്ടതുണ്ട്:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"വിഷ്വൽ വോയ്‌സ്‌മെയിൽ ഓണാക്കുക"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"നിബന്ധനകളും വ്യവസ്ഥകളും നിരസിക്കപ്പെട്ടാൽ വിഷ്വൽ വോയ്‌സ്‌ മെയിൽ പ്രവർത്തനരഹിതമാവും."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"വിഷ്വൽ വോയ്‌സ്‌‌മെയിൽ പ്രവർത്തനരഹിതമാക്കുക"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"നിബന്ധനകളും വ്യവസ്ഥകളും നിരസിക്കപ്പെടുകയാണെങ്കിൽ വിഷ്വൽ വോയ്‌സ്‌മെയിൽ ട്രാൻസ്‌ക്രിപ്‌ഷൻ പ്രവർത്തനരഹിതമാക്കും."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"വോയ്‌സ്‌മെയിൽ ട്രാൻസ്‌ക്രിപ്‌ഷൻ പ്രവർത്തനരഹിതമാക്കുക"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"*86-ൽ വിളിച്ച്‌ മാത്രമേ വോയ്‌സ്‌മെയിൽ ആക്‌സസ്‌ ചെയ്യാനാവൂ. തുടരാൻ, പുതിയൊരു വോയ്‌സ്‌മെയിൽ പിൻ‌ നമ്പർ‌ സജ്ജമാക്കുക."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"പിൻ സജ്ജമാക്കുക"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-mn/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-mn/strings.xml
index 99fc29dc3..5d0edbb13 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-mn/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-mn/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Уншиж болох дуут шууданг идэвхжүүлж байна"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Уншиж болох дуут шууданг бүрэн идэвхжүүлэхээс өмнө танд дуут шуудангийн мэдэгдэл ирэхгүй байж магадгүй. Дуут шууданг бүрэн идэвхжих хүртэл шинэ зурвас авахын тулд дуут шуудан руу залгана уу."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Уншиж болох дуут шууданг идэвхжүүлэх боломжгүй"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Утасны үүрэн холболт байгаа эсэхийг шалгаад дахин оролдоно уу."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Утасны мобайл холболт байгаа эсэхийг шалгаад дахин оролдоно уу."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Нислэгийн горимыг идэвхгүй болгоод дахин оролдоно уу."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Холболт байхгүй"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Шинэ дуут шуудангийн талаар танд мэдэгдэхгүй. Хэрэв та Wi-Fi дээр байвал одоо синк хийж дуут шуудангаа шалгана уу."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Шинэ дуут шуудангийн талаар танд мэдэгдэхгүй. Хэрэв та Wi-Fi-тай холбогдсон бол одоо синк хийж дуут шуудангаа шалгана уу."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Шинэ дуут шуудангийн талаар танд мэдэгдэхгүй. Дуут шуудангаа синк хийхийн тулд нислэгийн горимыг идэвхгүй болгоно уу."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Дуут шууданг шалгахын тулд таны утсанд үүрэн датаны холболт шаардлагатай."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Дуут шууданг шалгахын тулд таны утсанд мобайл датаны холболт шаардлагатай."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Уншиж болох дуут шууданг идэвхжүүлэх боломжгүй"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Та дуут шууданг дуудлага хийж сонсох боломжтой хэвээр байна."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Уншиж болох дуут шууданг шинэчлэх боломжгүй"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Та Wi-Fi дээр байх буюу үүрэн холболт илүү сайн үед дахин оролдоно уу. Та дуудлага хийж дуут шуудангаа сонсох боломжтой хэвээр байна."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Таны үүрэн датаны холболт илүү сайн үед дахин оролдоно уу. Та дуудлага хийж дуут шуудангаа сонсох боломжтой хэвээр байна."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Та Wi-Fi эсвэл мобайл холболт илүү сайн үед дахин оролдоно уу. Та дуудлага хийж дуут шуудангаа сонсох боломжтой хэвээр байна."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Таны мобайл датаны холболт илүү сайн үед дахин оролдоно уу. Та дуудлага хийж дуут шуудангаа сонсох боломжтой хэвээр байна."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Уншиж болох дуут шууданг шинэчлэх боломжгүй"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Та дуудлага хийж дуут шуудангаа сонсох боломжтой хэвээр байна."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Уншиж болох дуут шууданг шинэчлэх боломжгүй"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Ямар нэг алдаа гарлаа"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Хэрэглэгчийн үйлчилгээ <xliff:g id="NUMBER">%1$s</xliff:g> руу залгаж алдааны код 9999 гэж хэлнэ үү."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Уншиж болохуйц дуут шуудангийн нөхцөл"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Та уншиж болох дуут шууданг ашиглахын тулд Verizon Wireless-н нөхцөлийг зөвшөөрөх шаардлагатай:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nТа уншиж болох дуут шууданг ашиглахын тулд Verizon Wireless-н нөхцөлийг зөвшөөрөх шаардлагатай:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Уншиж болох дуут шууданг идэвхжүүлэх"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Нөхцөлийг зөвшөөрөхгүй бол уншиж болохуйц дуут шууданг идэвхгүй болгоно."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Уншиж болохуйц дуут шууданг идэвхгүй болгох"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Нөхцөлийг зөвшөөрөхгүй бол дуут шуудан сийрүүлэхийг идэвхгүй болгоно."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Дуут шуудан сийрүүлэхийг идэвхгүй болгох"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Дуут шууданд зөвхөн *86 руу залгаж хандах боломжтой. Үргэлжлүүлэхийн тулд шинэ дуут шуудангийн PIN тохируулна уу."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN тохируулах"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-mr/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-mr/strings.xml
index 43c8bddbf..b5c39e9cf 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-mr/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-mr/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"दृश्‍यमान व्हॉइसमेल सक्रिय करीत आहे"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"व्हिज्युअल व्हॉइसमेल पूर्णपणे सक्रिय होईपर्यंत आपल्याला व्हॉइसमेल सूचना प्राप्त होऊ शकत नाहीत. व्हॉइसमेल पूर्णपणे सक्रिय होईपर्यंत नवीन संदेश पुनर्प्राप्त करण्यासाठी व्हॉइसमेल बोलवा."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"दृश्‍यमान व्हॉइसमेल सक्रिय करू शकत नाही"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"आपल्‍या फोनवर सेल्युलर कनेक्‍शन असल्याची खात्री करा आणि पुन्हा प्रयत्न करा."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"आपल्या फोनमध्‍ये मोबाइल नेटवर्क कनेक्शन आहे याची खात्री करा आणि पुन्हा प्रयत्न करा."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"विमान मोड बंद करा आणि पुन्हा प्रयत्न करा."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"कोणतेही कनेक्शन नाही"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"आपल्याला नवीन व्हॉइसमेलसाठी सूचित केले जाणार नाही. आपण वाय-फाय वर असल्यास आपण आता संकालित करून व्हॉइसमेलसाठी तपासू शकता."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"आपल्याला नवीन व्हॉइसमेलसाठी सूचित केले जाणार नाही. आपण वाय-फाय वर असल्यास, आपण आता संकालित करून व्हॉइसमेल तपासू शकता."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"आपल्याला नवीन व्हॉइसमेलसाठी सूचित केले जाणार नाही. आपला व्हॉइसमेल संकालित करण्यासाठी विमान मोड बंद करा."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"व्हॉइसमेल तपासण्यासाठी आपल्या फोनला सेल्युलर डेटा कनेक्शनची आवश्यकता आहे."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"व्हॉइसमेल तपासण्यासाठी आपल्या फोनसाठी मोबाइल डेटा कनेक्शनची आवश्यकता आहे."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"दृश्‍यमान व्हॉइसमेल सक्रिय करू शकत नाही"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"आपण व्हॉइसमेल तपासण्यासाठी अद्याप कॉल करू शकता."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"दृश्यमान व्हॉइसमेल अद्यतनित करू शकत नाही"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"आपले वाय-फाय किंवा सेल्युलर कनेक्शन चांगले असताना पुन्हा प्रयत्न करा. आपण अद्याप व्हॉइसमेल तपासण्यासाठी कॉल करू शकता."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"आपले सेल्युलर डेटा कनेक्शन चांगले असताना पुन्हा प्रयत्न करा. आपण अद्याप व्हॉइसमेल तपासण्यासाठी कॉल करू शकता."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"आपले वाय‑फाय किंवा मोबाइल डेटा कनेक्शन चांगले असताना पुन्हा प्रयत्न करा. आपण व्हॉइसमेल तपासण्‍यासाठी अद्याप कॉल करू शकता."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"आपले मोबाइल डेटा कनेक्शन चांगले असताना पुन्हा प्रयत्न करा. आपण व्हॉइसमेल तपासण्यासाठी अद्याप कॉल करू शकता."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"दृश्यमान व्हॉइसमेल अद्यतनित करू शकत नाही"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"आपण व्हॉइसमेल तपासण्यासाठी अद्याप कॉल करू शकता."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"दृश्यमान व्हॉइसमेल अद्यतनित करू शकत नाही"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"काहीतरी चूक झाली."</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"ग्राहक सेवा संपर्काशी <xliff:g id="NUMBER">%1$s</xliff:g> येथे संपर्क साधाा आणि त्यांना त्रुटी कोड 9999 सांगा."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"व्हिज्युअल व्हॉइसमेल अटी आणि नियम"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"आपण व्हिज्युअल व्हॉइसमेल वापरण्यासाठी Verizon वायरलेसच्या अटी आणि नियम स्वीकारणे आवश्यक आहे: \n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nव्हिज्युअल व्हॉइसेमल वापरण्‍यासाठी आपण Verizon Wireless च्या अटी आणि नियम स्वीकारणे आवश्‍यक आहे:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"व्हिज्युअल व्हॉइसमेल चालू करा"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"अटी आणि नियम नाकारल्या गेल्यास व्हिज्युअल व्हॉइसमेल अक्षम केले जाईल."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"व्हिज्युअल व्हॉइसमेल अक्षम करा"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"अटी आणि नियम नाकारल्यास व्हॉइसमेल प्रतिलेखन अक्षम केले जाईल."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"व्हॉइसमेल प्रतिलेखन अक्षम करा"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"व्हॉइसमेल केवळ *86 वर कॉल करून प्रवेश करण्यायोग्य असेल. सुरू ठेवण्यासाठी नवीन व्हॉइसमेल पिन सेट करा."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"पिन सेट करा"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ms/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ms/strings.xml
index c8b70d55c..210e4784c 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ms/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ms/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Mengaktifkan mel suara visual"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Anda mungkin tidak menerima pemberitahuan mel suara sehingga mel suara visual diaktifkan sepenuhnya. Panggil mel suara untuk mengambil mesej baharu sehingga mel suara diaktifkan sepenuhnya."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Tidak dapat mengaktifkan mel suara visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Pastikan telefon anda mempunyai sambungan selular, kemudian cuba lagi."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Pastikan telefon anda mempunyai sambungan rangkaian mudah alih, kemudian cuba lagi."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Matikan mod pesawat, kemudian cuba lagi."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Tiada sambungan"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Anda tidak akan dimaklumkan tentang mel suara baharu. Jika anda menggunakan Wi-Fi, anda boleh menyemak mel suara dengan menyegerak sekarang."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Anda tidak akan dimaklumi tentang mel suara baharu. Jika anda menggunakan Wi-Fi, anda boleh menyemak mel suara dengan menyegerak sekarang."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Anda tidak akan diberitahu tentang mel suara baharu. Matikan mod pesawat untuk menyegerakkan mel suara anda."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Telefon anda memerlukan sambungan data selular untuk menyemak mel suara."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefon anda memerlukan sambungan data mudah alih untuk menyemak mel suara."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Tidak dapat mengaktifkan mel suara visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Anda masih dapat membuat panggilan untuk menyemak mel suara."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Tidak dapat mengemas kini mel suara visual"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Cuba lagi apabila sambungan Wi-Fi atau selular anda lebih bagus. Anda masih dapat membuat panggilan untuk menyemak mel suara."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Cuba lagi apabila sambungan data selular anda lebih bagus. Anda masih dapat membuat panggilan untuk menyemak mel suara."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Cuba lagi apabila sambungan Wi-Fi atau data mudah alih anda lebih bagus. Anda masih dapat membuat panggilan untuk menyemak mel suara."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Cuba lagi apabila sambungan data mudah alih anda lebih bagus. Anda masih dapat membuat panggilan untuk menyemak mel suara."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Tidak dapat mengemas kini mel suara visual"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Anda masih dapat membuat panggilan untuk menyemak mel suara."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Tidak dapat mengemas kini mel suara visual"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Berlaku Kesilapan"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Sila hubungi Khidmat Pelanggan melalui <xliff:g id="NUMBER">%1$s</xliff:g> dan beritahu mereka kod ralatnya ialah 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Terma dan Syarat Mel Suara Visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Anda mesti menerima terma dan syarat Verizon Wireless untuk menggunakan mel suara visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nAnda mesti menerima terma dan syarat Verizon Wireless untuk menggunakan mel suara:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Hidupkan Mel Suara Visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Mel suara visual akan dilumpuhkan jika terma dan syarat ditolak."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Lumpuhkan mel suara visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transkripsi mel suara akan dilumpuhkan jika terma dan syarat ditolak."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Lumpuhkan transkripsi mel suara"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Mel suara hanya dapat diakses dengan memanggil *86. Tetapkan PIN mel suara baharu untuk meneruskan."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Tetapkan PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-my/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-my/strings.xml
index 686d37d10..7f10cb20b 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-my/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-my/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"မြင်နိုင်သောအသံမေးလ်ကို ဖွင့်နေသည်"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"မြင်ရသောအသံမေးလ်ကို အပြည့်အဝစမဖွင့်သရွေ့ အသံမေးလ်အကြောင်းကြားချက်များကို လက်ခံရရှိနိုင်မည်မဟုတ်ပါ။ အသံမေးလ်ကို အပြည့်အဝစဖွင့်မပြီးမချင်း မက်ဆေ့ဂျ်အသစ်များရယူရန် အသံမေးလ်ခေါ်ဆိုပါ။"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"မြင်ရသောအသံမေးလ်ကို ဖွင့်၍မရပါ"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"သင့်ဖုန်းတွင် ဆယ်လူလာချိတ်ဆက်မှုရှိကြောင်း စစ်ဆေး၍ ထပ်စမ်းကြည့်ပါ။"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"သင့်ဖုန်းတွင် မိုဘိုင်းကွန်ရက် ချိတ်ဆက်မှုရှိကြောင်း စစ်ဆေး၍ ထပ်စမ်းကြည့်ပါ။"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"လေယာဉ်ပျံမုဒ်ပိတ်၍ ထပ်စမ်းကြည့်ပါ။"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"ချိတ်ဆက်မှုမရှိပါ"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"အသံမေးလ်အသစ်များအတွက် သင့်ကို အကြောင်းကြားလိမ့်မည်မဟုတ်ပါ။ Wi-Fi သုံးနေပါက ယခုပင် ပြိုင်တူညှိခြင်းဖြင့် အသံမေးလ်ကို စစ်ဆေးနိုင်ပါသည်။"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"အသံမေးလ်အသစ်များအတွက် သင့်ကို အကြောင်းကြားလိမ့်မည်မဟုတ်ပါ။ Wi-Fi သုံးနေပါက ယခုပင် စင့်ခ်လုပ်ခြင်းဖြင့် အသံမေးလ်ကို စစ်ဆေးနိုင်ပါသည်။"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"အသံမေးလ်အသစ်များအတွက် သင့်ကို အကြောင်းကြားလိမ့်မည်မဟုတ်ပါ။ သင့်အသံမေးလ်ပြိုင်တူညှိရန် လေယာဉ်ပျံမုဒ်ပိတ်ပါ။"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"အသံမေးလ်စစ်ရန်အတွက် သင့်ဖုန်းတွင် ဆယ်လူလာဒေတာချိတ်ဆက်မှုတစ်ခု လိုပါသည်။"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"အသံမေးလ်စစ်ရန်အတွက် သင့်ဖုန်းတွင် မိုဘိုင်းဒေတာချိတ်ဆက်မှုတစ်ခု လိုပါသည်။"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"မြင်ရသောအသံမေးလ် ဖွင့်၍မရပါ"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"အသံမေးလ်စစ်ရန်အတွက် ဖုန်းခေါ်နိုင်ပါသေးသည်။"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"မြင်ရသောအသံမေးလ်ကို အပ်ဒိတ်လုပ်၍မရပါ"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"သင်၏ Wi-Fi (သို့) ဆယ်လူလာချိတ်ဆက်မှု လိုင်းပိုကောင်းမှ ထပ်စမ်းကြည့်ပါ။ အသံမေးလ်စစ်ရန်အတွက် ဖုန်းခေါ်နိုင်ပါသေးသည်။"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"သင်၏ဆယ်လူလာချိတ်ဆက်မှု လိုင်းပိုကောင်းမှ ထပ်စမ်းကြည့်ပါ။ အသံမေးလ်စစ်ရန်အတွက် ဖုန်းခေါ်နိုင်ပါသေးသည်။"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"သင်၏ Wi-Fi (သို့) မိုဘိုင်းဒေတာချိတ်ဆက်မှု လိုင်းပိုကောင်းမှ ထပ်စမ်းကြည့်ပါ။ အသံမေးလ်စစ်ရန်အတွက် ဖုန်းခေါ်နိုင်ပါသေးသည်။"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"သင်၏ မိုဘိုင်းဒေတာ ချိတ်ဆက်မှု လိုင်းပိုကောင်းမှ ထပ်စမ်းကြည့်ပါ။ အသံမေးလ်စစ်ရန်အတွက် ဖုန်းခေါ်နိုင်ပါသေးသည်။"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"မြင်ရသောအသံမေးလ်ကို အပ်ဒိတ်လုပ်၍မရပါ"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"အသံမေးလ်စစ်ရန်အတွက် ဖုန်းခေါ်နိုင်ပါသေးသည်။"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"မြင်ရသောအသံမေးလ်ကို အပ်ဒိတ်လုပ်၍မရပါ"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"တစ်စုံတစ်ခု လွဲချော်နေပါသည်"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"သုံးစွဲသူဝန်ဆောင်ရေးကို <xliff:g id="NUMBER">%1$s</xliff:g> တွင် ဆက်သွယ်ပြီး အမှားအယွင်းကုဒ်သည် ၉၉၉၉ ဖြစ်ကြောင်း ပြောပါ။"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"မြင်နိုင်သောအသံမေးလ် ဝန်ဆောင်မှုဆိုင်ရာစည်းမျဉ်းများ"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"သင်သည် မြင်နိုင်သောအသံမေးလ်ကို အသုံးပြုရန် Verizon Wireless ၏ ဝန်ဆောင်မှုဆိုင်ရာစည်းမျဉ်းများကို လက်ခံရပါမည် - \n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nစာသားမှတ်တမ်းပါ အသံမေးလ်ကို အသုံးပြုရန် Verizon ကြိုးမဲ့စနစ်၏ ဝန်ဆောင်မှုဆိုင်ရာစည်းမျဉ်းများကို လက်ခံရပါမည် - \n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"စာသားမှတ်တမ်းပါ အသံမေးလ်ဖွင့်ခြင်း"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"ဝန်ဆောင်မှုဆိုင်ရာစည်းမျဉ်းများကို ငြင်းပယ်ပါက မြင်နိုင်သောအသံမေးလ်ကို ပိတ်ပစ်ပါလိမ့်မည်။"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"မြင်နိုင်သောအသံမေးလ် ပိတ်ပါ"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"ဝန်ဆောင်မှုဆိုင်ရာစည်းမျဉ်းများကို ငြင်းပယ်ပါက အသံမေးလ် စာသားမှတ်တမ်းများကို ပိတ်ပစ်ပါလိမ့်မည်။"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"အသံမေးလ် စာသားမှတ်တမ်းကို ပိတ်ရန်"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"*၈၆ သို့ ခေါ်ဆိုခြင်းဖြင့်သာ အသံမေးလ်ကို ဝင်သုံးနိုင်ပါမည်။ ဆက်သွားရန် အသံမေးလ်ပင်နံပါတ်အသစ်ကို သတ်မှတ်ပါ။"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"ပင်နံပါတ်ကို သတ်မှတ်ပါ"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-nb/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-nb/strings.xml
index 6fc75614a..9e64ee7b7 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-nb/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-nb/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Slår på visuell talepostkasse"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Det er ikke sikert at du kan motta talepostvarsler før visuell talepost er fullt aktivert. Ring talepost for å hente nye meldinger før aktiveringen er fullført."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Kan ikke slå på visuell talepost"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Sjekk at telefonen din har mobilforbindelse og prøv igjen."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Sjekk at telefonen din har mobilforbindelse, og prøv på nytt."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Slå av flymodus og prøv igjen."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Ingen tilkobling"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Du blir ikke varslet om nye talemeldinger. Hvis du er på Wi-Fi, kan du sjekke taleposten ved å synkronisere nå."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Du blir ikke varslet om nye talemeldinger. Hvis du er på Wi-Fi, kan du sjekke taleposten ved å synkronisere nå."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Du blir ikke varslet om nye talemeldinger. Slå av flymodus for å synkronisere talepost."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Telefonen din trenger mobildatatilkobling for å kunne sjekke talepost."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefonen må ha mobildataforbindelse for at du skal kunne sjekke talepost."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Kan ikke slå på visuell talepost"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Du kan fortsatt ringe for å sjekke talepost."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Kan ikke oppdatere visuell talepost"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Prøv igjen når Wi-Fi- eller mobildatadekningen er bedre. Du kan fortsatt ringe for å sjekke talepost."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Prøv igjen når mobildatadekningen er bedre. Du kan fortsatt ringe for å sjekke talepost."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Prøv på nytt når Wi‑Fi- eller mobildatadekningen er bedre. Du kan fortsatt ringe for å sjekke talepost."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Prøv igjen når mobildatadekningen er bedre. Du kan fortsatt ringe for å sjekke talepost."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Kan ikke oppdatere visuell talepost"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Du kan fortsatt ringe for å sjekke talepost."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Kan ikke oppdatere visuell talepost"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Noe gikk galt"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontakt kundeservice på <xliff:g id="NUMBER">%1$s</xliff:g> og referer til feilkode 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Vilkår for visuell talepost"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Du må godta vilkårene til Verizon Wireless før du kan ta i bruk visuell talepost:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDu må godta Verizon Wireless sine vilkår for å kunne bruke visuell talepost:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Slå på visuell talepost"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visuell talepost blir slått av hvis vilkårene ikke godtas."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Slå av visuell talepost"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transkripsjon av talepost blir slått av hvis vilkårene blir avvist."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Slå av transkripsjon av talepost"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Talemeldinger er bare tilgjengelig ved å ringe *86. Angi en ny PIN-kode for å fortsette."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Angi PIN-kode"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ne/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ne/strings.xml
index ff06fa06c..08741f288 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ne/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ne/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"भिजुअल भ्वाइसमेललाई सक्रिय पार्दै"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"भिजुअल भ्वाइसमेल पूर्णतया सक्रिय नभएसम्म तपाईँलाई भ्वाइसमेलका सूचनाहरू प्राप्त नहुन सक्छन्। भ्वाइसमेल पूर्णतया सक्रिय नहुन्जेल नयाँ सन्देशहरू प्राप्त गर्न भ्वाइसमेल सेवामा कल गर्नुहोस्।"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"भिजुअल भ्वाइस मेललाई सक्रिय पार्न सकिँदैन"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"आफ्नो फोन सेलुलरमा जडान भएको छ भन्ने निश्चित गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"आफ्नो फोन मोबाइल नेटवर्कमा जडान भएको छ भन्ने निश्चित गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"हवाइजहाज मोड बन्द गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"जडान छैन"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"तपाईंलाई नयाँ भ्वाइस मेल सम्बन्धी सूचना दिइने छैन। तपाईं Wi-Fi चलाउँदै हुनुहुन्छ भने, अब सिङ्क गरी भ्वाइस मेल जाँच गर्न सक्नुहुन्छ।"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"तपाईंलाई नयाँ भ्वाइस मेल सम्बन्धी सूचना दिइने छैन। तपाईं Wi-Fi चलाउँदै हुनुहुन्छ भने, अब सिङ्क गरी भ्वाइस मेल जाँच गर्न सक्नुहुन्छ।"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"तपाईंलाई नयाँ भ्वाइस मेल सम्बन्धी सूचना दिइने छैन। आफ्नो भ्वाइस मेल सिङ्क गर्न हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"भ्वाइस मेल जाँच गर्न तपाईंको फोन सेलुलर डेटामा जडान हुनु आवश्यक हुन्छ।"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"भ्वाइस मेल जाँच गर्न तपाईंको फोन मोबाइल डेटामा जडान हुनु आवश्यक हुन्छ।"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"भिजुअल भ्वाइस मेललाई सक्रिय गर्न सकिँदैन"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"तपाईं अझै पनि भ्वाइस मेल जाँच गर्न कल गर्न सक्नुहुन्छ।"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"भिजुअल भ्वाइस मेल अद्यावधिक गर्न सकिँदैन"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"तपाईंको Wi-Fi वा सेलुलर जडान राम्रो भएका बेला पुन: प्रयास गर्नुहोस्। तपाईं अझै पनि भ्वाइस मेल जाँच गर्न कल गर्न सक्नुहुन्छ।"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"तपाईंको Wi-Fi वा सेलुलर जडान अझ राम्रो भएका बेला पुन: प्रयास गर्नुहोस्। तपाईं अझै पनि भ्वाइस मेल जाँच गर्न कल गर्न सक्नुहुन्छ।"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"तपाईंको Wi-Fi वा मोबाइल जडान राम्रो भएका बेला पुन: प्रयास गर्नुहोस्। तपाईंले अझै पनि भ्वाइस मेल जाँच गर्न कल गर्न सक्नुहुन्छ।"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"तपाईंको मोबाइल डेटा जडान अझ राम्रो भएका बेला पुन: प्रयास गर्नुहोस्। तपाईंले अझै पनि भ्वाइस मेल जाँच गर्न कल गर्न सक्नुहुन्छ।"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"भिजुअल भ्वाइस मेल अद्यावधिक गर्न सकिँदैन"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"तपाईं अझै पनि भ्वाइस मेल जाँच गर्न कल गर्न सक्नुहुन्छ।"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"भिजुअल भ्वाइस मेल अद्यावधिक गर्न सकिँदैन"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"केही गडबड भयो"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"कृपया <xliff:g id="NUMBER">%1$s</xliff:g> मा ग्राहक सेवामा सम्पर्क गर्नुहोस् र तिनीहरूलाई त्रुटिको कोड ९९९९ हो भनी बताउनुहोस्।"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"भिजुअल भ्वाइस मेल सम्बन्धी सेवाका सर्तहरू"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"भिजुअल भ्वाइस मेल प्रयोग गर्नका लागि तपाईंले अनिवार्य रूपले Verizon Wireless का सेवाका सर्तहरू स्वीकार गर्नुपर्छ:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\n भिजुअल भ्वाइस मेल प्रयोग गर्नका लागि तपाईंले अनिवार्य रूपले Verizon Wireless का सेवाका सर्तहरू स्वीकार गर्नुपर्छ:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"भिजुअल भ्वाइस मेल सक्रिय गर्नुहोस्"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"सेवाका सर्तहरू अस्वीकार गरिएमा भिजुअल भ्वाइस मेल असक्षम पारिने छ।"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"भिजुअल भ्वाइस मेल असक्षम पार्नुहोस्"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"सेवाका सर्तहरू अस्वीकार गरिएमा भिजुअल ट्रान्स्क्रिप्सनलाई असक्षम पारिने छ।"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"भ्वाइस मेल ट्रान्स्क्रिप्सन असक्षम पार्नुहोस्"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"*८६ मा कल गरेर मात्र भ्वाइस मेलमाथि पहुँच राख्न सकिने छ। अघि बढ्न भ्वाइस मेलको नयाँ PIN सेट गर्नुहोस्।"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN सेट गर्नुहोस्"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-nl/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-nl/strings.xml
index f74a37d8d..a5e7d547e 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-nl/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-nl/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Visuele voicemail activeren"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Je ontvangt mogelijk geen voicemailmeldingen totdat visuele voicemail volledig is geactiveerd. Bel je voicemail om nieuwe berichten op te halen totdat visuele voicemail volledig is geactiveerd."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Kan visuele voicemail niet activeren"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Zorg dat je telefoon een mobiele verbinding heeft en probeer het opnieuw."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Zorg dat je telefoon een mobiele netwerkverbinding heeft en probeer het opnieuw."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Schakel de vliegtuigmodus uit en probeer het opnieuw."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Geen verbinding"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Je ontvangt geen meldingen voor nieuwe voicemails. Als je wifi gebruikt, kun je je voicemail controleren door nu te synchroniseren."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Je ontvangt geen meldingen voor nieuwe voicemails. Als je wifi gebruikt, kun je je voicemail controleren door nu te synchroniseren."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Je ontvangt geen meldingen voor nieuwe voicemails. Schakel de vliegtuigmodus uit om je voicemail te synchroniseren."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Je telefoon heeft een mobiele dataverbinding nodig om je voicemail te controleren."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Je telefoon heeft een mobiele dataverbinding nodig om je voicemail te controleren."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Kan visuele voicemail niet activeren"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Je kunt nog steeds bellen om je voicemail te controleren."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Kan visuele voicemail niet updaten"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Probeer het opnieuw als er een betere wifi- of mobiele verbinding beschikbaar is. Je kunt nog steeds bellen om je voicemail controleren."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Probeer het opnieuw wanneer er een betere mobiele dataverbinding beschikbaar is. Je kunt nog steeds bellen om je voicemail te controleren."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Probeer het opnieuw als er een betere wifi- of mobiele dataverbinding beschikbaar is. Je kunt nog steeds bellen om je voicemail te controleren."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Probeer het opnieuw wanneer er een betere mobiele dataverbinding beschikbaar is. Je kunt nog steeds bellen om je voicemail te controleren."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Kan visuele voicemail niet updaten"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Je kunt nog steeds bellen om je voicemail te controleren."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Kan visuele voicemail niet updaten"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Er is iets misgegaan"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Neem via <xliff:g id="NUMBER">%1$s</xliff:g> contact op met de klantenservice en geef de foutcode 9999 door."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Algemene voorwaarden voor visuele voicemail"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Je moet de Algemene voorwaarden van Verizon accepteren om visuele voicemail te gebruiken:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nJe moet de Algemene voorwaarden van Verizon Wireless accepteren om visuele voicemail te kunnen gebruiken:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Visuele voicemail inschakelen"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visuele voicemail wordt uitgeschakeld als de Algemene voorwaarden worden geweigerd."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Visuele voicemail uitschakelen"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Voicemail-transcriptie wordt uitgeschakeld als de Algemene voorwaarden worden geweigerd."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Voicemail-transcriptie uitschakelen"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Voicemail is alleen toegankelijk door *86 te bellen. Stel een nieuwe pincode voor de voicemail in om door te gaan."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Pincode instellen"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-no/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-no/strings.xml
index 6fc75614a..9e64ee7b7 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-no/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-no/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Slår på visuell talepostkasse"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Det er ikke sikert at du kan motta talepostvarsler før visuell talepost er fullt aktivert. Ring talepost for å hente nye meldinger før aktiveringen er fullført."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Kan ikke slå på visuell talepost"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Sjekk at telefonen din har mobilforbindelse og prøv igjen."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Sjekk at telefonen din har mobilforbindelse, og prøv på nytt."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Slå av flymodus og prøv igjen."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Ingen tilkobling"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Du blir ikke varslet om nye talemeldinger. Hvis du er på Wi-Fi, kan du sjekke taleposten ved å synkronisere nå."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Du blir ikke varslet om nye talemeldinger. Hvis du er på Wi-Fi, kan du sjekke taleposten ved å synkronisere nå."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Du blir ikke varslet om nye talemeldinger. Slå av flymodus for å synkronisere talepost."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Telefonen din trenger mobildatatilkobling for å kunne sjekke talepost."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefonen må ha mobildataforbindelse for at du skal kunne sjekke talepost."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Kan ikke slå på visuell talepost"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Du kan fortsatt ringe for å sjekke talepost."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Kan ikke oppdatere visuell talepost"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Prøv igjen når Wi-Fi- eller mobildatadekningen er bedre. Du kan fortsatt ringe for å sjekke talepost."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Prøv igjen når mobildatadekningen er bedre. Du kan fortsatt ringe for å sjekke talepost."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Prøv på nytt når Wi‑Fi- eller mobildatadekningen er bedre. Du kan fortsatt ringe for å sjekke talepost."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Prøv igjen når mobildatadekningen er bedre. Du kan fortsatt ringe for å sjekke talepost."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Kan ikke oppdatere visuell talepost"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Du kan fortsatt ringe for å sjekke talepost."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Kan ikke oppdatere visuell talepost"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Noe gikk galt"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontakt kundeservice på <xliff:g id="NUMBER">%1$s</xliff:g> og referer til feilkode 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Vilkår for visuell talepost"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Du må godta vilkårene til Verizon Wireless før du kan ta i bruk visuell talepost:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDu må godta Verizon Wireless sine vilkår for å kunne bruke visuell talepost:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Slå på visuell talepost"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visuell talepost blir slått av hvis vilkårene ikke godtas."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Slå av visuell talepost"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transkripsjon av talepost blir slått av hvis vilkårene blir avvist."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Slå av transkripsjon av talepost"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Talemeldinger er bare tilgjengelig ved å ringe *86. Angi en ny PIN-kode for å fortsette."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Angi PIN-kode"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-pa/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-pa/strings.xml
index 2a07b459d..93302b02e 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-pa/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-pa/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਕਿਰਿਆਸ਼ੀਲ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"ਜਦੋਂ ਤੱਕ ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਹੋ ਜਾਂਦੀ, ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ਵੌਇਸਮੇਲ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਾ ਹੋਣ। ਵੌਇਸਮੇਲ ਦੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕਿਰਿਆਸ਼ੀਲ ਹੋਣ ਤੱਕ ਨਵੇਂ ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵੌਇਸਮੇਲ ਨੂੰ ਕਾਲ ਕਰੋ।"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਫ਼ੋਨ ਵਿੱਚ ਸੈਲਿਊਲਰ ਕਨੈਕਸ਼ਨ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"ਹਵਾਈ ਜਹਾਜ਼ ਮੋਡ ਬੰਦ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"ਕੋਈ ਕਨੈਕਸ਼ਨ ਨਹੀਂ"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"ਤੁਹਾਨੂੰ ਨਵੀਆਂ ਵੌਇਸਮੇਲਾਂ ਲਈ ਸੂਚਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਜੇਕਰ ਤੁਸੀਂ Wi-Fi \'ਤੇ ਹੋ, ਤਾਂ ਹੁਣੇ ਸਮਕਾਲੀਕਰਨ ਕਰਨ ਦੁਆਰਾ ਵੌਇਸਮੇਲਾਂ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ।"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"ਤੁਹਾਨੂੰ ਨਵੀਆਂ ਵੌਇਸਮੇਲਾਂ ਲਈ ਸੂਚਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਜੇਕਰ ਤੁਸੀਂ Wi-Fi \'ਤੇ ਹੋ, ਤਾਂ ਹੁਣੇ ਸਮਕਾਲੀਕਰਨ ਕਰਕੇ ਵੌਇਸਮੇਲ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ।"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"ਤੁਹਾਨੂੰ ਨਵੀਆਂ ਵੌਇਸਮੇਲਾਂ ਲਈ ਸੂਚਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਆਪਣੀਆਂ ਵੌਇਸਮੇਲਾਂ ਸਮਕਾਲੀਕਿਰਤ ਕਰਨ ਲਈ ਹਵਾਈ ਜਹਾਜ਼ ਮੋਡ ਬੰਦ ਕਰੋ।"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"ਵੌਇਸਮੇਲਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਫ਼ੋਨ ਨੂੰ ਇੱਕ ਸੈਲਿਊਲਰ ਕਨੈਕਸ਼ਨ ਦੀ ਲੋੜ ਹੈ।"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"ਵੌਇਸਮੇਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਫ਼ੋਨ ਨੂੰ ਇੱਕ ਸੈਲਿਊਲਰ ਕਨੈਕਸ਼ਨ ਦੀ ਲੋੜ ਹੈ।"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"ਤੁਸੀਂ ਹਾਲੇ ਵੀ ਵੌਇਸਮੇਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ।"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"ਤੁਹਾਡੇ Wi-Fi ਜਾਂ ਸੈਲਿਊਲਰ ਕਨੈਕਸ਼ਨ ਦੇ ਬਿਹਤਰ ਹੋਣ \'ਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਤੁਸੀਂ ਹਾਲੇ ਵੀ ਵੌਇਸਮੇਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ।"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"ਤੁਹਾਡੇ ਸੈਲਿਊਲਰ ਡੈਟਾ ਕਨੈਕਸ਼ਨ ਦੇ ਬਿਹਤਰ ਹੋਣ \'ਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਤੁਸੀਂ ਹਾਲੇ ਵੀ ਵੌਇਸਮੇਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ।"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"ਤੁਹਾਡੇ Wi-Fi ਜਾਂ ਮੋਬਾਈਲ ਡੈਟਾ ਕਨੈਕਸ਼ਨ ਦੇ ਬਿਹਤਰ ਹੋਣ \'ਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਤੁਸੀਂ ਹਾਲੇ ਵੀ ਵੌਇਸਮੇਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ।"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"ਤੁਹਾਡੇ ਮੋਬਾਈਲ ਡੈਟਾ ਕਨੈਕਸ਼ਨ ਦੇ ਬਿਹਤਰ ਹੋਣ \'ਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਤੁਸੀਂ ਹਾਲੇ ਵੀ ਵੌਇਸਮੇਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ।"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"ਤੁਸੀਂ ਹਾਲੇ ਵੀ ਵੌਇਸਮੇਲ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ।"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"ਕਿਰਪਾ ਕਰਕੇ <xliff:g id="NUMBER">%1$s</xliff:g> \'ਤੇ ਗਾਹਕ ਸੇਵਾ ਨੂੰ ਸੰਪਰਕ ਕਰੋ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਦੱਸੋ ਕਿ ਗੜਬੜ ਕੋਡ 9999 ਹੈ।"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"ਵਿਜੁਅਲ ਵੌਇਸਮੇਲ ਮਦਾਂ ਅਤੇ ਸ਼ਰਤਾਂ"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਨੂੰ ਵਰਤਣ ਲਈ ਤੁਸੀਂ ਲਾਜ਼ਮੀ ਤੌਰ \'ਤੇ Verizon ਵਾਇਰਲੈੱਸ ਦੀਆਂ ਮਦਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰੋ:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nਦ੍ਰਿਸ਼ਟਾਂਤਕ ਵੌਇਸਮੇਲ ਨੂੰ ਵਰਤਣ ਲਈ ਤੁਸੀਂ ਲਾਜ਼ਮੀ ਤੌਰ \'ਤੇ Verizon ਵਾਇਰਲੈੱਸ ਦੀਆਂ ਮਦਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰੋ:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"ਦ੍ਰਿਸ਼ਟਾਂਤਕ ਵੌਇਸਮੇਲ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਅਯੋਗ ਹੋ ਜਾਵੇਗੀ ਜੇਕਰ ਮਦਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਨੂੰ ਅਸਵੀਕਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"ਵਿਜ਼ੁਅਲ ਵੌਇਸਮੇਲ ਅਯੋਗ ਬਣਾਓ"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"ਵੌਇਸਮੇਲ ਪ੍ਰਤਿਲਿਪੀ ਅਯੋਗ ਹੋ ਜਾਵੇਗੀ ਜੇਕਰ ਮਦਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਨੂੰ ਅਸਵੀਕਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"ਵੌਇਸਮੇਲ ਪ੍ਰਤਿਲਿਪੀ ਨੂੰ ਅਯੋਗ ਬਣਾਓ"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"ਵੌਇਸਮੇਲ ਸਿਰਫ਼ *86 \'ਤੇ ਕਾਲ ਕਰਨ ਦੁਆਰਾ ਪਹੁੰਚਯੋਗ ਹੋਵੇਗੀ। ਜਾਰੀ ਰੱਖਣ ਲਈ ਇੱਕ ਨਵਾਂ ਵੌਇਸਮੇਲ PIN ਸੈੱਟ ਕਰੋ।"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN ਸੈੱਟ ਕਰੋ"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-pl/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-pl/strings.xml
index b12290821..18b09028b 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-pl/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-pl/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktywuję wizualną pocztę głosową"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Powiadomienia poczty głosowej mogą być dostępne dopiero po pełnej aktywacji wizualnej poczty głosowej. Do tego momentu nowe wiadomości możesz pobierać, dzwoniąc na pocztę głosową."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Nie udało się aktywować wizualnej poczty głosowej"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Upewnij się, że telefon ma połączenie z internetem, i spróbuj jeszcze raz."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Upewnij się, że telefon ma połączenie z siecią komórkową, i spróbuj jeszcze raz."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Wyłącz tryb samolotowy i spróbuj jeszcze raz."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Brak połączenia"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nie otrzymasz powiadomień o nowych wiadomościach głosowych. Jeśli masz połączenie Wi-Fi, możesz teraz sprawdzić dostępność nowych wiadomości przez zsynchronizowanie urządzenia."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nie otrzymasz powiadomień o nowych wiadomościach głosowych. Jeśli masz połączenie Wi-Fi, możesz teraz sprawdzić dostępność nowych wiadomości przez zsynchronizowanie urządzenia."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nie otrzymasz powiadomień o nowych wiadomościach głosowych. Wyłącz tryb samolotowy, aby zsynchronizować pocztę głosową."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Aby sprawdzić pocztę głosową, telefon musi mieć połączenie z internetem."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Aby sprawdzić pocztę głosową, telefon musi mieć połączenie z internetem."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Nie udało się aktywować wizualnej poczty głosowej"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Możesz też zadzwonić do poczty głosowej, aby odsłuchać wiadomości."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Nie udało się zaktualizować wizualnej poczty głosowej"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Spróbuj jeszcze raz, gdy znajdziesz lepszy zasięg sieci komórkowej lub Wi-Fi. Możesz też zadzwonić do poczty głosowej, aby odsłuchać wiadomości."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Spróbuj jeszcze raz, gdy znajdziesz lepszy zasięg sieci komórkowej. Możesz też zadzwonić do poczty głosowej, aby odsłuchać wiadomości."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Spróbuj jeszcze raz, gdy znajdziesz lepszy zasięg sieci komórkowej lub Wi-Fi. Możesz też zadzwonić do poczty głosowej, aby odsłuchać wiadomości."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Spróbuj jeszcze raz, gdy znajdziesz lepszy zasięg sieci komórkowej. Możesz też zadzwonić do poczty głosowej, aby odsłuchać wiadomości."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Nie udało się zaktualizować wizualnej poczty głosowej"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Możesz też zadzwonić do poczty głosowej, aby odsłuchać wiadomości."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Nie udało się zaktualizować wizualnej poczty głosowej"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Coś poszło nie tak"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Skontaktuj się z obsługą klienta pod numerem <xliff:g id="NUMBER">%1$s</xliff:g>, podając kod błędu 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Warunki korzystania z wizualnej poczty głosowej"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Aby korzystać z wizualnej poczty głosowej, musisz zaakceptować warunki operatora Verizon Wireless:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nAby korzystać z wizualnej poczty głosowej, musisz zaakceptować warunki operatora Verizon Wireless:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Włącz wizualną pocztę głosową"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Jeśli odrzucisz warunki korzystania z usługi, wizualna poczta głosowa zostanie wyłączona."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Wyłącz wizualną pocztę głosową"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Jeśli odrzucisz warunki korzystania z usługi, transkrypcja wiadomości w poczcie głosowej zostanie wyłączona."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Wyłącz transkrypcję wiadomości w poczcie głosowej"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Poczta głosowa będzie dostępna tylko przez połączenie telefoniczne z numerem *86. Ustaw nowy kod PIN poczty głosowej, aby przejść dalej."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Ustaw kod PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-pt-rBR/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-pt-rBR/strings.xml
index bbe9340a6..ce2b4eea3 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-pt-rBR/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Ativando correio de voz visual"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Talvez você não receba notificações do correio de voz até que o correio de voz visual esteja totalmente ativado. Enquanto isso não acontecer, ligue para o correio de voz para receber as novas mensagens."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Não foi possível ativar o correio de voz visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Verifique se seu smartphone tem uma conexão celular e tente novamente."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Verifique se seu smartphone tem uma conexão por rede móvel e tente novamente."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Desative o modo avião e tente novamente."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Sem conexão"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Você não será notificado sobre novos correios de voz. Se estiver usando Wi-Fi, sincronize agora para verificar o correio de voz."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Você não será notificado sobre novos correios de voz. Se estiver usando Wi-Fi, sincronize agora para verificar o correio de voz."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Você não será notificado sobre novos correios de voz. Desative o modo avião para sincronizar seu correio de voz."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Seu smartphone precisa de uma conexão de dados da rede celular para verificar o correio de voz."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Seu smartphone precisa de uma conexão de dados móveis para verificar o correio de voz."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Não foi possível ativar o correio de voz visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Você ainda pode ligar para verificar o correio de voz."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Não foi possível atualizar o correio de voz visual"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Tente novamente quando estiver com uma conexão celular ou Wi-Fi melhor. Você ainda pode ligar para verificar o correio de voz."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Tente novamente quando estiver com uma conexão de dados da rede celular melhor. Você ainda pode ligar para verificar o correio de voz."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Tente novamente quando estiver com uma conexão de dados móveis ou Wi‑Fi melhor. Você ainda pode ligar para verificar o correio de voz."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Tente novamente quando estiver com uma conexão de dados móveis melhor. Você ainda pode ligar para verificar o correio de voz."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Não foi possível atualizar o correio de voz visual"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Você ainda pode ligar para verificar o correio de voz."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Não foi possível atualizar o correio de voz visual"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Ocorreu um erro"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Entre em contato com o atendimento ao cliente pelo número <xliff:g id="NUMBER">%1$s</xliff:g> e forneça o código de erro 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Termos e Condições do correio de voz visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Você precisa aceitar os termos e condições da Verizon Wireless para usar o correio de voz visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nVocê precisa aceitar os Termos e Condições da Verizon Wireless para usar o correio de voz visual:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Ativar correio de voz visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"O correio de voz visual será desativado se os termos e condições forem recusados."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Desativar correio de voz visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"A transcrição do correio de voz será desativada se os Temos e Condições forem recusados."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Desativar transcrição do correio de voz"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"O correio de voz só estará acessível quando você ligar para *86. Defina um novo PIN do correio de voz para continuar."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Definir PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-pt-rPT/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-pt-rPT/strings.xml
index 364b2783d..3b8ba1b0d 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-pt-rPT/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"A ativar o correio de voz visual..."</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Poderá não receber notificações de correio de voz até o correio de voz visual estar completamente ativado. Ligue para o correio de voz para obter novas mensagens até o correio de voz estar completamente ativado."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Não é possível ativar o correio de voz visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Certifique-se de que o seu telemóvel tem uma ligação de rede móvel e tente novamente."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Certifique-se de que o seu telemóvel tem uma ligação de rede móvel e tente novamente."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Desative o modo de avião e tente novamente."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Sem ligação"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Não será notificado quando receber novas mensagens de correio de voz. Se estiver numa ligação Wi-Fi, pode verificar se existem mensagens de correio de voz ao sincronizar agora."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Não será notificado quando receber novas mensagens de correio de voz. Se estiver numa ligação Wi-Fi, pode verificar se existem mensagens de correio de voz ao sincronizar agora."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Não será notificado quando receber novas mensagens de correio de voz. Desative o modo de avião para sincronizar as suas mensagens de correio de voz."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"O seu telemóvel precisa de uma ligação de dados móveis para verificar se existem mensagens de correio de voz."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"O seu telemóvel precisa de uma ligação de dados móveis para verificar se existem mensagens de correio de voz."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Não é possível ativar o correio de voz visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Ainda pode efetuar chamadas para consultar as mensagens de correio de voz."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Não é possível atualizar as mensagens de correio de voz visuais"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Tente novamente quando a sua ligação Wi-Fi ou de rede móvel for mais forte. Ainda pode efetuar chamadas para consultar as mensagens de correio de voz."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Tente novamente quando a sua ligação de rede móvel for mais forte. Ainda pode efetuar chamadas para consultar as mensagens de correio de voz."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Tente novamente quando a sua ligação Wi-Fi ou de dados móveis for mais forte. Ainda pode efetuar chamadas para consultar as mensagens de correio de voz."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Tente novamente quando a sua ligação de dados móveis for mais forte. Ainda pode efetuar chamadas para consultar as mensagens de correio de voz."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Não é possível atualizar as mensagens de correio de voz visuais"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Ainda pode efetuar chamadas para consultar as mensagens de correio de voz."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Não é possível atualizar as mensagens de correio de voz visuais"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Ocorreu um erro"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Contacte o serviço de apoio ao cliente através do número <xliff:g id="NUMBER">%1$s</xliff:g> e indique que o código de erro é 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Termos de Utilização do Correio de voz visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Tem de aceitar os Termos de Utilização da Verizon Wireless para utilizar o correio de voz visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nTem de aceitar os Termos de Utilização da Verizon Wireless para utilizar o correio de voz visual:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Ativar o correio de voz visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"O correio de voz visual será desativado se tiver recusado os Termos de Utilização."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Desativar o correio de voz visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"A transcrição das mensagens de correio de voz será desativada se tiver recusado os Termos de Utilização."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Desativar a transcrição das mensagens de correio de voz"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"O correio de voz está apenas disponível ao ligar para *86. Defina um novo PIN do correio de voz para continuar."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Definir PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-pt/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-pt/strings.xml
index bbe9340a6..ce2b4eea3 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-pt/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-pt/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Ativando correio de voz visual"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Talvez você não receba notificações do correio de voz até que o correio de voz visual esteja totalmente ativado. Enquanto isso não acontecer, ligue para o correio de voz para receber as novas mensagens."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Não foi possível ativar o correio de voz visual"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Verifique se seu smartphone tem uma conexão celular e tente novamente."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Verifique se seu smartphone tem uma conexão por rede móvel e tente novamente."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Desative o modo avião e tente novamente."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Sem conexão"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Você não será notificado sobre novos correios de voz. Se estiver usando Wi-Fi, sincronize agora para verificar o correio de voz."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Você não será notificado sobre novos correios de voz. Se estiver usando Wi-Fi, sincronize agora para verificar o correio de voz."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Você não será notificado sobre novos correios de voz. Desative o modo avião para sincronizar seu correio de voz."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Seu smartphone precisa de uma conexão de dados da rede celular para verificar o correio de voz."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Seu smartphone precisa de uma conexão de dados móveis para verificar o correio de voz."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Não foi possível ativar o correio de voz visual"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Você ainda pode ligar para verificar o correio de voz."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Não foi possível atualizar o correio de voz visual"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Tente novamente quando estiver com uma conexão celular ou Wi-Fi melhor. Você ainda pode ligar para verificar o correio de voz."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Tente novamente quando estiver com uma conexão de dados da rede celular melhor. Você ainda pode ligar para verificar o correio de voz."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Tente novamente quando estiver com uma conexão de dados móveis ou Wi‑Fi melhor. Você ainda pode ligar para verificar o correio de voz."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Tente novamente quando estiver com uma conexão de dados móveis melhor. Você ainda pode ligar para verificar o correio de voz."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Não foi possível atualizar o correio de voz visual"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Você ainda pode ligar para verificar o correio de voz."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Não foi possível atualizar o correio de voz visual"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Ocorreu um erro"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Entre em contato com o atendimento ao cliente pelo número <xliff:g id="NUMBER">%1$s</xliff:g> e forneça o código de erro 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Termos e Condições do correio de voz visual"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Você precisa aceitar os termos e condições da Verizon Wireless para usar o correio de voz visual:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nVocê precisa aceitar os Termos e Condições da Verizon Wireless para usar o correio de voz visual:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Ativar correio de voz visual"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"O correio de voz visual será desativado se os termos e condições forem recusados."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Desativar correio de voz visual"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"A transcrição do correio de voz será desativada se os Temos e Condições forem recusados."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Desativar transcrição do correio de voz"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"O correio de voz só estará acessível quando você ligar para *86. Defina um novo PIN do correio de voz para continuar."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Definir PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ro/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ro/strings.xml
index 263ab003d..046df48a4 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ro/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ro/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Se activează mesageria vocală vizuală"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"E posibil să nu primiți notificări de la mesageria vocală până când mesageria vocală vizuală nu este activată complet. Apelați mesageria vocală pentru a prelua mesajele noi până la activarea completă a mesageriei."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Nu se poate activa mesagerie vocală vizuală"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Asigurați-vă că telefonul are conexiune mobilă și încercați din nou."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Asigurați-vă că telefonul are o conexiune la o rețea mobilă și încercați din nou."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Dezactivați modul avion și încercați din nou."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Nicio conexiune"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nu veți primi notificări pentru mesaje vocale noi. Dacă folosiți Wi-Fi, puteți verifica mesageria sincronizând acum."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nu veți primi notificări pentru mesaje vocale noi. Dacă folosiți Wi-Fi, puteți verifica mesageria sincronizând acum."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nu veți primi notificări pentru mesajele vocale noi. Dezactivați modul avion pentru a vă sincroniza mesageria."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Telefonul dvs. are nevoie de conexiune mobilă pentru a verifica mesageria vocală."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefonul dvs. are nevoie de conexiune mobilă pentru a verifica mesageria vocală."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Nu se poate activa mesagerie vocală vizuală"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Puteți totuși să apelați pentru a verifica mesageria vocală."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Nu se poate actualiza mesageria vocală vizuală"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Încercați din nou când aveți o conexiune Wi-Fi sau mobilă mai bună. Puteți totuși să apelați pentru a verifica mesageria vocală."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Încercați din nou când aveți o conexiune mobilă mai bună. Puteți totuși să apelați pentru a verifica mesageria vocală."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Încercați din nou când aveți o conexiune Wi-Fi sau mobilă mai bună. Puteți totuși să apelați pentru a verifica mesageria vocală."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Încercați din nou când aveți o conexiune mobilă mai bună. Puteți totuși să apelați pentru a verifica mesageria vocală."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Nu se poate actualiza mesageria vocală vizuală"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Puteți totuși să apelați pentru a verifica mesageria vocală."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Nu se poate actualiza mesageria vocală vizuală"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"A apărut o eroare"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Contactați Serviciul de asistență pentru clienți la <xliff:g id="NUMBER">%1$s</xliff:g> și comunicați-le codul erorii: 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Termeni și condiții pentru mesageria vocală vizuală"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Trebuie să acceptați termenii și condițiile Verizon Wireless pentru a folosi mesageria vocală vizuală:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nTrebuie să acceptați Termenii și condițiile Verizon Wireless pentru a folosi mesageria vocală vizuală:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Activați Mesageria vocală vizuală"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Mesageria vocală vizuală va fi dezactivată dacă nu acceptați termenii și condițiile."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Dezactivați mesageria vocală vizuală"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transcrierea mesajelor vocale va fi dezactivată dacă termenii și condițiile sunt refuzate."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Dezactivați transcrierea mesajelor vocale"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Mesageria vocală va fi accesibilă numai apelând *86. Setați un cod PIN nou pentru mesageria vocală pentru a continua."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Setați codul PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ru/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ru/strings.xml
index 1989f269c..4994b4619 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ru/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ru/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Включение просмотра голосовой почты"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Вы не будете получать оповещения, пока не активируете визуальную голосовую почту. Позвоните, чтобы прослушать новые сообщения."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Не удалось включить просмотр голосовой почты"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Проверьте подключение к мобильной сети и повторите попытку."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Убедитесь, что телефон подключен к мобильной сети, и повторите попытку."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Отключите режим полета и повторите попытку."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Нет соединения"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Вы не будете получать оповещения о новых голосовых сообщениях. Если телефон подключен к Wi-Fi, выполните синхронизацию."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Вы не будете получать оповещения о новых голосовых сообщениях. Если телефон подключен к Wi-Fi, то вы можете выполнить синхронизацию и проверить голосовую почту сейчас."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Вы не будете получать оповещения о новых сообщениях. Чтобы выполнить синхронизацию, отключите режим полета."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Чтобы проверить голосовую почту, подключите мобильные данные."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Чтобы проверить голосовую почту, подключитесь к мобильному Интернету."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Не удалось включить просмотр голосовой почты"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Чтобы проверить голосовую почту, вы можете позвонить на специальный номер."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Не удалось обновить страницу просмотра голосовой почты"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Дождитесь стабильного сигнала Wi-Fi или мобильной сети и повторите попытку. Если вы хотите проверить почту сейчас, позвоните на специальный номер."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Дождитесь стабильного сигнала мобильной сети и повторите попытку. Если вы хотите проверить почту сейчас, позвоните на специальный номер."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Дождитесь стабильного сигнала Wi-Fi или мобильного Интернета и повторите попытку. Если вы хотите проверить голосовую почту сейчас, позвоните на специальный номер."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Дождитесь стабильного сигнала мобильного Интернета и повторите попытку. Если вы хотите проверить голосовую почту сейчас, позвоните на специальный номер."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Не удалось обновить страницу просмотра голосовой почты"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Чтобы проверить голосовую почту, вы можете позвонить на специальный номер."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Не удалось обновить страницу просмотра голосовой почты"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Ошибка"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Свяжитесь со службой поддержки по номеру <xliff:g id="NUMBER">%1$s</xliff:g> и сообщите им код ошибки 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Условия использования визуальной голосовой почты"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Чтобы работать с визуальной голосовой почтой, примите Условия использования Verizon Wireless:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nЧтобы работать с визуальной голосовой почтой, примите Условия использования Verizon Wireless:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Включить визуальную голосовую почту"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Если вы не примете Условия использования, визуальная голосовая почта будет отключена."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Отключение визуальной голосовой почты"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Если вы не примете Условия использования, транскрипция голосовых сообщений будет отключена."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Отключение транскрипции голосовых сообщений"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Для прослушивания голосовой почты необходимо будет отправить вызов по номеру *86. Чтобы продолжить, установите новый PIN-код голосовой почты."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Установка PIN-кода"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-si/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-si/strings.xml
index 2a057facd..ddba002b2 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-si/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-si/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"දෘශ්‍ය හඬ තැපෑල ක්‍රියාත්මක කිරීම"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"දෘශ්‍ය හඬ තැපෑල සම්පූර්ණයෙන් සක්‍රිය කරන තෙක් ඔබට හඩ තැපැල් දැනුම් දීම් නොලැබීමට හැකිය. දෘශ්‍ය හඬ තැපෑල සම්පූර්ණයෙන් සක්‍රිය කරන තෙක් නව පණිවිඩ යළි ලබා ගැනීමට හඬ තැපෑල අමතන්න."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"දෘශ්‍ය හඬ තැපෑල ක්‍රියාත්මක කළ නොහැකිය"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"ඔබේ දුරකථනයට සෙලියුලර් සම්බන්ධතාවක් ඇති බව පරීක්ෂා කර නැවත උත්සාහ කරන්න."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"ඔබේ දුරකථනයට ජංගම ජාල සම්බන්ධතාවක් ඇති බව සහතික කරගෙන නැවත උත්සාහ කරන්න."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"ගුවන් යානා ප්‍රකාරය ක්‍රියාවිරහිත කර නැවත උත්සාහ කරන්න."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"සම්බන්ධතාවය නැත"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"ඔබට නව හඬ තැපැල් සඳහා දැනුම් දීම් නොලැබෙනු ඇත. ඔබ Wi-Fi මත සිටින්නේ නම්, ඔබට දැන් සමමුහුර්ත කිරීමෙන් හඬ තැපැල් සඳහා පරීක්ෂා කළ හැකිය."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"ඔබට නව හඬ තැපැල් සඳහා දැනුම් දීම් නොලැබෙනු ඇත. ඔබ Wi-Fi වල සිටින්නේ නම්, ඔබට දැන් සමමුහුර්ත කිරීමෙන් හඬ තැපෑල සඳහා පරීක්ෂා කළ හැකිය."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"ඔබට නව හඬ තැපැල් සඳහා දැනුම් දීම් නොලැබෙනු ඇත. ඔබේ හඬ තැපැල් සමමුහුර්ත කිරීමට ගුවන් යානා ප්‍රකාරය ක්‍රියාවිරහිත කරන්න."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"හඬ තැපැල් පරීක්ෂා කිරීමට ඔබේ දුරකථනයට සෙලියුලර් දත්ත සබැඳුමක් අවශ්‍යය."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"හඬ තැපෑල පරීක්ෂා කිරීමට ඔබේ දුරකථනයට ජංගම දත්ත සම්බන්ධතාවක් අවශ්‍යයි."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"දෘශ්‍ය හඬ තැපෑල ක්‍රියාත්මක කළ නොහැකිය"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"ඔබට තවම හඬ තැපෑල පරීක්ෂා කිරීමට ඇමතිය හැකිය."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"දෘශ්‍ය හඬ තැපෑල යාවත්කාලීන කළ නොහැකිය"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"ඔබේ Wi-Fi හෝ සෙලියුලර් සබැඳුම වඩා යහපත් විට නැවත උත්සාහ කරන්න. ඔබට තවම හඬ තැපෑල පරීක්ෂා කිරීමට ඇමතිය හැකිය."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"ඔබේ සෙලියුලර් දත්ත සබැඳුම වඩා යහපත් විට නැවත උත්සාහ කරන්න. ඔබට තවම හඬ තැපෑල පරීක්ෂා කිරීමට ඇමතිය හැකිය."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"ඔබේ Wi-Fi හෝ ජංගම දත්ත සම්බන්ධතාව වඩා යහපත් විට නැවත උත්සාහ කරන්න. ඔබට තවම හඬ තැපෑල පරීක්ෂා කිරීමට ඇමතිය හැකිය."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"ඔබේ ජංගම දත්ත සම්බන්ධතාව වඩා යහපත් විට නැවත උත්සාහ කරන්න. ඔබට තවම හඬ තැපෑල පරීක්ෂා කිරීමට ඇමතිය හැකිය."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"දෘශ්‍ය හඬ තැපෑල යාවත්කාලීන කළ නොහැකිය"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"ඔබට තවම හඬ තැපෑල පරීක්ෂා කිරීමට ඇමතිය හැකිය."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"දෘශ්‍ය හඬ තැපෑල යාවත්කාලීන කළ නොහැකිය"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"යම් දෙයක් වැරදිණි"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"කරුණාකර <xliff:g id="NUMBER">%1$s</xliff:g> අංකයට පාරිභෝගික සේවාව අමතා දෝෂ කේතය 9999 බව ඔවුන්ට පවසන්න."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"දෘශ්‍ය හඬ තැපෑල් නියම සහ කොන්දේසි"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"ඔබ දෘශ්‍ය හඬ තැපෑල භාවිත කිරීමට Verizon Wireless හි නියම සහ කොන්දේසි පිළිගත යුතුය:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nඔබ දෘශ්‍ය හඬ තැපෑල භාවිත කිරීමට Verizon Wireless හි නියම සහ කොන්දේසි පිළිගත යුතුය:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"දෘශ්‍ය හඬ තැපෑල ක්‍රියාත්මක කරන්න"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"නියම සහ කොන්දේසි ප්‍රතික්ෂේප කර ඇති නම් දෘශ්‍ය හඬ තැපෑල අබල කරනු ඇත."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"දෘශ්‍ය හඬ තැපෑල අබල කරන්න"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"නියම සහ කොන්දේසි ප්‍රතික්ෂේප කර ඇති නම් හඬ තැපැල් පිටපත් කිරීම අබල කරනු ඇත."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"හඬ තැපැල් පිටපත් කිරීම අබල කරන්න"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"හඩ තැපෑල *86 වෙත ඇමතීමෙන් පමණක් ලබා ගත හැකිය. ඉදිරියට යාමට නව හඩ තැපැල් PIN එකක් පිහිටුවන්න."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN අංකය සකසන්න"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-sk/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-sk/strings.xml
index 165a9f58c..692d68b7a 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-sk/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-sk/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktivuje sa vizuálna hlasová schránka"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Kým nebude vizuálna hlasová schránka úplne aktivovaná, pravdepodobne nebudete dostávať upozornenia hlasovej schránky. Kým nebude hlasová schránka úplne aktivovaná, nové správy môžete načítať zavolaním do hlasovej schránky."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Vizuálna hlasová schránka sa nedá aktivovať"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Skontrolujte, či má telefón mobilné pripojenie, a skúste to znova."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Skontrolujte, či má telefón pripojenie k mobilnej sieti, a skúste to znova."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Vypnite režim v lietadle a skúste to znova."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Žiadne pripojenie"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nedostanete upozornenia na nové hlasové správy. Ak používate Wi-Fi, synchronizáciou môžete skontrolovať hlasovú schránku."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nedostanete upozornenia na nové hlasové správy. Ak používate Wi‑Fi, hlasovú schránku môžete skontrolovať synchronizáciou."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nedostanete upozornenia na nové hlasové správy. Vypnite režim v lietadle a synchronizujte hlasovú schránku."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Na kontrolu hlasovej schránky potrebuje telefón mobilné dátové pripojenie."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Na kontrolu hlasovej schránky potrebuje telefón mobilné dátové pripojenie."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Vizuálna hlasová schránka sa nedá aktivovať"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Hlasovú schránku si stále môžete skontrolovať zavolaním."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Vizuálna hlasová schránka sa nedá aktualizovať"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Skúste to znova, keď budete mať lepšie pripojenie cez Wi-Fi alebo lepšie mobilné pripojenie. Hlasovú schránku si stále môžete skontrolovať zavolaním."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Skúste to znova, keď budete mať lepšie mobilné dátové pripojenie. Hlasovú schránku si stále môžete skontrolovať zavolaním."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Skúste to znova, keď budete mať lepšie pripojenie cez Wi‑Fi alebo lepšie mobilné dátové pripojenie. Hlasovú schránku si stále môžete skontrolovať zavolaním."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Skúste to znova, keď budete mať lepšie mobilné dátové pripojenie. Hlasovú schránku si stále môžete skontrolovať zavolaním."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Vizuálna hlasová schránka sa nedá aktualizovať"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Hlasovú schránku si stále môžete skontrolovať zavolaním."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Vizuálna hlasová schránka sa nedá aktualizovať"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Vyskytol sa problém"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Obráťte sa na služby zákazníkom na čísle <xliff:g id="NUMBER">%1$s</xliff:g> a oznámte kód chyby 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Zmluvné podmienky vizuálnej hlasovej schránky"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Ak chcete používať vizuálnu hlasovú schránku, je nutné prijať zmluvné podmienky spoločnosti Verizon Wireless:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nAk chcete používať vizuálnu hlasovú schránku, prijmite zmluvné podmienky spoločnosti Verizon Wireless:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Zapnutie vizuálnej hlasovej schránky"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"V prípade odmietnutia zmluvných podmienok bude vizuálna hlasová schránka zakázaná."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Zakázať vizuálnu hlasovú schránku"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"V prípade odmietnutia zmluvných podmienok bude prepis hlasových správ zakázaný."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Zakázať prepis hlasových správ"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Hlasová schránka bude k dispozícii len po zavolaní na číslo *86. Ak chcete pokračovať, nastavte nový PIN hlasovej schránky."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Nastavenie kódu PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-sl/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-sl/strings.xml
index d4f63c1e4..50a7199df 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-sl/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-sl/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktiviranje vizualnih sporočil v odzivniku"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Dokler niso vizualna sporočila v odzivniku v celoti aktivirana, morda ne boste prejemali obvestil o sporočilih v odzivniku. Pokličite odzivnik, da prenesete nova sporočila, dokler niso sporočila v odzivniku v celoti aktivirana."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Vizualnih sporočil v odzivniku ni mogoče aktivirati"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Preverite, ali je v telefonu vzpostavljena mobilna internetna povezava, in poskusite znova."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Preverite, ali je v telefonu vzpostavljena povezava z mobilnim omrežjem, in poskusite znova."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Izklopite način za letalo in poskusite znova."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Ni povezave"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Obvestil o novih sporočilih v odzivniku ne boste prejemali. Če ste v omrežju Wi-Fi, lahko zdaj zaženete sinhronizacijo in preverite, ali ste prejeli sporočila v odzivniku."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Obvestil o novih sporočilih v odzivniku ne boste prejemali. Če ste v omrežju Wi-Fi, lahko zdaj zaženete sinhronizacijo in preverite, ali ste prejeli sporočila v odzivniku."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Obvestil o novih sporočilih v odzivniku ne boste prejemali. Če želite sinhronizirati sporočila v odzivniku, izklopite način za letalo."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Če želite preveriti sporočila v odzivniku, je treba v telefonu vzpostaviti povezavo za prenos podatkov v mobilnih omrežjih."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Če želite preveriti sporočila v odzivniku, je treba v telefonu vzpostaviti povezavo za prenos podatkov v mobilnem omrežju."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Vizualnih sporočil v odzivniku ni mogoče aktivirati"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Sporočila v odzivniku lahko še vedno preverite tako, da pokličete."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Vizualnih sporočil v odzivniku ni mogoče posodobiti"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Poskusite znova, ko bo povezava Wi-FI ali mobilna internetna povezava boljša. Sporočila v odzivniku lahko še vedno preverite tako, da pokličete."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Poskusite znova, ko bo mobilna internetna povezava boljša. Sporočila v odzivniku lahko še vedno preverite tako, da pokličete."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Poskusite znova, ko bo povezava z omrežjem Wi-Fi ali povezava za prenos podatkov v mobilnem omrežju boljša. Sporočila v odzivniku lahko še vedno preverite tako, da pokličete."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Poskusite znova, ko bo povezava za prenos podatkov v mobilnem omrežju boljša. Sporočila v odzivniku lahko še vedno preverite tako, da pokličete."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Vizualnih sporočil v odzivniku ni mogoče posodobiti"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Sporočila v odzivniku lahko še vedno preverite tako, da pokličete."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Vizualnih sporočil v odzivniku ni mogoče posodobiti"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Prišlo je do napake"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Obrnite se na podporo za stranke na številki <xliff:g id="NUMBER">%1$s</xliff:g> in jim sporočite to kodo napake: 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Določila in pogoji za vizualna sporočila v odzivniku"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Če želite uporabljati vizualna sporočila v odzivniku, morate sprejeti določila in pogoje podjetja Verizon Wireless:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nČe želite uporabljati vizualna sporočila v odzivniku, morate sprejeti določila in pogoje podjetja Verizon Wireless:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Vklop vizualnih sporočil v odzivniku"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Če zavrnete določila in pogoje, bodo vizualna sporočila v odzivniku onemogočena."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Onemogočanje vizualnih sporočil v odzivniku"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Če zavrnete določila in pogoje, bo prepis sporočil v odzivniku onemogočen."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Onemogočanje prepisa sporočil v odzivniku"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Sporočila v odzivniku so na voljo samo tako, da pokličete *86. Če želite nadaljevati, nastavite novo kodo PIN za sporočila v odzivniku."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Nastavitev kode PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-sq/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-sq/strings.xml
index d400cd8ef..459760ce6 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-sq/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-sq/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Po aktivizon postën zanore vizuale"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Mund të mos marrësh njoftime të postës zanore derisa posta zanore vizuale të aktivizohet plotësisht. Merr në telefon te posta zanore për të marrë mesazhet e reja derisa posta zanore të aktivizohet plotësisht."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Posta zanore vizuale nuk aktivizohet"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Sigurohu që telefoni tënd të ketë lidhje celulare dhe provo përsëri."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Sigurohu që telefoni yt të ketë një lidhje rrjeti celular dhe provo përsëri."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Çaktivizo modalitetin e aeroplanit dhe provo përsëri."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Nuk ka lidhje"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Nuk do të njoftohesh për postë zanore të re. Nëse je në rrjetin Wi-Fi, mund të kontrollosh për postë zanore duke sinkronizuar tani."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Nuk do të njoftohesh për postat e reja zanore. Nëse je në rrjetin Wi-Fi, mund të kontrollosh për postën zanore duke e sinkronizuar tani."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Nuk do të njoftohesh për postë zanore të re. Çaktivizo modalitetin në aeroplan për të sinkronizuar postën zanore."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Telefoni yt ka nevojë për lidhje me të dhënat celulare për të kontrolluar postën zanore."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Telefoni yt ka nevojë për një lidhje të të dhënave celulare për të kontrolluar postën zanore."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Posta zanore vizuale nuk aktivizohet"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Përsëri mund të telefonosh për të kontrolluar postën zanore."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Posta zanore vizuale nuk u përditësua"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Provo përsëri kur lidhja Wi-Fi ose celulare të jetë më e mirë. Përsëri mund të telefonosh për të kontrolluar postën zanore."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Provo përsëri kur lidhja e të dhënave celulare të jetë më e mirë. Përsëri mund të telefonosh për të kontrolluar postën zanore."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Provo përsëri kur lidhja Wi-Fi ose e të dhënave celulare të jetë më e mirë. Mund të telefonosh përsëri për të kontrolluar postën zanore."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Provo përsëri kur lidhja e të dhënave celulare të jetë më e mirë. Mund të telefonosh përsëri për të kontrolluar postën zanore."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Posta zanore vizuale nuk u përditësua"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Përsëri mund të telefonosh për të kontrolluar postën zanore."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Posta zanore vizuale nuk u përditësua"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Ndodhi një gabim"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontakto me \"Shërbimin e klientit\" në <xliff:g id="NUMBER">%1$s</xliff:g> dhe tregoju kodin e gabimit 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Kushtet e përgjithshme të postës zanore vizuale"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Duhet të pranosh kushtet e përgjithshme të Verizon Wireless për të përdorur postën zanore vizuale:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDuhet të pranosh kushtet e përgjithshme të Verizon Wireless për të përdorur postën zanore vizuale:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Aktivizo postën zanore vizuale"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Posta zanore vizuale duhet të çaktivizohet nëse refuzohen kushtet e përgjithshme."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Çaktivizo postën zanore vizuale"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transkriptimi i postës zanore do të çaktivizohet nëse refuzohen kushtet e përgjithshme."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Çaktivizo transkriptimin e postës zanore"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Do të mund të qasesh te posta zanore vetëm duke telefonuar në *86. Cakto një kod PIN të ri për postën zanore për të vazhduar."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Konfiguro kodin PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-sr/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-sr/strings.xml
index da1853a14..6c6557241 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-sr/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-sr/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Активира се визуелна говорна пошта"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Можда нећете добијати обавештења о говорној пошти док потпуно не активирате визуелну говорну пошту. Позовите говорну пошту да бисте преузели нове поруке док говорна пошта не буде потпуно активирана."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Активирање визуелне говорне поште није успело"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Проверите да ли телефон има мобилну везу и покушајте поново."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Проверите да ли телефон има везу преко мобилне мреже и пробајте поново."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Искључите режим рада у авиону и покушајте поново."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Веза није успостављена"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Нећете добијати обавештења о новим говорним порукама. Ако сте на Wi-Fi мрежи, синхронизујте да бисте проверили говорну пошту."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Нећете добијати обавештења о новим говорним порукама. Ако сте на Wi‑Fi мрежи, можете да синхронизујете да бисте проверили говорну пошту."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Нећете добијати обавештења о новим говорним порукама. Искључите режим рада у авиону да бисте синхронизовали говорну пошту."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Телефону треба мобилна веза за пренос података да бисте проверили говорну пошту."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Телефону је за проверу говорне поште потребна мобилна веза за пренос података."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Активирање визуелне говорне поште није успело"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"И даље можете да позовете говорну пошту да бисте је проверили."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Ажурирање визуелне говорне поште није успело"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Пробајте поново кад будете имали бољу Wi-Fi или мобилну везу. И даље можете да позовете говорну пошту да бисте је проверили."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Пробајте поново кад будете имали бољу мобилну везу за пренос података. И даље можете да позовете говорну пошту да бисте је проверили."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Пробајте поново кад будете имали бољу Wi‑Fi или мобилну везу за пренос података. И даље можете да позовете говорну пошту да бисте је проверили."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Пробајте поново кад будете имали бољу мобилну везу за пренос података. И даље можете да позовете говорну пошту да бисте је проверили."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Ажурирање визуелне говорне поште није успело"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"И даље можете да позовете говорну пошту да бисте је проверили."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Ажурирање визуелне говорне поште није успело"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Нешто није у реду"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Контактирајте корисничку подршку на <xliff:g id="NUMBER">%1$s</xliff:g> и реците им да је кôд грешке 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Услови и одредбе за визуелну говорну пошту"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Морате да прихватите Verizon Wireless услове и одредбе да бисте користили визуелну говорну пошту:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nМорате да прихватите Verizon Wireless услове и одредбе да бисте користили визуелну говорну пошту:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Укључите визуелну говорну пошту"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Ако одбијете услове и одредбе, онемогућићете визуелну говорну пошту."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Онемогућите визуелну говорну пошту"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Транскрипција говорне поште ће бити онемогућена ако се услови и одредбе одбију."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Онемогућите транскрипцију говорне поште"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Говорној пошти ћете моћи да приступите само ако позовете *86. Подесите нови PIN кôд говорне поште да бисте наставили."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Подесите PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-sv/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-sv/strings.xml
index cfab8305a..22dea5edd 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-sv/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-sv/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Aktiverar visuell röstbrevlåda"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Du får kanske inte röstmeddelanden tills visuell röstbrevlåda är helt aktiverad. Ring röstbrevlådan för att hämta nya meddelanden innan den är helt aktiverad."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Det går inte att aktivera visuell röstbrevlåda"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Se till att mobilen har en mobildataanslutning och försök igen."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Se till att mobilen har en mobilnätverksanslutning och försök igen."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Inaktivera flygplansläget och försök igen."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Ingen anslutning"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Du meddelas inte om nya röstmeddelanden. Om du är ansluten till Wi-Fi kan du kontrollera om du har fått nya röstmeddelanden genom att synkronisera."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Du meddelas inte om nya röstmeddelanden. Om du är ansluten till Wi-Fi kan du lyssna på nya röstmeddelanden genom att synkronisera nu."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Du blir inte meddelad om nya röstmeddelanden. Inaktivera flygplansläget om du vill synkronisera röstbrevlådan."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Mobilen måste ha en mobildataanslutning för att du ska kunna lyssna av röstbrevlådan."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Mobilen måste ha en mobildataanslutning för att lyssna av röstbrevlådan."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Det går inte att aktivera visuell röstbrevlåda"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Du kan fortfarande lyssna av röstbrevlådan genom att ringa."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Det går inte att uppdatera den visuella röstbrevlådan"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Försök igen när du har en bättre Wi-Fi- eller mobildataanslutning. Du kan fortfarande lyssna av röstbrevlådan."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Försök igen när du har en bättre mobildataanslutning. Du kan fortfarande lyssna av röstbrevlådan."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Försök igen när du har en bättre Wi-Fi- eller mobildataanslutning. Det går fortfarande att lyssna av röstbrevlådan."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Försök igen när du har en bättre mobildataanslutning. Det går fortfarande att lyssna av röstbrevlådan."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Det går inte att uppdatera den visuella röstbrevlådan"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Du kan fortfarande lyssna av röstbrevlådan genom att ringa."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Det går inte att uppdatera den visuella röstbrevlådan"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Något gick fel"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Kontakta kundtjänst på <xliff:g id="NUMBER">%1$s</xliff:g> och ange felkoden 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Användarvillkor för visuell röstbrevlåda"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Du måste acceptera Verizon Wireless användarvillkor för att använda visuell röstbrevlåda:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nDu måste godkänna Verizon Wireless användarvillkor för att använda visuell röstbrevlåda:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Aktivera visuell röstbrevlåda"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Visuell röstbrevlåda inaktiveras om användarvillkoren avböjs."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Inaktivera visuell röstbrevlåda"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Transkription av röstbrevlådan inaktiveras om användarvillkoren avböjs."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Inaktivera transkription av röstbrevlåda"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Röstbrevlådan är endast tillgänglig genom att ringa *86. Fortsätt genom att ställa in en ny PIN-kod till röstbrevlådan."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Ställ in pinkod"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-sw/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-sw/strings.xml
index 56aad211c..6b8b1f398 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-sw/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-sw/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Inawasha kipengele cha ujumbe wa sauti unaoonekana"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Huenda usipokee arifa za ujumbe wa sauti mpaka kipengele cha ujumbe wa sauti unaoonekana kiwe kimewashwa kabisa. Piga nambari ya ujumbe wa sauti ili upate ujumbe mpya mpaka kipengele hicho kitakapokuwa kimewashwa kabisa."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Imeshindwa kuwasha kipengele cha ujumbe wa sauti unaoonekana"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Hakikisha kwamba simu yako ina muunganisho wa mtandao wa simu kisha ujaribu tena."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Hakikisha kwamba simu yako ina muunganisho wa mtandao wa simu kisha ujaribu tena."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Zima hali ya ndegeni kisha ujaribu tena."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Hakuna muunganisho"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Hutaarifiwa ukipata ujumbe mpya wa sauti. Kama unatumia Wi-Fi sasa hivi, unaweza kuangalia kama una ujumbe wa sauti kwa kusawazisha sasa."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Hutaarifiwa ukipata ujumbe mpya wa sauti. Kama unatumia Wi-Fi sasa hivi, unaweza kuangalia kama una ujumbe wa sauti kwa kusawazisha sasa."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Hutaarifiwa ukipata ujumbe mpya wa sauti. Zima hali ya ndegeni ili usawazishe ujumbe wa sauti."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Simu yako inahitaji muunganisho wa mtandao wa simu kufungua ujumbe wa sauti."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Simu yako inahitaji muunganisho wa mtandao wa simu kufungua ujumbe wa sauti."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Imeshindwa kuwasha kipengele cha ujumbe wa sauti unaoonekana"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Bado unaweza kupiga simu usikilize ujumbe wa sauti."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Imeshindwa kusasisha kipengele cha ujumbe wa sauti unaoonekana"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Jaribu tena baadaye muunganisho wa Wi-Fi au mtandao wa simu ukiimarika. Bado unaweza kupiga simu usikilize ujumbe wa sauti."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Jaribu tena baadaye muunganisho wa data ya simu za mkononi ukiimarika. Bado unaweza kupiga simu usikilize ujumbe wa sauti."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Jaribu tena baadaye muunganisho wa Wi-Fi au mtandao wa simu ukiimarika. Bado unaweza kupiga simu usikilize ujumbe wa sauti."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Jaribu tena baadaye muunganisho wa data ya simu za mkononi ukiimarika. Bado unaweza kupiga simu usikilize ujumbe wa sauti."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Imeshindwa kusasisha kipengele cha ujumbe wa sauti unaoonekana"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Bado unaweza kupiga simu usikilize ujumbe wa sauti."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Imeshindwa kusasisha kipengele cha ujumbe wa sauti unaoonekana"</string>
@@ -102,9 +102,15 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Hitilafu Fulani Imetokea"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Tafadhali wasiliana na Kituo cha Huduma kwa Wateja kupitia <xliff:g id="NUMBER">%1$s</xliff:g> na uwaambie kwamba msimbo wa hitilafu ni 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Sheria na Masharti ya kipengele cha Ujumbe wa Sauti Unaoonekana"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Lazima ukubali sheria na masharti ya Verizon Wireless ili uweze kutumia kipengele cha ujumbe wa sauti unaoonekana:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nNi lazima ukubali sheria na masharti ya Verizon Wireless ili uweze kutumia kipengele cha ujumbe wa sauti:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Washa Kipengele cha Ujumbe wa Sauti Unaoonekana"</string>
+ <!-- String.format failed for translation -->
+ <!-- no translation found for dialer_terms_and_conditions_message (6207219973959897196) -->
+ <skip />
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Kipengele cha ujumbe wa sauti unaoonekana kitazimwa ukikataa sheria na masharti."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Zima kipengele cha ujumbe wa sauti unaoonekana"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Kipengele cha unukuzi wa ujumbe wa sauti kitazimwa ukikataa sheria na masharti."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Zima kipengele cha unukuzi wa ujumbe wa sauti"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Utaweza kupata ujumbe wa sauti kwa kupiga *86 tu. Weka PIN mpya ya ujumbe wa sauti ili uweze kuendelea."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Weka PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ta/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ta/strings.xml
index f2613f082..5a51c9444 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ta/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ta/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"விஷூவல் குரலஞ்சலைச் செயல்படுத்துகிறது"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"விஷுவல் குரலஞ்சலை முழுவதுமாக இயக்கும் வரை, உங்களால் குரலஞ்சல் அறிவிப்புகளைப் பெற முடியாமல் போகலாம். குரலஞ்சலை முழுவதுமாக இயக்கும் வரை புதிய செய்திகளைப் பெற, குரலஞ்சலை அழைக்கவும்."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"விஷூவல் குரலஞ்சலைச் செயல்படுத்த முடியவில்லை"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"உங்கள் மொபைலில் செல்லுலார் இணைப்பு உள்ளதை உறுதிசெய்து, மீண்டும் முயலவும்."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"உங்கள் ஃபோனில் மொபைல் நெட்வொர்க் இணைப்பு உள்ளதை உறுதிசெய்து, மீண்டும் முயலவும்."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"விமானப் பயன்முறையை முடக்கி, மீண்டும் முயலவும்."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"இணைப்பு இல்லை"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"புதிய குரலஞ்சல்கள் குறித்த அறிவிப்புகளைப் பெறமாட்டீர்கள். வைஃபை இணைப்பைப் பயன்படுத்திக்கொண்டிருந்தால், இப்போதே ஒத்திசைத்து குரலஞ்சல் உள்ளதா எனப் பார்க்கலாம்."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"புதிய குரலஞ்சல்கள் குறித்த அறிவிப்புகளைப் பெறமாட்டீர்கள். வைஃபை இணைப்பைப் பயன்படுத்திக்கொண்டிருந்தால், இப்போதே ஒத்திசைத்து குரலஞ்சல் உள்ளதா எனப் பார்க்கலாம்."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"புதிய குரலஞ்சல்கள் குறித்த அறிவிப்புகளைப் பெறமாட்டீர்கள். குரலஞ்சலை ஒத்திசைக்க, விமானப் பயன்முறையை முடக்கவும்."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"குரலஞ்சலைப் பார்க்க, உங்கள் மொபைலில் செல்லுலார் தரவு இணைப்பு இருக்க வேண்டும்."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"குரலஞ்சலைக் கேட்க, உங்கள் ஃபோனில் மொபைல் தரவு இணைப்பு இருக்க வேண்டும்."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"விஷூவல் குரலஞ்சலைச் செயல்படுத்த முடியவில்லை"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"குரலஞ்சலைப் பெற, இப்போதும் நீங்கள் குரலஞ்சல் எண்ணிற்கு அழைக்கலாம்."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"விஷூவல் குரலஞ்சலைப் புதுப்பிக்க முடியவில்லை"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"வைஃபை அல்லது செல்லுலார் இணைப்பின் வேகம் முன்பை விட அதிகமாகும் போது, மீண்டும் முயலவும். குரலஞ்சலைப் பெற, இப்போதும் நீங்கள் குரலஞ்சல் எண்ணிற்கு அழைக்கலாம்."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"செல்லுலார் தரவு இணைப்பின் வேகம் முன்பை விட அதிகமாகும் போது, மீண்டும் முயலவும். குரலஞ்சலைப் பெற, இப்போதும் நீங்கள் குரலஞ்சல் எண்ணிற்கு அழைக்கலாம்."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"வைஃபை அல்லது மொபைல் தரவு இணைப்பின் வேகம் முன்பை விட அதிகமாகும் போது, மீண்டும் முயலவும். குரலஞ்சலைப் பெற, இப்போதும் நீங்கள் குரலஞ்சல் எண்ணிற்கு அழைக்கலாம்."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"மொபைல் தரவு இணைப்பின் வேகம் முன்பை விட அதிகமாகும் போது, மீண்டும் முயலவும். குரலஞ்சலைப் பெற, இப்போதும் நீங்கள் குரலஞ்சல் எண்ணிற்கு அழைக்கலாம்."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"விஷூவல் குரலஞ்சலைப் புதுப்பிக்க முடியவில்லை"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"குரலஞ்சலைப் பெற, இப்போதும் நீங்கள் குரலஞ்சல் எண்ணிற்கு அழைக்கலாம்."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"விஷூவல் குரலஞ்சலைப் புதுப்பிக்க முடியவில்லை"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"ஏதோ தவறாகிவிட்டது"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"<xliff:g id="NUMBER">%1$s</xliff:g> என்ற எண்ணில் வாடிக்கையாளர் சேவையை அழைத்து, அவர்களிடம் பிழையின் குறியீடு 9999 எனக் கூறவும்."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"விஷுவல் குரலஞ்சலின் விதிமுறைகள் மற்றும் நிபந்தனைகள்"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"விஷுவல் குரலஞ்சலைப் பயன்படுத்த Verizon Wireless இன் விதிமுறைகள் மற்றும் நிபந்தனைகளை ஏற்க வேண்டும்:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nவிஷுவல் குரலஞ்சலைப் பயன்படுத்த, Verizon Wireless இன் விதிமுறைகளையும் நிபந்தனைகளையும் ஏற்க வேண்டும்:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"விஷுவல் குரலஞ்சலை இயக்கவும்"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"விதிமுறைகள் மற்றும் நிபந்தனைகள் நிராகரிக்கப்பட்டால், விஷுவல் குரலஞ்சல் முடக்கப்படும்."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"விஷுவல் குரலஞ்சலை முடக்கு"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"விதிமுறைகளையும் நிபந்தனைகளையும் நிராகரித்தீர்கள் எனில், குரலஞ்சல் டிரான்ஸ்கிரிப்ஷன் முடக்கப்படும்."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"குரலஞ்சல் டிரான்ஸ்கிரிப்ஷனை முடக்கு"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"*86ஐ அழைத்தால் மட்டுமே, குரலஞ்சலை அணுக முடியும். தொடர, புதிய குரலஞ்சல் பின்னை அமைக்கவும்."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"பின்னை அமை"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-te/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-te/strings.xml
index a881550e8..f2086c4d3 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-te/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-te/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"దృశ్య వాయిస్ మెయిల్‌ను సక్రియం చేస్తోంది"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"దృశ్య వాయిస్ మెయిల్ పూర్తిగా సక్రియం అయ్యే వరకు మీరు వాయిస్ మెయిల్ నోటిఫికేషన్‌లను స్వీకరించలేకపోవచ్చు. వాయిస్ మెయిల్ పూర్తిగా సక్రియం అయ్యే వరకు కొత్త సందేశాలను తిరిగి పొందడానికి వాయిస్ మెయిల్‌కి కాల్ చేయండి."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"దృశ్య వాయిస్ మెయిల్‌ను సక్రియం చేయడం సాధ్యపడదు"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"మీ ఫోన్‌కు సెల్యులార్ కనెక్షన్ ఉన్నట్లు నిర్ధారించుకొని, ఆపై మళ్లీ ప్రయత్నించండి."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"మీ ఫోన్‌కు మొబైల్ నెట్‌వర్క్ కనెక్షన్ ఉన్నట్లు నిర్ధారించుకొని, ఆపై మళ్లీ ప్రయత్నించండి."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"ఎయిర్‌ప్లైన్ మోడ్‌ను ఆఫ్ చేసి, ఆపై మళ్లీ ప్రయత్నించండి."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"కనెక్షన్ లేదు"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"మీకు కొత్త వాయిస్ మెయిల్‌ల గురించి తెలియజేయబడదు. మీరు Wi-Fiలో ఉంటే, ఇప్పుడే సమకాలీకరించడం ద్వారా వాయిస్ మెయిల్‌‍ను తనిఖీ చేయవచ్చు."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"మీకు కొత్త వాయిస్ మెయిల్‌ల గురించి తెలియజేయబడదు. మీరు Wi-Fiలో ఉంటే, ఇప్పుడే సమకాలీకరించడం ద్వారా వాయిస్ మెయిల్‌‍ను తనిఖీ చేయవచ్చు."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"మీకు కొత్త వాయిస్ మెయిల్‌ల గురించి తెలియజేయబడదు. మీ వాయిస్ మెయిల్‌‍ను సమకాలీకరించడానికి ఎయిర్‌ప్లైన్ మోడ్‌ను ఆఫ్ చేయండి."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"వాయిస్ మెయిల్‌ను తనిఖీ చేయడానికి మీ ఫోన్‌కు సెల్యులార్ డేటా కనెక్షన్ అవసరం."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"వాయిస్ మెయిల్‌ను తనిఖీ చేయడానికి మీ ఫోన్‌కు మొబైల్ డేటా కనెక్షన్ అవసరం."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"దృశ్య వాయిస్ మెయిల్‌ను సక్రియం చేయడం సాధ్యపడదు"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"మీరు ఇప్పటికీ వాయిస్ మెయిల్‌ను తనిఖీ చేయడానికి కాల్ చేయవచ్చు."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"దృశ్య వాయిస్ మెయిల్‌ను నవీకరించడం సాధ్యపడదు"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"మీ Wi-Fi లేదా సెల్యులార్ కనెక్షన్ మెరుగైనప్పుడు మళ్లీ ప్రయత్నించండి. మీరు వాయిస్ మెయిల్‌ను తనిఖీ చేయడానికి ఇప్పటికీ కాల్ చేయవచ్చు."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"మీ సెల్యులార్ డేటా కనెక్షన్ మెరుగైనప్పుడు మళ్లీ ప్రయత్నించండి. మీరు ఇప్పటికీ వాయిస్ మెయిల్‌ను తనిఖీ చేయడానికి కాల్ చేయవచ్చు."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"మీ Wi-Fi లేదా మొబైల్ డేటా కనెక్షన్ మెరుగైనప్పుడు మళ్లీ ప్రయత్నించండి. మీరు వాయిస్ మెయిల్‌ను తనిఖీ చేయడానికి ఇప్పటికీ కాల్ చేయవచ్చు."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"మీ మొబైల్ డేటా కనెక్షన్ మెరుగైనప్పుడు మళ్లీ ప్రయత్నించండి. మీరు ఇప్పటికీ వాయిస్ మెయిల్‌ను తనిఖీ చేయడానికి కాల్ చేయవచ్చు."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"దృశ్య వాయిస్ మెయిల్‌ను నవీకరించడం సాధ్యపడదు"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"మీరు ఇప్పటికీ వాయిస్ మెయిల్‌ను తనిఖీ చేయడానికి కాల్ చేయవచ్చు."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"దృశ్య వాయిస్ మెయిల్‌ను నవీకరించడం సాధ్యపడదు"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"ఏదో తప్పు జరిగింది"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"దయచేసి <xliff:g id="NUMBER">%1$s</xliff:g> నంబర్‌లో వినియోగదారు సేవా కేంద్రానికి కాల్ చేసి, వారికి లోపం కోడ్ 9999గా తెలపండి."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"దృశ్య వాయిస్ మెయిల్ నిబంధనలు మరియు షరతులు"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"మీరు దృశ్య వాయిస్ మెయిల్‌ను ఉపయోగించడానికి తప్పనిసరిగా Verizon వైర్‌లెస్ నిబంధనలు మరియు షరతులను ఆమోదించాలి:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nమీరు దృశ్య వాయిస్ మెయిల్‌ను ఉపయోగించాలంటే Verizon Wireless నిబంధనలు మరియు షరతులను తప్పనిసరిగా ఆమోదించాలి:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"దృశ్య వాయిస్ మెయిల్‌ను ఆన్ చేయండి"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"నిబంధనలు మరియు షరతులను తిరస్కరిస్తే దృశ్య వాయిస్ మెయిల్ నిలిపివేయబడుతుంది."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"దృశ్య వాయిస్ మెయిల్‌ను నిలిపివేయండి"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"నిబంధనలు మరియు షరతులను నిరాకరిస్తే వాయిస్ మెయిల్ లిప్యంతరీకరణ నిలిపివేయబడుతుంది."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"వాయిస్ మెయిల్ లిప్యంతరీకరణను నిలిపివేయండి"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"వాయిస్ మెయిల్‌ను కేవలం *86కి కాల్ చేయడం ద్వారా మాత్రమే ప్రాప్యత చేయగలరు. కొనసాగించడానికి కొత్త వాయిస్ మెయిల్ PINని సెట్ చేయండి."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PINని సెట్ చేయండి"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-th/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-th/strings.xml
index 31302cc65..fffae99c3 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-th/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-th/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"กำลังเปิดใช้ข้อความเสียงพร้อมภาพ"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"คุณอาจไม่ได้รับการแจ้งเตือนข้อความเสียงจนกว่าจะเปิดใช้ข้อความเสียงพร้อมภาพแบบเต็มรูปแบบ โทรฟังข้อความเสียงเพื่อเรียกข้อความใหม่จนกว่าจะเปิดใช้ข้อความเสียงพร้อมภาพแบบเต็มรูปแบบ"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"เปิดใช้ข้อความเสียงพร้อมภาพไม่ได้"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"โปรดตรวจสอบว่าโทรศัพท์เชื่อมต่อเครือข่ายมือถืออยู่ แล้วลองใหม่"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"โปรดตรวจสอบว่าโทรศัพท์เชื่อมต่อเครือข่ายมือถืออยู่ แล้วลองใหม่"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"ปิดโหมดบนเครื่องบินและลองใหม่"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"ไม่มีการเชื่อมต่อ"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"คุณจะไม่ได้รับข้อความเสียงใหม่ ถ้าเปิด Wi-Fi อยู่ คุณจะตรวจสอบข้อความเสียงได้โดยซิงค์เลย"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"คุณจะไม่ได้รับข้อความเสียงใหม่ ถ้าคุณใช้เครือข่าย Wi-Fi อยู่ สามารถตรวจสอบข้อความเสียงได้โดยซิงค์เดี๋ยวนี้"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"คุณจะไม่ได้รับข้อความเสียงใหม่ ปิดโหมดบนเครื่องบินเพื่อซิงค์ข้อความเสียง"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"โทรศัพท์ต้องเชื่อมต่ออินเทอร์เน็ตมือถือ จึงจะตรวจสอบข้อความเสียงได้"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"โทรศัพท์ต้องเชื่อมต่ออินเทอร์เน็ตมือถือจึงจะตรวจสอบข้อความเสียงได้"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"เปิดใช้ข้อความเสียงพร้อมภาพไม่ได้"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"คุณยังโทรเพื่อตรวจสอบข้อความเสียงได้"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"ไม่สามารถอัปเดตข้อความเสียงพร้อมภาพได้"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"ลองใหม่เมื่อ Wi-Fi หรือสัญญาณเชื่อมต่อเครือข่ายมือถือดีขึ้น คุณยังโทรเพื่อตรวจสอบข้อความเสียงได้"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"ลองใหม่เมื่อสัญญาณเชื่อมต่อเครือข่ายมือถือดีขึ้น คุณยังโทรเพื่อตรวจสอบข้อความเสียงได้"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"ลองใหม่เมื่อ Wi-Fi หรือการเชื่อมต่ออินเทอร์เน็ตมือถือถือดีขึ้น คุณยังโทรเพื่อตรวจสอบข้อความเสียงได้"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"ลองใหม่เมื่อการเชื่อมต่ออินเทอร์เน็ตมือถือดีขึ้น คุณยังโทรเพื่อตรวจสอบข้อความเสียงได้"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"ไม่สามารถอัปเดตข้อความเสียงพร้อมภาพได้"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"คุณยังโทรเพื่อตรวจสอบข้อความเสียงได้"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"ไม่สามารถอัปเดตข้อความเสียงพร้อมภาพได้"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"เกิดข้อผิดพลาด"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"โปรดติดต่อฝ่ายสนับสนุนลูกค้าที่หมายเลข <xliff:g id="NUMBER">%1$s</xliff:g> และแจ้งรหัสข้อผิดพลาด 9999"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"ข้อกำหนดในการให้บริการข้อความเสียงพร้อมภาพ"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"คุณต้องยอมรับข้อกำหนดในการให้บริการของ Verizon Wireless จึงจะใช้ข้อความเสียงพร้อมภาพได้:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nคุณต้องยอมรับข้อกำหนดในการให้บริการของ Verizon Wireless เพื่อใช้ข้อความเสียงพร้อมภาพ:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"เปิดใช้ข้อความเสียงพร้อมภาพ"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"หากคุณไม่ยอมรับข้อกำหนดในการใช้บริการ ข้อความเสียงพร้อมภาพจะถูกปิดใช้งาน"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"ปิดใช้ข้อความเสียงพร้อมภาพ"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"หากคุณไม่ยอมรับข้อกำหนดในการใช้บริการ การถอดข้อความเสียงจะปิดใช้งาน"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"ปิดใช้การถอดข้อความเสียง"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"คุณสามารถรับฟังข้อความเสียงด้วยการโทรไป *86 เท่านั้น และตั้งค่า PIN ข้อความเสียงใหม่เพื่อดำเนินการต่อ"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"ตั้งค่า PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-tl/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-tl/strings.xml
index b99d0c377..b7b0cafb3 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-tl/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-tl/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Ina-activate ang visual na voicemail"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Maaaring hindi ka makatanggap ng mga notification sa voicemail hanggang sa ganap na ma-activate ang visual na voicemail. Tawagan ang voicemail upang makuha ang mga bagong mensahe hanggang sa ganap na ma-activate ang voicemail."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Hindi ma-activate ang visual na voicemail"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Tiyaking mayroong cellular na koneksyon ang iyong telepono at subukang muli."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Tiyaking mayroong koneksyon sa mobile network ang iyong telepono at subukang muli."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"I-off ang airplane mode at subukang muli."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Walang koneksyon"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Hindi ka aabisuhan para sa mga bagong voicemail. Kung nasa Wi-Fi ka, maaari mong tingnan ang voicemail sa pamamagitan ng pag-sync ngayon."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Hindi ka aabisuhan para sa mga bagong voicemail. Kung nasa Wi-Fi ka, maaari mong tingnan ang voicemail sa pamamagitan ng pag-sync ngayon."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Hindi ka aabisuhan para sa mga bagong voicemail. I-off ang airplane mode para i-sync ang iyong voicemail."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Kailangan ng cellular data na koneksyon ng iyong telepono upang tingnan ang voicemail."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Kailangan ng koneksyon ng mobile data ng iyong telepono upang tingnan ang voicemail."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Hindi ma-activate ang visual na voicemail"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Maaari ka pa ring tumawag upang tingnan ang voicemail."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Hindi ma-update ang visual na voicemail"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Subukang muli kapag mas maganda na ang iyong Wi-Fi o cellular na koneksyon. Maaari ka pa ring tumawag upang tingnan ang voicemail."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Subukang muli kapag mas maganda na ang iyong cellular data na koneksyon. Maaari ka pa ring tumawag upang tingnan ang voicemail."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Subukang muli kapag mas maganda na ang iyong Wi-Fi o koneksyon ng mobile data."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Subukang muli kapag mas maganda na ang iyong koneksyon ng mobile data. Maaari ka pa ring tumawag upang tingnan ang voicemail."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Hindi ma-update ang visual na voicemail"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Maaari ka pa ring tumawag upang tingnan ang voicemail."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Hindi ma-update ang visual na voicemail"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Nagkaroon ng Problema"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Pakikontak ang Customer Service sa <xliff:g id="NUMBER">%1$s</xliff:g> at sabihin sa kanila na ang code ng error ay 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Mga Tuntunin at Kundisyon ng Visual na Voicemail"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Kailangan mong tanggapin ang mga tuntunin at kundisyon ng Verizon Wireless upang gamitin ang visual na voicemail:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nKailangan mong tanggapin ang mga tuntunin at kundisyon ng Verizon Wireless upang gamitin ang visual na voicemail:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"I-on ang Visual na Voicemail"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Idi-disable ang visual na voicemail kung tatanggihan ang mga tuntunin at kundisyon."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"I-disable ang visual na voicemail"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Idi-disable ang transkripsyon ng voicemail kung tatanggihan ang mga tuntunin at kundisyon."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"I-disable ang transkripsyon ng voicemail"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Maa-access lang ang voicemail sa pamamagitan ng pagtawag sa *86. Magtakda ng bagong PIN sa voicemail upang magpatuloy."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Magtakda ng PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-tr/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-tr/strings.xml
index be5cbb027..3d0e37968 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-tr/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-tr/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Görsel sesli mesaj etkinleştiriliyor"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Görsel sesli mesaj tam olarak etkinleştirilene dek sesli mesaj bildirimlerini almayabilirsiniz. Sesli mesaj tam olarak etkinleştirilene kadar, yeni mesajları almak için sesli mesaj hizmetini arayın."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Görsel sesli mesaj etkinleştirilemiyor"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Telefonunuzda hücresel bağlantı bulunduğundan emin olun ve tekrar deneyin."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Telefonunuzda mobil ağ bağlantısı olduğundan emin olup tekrar deneyin."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Uçak modunu kapatıp tekrar deneyin."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Bağlantı yok"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Yeni sesli mesajlarla ilgili olarak bilgilendirilmeyeceksiniz. Kablosuz bağlantınız varsa şimdi senkronizasyon gerçekleştirerek sesli mesajlarınızı kontrol edebilirsiniz."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Yeni sesli mesajlarla ilgili olarak bilgilendirilmeyeceksiniz. Kablosuz bağlantınız varsa şimdi senkronizasyon gerçekleştirerek sesli mesajlarınızı kontrol edebilirsiniz."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Yeni sesli mesajlarla ilgili olarak bilgilendirilmeyeceksiniz. Sesli mesajlarınızı senkronize etmek için uçak modunu kapatın."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Sesli mesaj kontrolü için telefonunuzda hücresel veri bağlantısı bulunmalıdır."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Sesli mesaj kontrolü için telefonunuzda mobil veri bağlantısı olmalıdır."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Görsel sesli mesaj etkinleştirilemiyor"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Hâlâ arayarak sesli mesajlarınızı kontrol edebilirsiniz."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Görsel sesli mesaj güncellenemiyor"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Kablosuz veya hücresel bağlantı kalitesi daha iyi olduğunda tekrar deneyin. Hâlâ arayarak sesli mesajlarınızı kontrol edebilirsiniz."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Hücresel veri bağlantısı kalitesi daha iyi olduğunda tekrar deneyin. Hâlâ arayarak sesli mesajlarınızı kontrol edebilirsiniz."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Kablosuz veya mobil veri bağlantısı kalitesi daha iyi olduğunda tekrar deneyin. Hâlâ arayarak sesli mesajlarınızı kontrol edebilirsiniz."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Mobil veri bağlantısı kalitesi daha iyi olduğunda tekrar deneyin. Hâlâ arayarak sesli mesajlarınızı kontrol edebilirsiniz."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Görsel sesli mesaj güncellenemiyor"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Hâlâ arayarak sesli mesajlarınızı kontrol edebilirsiniz."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Görsel sesli mesaj güncellenemiyor"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Bir Sorun Oluştu"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Lütfen <xliff:g id="NUMBER">%1$s</xliff:g> numaralı telefondan Müşteri Hizmetleri ile iletişime geçerek hata kodunun 9999 olduğunu bildirin."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Görsel Sesli Mesaj Şartlar ve Koşulları"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Görsel sesli mesajı kullanmak için Verizon Wireless\'ın şartlar ve koşullarını kabul etmelisiniz:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nGörsel sesli mesajı kullanabilmek için Verizon Wireless\'ın şartlar ve koşullarını kabul etmelisiniz:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Görsel Sesli Mesaj\'ı etkinleştirme"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Şartlar ve koşullar reddedilirse görsel sesli mesaj devre dışı bırakılır."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Görsel sesli mesajı devre dışı bırak"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Şartlar ve koşullar reddedilirse sesli mesaj çeviri yazısı devre dışı bırakılır."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Sesli mesaj çeviri yazısını devre dışı bırakın"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Sesli mesajlara yalnızca *86 aranarak erişilebilir. Devam etmek için yeni bir sesli mesaj PIN\'i belirleyin."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN belirleyin"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-uk/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-uk/strings.xml
index 6adf49ab9..08cfb239a 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-uk/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-uk/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Активація візуальної голосової пошти"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Якщо візуальну голосову пошту активовано неповністю, сповіщення голосової пошти можуть не надходити. У такому разі слід телефонувати на голосову пошту, щоб прослуховувати нові повідомлення."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Не вдалось активувати візуальну голосову пошту"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Переконайтеся, що в телефоні ввімкнено мобільний зв’язок, і спробуйте ще раз."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Переконайтеся, що в телефоні ввімкнено мобільний Інтернет, і спробуйте ще раз."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Вимкніть режим польоту та спробуйте ще раз."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Немає з’єднання"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Ви не отримуватимете сповіщення про нові повідомлення голосової пошти. Якщо активовано Wi-Fi, можете просто ввімкнути синхронізацію, і нові повідомлення завантажаться."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Ви не отримуватимете сповіщення про нові повідомлення голосової пошти. Якщо активовано Wi-Fi, можете просто ввімкнути синхронізацію, і нові повідомлення завантажаться."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Ви не отримуватимете сповіщення про нові повідомлення голосової пошти. Щоб синхронізувати голосову пошту, вимкніть режим польоту."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Щоб перевірити голосову пошту, потрібен мобільний трафік."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Щоб перевірити голосову пошту, потрібно ввімкнути мобільний Інтернет."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Не вдалось активувати візуальну голосову пошту"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Щоб перевірити голосову пошту, ви також можете зателефонувати."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Не вдалось оновити візуальну голосову пошту"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Спробуйте ще раз, коли буде кращий мобільний або Wi-Fi-зв’язок. Щоб перевірити голосову пошту, ви також можете зателефонувати."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Спробуйте ще раз, коли буде кращий мобільний зв’язок. Щоб перевірити голосову пошту, ви також можете зателефонувати."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Спробуйте ще раз, коли буде вища швидкість мобільного Інтернету або кращий сигнал Wi-Fi. Щоб перевірити голосову пошту, ви також можете зателефонувати."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Спробуйте ще раз, коли буде вища швидкість мобільного Інтернету. Щоб перевірити голосову пошту, ви також можете зателефонувати."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Не вдалось оновити візуальну голосову пошту"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Щоб перевірити голосову пошту, ви також можете зателефонувати."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Не вдалось оновити візуальну голосову пошту"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Сталася помилка"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Зв’яжіться зі службою обслуговування клієнтів за номером <xliff:g id="NUMBER">%1$s</xliff:g> і повідомте такий код помилки: 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Умови використання візуальної голосової пошти"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Щоб використовувати візуальну голосову пошту, потрібно прийняти Умови використання Verizon Wireless:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nЩоб використовувати візуальну голосову пошту, потрібно прийняти правила та умови Verizon Wireless:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Увімкнути візуальну голосову пошту"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Якщо відхилити умови використання, візуальну голосову пошту буде вимкнено."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Вимкнути візуальну голосову пошту"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Якщо відхилити правила та умови, транскрипцію голосової пошти буде вимкнено."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Вимкнути транскрипцію голосової пошти"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Прослухати голосову пошту можна буде, лише набравши *86. Установіть новий PIN-код для голосової пошти, щоб продовжити."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Установити PIN-код"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-ur/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-ur/strings.xml
index e6fd9f7a0..55f1e0b8b 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-ur/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-ur/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"بصری صوتی میل کو فعال کیا جا رہا ہے"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"بصری صوتی میل کے مکمل طور پر فعال ہونے تک ہو سکتا ہے آپ کو صوتی میل کی اطلاعات موصول نہ ہو۔ صوتی میل کے مکمل طور پر فعال ہونے تک نئے پیغامات کی بازیافت کیلئے صوتی میل پر کال کریں۔"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"بصری صوتی میل کو فعال نہیں کیا جا سکتا"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"یقینی بنائیں کہ آپ کے فون میں ایک سیلولر کنکشن موجود ہے اور دوبارہ کوشش کریں۔"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"یقینی بنائیں کہ آپ کے فون میں ایک موبائل کنکشن موجود ہے اور دوبارہ کوشش کریں۔"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"ہوائی جہاز وضع آف کریں اور دوبارہ کوشش کریں۔"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"کوئی کنکشن نہیں ہے"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"‏آپ کو نئی صوتی میلز سے مطلع نہیں کیا جائے گا۔ اگر آپ Wi-Fi پر ہیں تو آپ ابھی مطابقت پذیری کرکے صوتی میل کیلئے چیک کر سکتے ہیں۔"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"‏آپ کو نئی صوتی میلز سے مطلع نہیں کیا جائے گا۔ اگر آپ Wi-Fi پر ہیں تو آپ ابھی مطابقت پذیری کرکے صوتی میل کیلئے چیک کر سکتے ہیں۔"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"آپ کو نئی صوتی میلز سے مطلع نہیں کیا جائے گا۔ اپنی صوتی میل کو مطابقت پذیر بنانے کیلئے ہوائی جہاز وضع آف کریں۔"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"صوتی میل چیک کرنے کیلئے آپ کے فون کو سیلولر ڈیٹا کنکشن کی ضرورت ہے۔"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"صوتی میل چیک کرنے کیلئے آپ کے فون کو موبائل ڈیٹا کنکشن کی ضرورت ہے۔"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"بصری صوتی میل کو فعال نہیں کیا جا سکتا"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"صوتی میل چیک کرنے کیلئے آپ ابھی بھی کال کر سکتے ہیں۔"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"بصری صوتی میل اپ ڈیٹ نہیں ہو سکتی"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"‏جب آپ کا Wi-Fi یا سیلولر کنکشن بہتر تو دوبارہ کوشش کریں۔ صوتی میل چیک کرنے کیلئے آپ ابھی بھی کال کر سکتے ہیں۔"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"جب آپ کا سیلولر ڈیٹا کنکشن بہتر تو دوبارہ کوشش کریں۔ صوتی میل چیک کرنے کیلئے آپ ابھی بھی کال کر سکتے ہیں۔"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"‏جب آپ کا Wi-Fi یا موبائل کنکشن بہتر تو دوبارہ کوشش کریں۔ صوتی میل چیک کرنے کیلئے آپ ابھی بھی کال کر سکتے ہیں۔"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"جب آپ کا موبائل ڈیٹا کنکشن بہتر تو دوبارہ کوشش کریں۔ صوتی میل چیک کرنے کیلئے آپ ابھی بھی کال کر سکتے ہیں۔"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"بصری صوتی میل اپ ڈیٹ نہیں ہو سکتی"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"صوتی میل چیک کرنے کیلئے آپ ابھی بھی کال کر سکتے ہیں۔"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"بصری صوتی میل اپ ڈیٹ نہیں ہو سکتی"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"کچھ غلط ہوگیا"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"براہ کرم <xliff:g id="NUMBER">%1$s</xliff:g> پر کسٹمر سروس سے رابطہ کریں اور انہیں بتائیں کہ خرابی کا کوڈ 9999 ہے۔"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"بصری صوتی میل کی شرائط و ضوابط"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"‏بصری صوتی میل استعمال کرنے کیلئے آپ کو Verizon وائرلیس کی شرائط و ضوابط قبول کرنا ہونگی:\n\n‎%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"‏%1$s\n\nصوتی میل استعمال کرنے کیلئے آپ کو Verizon وائرلیس کی شرائط و ضوابط قبول کرنی چاہئیں::\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"بصری صوتی میل آن کریں"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"‎%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"شرائط و ضوابط مسترد کئے جانے کی صورت میں بصری صوتی میل غیر فعال کر دی جائے گی۔"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"بصری صوتی میل کو غیر فعال کریں"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"شرائط و ضوابط مسترد کئے جانے کی صورت میں صوتی میل ٹرانسکرپشن غیر فعال کر دی جائے گی۔"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"صوتی میل ٹرانسکرپشن غیر فعال کریں"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"‏صوتی میل تک رسائی صرف ‎*86 کو کال کرنے سے ہوگی۔ آگے بڑھنے کیلئے صوتی میل کی نئی PIN سیٹ کریں۔"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"‏PIN سیٹ کریں"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-uz/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-uz/strings.xml
index 5583e2778..f31207414 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-uz/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-uz/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Vizual ovozli pochta faollashtirilmoqda"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Vizual ovozli pochta xizmati faollashtirilmasa, yangi ovozli xabarlar haqida bildirishnoma kelmaydi. Ungacha ovozli pochtaga qo‘ng‘iroq qilib, yangi xabarlarni tinglashingiz mumkin."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Vizual ovozli pochtani faollashtirib bo‘lmadi"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Telefoningizda uyali aloqa faol ekanligini tekshiring va qayta urinib ko‘ring."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Telefoningizda mobil internet yoqilganligini tekshiring va qayta urinib ko‘ring."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Parvoz rejimini o‘chiring va qayta urinib ko‘ring."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Aloqa yo‘q"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Sizga yangi ovozli pochta xabarlari haqida bildirishnoma kelmaydi. Agar Wi-Fi tarmog‘idan foydalanayotgan bo‘lsangiz, xabarlarni olish uchun shunchaki sinxronlash xususiyatini yoqing."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Sizga yangi ovozli xabarlar haqida bildirishnoma kelmaydi. Wi-Fi tarmog‘iga ulangan qurilmangizda sinxronizatsiya yoqilsa, xabarlar yuklanadi."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Sizga yangi ovozli pochta xabarlari haqida bildirishnoma kelmaydi. Ovozli pochtani sinxronlash uchun parvoz rejimini o‘chiring."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Ovozli pochtani tekshirish uchun mobil internet yoqilgan bo‘lishi lozim."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Ovozli pochtani tekshirish uchun mobil internet yoqilgan bo‘lishi lozim."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Vizual ovozli pochtani faollashtirib bo‘lmadi"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Ovozli pochtani qo‘ng‘iroq qilib ham tekshirishingiz mumkin."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Vizual ovozli pochtani yangilab bo‘lmadi"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Wi-Fi tarmog‘iga ulanish imkoni paydo bo‘lganda yoki mobil internet sifati yaxshilanganda qayta urinib ko‘ring. Ovozli pochtani qo‘ng‘iroq qilib ham tekshirishingiz mumkin."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Mobil internet sifati yaxshilanganda qayta urinib ko‘ring. Ovozli pochtani qo‘ng‘iroq qilib ham tekshirishingiz mumkin."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Tezkor Wi-Fi yoki mobil internetdan foydalanish imkoniyati paydo bo‘lganida, qayta urinib ko‘ring. Ovozli pochtani uyali qo‘ng‘iroq orqali ham tekshirish mumkin."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Tezkor mobil internetdan foydalanish imkoniyati paydo bo‘lganida, qayta urinib ko‘ring. Ovozli pochtani uyali qo‘ng‘iroq orqali ham tekshirish mumkin."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Vizual ovozli pochtani yangilab bo‘lmadi"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Ovozli pochtani qo‘ng‘iroq qilib ham tekshirishingiz mumkin."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Vizual ovozli pochtani yangilab bo‘lmadi"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Noma’lum xatolik yuz berdi"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"<xliff:g id="NUMBER">%1$s</xliff:g> raqami orqali mijozlarni qo‘llab-quvvatlash markazi bilan bog‘laning va ularga xatolik kodi haqida xabar bering (kod: 9999)."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Vizual ovozli pochtadan foydalanish shartlari"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Vizual ovozli pochtadan foydalanish uchun Verizon Wireless xizmatidan foydalanish shartlarini qabul qilish lozim: \n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nVizual ovozli pochtadan foydalanish uchun Verizon Wireless xizmatidan foydalanish shartlarini qabul qilish lozim:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Vizual ovozli pochtani yoqish"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Agar foydalanish shartlari qabul qilinmasa, vizual ovozli pochta o‘chirib qo‘yiladi."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Vizual ovozli pochta o‘chirib qo‘yilsin"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Agar Foydalanish shartlari qabul qilinmasa, ovozli xabarlarni transkripsiyalash xizmati o‘chirib qo‘yiladi."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Ovozli xabarlarni transkripsiyalash xususiyatini o‘chirib qo‘yish"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Ovozli pochta xabarlarini *86 raqamiga qo‘ng‘iroq qilib tinglash mumkin. Davom ettirish uchun ovozli pochtaga yangi PIN kod o‘rnating."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"PIN kod o‘rnatish"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-vi/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-vi/strings.xml
index 029396e31..895cf4870 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-vi/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-vi/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Đang kích hoạt thư thoại kèm theo hình ảnh"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Bạn có thể không nhận được thông báo thư thoại cho đến khi thư thoại kèm theo hình ảnh được kích hoạt hoàn toàn. Gọi thư thoại để truy xuất tin nhắn mới cho đến khi thư thoại được kích hoạt hoàn toàn."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Không kích hoạt được thư thoại kèm theo hình ảnh"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Đảm bảo điện thoại của bạn có kết nối di động và thử lại."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Đảm bảo điện thoại của bạn có kết nối mạng di động và thử lại."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Hãy tắt chế độ trên máy bay và thử lại."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Không có kết nối"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Bạn sẽ không được thông báo về thư thoại mới. Nếu đang dùng Wi-Fi, bạn có thể kiểm tra thư thoại bằng cách đồng bộ hóa ngay bây giờ."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Bạn sẽ không được thông báo về thư thoại mới. Nếu đang dùng Wi-Fi, bạn có thể kiểm tra thư thoại bằng cách đồng bộ hóa ngay bây giờ."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Bạn sẽ không được thông báo về thư thoại mới. Hãy tắt chế độ trên máy bay để đồng bộ hóa thư thoại của bạn."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Điện thoại của bạn cần kết nối dữ liệu di động để kiểm tra thư thoại."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Điện thoại của bạn cần kết nối dữ liệu di động để kiểm tra thư thoại."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Không kích hoạt được thư thoại kèm theo hình ảnh"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Bạn vẫn có thể gọi để kiểm tra thư thoại."</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Không cập nhật được thư thoại kèm theo hình ảnh"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Hãy thử lại khi Wi-Fi hoặc kết nối di động của bạn tốt hơn. Bạn vẫn có thể gọi để kiểm tra thư thoại."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Hãy thử lại khi kết nối dữ liệu di động của bạn tốt hơn. Bạn vẫn có thể gọi để kiểm tra thư thoại."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Hãy thử lại khi Wi-Fi hoặc kết nối dữ liệu di động của bạn tốt hơn. Bạn vẫn có thể gọi để kiểm tra thư thoại."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Hãy thử lại khi kết nối dữ liệu di động của bạn tốt hơn. Bạn vẫn có thể gọi để kiểm tra thư thoại."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Không cập nhật được thư thoại kèm theo hình ảnh"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Bạn vẫn có thể gọi để kiểm tra thư thoại."</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Không cập nhật được thư thoại kèm theo hình ảnh"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Đã xảy ra lỗi"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Vui lòng liên hệ với bộ phận Dịch vụ khách hàng theo số <xliff:g id="NUMBER">%1$s</xliff:g> và cho họ biết mã lỗi là 9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Điều khoản và điều kiện của thư thoại kèm theo hình ảnh"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Bạn phải chấp nhận điều khoản và điều kiện của Verizon Wireless để sử dụng thư thoại kèm theo hình ảnh:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nBạn phải chấp nhận điều khoản và điều kiện của Verizon Wireless để sử dụng thư thoại kèm theo hình ảnh:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Bật Thư thoại kèm theo hình ảnh"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"Thư thoại kèm theo hình ảnh sẽ bị tắt nếu điều khoản và điều kiện bị từ chối."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Tắt thư thoại kèm theo hình ảnh"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Ghi âm thư thoại sẽ bị vô hiệu hóa nếu bạn từ chối điều khoản và điều kiện."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Vô hiệu hóa ghi âm thư thoại"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Bạn chỉ có thể truy cập thư thoại bằng cách gọi *86. Hãy đặt mã PIN thư thoại mới để tiếp tục."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Đặt mã PIN"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-zh-rCN/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-zh-rCN/strings.xml
index faa36dead..deb018518 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-zh-rCN/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"正在激活可视语音信箱"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"在可视语音信箱未完全激活前,您可能不会收到新语音邮件通知。在完全激活前,请呼叫语音信箱以获取新邮件。"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"无法激活可视语音信箱"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"请确保您的手机已连接到移动网络,然后重试。"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"请确保您的手机已连接到移动网络,然后重试。"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"请关闭飞行模式,然后重试。"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"无网络连接"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"您将不会收到关于新语音邮件的通知。如果您已连接到 WLAN 网络,则可以立即同步以便查看语音邮件。"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"您将不会收到关于新语音邮件的通知。如果您已连接到 WLAN 网络,则可以立即同步以便查看语音邮件。"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"您将不会收到关于新语音邮件的通知。请关闭飞行模式以便同步语音信箱。"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"要查看语音邮件,您的手机需要连接到移动数据网络。"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"要查看语音邮件,您的手机需要连接到移动数据网络。"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"无法激活可视语音信箱"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"您仍然可以通过拨打电话来查看语音邮件。"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"无法更新可视语音信箱"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"请在 WLAN 或移动网络连接信号较强时重试。您仍然可以通过拨打电话来查看语音邮件。"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"请在移动数据网络连接信号较强时重试。您仍然可以通过拨打电话来查看语音邮件。"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"请在 WLAN 或移动网络连接信号较强时重试。您仍然可以通过拨打电话来查看语音邮件。"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"请在移动数据网络连接信号较强时重试。您仍然可以通过拨打电话来查看语音邮件。"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"无法更新可视语音信箱"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"您仍然可以通过拨打电话来查看语音邮件。"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"无法更新可视语音信箱"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"出了点问题"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"请拨打 <xliff:g id="NUMBER">%1$s</xliff:g> 联系客户服务人员,并告诉他们错误代码是 9999。"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"可视语音信箱条款及条件"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"您必须接受 Verizon Wireless 的条款及条件,才能使用可视语音信箱:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\n您必须接受 Verizon Wireless 的条款及条件才能使用可视语音信箱:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"启用可视语音信箱"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"如果您拒绝接受条款及条件,可视语音信箱将被停用。"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"停用可视语音信箱"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"如果您拒绝接受条款及条件,语音邮件转录功能将被停用。"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"停用语音邮件转录功能"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"您只能通过拨打 *86 来访问语音信箱。请先设置新的语音信箱 PIN 码再继续操作。"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"设置 PIN 码"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-zh-rHK/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-zh-rHK/strings.xml
index e51a0a902..add6d1a74 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-zh-rHK/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"正在啟用視像留言"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"視像留言完全啟用前,您可能無法接收留言通知。請致電留言信箱以取得新訊息,直至視像留言完全啟用。"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"無法啟用視像留言"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"請確定您的手機有數據連線,然後再試一次。"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"請確定您的手機有數據連線,然後再試一次。"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"關閉飛行模式,然後再試一次。"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"沒有連線"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"您不會收到新留言通知。如果您使用的是 Wi-Fi,可以立即透過同步處理的方式查看是否有留言。"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"您不會收到新留言通知。如果您使用的是 Wi-Fi,可以立即透過同步處理的方式查看是否有留言。"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"您不會收到新留言通知。請關閉飛行模式,以便同步處理留言信箱。"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"您的手機需要有流動數據連線,才能查看留言信箱。"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"您的手機需要有流動數據連線,才能查看留言。"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"無法啟用視像留言"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"您仍可撥號以查看留言信箱。"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"無法更新視像留言信箱"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"請在您的 Wi-Fi 或數據連線品質較佳時再試一次。您仍可撥號以查看留言信箱。"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"請在您的數據連線品質較佳時再試一次。您仍可撥號以查看留言信箱。"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"請在您的 Wi-Fi 或數據連線品質較佳時再試一次。您仍可撥號以查看留言。"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"請在您的數據連線品質較佳時再試一次。您仍可撥號以查看留言。"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"無法更新視像留言信箱"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"您仍可撥號以查看留言信箱。"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"無法更新視像留言信箱"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"發生問題"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"請致電 <xliff:g id="NUMBER">%1$s</xliff:g> 聯絡客戶服務,並提供錯誤代碼 9999。"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"視像留言條款及細則"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"您必須接受 Verizon Wireless 的條款及細則,才能使用視像留言:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\n您必須接受 Verizon Wireless 條款及細則,才能使用視像留言:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"啟用視像留言"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"如果拒絕條款及細則,視像留言將會停用。"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"停用視像留言"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"如果拒絕條款及細則,留言轉錄功能將會停用。"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"停用留言轉錄功能"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"您只可以撥打 *86 使用留言信箱。請先設定新留言信箱 PIN 碼,然後繼續。"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"設定 PIN 碼"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-zh-rTW/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-zh-rTW/strings.xml
index 7f2e1d61c..5937bb1bf 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-zh-rTW/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"啟用視覺化語音信箱"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"您必須完整啟用視覺化語音信箱,才會收到語音留言通知。在未完整啟用這項功能之前,如要擷取新訊息,請撥打語音信箱號碼。"</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"無法啟用視覺化語音信箱"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"請確定您的手機能收到訊號,然後再試一次。"</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"請確認你的手機已連上行動網路,然後再試一次。"</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"請關閉飛航模式,然後再試一次。"</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"沒有訊號"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"您不會收到新的語音留言通知。如果您已連上 Wi-Fi,立即執行同步處理,就能檢查是否有語音留言。"</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"你不會收到新的語音留言通知。如果你已連上 Wi-Fi 網路,立即執行同步處理就能檢查是否有語音留言。"</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"您不會收到新的語音留言通知。請關閉飛航模式,以便同步處理語音留言。"</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"手機必須要有數據連線才能檢查語音留言。"</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"手機必須要有行動數據連線才能檢查語音留言。"</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"無法啟用視覺化語音信箱"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"您也可以撥打電話來檢查語音留言。"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"無法更新視覺化語音信箱"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"請在 Wi-Fi 連線品質較佳或手機訊號較強時再試一次。您也可以撥打電話來檢查語音留言。"</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"請在數據連線品質較佳時再試一次。您也可以撥打電話來檢查語音留言。"</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"請在 Wi‑Fi 或行動網路連線品質較佳時再試一次。你還是可以撥打電話來檢查語音留言。"</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"請在行動網路連線品質較佳時再試一次。你還是可以撥打電話來檢查語音留言。"</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"無法更新視覺化語音信箱"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"您也可以撥打電話來檢查語音留言。"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"無法更新視覺化語音信箱"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"發生錯誤"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"請撥打 <xliff:g id="NUMBER">%1$s</xliff:g> 與客服人員聯絡,並告訴對方錯誤代碼為 9999。"</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"視覺化語音信箱條款及細則"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"你必須接受 Verizon Wireless 的條款及細則,才能使用視覺化語音信箱:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\n你必須接受 Verizon Wireless 的條款及細則才能使用視覺化語音信箱:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"啟用視覺化語音信箱"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"如果你拒絕接受相關條款及細則,系統將停用視覺化語音信箱功能。"</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"停用視覺化語音信箱"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"如果拒絕接受條款及細則,系統將停用語音信箱留言轉錄功能。"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"停用語音信箱留言轉錄"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"必須撥打 *86 才能聽取語音信箱。如要繼續進行,請先設定新的語音信箱密碼。"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"設定語音信箱密碼"</string>
</resources>
diff --git a/java/com/android/dialer/app/voicemail/error/res/values-zu/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-zu/strings.xml
index 8d3cd79ea..5b31e3a00 100644
--- a/java/com/android/dialer/app/voicemail/error/res/values-zu/strings.xml
+++ b/java/com/android/dialer/app/voicemail/error/res/values-zu/strings.xml
@@ -21,17 +21,17 @@
<string name="voicemail_error_activating_title" msgid="2428457130578359186">"Yenza kusebenze ivoyisimeyili ebonakalayo"</string>
<string name="voicemail_error_activating_message" msgid="7157030596259443393">"Kungenzeka ungatholi izaziso zevoyisimeyili kuze kwenziwe kusebenze ngokugcwele ivoyisimeyili ebonakalayo. Shayela ivoyisimeyili ukuze uthole imilayezo emisha kuze kwenziwe kusebenze ngokugcwele ivoyisimeyili."</string>
<string name="voicemail_error_not_activate_no_signal_title" msgid="742273366199085615">"Ayikwazi ukwenza kusebenze ivoyisimeyili ebonakalayo"</string>
- <string name="voicemail_error_not_activate_no_signal_message" msgid="4511975927252363280">"Qiniseka ukuthi ifoni yakho inokuxhumeka kweselula uphinde uzame futhi."</string>
+ <string name="voicemail_error_not_activate_no_signal_message" msgid="2929059808327964011">"Qiniseka ukuthi ifoni yakho inoxhumo lenethiwekhi leselula bese uyazama futhi."</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message" msgid="2005255281543281215">"Vala imodi yendiza uphinde uzame futhi."</string>
<string name="voicemail_error_no_signal_title" msgid="341954685733680219">"Akukho ukuxhumana"</string>
- <string name="voicemail_error_no_signal_message" msgid="8557509373166292640">"Ngeke uze waziswe ngamavoyisimeyili amasha. Uma uku-Wi-Fi, ungahlolela ivoyisimeyili ngokuvumelanisa manje."</string>
+ <string name="voicemail_error_no_signal_message" msgid="2626509025723748371">"Ngeke uze waziswe ngamavoyisimeyili amasha. Uma uku-Wi-Fi, ungahlolela ivoyisimeyili ngokuvumelanisa manje."</string>
<string name="voicemail_error_no_signal_airplane_mode_message" msgid="8553646558282754276">"Ngeke waziswe ngamavoyisimeyili amasha. Vala imodi yendiza ukuze uvumelanise ivoyisimeyili yakho."</string>
- <string name="voicemail_error_no_signal_cellular_required_message" msgid="8461294934887808098">"Ifoni yakho idinga ukuxhumeka kwedatha yeselula ukuze ihlole ivoyisimeyili."</string>
+ <string name="voicemail_error_no_signal_cellular_required_message" msgid="6452586752169746399">"Ifoni yakho idinga ukuxhumeka kwedatha yeselula ukuze ihlole ivoyisimeyili."</string>
<string name="voicemail_error_activation_failed_title" msgid="3823477898681399391">"Ayikwazi ukwenza kusebenze ivoyisimeyili ebonakalayo"</string>
<string name="voicemail_error_activation_failed_message" msgid="2188301459207765442">"Usengashaya ukuze uhlole ivoyisimeyili"</string>
<string name="voicemail_error_no_data_title" msgid="8127858252892092732">"Ayikwazi ukubuyekeza ivoyisimeyili ebonakalayo"</string>
- <string name="voicemail_error_no_data_message" msgid="3723828868450752165">"Zama futhi uma i-Wi-Fi yakho noma ukuxhumeka kwakho kweselula kungcono. Usengashaya ukuze uhlole ivoyisimeyili."</string>
- <string name="voicemail_error_no_data_cellular_required_message" msgid="2952045163270555699">"Zama futhi uma ukuxhumeka kwakho kweselula sekungcono. Usengashaya ukuze uhlole ivoyisimeyili."</string>
+ <string name="voicemail_error_no_data_message" msgid="6634124460113498265">"Zama futhi uma i-Wi-Fi yakho noma ukuxhumeka kwakho kwedatha kungcono. Usengashaya ukuze uhlole ivoyisimeyili."</string>
+ <string name="voicemail_error_no_data_cellular_required_message" msgid="2521491029817662357">"Zama futhi uma ukuxhumeka kwakho kwedaha sekungcono. Usengashaya ukuze uhlole ivoyisimeyili."</string>
<string name="voicemail_error_bad_config_title" msgid="527594487104462966">"Ayikwazi ukubuyekeza ivoyisimeyili ebonakalayo"</string>
<string name="voicemail_error_bad_config_message" msgid="2692955418930476771">"Usengashaya ukuze uhlole ivoyisimeyili"</string>
<string name="voicemail_error_communication_title" msgid="9183339646110368169">"Ayikwazi ukubuyekeza ivoyisimeyili ebonakalayo"</string>
@@ -102,9 +102,13 @@
<string name="vvm3_error_imap_error_title" msgid="1952971680250515832">"Kukhona okungahambanga kahle"</string>
<string name="vvm3_error_imap_error_message" msgid="6668651261796655388">"Sicela uxhumane Nesevisi Yekhasimende ku-<xliff:g id="NUMBER">%1$s</xliff:g> uphinde ubatshele ukuthi ikhodi yephutha ngu-9999."</string>
<string name="verizon_terms_and_conditions_title" msgid="9074967311276321500">"Imigomo nemibandela ye-Visual Voicemail"</string>
- <string name="verizon_terms_and_conditions_message" msgid="271780225159084419">"Kufanele wamukele imigomo nemibandela ye-Verizon Wireless ukuze usebenzise i-visual voicemail:\n\n%s"</string>
+ <string name="verizon_terms_and_conditions_message" msgid="120258835788235077">"%1$s\n\nKufanele wamukele imogomo nemibandela ye-Verizon Wireless ukuze usebenzise ivoyisimeyili yokubuka:\n\n%2$s"</string>
+ <string name="dialer_terms_and_conditions_title" msgid="311603424861921251">"Vula ivoyisimeyili yokubuka"</string>
+ <string name="dialer_terms_and_conditions_message" msgid="6207219973959897196">"%s"</string>
<string name="verizon_terms_and_conditions_decline_dialog_message" msgid="7852059293806766767">"I-Visual voicemail izokhutshazwa uma imigomo nemibandela inqatshawa."</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade" msgid="8347128304508008823">"Khubaza i-visual voicemail"</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message" msgid="1726573227032877573">"Ukubhalwa kweviyisimeyili kuizokhutshazwa uma imigomo nemibandela inqatshawa."</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade" msgid="6694612247173639685">"Khuyaza ukubhalwa kwevoyisimeyili"</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message" msgid="2200388197966526000">"Ivoyisimeyili izofinyeleleka kuphela ngokushayela ku-*86. Setha iphinikhodi entsha yevoyisimeyili ukuze uqhubeke."</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin" msgid="4320664492466296770">"Setha iphinikhodi"</string>
</resources>
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 94d3dba11..ad5240b9d 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
@@ -21,20 +21,20 @@
<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>
<string name="voicemail_error_not_activate_no_signal_title">Can\'t activate visual voicemail</string>
- <string name="voicemail_error_not_activate_no_signal_message">Make sure your phone has cellular connection and try again.</string>
+ <string name="voicemail_error_not_activate_no_signal_message">Make sure your phone has a mobile network connection and try again.</string>
<string name="voicemail_error_not_activate_no_signal_airplane_mode_message">Turn off airplane mode and try again.</string>
<string name="voicemail_error_no_signal_title">No connection</string>
- <string name="voicemail_error_no_signal_message">You won\'t be notified for new voicemails. If you\'re on Wi-Fi, you can check for voicemail by syncing now.</string>
+ <string name="voicemail_error_no_signal_message">You won\'t be notified for new voicemails. If you\'re on Wi\u2011Fi, you can check for voicemail by syncing now.</string>
<string name="voicemail_error_no_signal_airplane_mode_message">You won\'t be notified for new voicemails. Turn off airplane mode to sync your voicemail.</string>
- <string name="voicemail_error_no_signal_cellular_required_message">Your phone needs a cellular data connection to check voicemail.</string>
+ <string name="voicemail_error_no_signal_cellular_required_message">Your phone needs a mobile data connection to check voicemail.</string>
<string name="voicemail_error_activation_failed_title">Can\'t activate visual voicemail</string>
<string name="voicemail_error_activation_failed_message">You can still call to check voicemail.</string>
<string name="voicemail_error_no_data_title">Can\'t update visual voicemail</string>
- <string name="voicemail_error_no_data_message">Try again when your Wi-Fi or cellular connection is better. You can still call to check voicemail.</string>
- <string name="voicemail_error_no_data_cellular_required_message">Try again when your cellular data connection is better. You can still call to check voicemail.</string>
+ <string name="voicemail_error_no_data_message">Try again when your Wi\u2011Fi or mobile data connection is better. You can still call to check voicemail.</string>
+ <string name="voicemail_error_no_data_cellular_required_message">Try again when your mobile data connection is better. You can still call to check voicemail.</string>
<string name="voicemail_error_bad_config_title">Can\'t update visual voicemail</string>
<string name="voicemail_error_bad_config_message">You can still call to check voicemail.</string>
@@ -141,7 +141,10 @@
<string translatable="false" name="verizon_domestic_customer_support_display_number">(800) 922–0204</string>
<string name="verizon_terms_and_conditions_title">Visual Voicemail Terms and Conditions</string>
- <string name="verizon_terms_and_conditions_message">You must accept Verizon Wireless\'s terms and conditions to use visual voicemail:\n\n%s</string>
+ <string name="verizon_terms_and_conditions_message">%1$s\n\nYou must accept Verizon Wireless\'s terms and conditions to use visual voicemail:\n\n%2$s</string>
+
+ <string name="dialer_terms_and_conditions_title">Turn on Visual Voicemail</string>
+ <string name="dialer_terms_and_conditions_message">%s</string>
<string translatable="false" name="verizon_terms_and_conditions_1.1_english">
Visual Voice Mail (VVM) is a service that provides access to voice mail messages directly on the device, without the need to call *86. This service requires traditional Voice Mail but does not support all traditional Voice Mail features, which you can access by dialing *86 from your handset. Use of this feature will be billed on a per-megabyte basis, or according to any data package you have. Mobile to mobile minutes do not apply. Standard rates apply to any calls, emails or messages initiated from Visual Voice Mail.\n
@@ -152,7 +155,7 @@ For the Premium Visual Voice Mail service, some voice messages may not be comple
\n
Speech recordings may be collected and stored for a period of 30 days, solely for the purpose of testing and improving transcription technology and performance, subject to the Verizon Wireless Privacy Policy, which can be found at http://www.verizon.com/about/privacy/policy/\n
\n
-You understand that by selecting ACCEPT, your messages will be stored and anyone in possession of this device will have access to your voice mail. You further understand that your voice mail messages may be stored in electronic format on this device. To limit unauthorized access to your voice mail, you should consider locking your phone when not in use. Not available in all areas or over Wi-Fi.\n
+You understand that by selecting ACCEPT, your messages will be stored and anyone in possession of this device will have access to your voice mail. You further understand that your voice mail messages may be stored in electronic format on this device. To limit unauthorized access to your voice mail, you should consider locking your phone when not in use. Not available in all areas or over Wi\u2011Fi.\n
\n
If you do not accept all of these terms and conditions, do not use Visual Voice Mail. </string>
@@ -165,19 +168,35 @@ En el caso del servicio de buzón de voz visual premium, es posible que algunos
\n
Es posible que reunamos y almacenemos grabaciones de voz durante 30 días, con el único fin de probar y mejorar el rendimiento y la tecnología de la transcripción, sujeto a la Política de privacidad de Verizon Wireless, disponible en http://www.verizon.com/about/privacy/policy/.\n
\n
-Entiende que, al seleccionar ACEPTAR, sus mensajes se almacenarán, y cualquier persona que disponga de este dispositivo tendrá acceso al buzón de voz. Entiende, además, que los mensajes de voz pueden almacenarse en formato electrónico en este dispositivo. Para limitar el acceso no autorizado al buzón de voz, debe considerar el bloqueo del teléfono cuando no está en uso. No está disponible en todas las áreas ni mediante Wi-Fi.\n
+Entiende que, al seleccionar ACEPTAR, sus mensajes se almacenarán, y cualquier persona que disponga de este dispositivo tendrá acceso al buzón de voz. Entiende, además, que los mensajes de voz pueden almacenarse en formato electrónico en este dispositivo. Para limitar el acceso no autorizado al buzón de voz, debe considerar el bloqueo del teléfono cuando no está en uso. No está disponible en todas las áreas ni mediante Wi\u2011Fi.\n
\n
Si no acepta todos estos términos y condiciones, no use el buzón de voz visual.
</string>
+ <string translatable="false" name="dialer_terms_and_conditions_1.0_english">
+ See and listen to your messages, without having to call voicemail.\n\nGet transcripts of your voicemail using Google’s transcription service.
+ </string>
+
+ <string translatable="false" name="dialer_terms_and_conditions_1.0_spanish">
+ ***TRANSLATE TO SPANISH***\nSee and listen to your messages, without having to call voicemail.\n\nGet transcripts of your voicemail using Google’s transcription service.
+ </string>
+
<string translatable="false" name="verizon_terms_and_conditions_accept_english">Accept</string>
<string translatable="false" name="verizon_terms_and_conditions_accept_spanish">Aceptar</string>
<string translatable="false" name="verizon_terms_and_conditions_decline_english">Decline</string>
<string translatable="false" name="verizon_terms_and_conditions_decline_spanish">Rechazar</string>
+ <string translatable="false" name="dialer_terms_and_conditions_accept_english">Turn On</string>
+ <string translatable="false" name="dialer_terms_and_conditions_accept_spanish">Aceptar</string>
+ <string translatable="false" name="dialer_terms_and_conditions_decline_english">No Thanks</string>
+ <string translatable="false" name="dialer_terms_and_conditions_decline_spanish">Rechazar</string>
+
<string name="verizon_terms_and_conditions_decline_dialog_message">Visual voicemail will be disabled if the terms and conditions are declined.</string>
<string name="verizon_terms_and_conditions_decline_dialog_downgrade">Disable visual voicemail</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_message">Voicemail transcription will be disabled if the terms and conditions are declined.</string>
+ <string name="dialer_terms_and_conditions_decline_dialog_downgrade">Disable voicemail transcription</string>
+
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_message">Voicemail will only be accessible by calling *86. Set a new voicemail PIN to proceed.</string>
<string name="verizon_terms_and_conditions_decline_set_pin_dialog_set_pin">Set PIN</string>
-</resources> \ No newline at end of file
+</resources>
diff --git a/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java b/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java
index 85fd5ec6a..5846b1f73 100644
--- a/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java
+++ b/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java
@@ -21,6 +21,7 @@ import android.view.LayoutInflater;
import android.widget.LinearLayout;
import com.android.dialer.app.R;
import com.android.dialer.util.OrientationUtil;
+import com.android.dialer.widget.EmptyContentView;
/** Empty content view to be shown when dialpad is visible. */
public class DialpadSearchEmptyContentView extends EmptyContentView {
diff --git a/java/com/android/dialer/app/widget/SearchEditTextLayout.java b/java/com/android/dialer/app/widget/SearchEditTextLayout.java
index f83c48288..95bd12aa1 100644
--- a/java/com/android/dialer/app/widget/SearchEditTextLayout.java
+++ b/java/com/android/dialer/app/widget/SearchEditTextLayout.java
@@ -52,7 +52,6 @@ public class SearchEditTextLayout extends FrameLayout {
private View mVoiceSearchButtonView;
private View mOverflowButtonView;
private View mBackButtonView;
- private View mExpandedSearchBox;
private View mClearButtonView;
private ValueAnimator mAnimator;
@@ -90,20 +89,27 @@ public class SearchEditTextLayout extends FrameLayout {
mVoiceSearchButtonView = findViewById(R.id.voice_search_button);
mOverflowButtonView = findViewById(R.id.dialtacts_options_menu_button);
mBackButtonView = findViewById(R.id.search_back_button);
- mExpandedSearchBox = findViewById(R.id.search_box_expanded);
+ mBackButtonView
+ .getResources()
+ .getDrawable(R.drawable.quantum_ic_arrow_back_vd_theme_24, null)
+ .setAutoMirrored(true);
mClearButtonView = findViewById(R.id.search_close_button);
- // Convert a long click into a click to expand the search box, and then long click on the
- // search view. This accelerates the long-press scenario for copy/paste.
+ // Convert a long click into a click to expand the search box. Touch events are also
+ // forwarded to the searchView. This accelerates the long-press scenario for copy/paste.
mCollapsed.setOnLongClickListener(
new OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
mCollapsed.performClick();
- mSearchView.performLongClick();
return false;
}
});
+ mCollapsed.setOnTouchListener(
+ (v, event) -> {
+ mSearchView.onTouchEvent(event);
+ return false;
+ });
mSearchView.setOnFocusChangeListener(
new OnFocusChangeListener() {
@@ -212,7 +218,7 @@ public class SearchEditTextLayout extends FrameLayout {
AnimUtils.crossFadeViews(mExpanded, mCollapsed, ANIMATION_DURATION);
mAnimator = ValueAnimator.ofFloat(EXPAND_MARGIN_FRACTION_START, 0f);
setMargins(EXPAND_MARGIN_FRACTION_START);
- prepareAnimator(true);
+ prepareAnimator();
} else {
mExpanded.setVisibility(View.VISIBLE);
mExpanded.setAlpha(1);
@@ -241,7 +247,7 @@ public class SearchEditTextLayout extends FrameLayout {
if (animate) {
AnimUtils.crossFadeViews(mCollapsed, mExpanded, ANIMATION_DURATION);
mAnimator = ValueAnimator.ofFloat(0f, 1f);
- prepareAnimator(false);
+ prepareAnimator();
} else {
mCollapsed.setVisibility(View.VISIBLE);
mCollapsed.setAlpha(1);
@@ -279,7 +285,7 @@ public class SearchEditTextLayout extends FrameLayout {
}
}
- private void prepareAnimator(final boolean expand) {
+ private void prepareAnimator() {
if (mAnimator != null) {
mAnimator.cancel();
}
diff --git a/java/com/android/dialer/backup/DialerBackupAgent.java b/java/com/android/dialer/backup/DialerBackupAgent.java
index dec1ca1a7..40de8e2a4 100644
--- a/java/com/android/dialer/backup/DialerBackupAgent.java
+++ b/java/com/android/dialer/backup/DialerBackupAgent.java
@@ -34,8 +34,8 @@ import android.provider.VoicemailContract.Voicemails;
import android.telecom.PhoneAccountHandle;
import android.util.Pair;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.telecom.TelecomUtil;
diff --git a/java/com/android/dialer/backup/DialerBackupUtils.java b/java/com/android/dialer/backup/DialerBackupUtils.java
index 17e82e45d..fe714f636 100644
--- a/java/com/android/dialer/backup/DialerBackupUtils.java
+++ b/java/com/android/dialer/backup/DialerBackupUtils.java
@@ -31,8 +31,8 @@ import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
import android.util.Pair;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.voicemail.VoicemailComponent;
import com.google.common.io.ByteStreams;
import com.google.common.io.Files;
diff --git a/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java b/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java
index 595401c70..6a7c588d9 100644
--- a/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java
+++ b/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java
@@ -18,6 +18,8 @@ package com.android.dialer.binary.aosp;
import com.android.dialer.binary.basecomponent.BaseDialerRootComponent;
import com.android.dialer.calllog.CallLogModule;
+import com.android.dialer.common.concurrent.DialerExecutorModule;
+import com.android.dialer.configprovider.SharedPrefConfigProviderModule;
import com.android.dialer.enrichedcall.stub.StubEnrichedCallModule;
import com.android.dialer.inject.ContextModule;
import com.android.dialer.lightbringer.stub.StubLightbringerModule;
@@ -34,6 +36,8 @@ import javax.inject.Singleton;
modules = {
CallLogModule.class,
ContextModule.class,
+ DialerExecutorModule.class,
+ SharedPrefConfigProviderModule.class,
SimulatorModule.class,
StubCallLocationModule.class,
StubEnrichedCallModule.class,
diff --git a/java/com/android/dialer/binary/aosp/testing/AndroidManifest.xml b/java/com/android/dialer/binary/aosp/testing/AndroidManifest.xml
new file mode 100644
index 000000000..15870cb85
--- /dev/null
+++ b/java/com/android/dialer/binary/aosp/testing/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<!--
+ ~ 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
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.dialer.binary.aosp.testing">
+
+ <application>
+ <activity android:name="com.android.dialer.binary.aosp.testing.TestActivity"/>
+ </application>
+
+</manifest>
diff --git a/java/com/android/dialer/common/ConfigProviderFactory.java b/java/com/android/dialer/binary/aosp/testing/TestActivity.java
index aeb4f303a..9cb26dab7 100644
--- a/java/com/android/dialer/common/ConfigProviderFactory.java
+++ b/java/com/android/dialer/binary/aosp/testing/TestActivity.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * 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.
@@ -14,13 +14,12 @@
* limitations under the License
*/
-package com.android.dialer.common;
+package com.android.dialer.binary.aosp.testing;
+
+import android.app.Activity;
/**
- * This interface should be implementated by the Application subclass. It allows dialer code to get
- * references to a config provider.
+ * An empty Activity to use in tests. This can be useful when UI needs to be tested outside an
+ * Activity, either as a background or to keep the test framework running.
*/
-public interface ConfigProviderFactory {
-
- ConfigProvider getConfigProvider();
-}
+public class TestActivity extends Activity {}
diff --git a/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java b/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java
index 2deb7fdc4..8ac071f77 100644
--- a/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java
+++ b/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java
@@ -17,8 +17,12 @@
package com.android.dialer.binary.basecomponent;
import com.android.dialer.calllog.CallLogComponent;
+import com.android.dialer.calllog.database.CallLogDatabaseComponent;
+import com.android.dialer.common.concurrent.DialerExecutorComponent;
+import com.android.dialer.configprovider.ConfigProviderComponent;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.lightbringer.LightbringerComponent;
+import com.android.dialer.main.MainComponent;
import com.android.dialer.simulator.SimulatorComponent;
import com.android.incallui.calllocation.CallLocationComponent;
import com.android.incallui.maps.MapsComponent;
@@ -31,6 +35,10 @@ import com.android.voicemail.VoicemailComponent;
public interface BaseDialerRootComponent
extends CallLocationComponent.HasComponent,
CallLogComponent.HasComponent,
+ CallLogDatabaseComponent.HasComponent,
+ ConfigProviderComponent.HasComponent,
+ DialerExecutorComponent.HasComponent,
+ MainComponent.HasComponent,
EnrichedCallComponent.HasComponent,
MapsComponent.HasComponent,
SimulatorComponent.HasComponent,
diff --git a/java/com/android/dialer/binary/common/DialerApplication.java b/java/com/android/dialer/binary/common/DialerApplication.java
index a4c2e7d6f..08666a21c 100644
--- a/java/com/android/dialer/binary/common/DialerApplication.java
+++ b/java/com/android/dialer/binary/common/DialerApplication.java
@@ -20,6 +20,7 @@ import android.app.Application;
import android.os.StrictMode;
import android.os.Trace;
import android.support.annotation.NonNull;
+import android.support.v4.os.BuildCompat;
import com.android.dialer.blocking.BlockedNumbersAutoMigrator;
import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
import com.android.dialer.buildtype.BuildType;
@@ -49,14 +50,17 @@ public abstract class DialerApplication extends Application implements HasRootCo
CallLogComponent.get(this).callLogFramework().registerContentObservers(getApplicationContext());
PersistentLogger.initialize(this);
- NotificationChannelManager.getInstance().firstInitIfNeeded(this);
+ if (BuildCompat.isAtLeastO()) {
+ NotificationChannelManager.initChannels(this);
+ }
Trace.endSection();
}
private void enableStrictMode() {
StrictMode.setThreadPolicy(
- new StrictMode.ThreadPolicy.Builder().detectAll().penaltyDeath().build());
- StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyDeath().build());
+ new StrictMode.ThreadPolicy.Builder().detectAll().penaltyLog().penaltyDeath().build());
+ StrictMode.setVmPolicy(
+ new StrictMode.VmPolicy.Builder().detectAll().penaltyLog().penaltyDeath().build());
}
/**
diff --git a/java/com/android/dialer/blocking/FilteredNumbersUtil.java b/java/com/android/dialer/blocking/FilteredNumbersUtil.java
index cdcf1f78d..9e0c23c80 100644
--- a/java/com/android/dialer/blocking/FilteredNumbersUtil.java
+++ b/java/com/android/dialer/blocking/FilteredNumbersUtil.java
@@ -27,6 +27,7 @@ import android.provider.ContactsContract.Contacts;
import android.provider.Settings;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
+import android.support.v4.os.BuildCompat;
import android.support.v4.os.UserManagerCompat;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
@@ -35,8 +36,7 @@ import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler.OnHasBlockedN
import com.android.dialer.common.LogUtil;
import com.android.dialer.logging.InteractionEvent;
import com.android.dialer.logging.Logger;
-import com.android.dialer.notification.NotificationChannelManager;
-import com.android.dialer.notification.NotificationChannelManager.Channel;
+import com.android.dialer.notification.NotificationChannelId;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.PermissionsUtil;
import java.util.concurrent.TimeUnit;
@@ -45,8 +45,7 @@ import java.util.concurrent.TimeUnit;
public class FilteredNumbersUtil {
public static final String CALL_BLOCKING_NOTIFICATION_TAG = "call_blocking";
- public static final int CALL_BLOCKING_DISABLED_BY_EMERGENCY_CALL_NOTIFICATION_ID =
- R.id.notification_call_blocking_disabled_by_emergency_call;
+ public static final int CALL_BLOCKING_DISABLED_BY_EMERGENCY_CALL_NOTIFICATION_ID = 10;
// Pref key for storing the time of end of the last emergency call in milliseconds after epoch.\
@VisibleForTesting
public static final String LAST_EMERGENCY_CALL_MS_PREF_KEY = "last_emergency_call_ms";
@@ -254,7 +253,9 @@ public class FilteredNumbersUtil {
context.getString(R.string.call_blocking_disabled_notification_text))
.setAutoCancel(true);
- NotificationChannelManager.applyChannel(builder, context, Channel.DEFAULT, null);
+ if (BuildCompat.isAtLeastO()) {
+ builder.setChannelId(NotificationChannelId.DEFAULT);
+ }
builder.setContentIntent(
PendingIntent.getActivity(
context,
diff --git a/java/com/android/dialer/callcomposer/AndroidManifest.xml b/java/com/android/dialer/callcomposer/AndroidManifest.xml
index 369db6f4a..cce71105f 100644
--- a/java/com/android/dialer/callcomposer/AndroidManifest.xml
+++ b/java/com/android/dialer/callcomposer/AndroidManifest.xml
@@ -17,7 +17,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.dialer.callcomposer">
- <application>
+ <application android:theme="@style/Theme.AppCompat">
<activity
android:name="com.android.dialer.callcomposer.CallComposerActivity"
android:exported="true"
diff --git a/java/com/android/dialer/callcomposer/CallComposerActivity.java b/java/com/android/dialer/callcomposer/CallComposerActivity.java
index 074fc6de1..63d29b514 100644
--- a/java/com/android/dialer/callcomposer/CallComposerActivity.java
+++ b/java/com/android/dialer/callcomposer/CallComposerActivity.java
@@ -26,10 +26,11 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
+import android.os.Handler;
import android.support.annotation.NonNull;
+import android.support.annotation.VisibleForTesting;
import android.support.v4.content.ContextCompat;
import android.support.v4.content.FileProvider;
-import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.support.v4.view.animation.FastOutSlowInInterpolator;
import android.support.v7.app.AppCompatActivity;
@@ -37,13 +38,12 @@ import android.text.TextUtils;
import android.util.Base64;
import android.view.View;
import android.view.View.OnClickListener;
-import android.view.View.OnLayoutChangeListener;
import android.view.ViewAnimationUtils;
import android.view.ViewGroup;
-import android.view.WindowManager.LayoutParams;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.QuickContactBadge;
import android.widget.RelativeLayout;
import android.widget.TextView;
@@ -55,7 +55,10 @@ import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.UiUtil;
import com.android.dialer.common.concurrent.DialerExecutors;
+import com.android.dialer.common.concurrent.ThreadUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.constants.Constants;
+import com.android.dialer.dialercontact.DialerContact;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.enrichedcall.EnrichedCallManager.State;
@@ -68,6 +71,7 @@ import com.android.dialer.protos.ProtoParsers;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.ViewUtil;
import com.android.dialer.widget.DialerToolbar;
+import com.android.dialer.widget.LockableViewPager;
import com.google.protobuf.InvalidProtocolBufferException;
import java.io.File;
@@ -86,7 +90,6 @@ public class CallComposerActivity extends AppCompatActivity
implements OnClickListener,
OnPageChangeListener,
CallComposerListener,
- OnLayoutChangeListener,
EnrichedCallManager.StateChangedListener {
public static final String KEY_CONTACT_NAME = "contact_name";
@@ -98,11 +101,19 @@ public class CallComposerActivity extends AppCompatActivity
private static final String ARG_CALL_COMPOSER_CONTACT_BASE64 = "CALL_COMPOSER_CONTACT_BASE64";
private static final String ENTRANCE_ANIMATION_KEY = "entrance_animation_key";
+ private static final String SEND_AND_CALL_READY_KEY = "send_and_call_ready_key";
private static final String CURRENT_INDEX_KEY = "current_index_key";
private static final String VIEW_PAGER_STATE_KEY = "view_pager_state_key";
private static final String SESSION_ID_KEY = "session_id_key";
- private CallComposerContact contact;
+ private final Handler timeoutHandler = ThreadUtil.getUiThreadHandler();
+ private final Runnable sessionStartedTimedOut =
+ () -> {
+ LogUtil.i("CallComposerActivity.sessionStartedTimedOutRunnable", "session never started");
+ setFailedResultAndFinish();
+ };
+
+ private DialerContact contact;
private Long sessionId = Session.NO_SESSION_ID;
private TextView nameView;
@@ -113,10 +124,11 @@ public class CallComposerActivity extends AppCompatActivity
private View sendAndCall;
private TextView sendAndCallText;
+ private ProgressBar loading;
private ImageView cameraIcon;
private ImageView galleryIcon;
private ImageView messageIcon;
- private ViewPager pager;
+ private LockableViewPager pager;
private CallComposerPagerAdapter adapter;
private FrameLayout background;
@@ -126,10 +138,10 @@ public class CallComposerActivity extends AppCompatActivity
private boolean shouldAnimateEntrance = true;
private boolean inFullscreenMode;
private boolean isSendAndCallHidingOrHidden = true;
- private boolean layoutChanged;
+ private boolean sendAndCallReady;
private int currentIndex;
- public static Intent newIntent(Context context, CallComposerContact contact) {
+ public static Intent newIntent(Context context, DialerContact contact) {
Intent intent = new Intent(context, CallComposerActivity.class);
ProtoParsers.put(intent, ARG_CALL_COMPOSER_CONTACT, contact);
return intent;
@@ -140,19 +152,20 @@ public class CallComposerActivity extends AppCompatActivity
super.onCreate(savedInstanceState);
setContentView(R.layout.call_composer_activity);
- nameView = (TextView) findViewById(R.id.contact_name);
- numberView = (TextView) findViewById(R.id.phone_number);
- contactPhoto = (QuickContactBadge) findViewById(R.id.contact_photo);
- cameraIcon = (ImageView) findViewById(R.id.call_composer_camera);
- galleryIcon = (ImageView) findViewById(R.id.call_composer_photo);
- messageIcon = (ImageView) findViewById(R.id.call_composer_message);
- contactContainer = (RelativeLayout) findViewById(R.id.contact_bar);
- pager = (ViewPager) findViewById(R.id.call_composer_view_pager);
- background = (FrameLayout) findViewById(R.id.background);
- windowContainer = (LinearLayout) findViewById(R.id.call_composer_container);
- toolbar = (DialerToolbar) findViewById(R.id.toolbar);
+ nameView = findViewById(R.id.contact_name);
+ numberView = findViewById(R.id.phone_number);
+ contactPhoto = findViewById(R.id.contact_photo);
+ cameraIcon = findViewById(R.id.call_composer_camera);
+ galleryIcon = findViewById(R.id.call_composer_photo);
+ messageIcon = findViewById(R.id.call_composer_message);
+ contactContainer = findViewById(R.id.contact_bar);
+ pager = findViewById(R.id.call_composer_view_pager);
+ background = findViewById(R.id.background);
+ windowContainer = findViewById(R.id.call_composer_container);
+ toolbar = findViewById(R.id.toolbar);
sendAndCall = findViewById(R.id.send_and_call_button);
- sendAndCallText = (TextView) findViewById(R.id.send_and_call_text);
+ sendAndCallText = findViewById(R.id.send_and_call_text);
+ loading = findViewById(R.id.call_composer_loading);
interpolator = new FastOutSlowInInterpolator();
adapter =
@@ -162,7 +175,6 @@ public class CallComposerActivity extends AppCompatActivity
pager.setAdapter(adapter);
pager.addOnPageChangeListener(this);
- background.addOnLayoutChangeListener(this);
cameraIcon.setOnClickListener(this);
galleryIcon.setOnClickListener(this);
messageIcon.setOnClickListener(this);
@@ -172,17 +184,13 @@ public class CallComposerActivity extends AppCompatActivity
if (savedInstanceState != null) {
shouldAnimateEntrance = savedInstanceState.getBoolean(ENTRANCE_ANIMATION_KEY);
+ sendAndCallReady = savedInstanceState.getBoolean(SEND_AND_CALL_READY_KEY);
pager.onRestoreInstanceState(savedInstanceState.getParcelable(VIEW_PAGER_STATE_KEY));
currentIndex = savedInstanceState.getInt(CURRENT_INDEX_KEY);
sessionId = savedInstanceState.getLong(SESSION_ID_KEY, Session.NO_SESSION_ID);
onPageSelected(currentIndex);
}
- int adjustMode =
- isLandscapeLayout()
- ? LayoutParams.SOFT_INPUT_ADJUST_PAN
- : LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
- getWindow().setSoftInputMode(adjustMode);
// Since we can't animate the views until they are ready to be drawn, we use this listener to
// track that and animate the call compose UI as soon as it's ready.
ViewUtil.doOnPreDraw(
@@ -221,6 +229,7 @@ public class CallComposerActivity extends AppCompatActivity
protected void onPause() {
super.onPause();
getEnrichedCallManager().unregisterStateChangedListener(this);
+ timeoutHandler.removeCallbacks(sessionStartedTimedOut);
}
@Override
@@ -240,12 +249,36 @@ public class CallComposerActivity extends AppCompatActivity
"state: %s",
StateExtension.toString(state));
- if (state == EnrichedCallManager.STATE_START_FAILED
- || state == EnrichedCallManager.STATE_CLOSED) {
- setFailedResultAndFinish();
+ switch (state) {
+ case EnrichedCallManager.STATE_STARTING:
+ timeoutHandler.postDelayed(sessionStartedTimedOut, getSessionStartedTimeoutMillis());
+ if (sendAndCallReady) {
+ showLoadingUi();
+ }
+ break;
+ case EnrichedCallManager.STATE_STARTED:
+ timeoutHandler.removeCallbacks(sessionStartedTimedOut);
+ if (sendAndCallReady) {
+ sendAndCall();
+ }
+ break;
+ case EnrichedCallManager.STATE_START_FAILED:
+ case EnrichedCallManager.STATE_CLOSED:
+ setFailedResultAndFinish();
+ break;
+ case EnrichedCallManager.STATE_MESSAGE_FAILED:
+ case EnrichedCallManager.STATE_MESSAGE_SENT:
+ case EnrichedCallManager.STATE_NONE:
+ default:
+ break;
}
}
+ @VisibleForTesting
+ public long getSessionStartedTimeoutMillis() {
+ return ConfigProviderBindings.get(this).getLong("ec_session_started_timeout", 10_000);
+ }
+
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
@@ -264,13 +297,15 @@ public class CallComposerActivity extends AppCompatActivity
} else if (view == sendAndCall) {
sendAndCall();
} else {
- Assert.fail();
+ throw Assert.createIllegalStateFailException("View on click not implemented: " + view);
}
}
@Override
public void sendAndCall() {
if (!sessionReady()) {
+ sendAndCallReady = true;
+ showLoadingUi();
LogUtil.i("CallComposerActivity.onClick", "sendAndCall pressed, but the session isn't ready");
Logger.get(this)
.logImpression(
@@ -338,13 +373,14 @@ public class CallComposerActivity extends AppCompatActivity
}
}
+ private void showLoadingUi() {
+ loading.setVisibility(View.VISIBLE);
+ pager.setSwipingLocked(true);
+ }
+
private boolean sessionReady() {
Session session = getEnrichedCallManager().getSession(sessionId);
- if (session == null) {
- return false;
- }
-
- return session.getState() == EnrichedCallManager.STATE_STARTED;
+ return session != null && session.getState() == EnrichedCallManager.STATE_STARTED;
}
private void placeRCSCall(MultimediaData.Builder builder) {
@@ -376,10 +412,6 @@ public class CallComposerActivity extends AppCompatActivity
}
if (currentIndex == CallComposerPagerAdapter.INDEX_MESSAGE) {
UiUtil.hideKeyboardFrom(this, windowContainer);
- } else if (position == CallComposerPagerAdapter.INDEX_MESSAGE
- && inFullscreenMode
- && !isLandscapeLayout()) {
- UiUtil.openKeyboardFrom(this, windowContainer);
}
currentIndex = position;
CallComposerFragment fragment = (CallComposerFragment) adapter.instantiateItem(pager, position);
@@ -398,6 +430,7 @@ public class CallComposerActivity extends AppCompatActivity
super.onSaveInstanceState(outState);
outState.putParcelable(VIEW_PAGER_STATE_KEY, pager.onSaveInstanceState());
outState.putBoolean(ENTRANCE_ANIMATION_KEY, shouldAnimateEntrance);
+ outState.putBoolean(SEND_AND_CALL_READY_KEY, sendAndCallReady);
outState.putInt(CURRENT_INDEX_KEY, currentIndex);
outState.putLong(SESSION_ID_KEY, sessionId);
}
@@ -424,28 +457,6 @@ public class CallComposerActivity extends AppCompatActivity
animateSendAndCall(fragment.shouldHide());
}
- // To detect when the keyboard changes.
- @Override
- public void onLayoutChange(
- View view,
- int left,
- int top,
- int right,
- int bottom,
- int oldLeft,
- int oldTop,
- int oldRight,
- int oldBottom) {
- // To prevent infinite layout change loops
- if (layoutChanged) {
- layoutChanged = false;
- return;
- }
-
- layoutChanged = true;
- showFullscreen(contactContainer.getTop() < 0 || inFullscreenMode);
- }
-
/**
* Reads arguments from the fragment arguments and populates the necessary instance variables.
* Copied from {@link com.android.contacts.common.dialog.CallSubjectDialog}.
@@ -456,14 +467,14 @@ public class CallComposerActivity extends AppCompatActivity
byte[] bytes =
Base64.decode(intent.getStringExtra(ARG_CALL_COMPOSER_CONTACT_BASE64), Base64.DEFAULT);
try {
- contact = CallComposerContact.parseFrom(bytes);
+ contact = DialerContact.parseFrom(bytes);
} catch (InvalidProtocolBufferException e) {
throw Assert.createAssertionFailException(e.toString());
}
} else {
contact =
ProtoParsers.getTrusted(
- intent, ARG_CALL_COMPOSER_CONTACT, CallComposerContact.getDefaultInstance());
+ intent, ARG_CALL_COMPOSER_CONTACT, DialerContact.getDefaultInstance());
}
updateContactInfo();
}
diff --git a/java/com/android/dialer/callcomposer/CameraComposerFragment.java b/java/com/android/dialer/callcomposer/CameraComposerFragment.java
index f65207fa3..1002b27b1 100644
--- a/java/com/android/dialer/callcomposer/CameraComposerFragment.java
+++ b/java/com/android/dialer/callcomposer/CameraComposerFragment.java
@@ -17,13 +17,14 @@
package com.android.dialer.callcomposer;
import android.Manifest;
-import android.Manifest.permission;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.drawable.Animatable;
import android.hardware.Camera.CameraInfo;
import android.net.Uri;
import android.os.Bundle;
+import android.preference.PreferenceManager;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -56,6 +57,7 @@ import com.android.dialer.util.PermissionsUtil;
public class CameraComposerFragment extends CallComposerFragment
implements CameraManagerListener, OnClickListener, CameraManager.MediaCallback {
+ private static final String CAMERA_PRIVACY_PREF = "camera_privacy_permission";
private static final String CAMERA_DIRECTION_KEY = "camera_direction";
private static final String CAMERA_URI_KEY = "camera_key";
@@ -89,17 +91,17 @@ public class CameraComposerFragment extends CallComposerFragment
LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle bundle) {
View root = inflater.inflate(R.layout.fragment_camera_composer, container, false);
permissionView = root.findViewById(R.id.permission_view);
- loading = (ProgressBar) root.findViewById(R.id.loading);
- cameraView = (CameraMediaChooserView) root.findViewById(R.id.camera_view);
+ loading = root.findViewById(R.id.loading);
+ cameraView = root.findViewById(R.id.camera_view);
shutter = cameraView.findViewById(R.id.camera_shutter_visual);
- exitFullscreen = (ImageButton) cameraView.findViewById(R.id.camera_exit_fullscreen);
- fullscreen = (ImageButton) cameraView.findViewById(R.id.camera_fullscreen);
- swapCamera = (ImageButton) cameraView.findViewById(R.id.swap_camera_button);
- capture = (ImageButton) cameraView.findViewById(R.id.camera_capture_button);
- cancel = (ImageButton) cameraView.findViewById(R.id.camera_cancel_button);
- focus = (RenderOverlay) cameraView.findViewById(R.id.focus_visual);
- preview = (CameraPreviewHost) cameraView.findViewById(R.id.camera_preview);
- previewImageView = (ImageView) root.findViewById(R.id.preview_image_view);
+ exitFullscreen = cameraView.findViewById(R.id.camera_exit_fullscreen);
+ fullscreen = cameraView.findViewById(R.id.camera_fullscreen);
+ swapCamera = cameraView.findViewById(R.id.swap_camera_button);
+ capture = cameraView.findViewById(R.id.camera_capture_button);
+ cancel = cameraView.findViewById(R.id.camera_cancel_button);
+ focus = cameraView.findViewById(R.id.focus_visual);
+ preview = cameraView.findViewById(R.id.camera_preview);
+ previewImageView = root.findViewById(R.id.preview_image_view);
exitFullscreen.setOnClickListener(this);
fullscreen.setOnClickListener(this);
@@ -107,11 +109,12 @@ public class CameraComposerFragment extends CallComposerFragment
capture.setOnClickListener(this);
cancel.setOnClickListener(this);
- if (!PermissionsUtil.hasPermission(getContext(), permission.CAMERA)) {
+
+ if (!PermissionsUtil.hasCameraPermissions(getContext())) {
LogUtil.i("CameraComposerFragment.onCreateView", "Permission view shown.");
Logger.get(getContext()).logImpression(DialerImpression.Type.CAMERA_PERMISSION_DISPLAYED);
- ImageView permissionImage = (ImageView) permissionView.findViewById(R.id.permission_icon);
- TextView permissionText = (TextView) permissionView.findViewById(R.id.permission_text);
+ ImageView permissionImage = permissionView.findViewById(R.id.permission_icon);
+ TextView permissionText = permissionView.findViewById(R.id.permission_text);
allowPermission = permissionView.findViewById(R.id.allow);
allowPermission.setOnClickListener(this);
@@ -131,6 +134,12 @@ public class CameraComposerFragment extends CallComposerFragment
}
private void setupCamera() {
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+ if (!preferences.getBoolean(CAMERA_PRIVACY_PREF, false)) {
+ Toast.makeText(getContext(), getString(R.string.camera_privacy_text), Toast.LENGTH_LONG)
+ .show();
+ preferences.edit().putBoolean(CAMERA_PRIVACY_PREF, true).apply();
+ }
CameraManager.get().setListener(this);
preview.setShown();
CameraManager.get().setRenderOverlay(focus);
@@ -336,6 +345,12 @@ public class CameraComposerFragment extends CallComposerFragment
previewImageView.setVisibility(View.GONE);
}
+ if (cameraDirection == CameraInfo.CAMERA_FACING_FRONT) {
+ swapCamera.setContentDescription(getString(R.string.description_camera_switch_camera_rear));
+ } else {
+ swapCamera.setContentDescription(getString(R.string.description_camera_switch_camera_facing));
+ }
+
if (cameraUri == null && isCameraAvailable) {
CameraManager.get().resetPreview();
cancel.setVisibility(View.GONE);
diff --git a/java/com/android/dialer/callcomposer/GalleryCursorLoader.java b/java/com/android/dialer/callcomposer/GalleryCursorLoader.java
index f9990e167..39d6a4a6d 100644
--- a/java/com/android/dialer/callcomposer/GalleryCursorLoader.java
+++ b/java/com/android/dialer/callcomposer/GalleryCursorLoader.java
@@ -28,7 +28,7 @@ import android.support.v4.content.CursorLoader;
public class GalleryCursorLoader extends CursorLoader {
public static final String MEDIA_SCANNER_VOLUME_EXTERNAL = "external";
public static final String[] ACCEPTABLE_IMAGE_TYPES =
- new String[] {"image/jpeg", "image/jpg", "image/png", "image/gif", "image/webp"};
+ new String[] {"image/jpeg", "image/jpg", "image/png", "image/webp"};
private static final Uri STORAGE_URI = Files.getContentUri(MEDIA_SCANNER_VOLUME_EXTERNAL);
private static final String SORT_ORDER = Media.DATE_MODIFIED + " DESC";
@@ -47,7 +47,7 @@ public class GalleryCursorLoader extends CursorLoader {
@SuppressLint("DefaultLocale")
private static String createSelection() {
return String.format(
- "mime_type IN ('image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp')"
+ "mime_type IN ('image/jpeg', 'image/jpg', 'image/png', 'image/webp')"
+ " AND media_type in (%d)",
FileColumns.MEDIA_TYPE_IMAGE);
}
diff --git a/java/com/android/dialer/callcomposer/MessageComposerFragment.java b/java/com/android/dialer/callcomposer/MessageComposerFragment.java
index 2a342bb08..392f6e716 100644
--- a/java/com/android/dialer/callcomposer/MessageComposerFragment.java
+++ b/java/com/android/dialer/callcomposer/MessageComposerFragment.java
@@ -24,11 +24,8 @@ import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
-import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
-import android.view.View.OnLongClickListener;
-import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
@@ -36,17 +33,12 @@ import android.widget.TextView.OnEditorActionListener;
/** Fragment used to compose call with message fragment. */
public class MessageComposerFragment extends CallComposerFragment
- implements OnClickListener,
- TextWatcher,
- OnTouchListener,
- OnLongClickListener,
- OnEditorActionListener {
+ implements OnClickListener, TextWatcher, OnEditorActionListener {
private static final String CHAR_LIMIT_KEY = "char_limit";
public static final int NO_CHAR_LIMIT = -1;
private EditText customMessage;
- private boolean isLongClick = false;
private int charLimit;
public static MessageComposerFragment newInstance(int charLimit) {
@@ -73,8 +65,6 @@ public class MessageComposerFragment extends CallComposerFragment
customMessage = (EditText) view.findViewById(R.id.custom_message);
urgent.setOnClickListener(this);
- customMessage.setOnTouchListener(this);
- customMessage.setOnLongClickListener(this);
customMessage.addTextChangedListener(this);
customMessage.setOnEditorActionListener(this);
if (charLimit != NO_CHAR_LIMIT) {
@@ -118,30 +108,6 @@ public class MessageComposerFragment extends CallComposerFragment
getListener().composeCall(this);
}
- /**
- * EditTexts take two clicks to dispatch an onClick() event, so instead we add an onTouchListener
- * to listen for them. The caveat to this is that it also requires listening for onLongClicks to
- * distinguish whether a MotionEvent came from a click or a long click.
- */
- @Override
- public boolean onTouch(View view, MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_UP) {
- if (isLongClick) {
- isLongClick = false;
- } else {
- getListener().showFullscreen(true);
- }
- }
- view.performClick();
- return false;
- }
-
- @Override
- public boolean onLongClick(View v) {
- isLongClick = true;
- return false;
- }
-
@Override
public boolean shouldHide() {
return TextUtils.isEmpty(getMessage());
diff --git a/java/com/android/dialer/callcomposer/camera/CameraManager.java b/java/com/android/dialer/callcomposer/camera/CameraManager.java
index 4cc08ba32..5915ce331 100644
--- a/java/com/android/dialer/callcomposer/camera/CameraManager.java
+++ b/java/com/android/dialer/callcomposer/camera/CameraManager.java
@@ -509,62 +509,61 @@ public class CameraManager implements FocusOverlayManager.Listener {
}.execute();
}
- /** Updates the orientation of the camera to match the orientation of the device */
- private void updateCameraOrientation() {
- if (mCamera == null || mCameraPreview == null || mTakingPicture) {
- return;
+ /**
+ * Updates the orientation of the {@link Camera} w.r.t. the orientation of the device and the
+ * orientation that the physical camera is mounted on the device.
+ *
+ * @param camera that needs to be reorientated
+ * @param screenRotation rotation of the physical device
+ * @param cameraOrientation {@link CameraInfo#orientation}
+ * @param cameraIsFrontFacing {@link CameraInfo#CAMERA_FACING_FRONT}
+ * @return rotation that images returned from {@link
+ * android.hardware.Camera.PictureCallback#onPictureTaken(byte[], Camera)} will be rotated.
+ */
+ @VisibleForTesting
+ static int updateCameraRotation(
+ @NonNull Camera camera,
+ int screenRotation,
+ int cameraOrientation,
+ boolean cameraIsFrontFacing) {
+ Assert.isNotNull(camera);
+ Assert.checkArgument(cameraOrientation % 90 == 0);
+
+ int rotation = screenRotationToDegress(screenRotation);
+ boolean portrait = rotation == 0 || rotation == 180;
+
+ if (!portrait && !cameraIsFrontFacing) {
+ rotation += 180;
}
+ rotation += cameraOrientation;
+ rotation %= 360;
- final WindowManager windowManager =
- (WindowManager) mCameraPreview.getContext().getSystemService(Context.WINDOW_SERVICE);
+ // Rotate the camera
+ if (portrait && cameraIsFrontFacing) {
+ camera.setDisplayOrientation((rotation + 180) % 360);
+ } else {
+ camera.setDisplayOrientation(rotation);
+ }
+
+ // Rotate the images returned when a picture is taken
+ Camera.Parameters params = camera.getParameters();
+ params.setRotation(rotation);
+ camera.setParameters(params);
+ return rotation;
+ }
- int degrees;
- switch (windowManager.getDefaultDisplay().getRotation()) {
+ private static int screenRotationToDegress(int screenRotation) {
+ switch (screenRotation) {
case Surface.ROTATION_0:
- degrees = 0;
- break;
+ return 0;
case Surface.ROTATION_90:
- degrees = 90;
- break;
+ return 90;
case Surface.ROTATION_180:
- degrees = 180;
- break;
+ return 180;
case Surface.ROTATION_270:
- degrees = 270;
- break;
+ return 270;
default:
- throw Assert.createAssertionFailException("");
- }
-
- // The display orientation of the camera (this controls the preview image).
- int orientation;
-
- // The clockwise rotation angle relative to the orientation of the camera. This affects
- // pictures returned by the camera in Camera.PictureCallback.
- int rotation;
- if (mCameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
- orientation = (mCameraInfo.orientation + degrees) % 360;
- rotation = orientation;
- // compensate the mirror but only for orientation
- orientation = (360 - orientation) % 360;
- } else { // back-facing
- orientation = (mCameraInfo.orientation - degrees + 360) % 360;
- rotation = orientation;
- }
- mRotation = rotation;
- try {
- mCamera.setDisplayOrientation(orientation);
- final Camera.Parameters params = mCamera.getParameters();
- params.setRotation(rotation);
- mCamera.setParameters(params);
- } catch (final RuntimeException e) {
- LogUtil.e(
- "CameraManager.updateCameraOrientation",
- "RuntimeException in CameraManager.updateCameraOrientation",
- e);
- if (mListener != null) {
- mListener.onCameraError(ERROR_OPENING_CAMERA, e);
- }
+ throw Assert.createIllegalStateFailException("Invalid surface rotation.");
}
}
@@ -589,13 +588,19 @@ public class CameraManager implements FocusOverlayManager.Listener {
mOrientationHandler.disable();
mOrientationHandler = null;
}
- // releaseMediaRecorder(true /* cleanupFile */);
mFocusOverlayManager.onPreviewStopped();
return;
}
try {
mCamera.stopPreview();
- updateCameraOrientation();
+ if (!mTakingPicture) {
+ mRotation =
+ updateCameraRotation(
+ mCamera,
+ getScreenRotation(),
+ mCameraInfo.orientation,
+ mCameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT);
+ }
final Camera.Parameters params = mCamera.getParameters();
final Camera.Size pictureSize = chooseBestPictureSize();
@@ -644,6 +649,14 @@ public class CameraManager implements FocusOverlayManager.Listener {
}
}
+ private int getScreenRotation() {
+ return mCameraPreview
+ .getContext()
+ .getSystemService(WindowManager.class)
+ .getDefaultDisplay()
+ .getRotation();
+ }
+
public boolean isCameraAvailable() {
return mCamera != null && !mTakingPicture && mIsHardwareAccelerationSupported;
}
@@ -681,7 +694,14 @@ public class CameraManager implements FocusOverlayManager.Listener {
@Override
public void onOrientationChanged(final int orientation) {
- updateCameraOrientation();
+ if (!mTakingPicture) {
+ mRotation =
+ updateCameraRotation(
+ mCamera,
+ getScreenRotation(),
+ mCameraInfo.orientation,
+ mCameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT);
+ }
}
}
diff --git a/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java b/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java
index 31751e536..7cb6921e9 100644
--- a/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java
+++ b/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java
@@ -20,13 +20,11 @@ import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
import android.graphics.Matrix;
import android.net.Uri;
import android.os.Build.VERSION_CODES;
import android.support.v4.content.FileProvider;
import com.android.dialer.callcomposer.camera.exif.ExifInterface;
-import com.android.dialer.callcomposer.camera.exif.ExifTag;
import com.android.dialer.callcomposer.util.BitmapResizer;
import com.android.dialer.common.Assert;
import com.android.dialer.common.concurrent.FallibleAsyncTask;
@@ -71,13 +69,7 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> {
File outputFile = DialerUtils.createShareableFile(mContext);
try (OutputStream outputStream = new FileOutputStream(outputFile)) {
- if (mHeightPercent != 1.0f) {
- writeClippedBitmap(outputStream);
- } else {
- Bitmap bitmap = BitmapFactory.decodeByteArray(mBytes, 0, mBytes.length);
- bitmap = BitmapResizer.resizeForEnrichedCalling(bitmap);
- bitmap.compress(Bitmap.CompressFormat.JPEG, 90, outputStream);
- }
+ writeClippedBitmap(outputStream);
}
return FileProvider.getUriForFile(
@@ -105,10 +97,12 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> {
} catch (final IOException e) {
// Couldn't get exif tags, not the end of the world
}
+
+ ExifInterface.OrientationParams params = ExifInterface.getOrientationParams(orientation);
Bitmap bitmap = BitmapFactory.decodeByteArray(mBytes, 0, mBytes.length);
final int clippedWidth;
final int clippedHeight;
- if (ExifInterface.getOrientationParams(orientation).invertDimensions) {
+ if (params.invertDimensions) {
Assert.checkState(mWidth == bitmap.getHeight());
Assert.checkState(mHeight == bitmap.getWidth());
clippedWidth = (int) (mHeight * mHeightPercent);
@@ -119,24 +113,22 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> {
clippedWidth = mWidth;
clippedHeight = (int) (mHeight * mHeightPercent);
}
- final int offsetTop = (bitmap.getHeight() - clippedHeight) / 2;
- final int offsetLeft = (bitmap.getWidth() - clippedWidth) / 2;
+
+ int offsetTop = (bitmap.getHeight() - clippedHeight) / 2;
+ int offsetLeft = (bitmap.getWidth() - clippedWidth) / 2;
mWidth = clippedWidth;
mHeight = clippedHeight;
+
+ Matrix matrix = new Matrix();
+ matrix.postRotate(params.rotation);
+
Bitmap clippedBitmap =
- Bitmap.createBitmap(clippedWidth, clippedHeight, Bitmap.Config.ARGB_8888);
- clippedBitmap.setDensity(bitmap.getDensity());
- final Canvas clippedBitmapCanvas = new Canvas(clippedBitmap);
- final Matrix matrix = new Matrix();
- matrix.postTranslate(-offsetLeft, -offsetTop);
- clippedBitmapCanvas.drawBitmap(bitmap, matrix, null /* paint */);
- clippedBitmapCanvas.save();
+ Bitmap.createBitmap(
+ bitmap, offsetLeft, offsetTop, clippedWidth, clippedHeight, matrix, true);
clippedBitmap = BitmapResizer.resizeForEnrichedCalling(clippedBitmap);
- // EXIF data can take a big chunk of the file size and is often cleared by the
- // carrier, only store orientation since that's critical
- final ExifTag orientationTag = exifInterface.getTag(ExifInterface.TAG_ORIENTATION);
+ // EXIF data can take a big chunk of the file size and we've already manually rotated our image,
+ // so remove all of the exif data.
exifInterface.clearExif();
- exifInterface.setTag(orientationTag);
exifInterface.writeExif(clippedBitmap, outputStream);
clippedBitmap.recycle();
diff --git a/java/com/android/dialer/callcomposer/camera/exif/ExifInterface.java b/java/com/android/dialer/callcomposer/camera/exif/ExifInterface.java
index 92dee1c94..1bf9519ad 100644
--- a/java/com/android/dialer/callcomposer/camera/exif/ExifInterface.java
+++ b/java/com/android/dialer/callcomposer/camera/exif/ExifInterface.java
@@ -286,7 +286,7 @@ public class ExifInterface {
/** Wrapper class to define some orientation parameters. */
public static class OrientationParams {
- int rotation = 0;
+ public int rotation = 0;
int scaleX = 1;
int scaleY = 1;
public boolean invertDimensions = false;
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/layout/camera_view.xml b/java/com/android/dialer/callcomposer/cameraui/res/layout/camera_view.xml
index a4198fcf9..8169a3ded 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/layout/camera_view.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/layout/camera_view.xml
@@ -24,7 +24,7 @@
<FrameLayout
android:id="@+id/mediapicker_enabled"
android:layout_width="match_parent"
- android:layout_height="wrap_content" >
+ android:layout_height="wrap_content">
<!-- Default to using the hardware rendered camera preview, we will fall back to
SoftwareCameraPreview in CameraMediaChooserView if needed -->
@@ -37,14 +37,14 @@
<com.android.dialer.callcomposer.camera.camerafocus.RenderOverlay
android:id="@+id/focus_visual"
android:layout_width="match_parent"
- android:layout_height="match_parent" />
+ android:layout_height="match_parent"/>
<View
android:id="@+id/camera_shutter_visual"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
- android:visibility="gone" />
+ android:visibility="gone"/>
<ImageView
android:id="@+id/preview_image_view"
@@ -71,7 +71,8 @@
android:layout_marginEnd="@dimen/camera_view_button_margin"
android:layout_marginBottom="@dimen/camera_view_button_margin"
android:src="@drawable/quantum_ic_fullscreen_white_48"
- android:background="?android:selectableItemBackgroundBorderless"/>
+ android:background="?android:selectableItemBackgroundBorderless"
+ android:contentDescription="@string/description_camera_switch_full_screen"/>
<ImageButton
android:id="@+id/camera_exit_fullscreen"
@@ -82,7 +83,8 @@
android:layout_marginBottom="@dimen/camera_view_button_margin"
android:src="@drawable/quantum_ic_fullscreen_exit_white_48"
android:visibility="gone"
- android:background="?android:selectableItemBackgroundBorderless"/>
+ android:background="?android:selectableItemBackgroundBorderless"
+ android:contentDescription="@string/description_camera_switch_preview_screen"/>
<ImageButton
android:id="@+id/camera_capture_button"
@@ -93,7 +95,7 @@
android:background="?android:selectableItemBackgroundBorderless"
android:src="@drawable/ic_capture"
android:scaleType="fitXY"
- android:contentDescription="@string/camera_take_picture"/>
+ android:contentDescription="@string/description_camera_take_picture"/>
<ImageButton
android:id="@+id/swap_camera_button"
@@ -103,8 +105,7 @@
android:layout_marginStart="@dimen/camera_view_button_margin"
android:layout_marginBottom="@dimen/camera_view_button_margin"
android:src="@drawable/front_back_switch_button_animation"
- android:background="@drawable/transparent_button_background"
- android:contentDescription="@string/camera_switch_camera_rear"/>
+ android:background="@drawable/transparent_button_background"/>
<ImageButton
android:id="@+id/camera_cancel_button"
@@ -116,7 +117,7 @@
android:visibility="gone"
android:background="@drawable/transparent_button_background"
android:src="@drawable/quantum_ic_undo_white_48"
- android:contentDescription="@string/camera_cancel_recording" />
+ android:contentDescription="@string/description_camera_cancel_photo" />
</FrameLayout>
</FrameLayout>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-af/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-af/strings.xml
index 3892a2089..f6326c1ad 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-af/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-af/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Skakel na volskerm-kamera oor"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Knoppie is nou voorste kamera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Knoppie is nou agterste kamera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Stop video-opname"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Gebruik tans voorste kamera"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Gebruik tans agterste kamera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Neem foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Skakel oor na volskerm-kamera"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Skakel oor na kameravoorskou"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Skakel oor na voorste kamera"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Skakel oor na agterste kamera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Neem foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Neem foto weer"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-am/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-am/strings.xml
index e2717986e..87c70c75b 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-am/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-am/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"ወደ ሙሉ ማያ ገጽ ካሜራ ቀይር"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"አዝራር አሁን የፊት ካሜራ ነው"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"አዝራር አሁን የኋላ ካሜራ ነው"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"ቪዲዮ መቅዳትን አቁም"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"የፊት ካሜራ በመጠቀም ላይ"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"የኋላ ካሜራ በመጠቀም ላይ"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ፎቶ ያንሱ"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"ወደ ሙሉ ማያ ገጽ ካሜራ ይቀይሩ"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"ወደ ካሜራ ቅድመ ዕይታ ይቀይሩ"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"ወደ የፊት ካሜራ ይቀይሩ"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"ወደ የኋላ ካሜራ ይቀይሩ"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ፎቶ ያንሱ"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ፎቶ በድጋሚ ያንሱ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ar/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ar/strings.xml
index a045a1141..fa27db7b6 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ar/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ar/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"التبديل إلى الكاميرا بملء الشاشة"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"يشير الزر الآن إلى الكاميرا الأمامية"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"يشير الزر الآن إلى الكاميرا الخلفية"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"إيقاف تسجيل الفيديو"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"استخدام الكاميرا الأمامية"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"استخدام الكاميرا الخلفية"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"التقاط صورة"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"التبديل إلى الكاميرا بملء الشاشة"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"التبديل إلى معاينة الكاميرا"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"تبديل إلى الكاميرا الأمامية"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"تبديل مرة أخرى إلى الكاميرا الأمامية"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"التقاط صورة"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"إعادة التقاط الصورة"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-az/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-az/strings.xml
index 514463c4d..bfbf204cd 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-az/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-az/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Tam ekranlı kameraya keçin"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Düymə indi ön kameradır"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Düymə indi arxa kameradır"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Video qeydi dayandırın"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Ön kamera istifadə olunur"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Arxa kamera istifadə olunur"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Fotoşəkil çəkin"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Tam ekranlı kameraya keçin"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Kamera önizləməsinə keçin"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Ön kameraya keçin"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Arxa kameraya keçin"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Foto çəkin"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Fotonu yenidən çəkin"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-b+sr+Latn/strings.xml
index aad8d9dd8..565b18810 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-b+sr+Latn/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Pređite na prikaz kamere preko celog ekrana"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Dugme sad aktivira prednju kameru"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Dugme sad aktivira zadnju kameru"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Zaustavite snimanje videa"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Koristimo prednju kameru"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Koristimo zadnju kameru"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Snimite sliku"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Prebacite na prikaz kamere preko celog ekrana"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Prebacite na pregled kamere"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Prebacite na prednju kameru"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Prebacite na zadnju kameru"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Snimite sliku"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ponovo snimite sliku"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-be/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-be/strings.xml
index 108ab7f63..f15bbb945 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-be/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-be/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Пераключыцца на поўнаэкранную камеру"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Кнопка зараз замацавана за пярэдняй камерай"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Кнопка зараз замацавана за задняй камерай"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Спыніць запіс відэа"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Выкарыстанне пярэдняй камеры"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Выкарыстанне задняй камеры"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Зрабіць фота"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Пераключыцца на поўнаэкранную камеру"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Пераключыцца ў рэжым перадпрагляду камеры"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Пераключыцца на пярэднюю камеру"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Пераключыцца на заднюю камеру"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Зрабіць фота"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Зрабіць фота яшчэ раз"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-bg/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-bg/strings.xml
index e965ed9b3..92352ffdb 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-bg/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-bg/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Превключване към камера на цял екран"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Бутонът сега е за предната камера"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Бутонът сега е за задната камера"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Спиране на видеозаписа"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Използва се предната камера"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Използва се задната камера"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Правене на снимка"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Превключване към камера на цял екран"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Превключване към визуализация на камерата"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Превключване към предната камера"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Превключване към задната камера."</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Снимане"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Повторно снимане"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-bn/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-bn/strings.xml
index 447b7e36b..83774c767 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-bn/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-bn/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"পূর্ণ স্ক্রীন ক্যামেরাতে পাল্টান"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"বোতামটিকে এখন সামনের ক্যামেরার জন্য ব্যবহার করা হবে"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"বোতামটিকে এখন পিছনের ক্যামেরার জন্য ব্যবহার করা হবে"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"ভিডিও রেকর্ডিং বন্ধ করুন"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"সামনের ক্যামেরা ব্যবহার করা হচ্ছে"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"পিছনের ক্যামেরা ব্যবহার করা হচ্ছে"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ফটো তুলুন"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"সম্পূর্ণ স্ক্রীন জুড়ে ক্যামেরা খুলুন"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"ক্যামেরার পূর্বরূপ মোডে পাল্টান"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"সামনের ক্যামেরাতে পাল্টান"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"পিছনের ক্যামেরাতে পাল্টান"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ফটো তুলুন"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"আবার ফটো তুলুন"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-bs/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-bs/strings.xml
index 8946f4f4d..c77a5de8d 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-bs/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-bs/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Prebaci na kameru preko cijelog ekrana"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Dugme je sada prednja kamera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Dugme je sada zadnja kamera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Zaustavi snimanje videozapisa"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Koristi se prednja kamera"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Koristi se zadnja kamera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Snimi fotografiju"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Prebaci na kameru preko cijelog ekrana"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Prebaci na pregled kamere"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Prebaci na prednju kameru"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Prebaci na stražnju kameru"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Snimi fotografiju"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ponovo snimi fotografiju"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ca/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ca/strings.xml
index 6d8ffdc4e..39c069b88 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ca/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ca/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Canvia a la càmera en pantalla completa"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"El botó ara és la càmera frontal"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"El botó ara és la càmera posterior"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Deixa d\'enregistrar el vídeo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"S\'està utilitzant la càmera frontal"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"S\'està utilitzant la càmera posterior"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Fes una foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Canvia a la càmera en pantalla completa"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Canvia a la previsualització de la càmera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Canvia a la càmera frontal"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Canvia a la càmera posterior"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Fes una foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Torna a fer la foto"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-cs/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-cs/strings.xml
index 0e3110809..222eb812e 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-cs/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-cs/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Přepnout na fotoaparát na celou obrazovku"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Tlačítko nyní funguje pro přední fotoaparát"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Tlačítko nyní funguje pro zadní fotoaparát"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Zastavit natáčení videa"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Používá se přední fotoaparát"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Používá se zadní fotoaparát"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Vyfotit"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Přepnout na fotoaparát na celou obrazovku"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Přepnout na náhled fotoaparátu"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Přepnout na přední fotoaparát"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Přepnout na zadní fotoaparát"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Vyfotit"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Znovu vyfotit"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-da/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-da/strings.xml
index ca5a79e89..0de7e0861 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-da/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-da/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Skift til kamera i fuld skærm"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Knappen er nu frontkamera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Knappen er nu bagsidekamera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Stands optagelse af video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Bruger frontkameraet"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Bruger bagsidekameraet"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Tag billede"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Skift til kamera i fuld skærm"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Skift til forhåndsvisning af kamera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Skift til kamera på forsiden"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Skift til kamera på bagsiden"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Tag billede"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Tag billedet om"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-de/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-de/strings.xml
index 53d22eba5..1b0d63906 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-de/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-de/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Zur Vollbildkamera wechseln"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Schaltfläche ist jetzt Frontkamera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Schaltfläche ist jetzt Rückkamera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Videoaufzeichnung beenden"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Frontkamera wird verwendet"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Rückkamera wird verwendet"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Foto aufnehmen"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Zur Vollbildkamera wechseln"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Zur Kameravorschau wechseln"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Zur Frontkamera wechseln"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Zur Rückkamera wechseln"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Foto aufnehmen"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Foto neu aufnehmen"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-el/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-el/strings.xml
index 5763dec95..d657f936f 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-el/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-el/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Εναλλαγή σε κάμερα πλήρους οθόνης"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Το κουμπί είναι τώρα η μπροστινή κάμερα"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Το κουμπί είναι τώρα η πίσω κάμερα"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Διακοπή εγγραφής βίντεο"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Χρήση μπροστινής κάμερας"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Χρήση πίσω κάμερας"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Λήψη φωτογραφίας"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Εναλλαγή σε κάμερα πλήρους οθόνης"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Εναλλαγή σε προεπισκόπηση κάμερας"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Εναλλαγή σε κάμερα πρόσοψης"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Εναλλαγή σε πίσω κάμερα"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Λήψη φωτογραφίας"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Επανάληψη λήψης φωτογραφίας"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-en-rAU/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-en-rAU/strings.xml
index 5b8b4aa26..9e76a69a5 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-en-rAU/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Switch to full-screen camera"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Button is now front-facing camera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Button is now rear-facing camera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Stop recording video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Using front-facing camera"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Using rear-facing camera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Take photo"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Switch to full-screen camera"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Switch to camera preview"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Switch to front-facing camera"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Switch to rear-facing camera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Take photo"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Retake photo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-en-rGB/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-en-rGB/strings.xml
index 5b8b4aa26..9e76a69a5 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-en-rGB/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Switch to full-screen camera"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Button is now front-facing camera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Button is now rear-facing camera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Stop recording video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Using front-facing camera"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Using rear-facing camera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Take photo"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Switch to full-screen camera"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Switch to camera preview"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Switch to front-facing camera"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Switch to rear-facing camera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Take photo"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Retake photo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-en-rIN/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-en-rIN/strings.xml
index 5b8b4aa26..9e76a69a5 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-en-rIN/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Switch to full-screen camera"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Button is now front-facing camera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Button is now rear-facing camera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Stop recording video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Using front-facing camera"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Using rear-facing camera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Take photo"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Switch to full-screen camera"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Switch to camera preview"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Switch to front-facing camera"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Switch to rear-facing camera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Take photo"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Retake photo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-es-rUS/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-es-rUS/strings.xml
index a98e74c08..f10356496 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-es-rUS/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Cambiar a cámara en pantalla completa"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"El botón cambió a la cámara frontal"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"El botón cambió a la cámara trasera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Detener la grabación de video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Usando la cámara frontal"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Usando la cámara trasera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Tomar una foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Cambiar a cámara en pantalla completa"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Cambiar a vista previa de la cámara"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Cambiar a cámara frontal"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Cambiar a cámara trasera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Tomar foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Volver a tomar foto"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-es/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-es/strings.xml
index 5c4391ebc..5afb8c8c3 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-es/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-es/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Cambiar a cámara en pantalla completa"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"El botón se usa ahora para la cámara frontal"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"El botón se usa ahora para la cámara trasera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Detener la grabación de vídeo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Estás utilizando la cámara frontal"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Estás utilizando la cámara trasera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Hacer una foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Cambiar a la cámara en pantalla completa"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Cambiar a la vista previa de la cámara"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Cambiar a la cámara frontal"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Cambiar a la cámara trasera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Hacer una foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Repetir la foto"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-et/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-et/strings.xml
index d82dcd5df..d4c37fee9 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-et/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-et/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Täisekraaniga kaamerale lülitamine"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Nuppu kasutatakse nüüd esikaamera jaoks"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Nuppu kasutatakse nüüd tagakaamera jaoks"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Video salvestamise peatamine"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Esikaamera kasutamine"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Tagakaamera kasutamine"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Foto jäädvustamine"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Täisekraaniga kaamerale lülitumine"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Kaamera eelvaatele lülitumine"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Esikaamerale lülitumine"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Tagakaamerale lülitumine"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Foto jäädvustamine"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Foto uuesti jäädvustamine"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-eu/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-eu/strings.xml
index b3c20c9e1..4271983ed 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-eu/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-eu/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Erabili pantaila osoko kamera"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Orain, aurreko kamera erabiltzeko da botoia"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Orain, atzeko kamera erabiltzeko da botoia"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Utzi bideoa grabatzeari"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Aurreko kamera erabiltzen"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Atzeko kamera erabiltzen"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Atera argazkia"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Erabili pantaila osoko kamera"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Erabili kameraren aurrebista"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Erabili aurreko kamera"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Erabili atzeko kamera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Atera argazkia"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Atera berriro argazkia"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-fa/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-fa/strings.xml
index 24e757bae..5d5877101 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-fa/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-fa/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"جابه‌جایی به دوربین تمام صفحه"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"اکنون دکمه، دوربین جلو است"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"اکنون دکمه، دوربین عقب است"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"توقف ضبط ویدیو"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"استفاده از دوربین جلو"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"استفاده از دوربین عقب"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"عکس گرفتن"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"رفتن به دوربین تمام صفحه"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"رفتن به پیش‌نمایش دوربین"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"رفتن به دوربین جلو"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"رفتن به دوربین عقب"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"عکس گرفتن"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"عکس گرفتن مجدد"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-fi/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-fi/strings.xml
index 5a3ddd8ce..9d7cb0922 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-fi/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-fi/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Siirry koko näytön kameraan"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Painikkeeseen on nyt määritetty etukamera."</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Painikkeeseen on nyt määritetty takakamera."</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Lopeta videon tallentaminen"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Etukamera käytössä"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Takakamera käytössä"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Ota kuva"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Siirry koko näytön kameraan"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Siirry kameran esikatseluun"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Vaihda etukameraan"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Vaihda takakameraan"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Ota kuva"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ota kuva uudelleen"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-fr-rCA/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-fr-rCA/strings.xml
index f0e644e18..b20284080 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-fr-rCA/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Passer au mode plein écran de l\'appareil photo"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Le bouton est maintenant utilisé pour l\'appareil photo avant"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Le bouton est maintenant utilisé pour l\'appareil photo arrière"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Arrêter l\'enregistrement vidéo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Utilisation de la caméra avant"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Utilisation de la caméra arrière"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Prendre une photo"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Passer au mode Plein écran de l\'appareil photo"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Passer au mode Aperçu de l\'appareil photo"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Passer à l\'appareil photo avant"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Passer à l\'appareil photo arrière"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Prendre une photo"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Reprendre la photo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-fr/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-fr/strings.xml
index 72de07f44..a9cfe7124 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-fr/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-fr/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Passer en caméra plein écran"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Le bouton affiche désormais la caméra frontale."</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Le bouton affiche désormais la caméra arrière."</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Arrêter l\'enregistrement vidéo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Caméra frontale activée"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Caméra arrière activée"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Prendre une photo"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Passer en mode plein écran"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Passer en mode aperçu"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Utiliser la caméra avant"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Utiliser la caméra arrière"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Prendre une photo"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Reprendre la photo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-gl/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-gl/strings.xml
index 2ab1ef04a..3568a0fc3 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-gl/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-gl/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Cambiar á cámara de pantalla completa"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Agora o botón é a cámara dianteira"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Agora o botón é a cámara traseira"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Deter gravación de vídeo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Estase utilizando a cámara frontal"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Estase utilizando a cámara traseira"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Tirar foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Cambia á cámara de pantalla completa"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Cambia á vista previa da cámara"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Cambia á cámara frontal"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Cambia á cámara traseira"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Tira unha foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Repite a foto"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-gu/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-gu/strings.xml
index 60780d940..88037b582 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-gu/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-gu/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"પૂર્ણ સ્ક્રીન કૅમેરા પર સ્વિચ કરો"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"બટન હવે આગળનો કૅમેરો છે"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"બટન હવે પાછળનો કૅમેરો છે"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"વિડિઓ રેકોર્ડિંગ બંધ કરો"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"આગળના કૅમેરાનો ઉપયોગ કરી રહ્યાં છે"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"પાછળના કૅમેરાનો ઉપયોગ કરી રહ્યાં છે"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ફોટો લો"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"પૂર્ણ સ્ક્રીન કૅમેરા પર સ્વિચ કરો"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"કૅમેરા પૂર્વાવલોકન પર સ્વીચ કરો"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"ફ્ર્ન્ટ ફેસિંગ કૅમેરા પર સ્વિચ કરો"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"પાછળના કૅમેરા પર સ્વિચ કરો"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ફોટો લો"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ફોટો ફરીથી લો"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-hi/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-hi/strings.xml
index cf89a7d16..09a441f08 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-hi/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-hi/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"पूर्ण स्क्रीन कैमरा पर स्विच करें"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"बटन अब सामने का कैमरा है"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"बटन अब पीछे का कैमरा है"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"वीडियो रिकॉर्ड करना बंद करें"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"आगे वाले कैमरे का उपयोग करना"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"पीछे वाले कैमरे का उपयोग करना"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"फ़ोटो लें"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"पूर्ण स्क्रीन कैमरे में बदलें"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"कैमरा पूर्वावलोकन में बदलें"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"सामने वाले कैमरे में बदलें"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"पीछे वाले कैमरे में बदलें"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"फ़ोटो लें"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"फि‍र से फ़ोटो लें"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-hr/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-hr/strings.xml
index 3d59fd40f..2dca9bd45 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-hr/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-hr/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Prebaci na fotoaparat na punom zaslonu"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Gumb je sada za prednji fotoaparat"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Gumb je sada za stražnji fotoaparat"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Zaustavi snimanje videozapisa"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Upotreba prednje kamere"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Upotreba stražnje kamere"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Snimi fotografiju"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Prebaci na prikaz fotoaparata preko cijelog zaslona"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Prebaci na pregled fotoaparata"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Prebaci na prednji fotoaparat"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Prebaci na stražnji fotoaparat"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Snimi fotografiju"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ponovno snimi fotografiju"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-hu/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-hu/strings.xml
index 1639ca7d2..5007b3f73 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-hu/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-hu/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Váltás teljes képernyős kameranézetre"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"A gomb beállítása jelenleg: elülső kamera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"A gomb beállítása jelenleg: hátsó kamera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Videofelvétel leállítása"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Első kamera használata"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Hátsó kamera használata"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Fotó készítése"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Váltás teljes képernyős kameranézetre"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Váltás kamera-előnézetre"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Váltás az első kamerára"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Váltás a hátsó kamerára"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Fotó készítése"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Új felvétel"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-hy/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-hy/strings.xml
index 1da5c684d..2c1bd79e6 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-hy/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-hy/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Միացնել լիաէկրան ռեժիմը"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Կոճակն այժմ առջևի տեսախցիկը միացնելու կոճակն է"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Կոճակն այժմ հետևի տեսախցիկը միացնելու կոճակն է"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Դադարեցնել տեսագրումը"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Օգտագործվում է առջևի տեսախցիկը"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Օգտագործվում է հետևի տեսախցիկը"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Լուսանկարել"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Միացնել լիաէկրան ռեժիմը"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Միացնել նախադիտման ռեժիմը"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Միացնել առջևի տեսախցիկը"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Միացնել հետևի տեսախցիկը"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Լուսանկարել"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Նորից լուսանկարել"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-in/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-in/strings.xml
index 6073d8e3e..4c922cd41 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-in/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-in/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Beralih ke kamera layar penuh"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Tombol kini berfungsi untuk kamera depan"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Tombol kini berfungsi untuk kamera belakang"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Berhenti merekam video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Menggunakan kamera depan"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Menggunakan kamera belakang"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Ambil foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Beralih ke kamera layar penuh"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Beralih ke pratinjau kamera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Beralih ke kamera depan"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Beralih ke kamera belakang"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Ambil foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ambil ulang foto"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-is/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-is/strings.xml
index d16b2e206..c796d2295 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-is/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-is/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Skipta yfir í myndavél á öllum skjánum"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Hnappurinn er nú fremri myndavél"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Hnappurinn er nú aftari myndavél"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Stöðva upptöku myndskeiðs"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Notar fremri myndavél"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Notar aftari myndavél"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Taka mynd"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Skipta yfir í myndavél á öllum skjánum"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Skipta yfir í forskoðun á myndavél"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Skipta yfir í fremri myndavél"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Skipta yfir í aftari myndavél"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Taka mynd"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Taka mynd aftur"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-it/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-it/strings.xml
index 63fac0711..abf5d3f5e 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-it/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-it/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Passa alla fotocamera a schermo intero"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Il pulsante viene ora utilizzato per la fotocamera frontale"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Il pulsante viene ora utilizzato per la fotocamera posteriore"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Interrompi registrazione video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"In uso la fotocamera frontale"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"In uso la fotocamera posteriore"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Scatta foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Passa alla fotocamera a schermo intero"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Passa all\'anteprima della fotocamera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Passa alla fotocamera anteriore"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Passa alla fotocamera posteriore"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Scatta foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Scatta foto di nuovo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-iw/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-iw/strings.xml
index 3db2e9461..e6aed2e96 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-iw/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-iw/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"מעבר למצלמה במסך מלא"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"הלחצן מוגדר עכשיו למצלמה הקדמית"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"הלחצן מוגדר עכשיו למצלמה האחורית"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"עצירה של צילום הווידאו"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"באמצעות המצלמה הקדמית"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"באמצעות המצלמה האחורית"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"צילום תמונה"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"מעבר למצלמה במסך מלא"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"מעבר לתצוגה מקדימה של המצלמה"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"מעבר למצלמה הקדמית"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"מעבר למצלמה האחורית"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"צילום תמונה"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"צילום מחדש של התמונה"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ja/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ja/strings.xml
index ffb3a1762..85ef3c8d7 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ja/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ja/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"全画面カメラに切り替え"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"現在、ボタンは前面カメラになっています"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"現在、ボタンは背面カメラになっています"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"録画を停止"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"前面カメラを使用しています"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"背面カメラを使用しています"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"写真を撮る"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"全画面カメラに切り替えます"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"カメラのプレビューに切り替えます"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"前面カメラに切り替えます"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"背面カメラに切り替えます"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"写真を撮影します"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"写真を撮り直します"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ka/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ka/strings.xml
index 6a94b656c..edaf33ffe 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ka/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ka/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"სრულეკრანიან კამერაზე გადართვა"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"ახლა ღილაკი გამოიყენება წინა კამერისთვის"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"ახლა ღილაკი გამოიყენება უკანა კამერისთვის"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"ვიდეოს ჩაწერის შეჩერება"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"თქვენ იყენებთ წინა კამერას"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"თქვენ იყენებთ უკანა კამერას"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ფოტოს გადაღება"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"სრულეკრანიან კამერაზე გადართვა"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"კამერის წინასწარ ხედზე გადართვა"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"წინა კამერაზე გადართვა"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"უკანა კამერაზე გადართვა"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ფოტოს გადაღება"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ფოტოს ხელახლა გადაღება"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-kk/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-kk/strings.xml
index 22b89fdbf..795a06392 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-kk/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-kk/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Толық экранды камераға ауысу"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Түйме – енді алдыңғы камера"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Түйме – енді артқы камера"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Бейне жазуды тоқтату"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Алдыңғы камера қолданылуда"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Артқы камера қолданылуда"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Суретке түсіру"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Толық экранды камераға ауысу"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Камераның алдын ала көру режиміне ауысу"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Камераның анфас режиміне ауысу"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Камераның қалыпты режиміне ауысу"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Суретке түсіру"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Суретке қайта түсіру"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-km/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-km/strings.xml
index dd547ddc4..377f885cb 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-km/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-km/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"ប្ដូរ​ទៅ​កាមេរ៉ា​ពេញ​អេក្រង់"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"ឥឡូវ ប៊ូតុង​ស្ថិត​នៅ​​កាមេរ៉ា​មុខ"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"ឥឡូវ ប៊ូតុងស្ថិត​នៅ​កាមេរ៉ា​ក្រោយ"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"បញ្ឈប់​ការ​ថត​វីដេអូ"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"កំពុង​ប្រើ​ប្រាស់​កាមេរ៉ា​មុខ"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"កំពុង​ប្រើប្រាស់​​​កាមេរ៉ា​ក្រោយ"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ថតរូប"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"ប្ដូរ​ទៅ​កាមេរ៉ា​ពេញ​អេក្រង់"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"ប្ដូរ​ទៅ​ការមើល​កាមេរ៉ា​សាកល្បង"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"ប្ដូរ​ទៅ​កាមេរ៉ា​ខាង​មុខ"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"ប្តូរទៅកាមេរ៉ាខាងក្រោយ"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ថតរូប"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ថតរូប​ឡើងវិញ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-kn/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-kn/strings.xml
index 471cfc9db..1f5d1ea54 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-kn/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-kn/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"ಪೂರ್ಣ ಪರದೆ ಕ್ಯಾಮರಾಗೆ ಬದಲಿಸಿ"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"ಬಟನ್ ಈಗ ಮುಂಬದಿ ಕ್ಯಾಮರಾದಲ್ಲಿ"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"ಬಟನ್ ಈಗ ಹಿಂಬದಿ ಕ್ಯಾಮರಾದಲ್ಲಿ"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"ವೀಡಿಯೊ ರೆಕಾರ್ಡಿಂಗ್ ನಿಲ್ಲಿಸಿ"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"ಮುಂಬದಿ ಕ್ಯಾಮರಾ ಬಳಸಲಾಗುತ್ತಿದೆ"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"ಹಿಂಬದಿ ಕ್ಯಾಮರಾ ಬಳಸಲಾಗುತ್ತಿದೆ"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ಫೋಟೋ ತೆಗೆಯಿರಿ"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"ಪೂರ್ಣ ಪರದೆ ಕ್ಯಾಮರಾಗೆ ಬದಲಿಸಿ"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"ಕ್ಯಾಮರಾ ಪೂರ್ವವೀಕ್ಷಣೆಗೆ ಬದಲಾಯಿಸಿ"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"ಮುಂಬದಿಯ ಕ್ಯಾಮರಾಗೆ ಬದಲಾಯಿಸಿ"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"ಹಿಂಬದಿಯ ಕ್ಯಾಮರಾಗೆ ಬದಲಾಯಿಸಿ"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ಫೋಟೋ ತೆಗೆಯಿರಿ"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ಫೋಟೋವನ್ನು ಮರುಸೆರೆಹಿಡಿಯಿರಿ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ko/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ko/strings.xml
index bb5e64dbc..1b675e746 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ko/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ko/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"전체화면 카메라로 전환"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"현재 버튼: 전면 카메라"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"현재 버튼: 후면 카메라"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"동영상 녹화 중지"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"전면 카메라 사용 중"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"후면 카메라 사용 중"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"사진 촬영"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"전체화면 카메라로 전환"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"카메라 미리보기로 전환"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"전면 카메라로 전환"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"후면 카메라로 전환"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"사진 찍기"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"사진 다시 찍기"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ky/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ky/strings.xml
index fca2893d8..771f5769d 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ky/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ky/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Камераны толук экранга которуу"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Азыр баскычта \"Маңдайкы камера\" деп жазылып турат"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Азыр баскычта \"Арткы камера\" деп жазылып турат"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Видео жаздырууну токтотуу"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Маңдайкы камера колдонулууда"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Арткы камера колдонулууда"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Сүрөткө тартуу"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Камераны толук экранга которуу"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Камераны алдын ала көрүү режимине которуу"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Маңдайкы камерага которуу"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Арткы камерага которуу"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Сүрөткө тартуу"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Кайра сүрөткө тартуу"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-lo/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-lo/strings.xml
index 0257e75aa..6bfdf4e76 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-lo/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-lo/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"ສະຫຼັບໄປໃຊ້ກ້ອງແບບເຕັມຈໍ"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"ຕອນນີ້ເປັນປຸ່ມກ້ອງໜ້າແລ້ວ"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"ຕອນນີ້ເປັນປຸ່ມກ້ອງຫຼັງແລ້ວ"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"ຢຸດການບັນທຶກວິດີໂອ"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"ກຳລັງໃຊ້ກ້ອງໜ້າ"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"ກຳລັງໃຊ້ກ້ອງຫຼັງ"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ຖ່າຍຮູບ"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"ສະຫຼັບໄປໃຊ້ກ້ອງແບບເຕັມຈໍ"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"ສະຫຼັບໄປໃຊ້ຕົວຢ່າງກ້ອງ"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"ສະຫຼັບໄປໃຊ້ກ້ອງໜ້າ"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"ສະຫຼັບໄປໃຊ້ກ້ອງຫຼັງ"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ຖ່າຍຮູບ"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ຖ່າຍຮູບໃໝ່"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-lt/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-lt/strings.xml
index 62c6de992..6ff3b0db6 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-lt/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-lt/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Perjungti į viso ekrano režimu veikiantį fotoaparatą"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Dabar tai yra priekinio fotoaparato mygtukas"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Dabar tai yra užpakalinio fotoaparato mygtukas"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Sustabdyti vaizdo įrašymą"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Naudojamas priekinis fotoaparatas"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Naudojamas užpakalinis fotoaparatas"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Fotografuoti"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Perjungti į viso ekrano režimu veikiantį fotoaparatą"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Perjungti į fotoaparato peržiūrą"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Perjungti į priekinį fotoaparatą"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Perjungti į užpakalinį fotoaparatą"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Fotografuoti"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Fotografuoti iš naujo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-lv/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-lv/strings.xml
index 4800f6bb1..d6d4782fb 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-lv/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-lv/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Pārslēgties uz pilnekrāna kameru"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Poga tagad tiek izmantota priekšējai kamerai"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Poga tagad tiek izmantota aizmugurējai kamerai"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Pārtraukt videoklipa ierakstīšanu"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Tiek izmantota priekšējā kamera"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Tiek izmantota aizmugurējā kamera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Uzņemt fotoattēlu"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Pārslēgt uz pilnekrāna kameru"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Pārslēgt uz kameras priekšskatījumu"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Pārslēgt uz priekšējo kameru"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Pārslēgt uz aizmugurējo kameru"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Uzņemt fotoattēlu"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Atkārtoti uzņemt fotoattēlu"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-mk/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-mk/strings.xml
index 82c466fb4..a0f84a035 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-mk/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-mk/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Префрлете на камера на цел екран"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Копчето е сега предна камера"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Копчето е сега задна камера"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Сопрете со снимање видео"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Се користи предната камера"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Се користи задната камера"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Фотографирај"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Префрлете на камера на цел екран"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Префрлете на преглед на камера"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Префрлете на предна камера"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Префрлете на задна камера"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Фотографирај"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Фотографирај пак"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ml/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ml/strings.xml
index 0423da257..77c0a4f85 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ml/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ml/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"പൂർണ്ണസ്ക്രീൻ ക്യാമറയിലേക്ക് മാറുക"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"ബട്ടൺ അമർത്തിയാൻ മുൻ ക്യാമറ ലഭിക്കും"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"ബട്ടൺ അമർത്തിയാൻ പിൻ ക്യാമറ ലഭിക്കും"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"വീഡിയോ റെക്കോർഡുചെയ്യൽ നിർത്തുക"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"മുൻവശത്തെ ക്യാമറ ഉപയോഗിക്കുന്നു"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"പിൻഭാഗത്തുള്ള ക്യാമറ ഉപയോഗിക്കുന്നു"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ഫോട്ടോ എടുക്കുക"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"പൂർണ്ണസ്ക്രീൻ ക്യാമറയിലേക്ക് മാറുക"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"ക്യാമറ പ്രിവ്യൂവിലേക്ക് മാറുക"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"മുൻ ക്യാമറയിലേക്ക് മാറുക"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"പിൻ ക്യാമറയിലേക്ക് മാറുക"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ഫോട്ടോ എടുക്കുക"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ഫോട്ടോ വീണ്ടുമെടുക്കുക"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-mn/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-mn/strings.xml
index 024e00468..1894634ea 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-mn/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-mn/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Бүтэн дэлгэцийн камер руу сэлгэх"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Товчлуур нь урд талын камер боллоо"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Товчлуур нь ард талын камер боллоо"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Видео бичилтийг зогсоох"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Урд камер ашиглаж байна"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Арын камер ашиглаж байна"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Зураг авах"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Бүтэн дэлгэцийн камер руу сэлгэх"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Камерын урьдчилан үзэх рүү сэлгэх"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Урд талын камер руу сэлгэх"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Ар талын камер руу сэлгэх"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Зураг авах"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Зураг дахин авах"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-mr/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-mr/strings.xml
index bc9c2fb1d..24c1931d9 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-mr/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-mr/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"पूर्ण स्क्रीन कॅमेर्‍यावर स्विच करा"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"बटण आता पुढील कॅमेरा आहे"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"बटण आता मागील कॅमेरा आहे"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"व्हिडिओ रेकॉर्ड करणे थांबवा"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"समोरील कॅमेरा वापरत आहे"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"मागील कॅमेरा वापरत आहे"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"फोटो घ्‍या"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"पूर्ण स्क्रीन कॅमेर्‍यावर स्विच करा"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"कॅमेरा पूर्वावलोकनावर स्विच करा"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"समोरील कॅमऱ्यावर स्विच करा"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"मागील कॅमेर्‍यावर स्‍विच करा"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"फोटो घ्‍या"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"फोटो पुन्हा घ्या"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ms/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ms/strings.xml
index 3245b9c9f..44806f53e 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ms/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ms/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Tukar kepada kamera skrin penuh"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Butang kini kamera depan"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Butang kini kamera belakang"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Berhenti merakam video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Menggunakan kamera depan"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Menggunakan kamera belakang"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Ambil foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Beralih ke kamera skrin penuh"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Beralih ke pratonton kamera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Beralih ke kamera menghadap depan"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Beralih ke kamera menghadap belakang"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Ambil foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ambil semula foto"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-my/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-my/strings.xml
index 884c0c896..7112abc7d 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-my/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-my/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"မျက်နှာပြင်အပြည့်ကင်မရာသို့ ပြောင်းရန်"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"ခလုတ်မှာ အရှေ့ကင်မရာအတွက် ဖြစ်သွားပါပြီ"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"ခလုတ်မှာ အနောက်ကင်မရာအတွက် ဖြစ်သွားပါပြီ"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"ဗီဒီယိုရိုက်ကူးခြင်း ရပ်ရန်"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"အရှေ့ကင်မရာကို သုံးနေသည်"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"အနောက်ကင်မရာကို သုံးနေသည်"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ဓာတ်ပုံရိုက်ရန်"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"မျက်နှာပြင်အပြည့်ကင်မရာသို့ ပြောင်းရန်"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"ကင်မရာအစမ်းကြည့်ရှုမှုသို့ ပြောင်းရန်"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"အရှေ့ကင်မရာသို့ ပြောင်းရန်"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"အနောက်ကင်မရာသို့ ပြောင်းရန်"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ဓာတ်ပုံရိုက်ရန်"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ဓာတ်ပုံပြန်ရိုက်ရန်"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-nb/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-nb/strings.xml
index bfa58ed61..5e5fb601e 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-nb/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-nb/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Bytt til fullskjermkamera"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Nå er knappen frontkameraet"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Nå er knappen det bakre kameraet"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Slutt å filme"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Bruker frontkameraet"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Bruker det bakre kameraet"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Ta et bilde"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Bytt til fullskjermkamera"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Bytt til forhåndsvisning for kamera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Bytt til frontkamera"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Bytt til bakovervendt kamera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Ta bilde"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ta bilde på nytt"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ne/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ne/strings.xml
index 1362b328b..d8ea7954c 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ne/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ne/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"पूर्ण स्क्रिन क्यामेरामा बदल्नुहोस्"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"बटन अब अगाडिको क्यामेराका लागि हो"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"बटन अब पछाडिको क्यामेराका लागि हो"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"भिडियो रेकर्ड रोक्नुहोस्"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"अगाडिको क्यामेरा प्रयोग गरिँदै"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"पछाडिको क्यामेरा प्रयोग गरिँदै"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"तस्बिर खिच्नुहोस्"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"पूर्ण स्क्रिन क्यामेरामा बदल्नुहोस्"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"क्यामेराको पूर्वावलोकन मोडमा बदल्नुहोस्"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"अगाडिपट्टिको क्यामेरामा बदल्नुहोस्"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"पछाडिपट्टिको क्यामेरामा बदल्नुहोस्"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"तस्बिर खिच्नुहोस्"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"पुन: तस्बिर खिच्नुहोस्"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-nl/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-nl/strings.xml
index 94f271875..0369fedaa 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-nl/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-nl/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Overschakelen naar camera op volledig scherm"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"De knop wordt nu gebruikt voor de camera aan de voorzijde"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"De knop wordt nu gebruikt voor de camera aan de achterzijde"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Video-opname stoppen"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"De camera aan de voorzijde wordt gebruikt"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"De camera aan de achterzijde wordt gebruikt"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Foto maken"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Overschakelen naar camera op volledig scherm"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Overschakelen naar cameravoorbeeld"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Overschakelen naar camera aan voorzijde"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Overschakelen naar camera aan achterzijde"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Foto maken"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Foto opnieuw maken"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-no/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-no/strings.xml
index bfa58ed61..5e5fb601e 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-no/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-no/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Bytt til fullskjermkamera"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Nå er knappen frontkameraet"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Nå er knappen det bakre kameraet"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Slutt å filme"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Bruker frontkameraet"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Bruker det bakre kameraet"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Ta et bilde"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Bytt til fullskjermkamera"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Bytt til forhåndsvisning for kamera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Bytt til frontkamera"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Bytt til bakovervendt kamera"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Ta bilde"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ta bilde på nytt"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-pa/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-pa/strings.xml
index 4296c9804..e1247e071 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-pa/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-pa/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"ਬਦਲੀ ਕਰਕੇ ਸੰਪੂਰਨ ਸਕ੍ਰੀਨ ਕੈਮਰਾ \'ਤੇ ਜਾਓ"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"ਬਟਨ ਹੁਣ ਮੂਹਰਲਾ ਕੈਮਰਾ ਹੈ"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"ਬਟਨ ਹੁਣ ਪਿਛਲਾ ਕੈਮਰਾ ਹੈ"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨਾ ਬੰਦ ਕਰੋ"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"ਮੂਹਰਲਾ ਕੈਮਰਾ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"ਪਿਛਲਾ ਕੈਮਰਾ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ਫ਼ੋਟੋ ਖਿੱਚੋ"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"ਬਦਲੀ ਕਰਕੇ ਸੰਪੂਰਨ ਸਕ੍ਰੀਨ ਕੈਮਰੇ \'ਤੇ ਜਾਓ"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"ਬਦਲੀ ਕਰਕੇ ਕੈਮਰਾ ਪੂਰਵ-ਝਲਕ \'ਤੇ ਜਾਓ"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"ਬਦਲੀ ਕਰਕੇ ਮੂਹਰਲੇ ਕੈਮਰੇ \'ਤੇ ਜਾਓ"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"ਬਦਲੀ ਕਰਕੇ ਪਿਛਲੇ ਕੈਮਰੇ \'ਤੇ ਜਾਓ"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ਫ਼ੋਟੋ ਖਿੱਚੋ"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ਫ਼ੋਟੋ ਮੁੜ-ਖਿੱਚੋ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-pl/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-pl/strings.xml
index 0e03e2d87..b85afa6aa 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-pl/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-pl/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Włącz aparat pełnoekranowy"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Przycisk włącza teraz przedni aparat"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Przycisk włącza teraz tylny aparat"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Zatrzymaj nagrywanie filmu"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Używany jest przedni aparat"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Używany jest tylny aparat"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Zrób zdjęcie"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Przełącz na aparat pełnoekranowy"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Przełącz na podgląd aparatu"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Przełącz na przedni aparat"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Przełącz na tylny aparat"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Zrób zdjęcie"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Zrób nowe zdjęcie"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-pt-rBR/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-pt-rBR/strings.xml
index 7c1fa0723..59f457c43 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-pt-rBR/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Alternar para câmera em tela cheia"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"O botão agora está na câmera frontal"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"O botão agora está na câmera traseira"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Parar gravação de vídeo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Usando a câmera frontal"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Usando a câmera traseira"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Tirar foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Alternar para câmera em tela cheia"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Alternar para visualização da câmera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Alternar para câmera frontal"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Alternar para câmera traseira"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Tirar foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Tirar foto novamente"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-pt-rPT/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-pt-rPT/strings.xml
index 661b4d943..71f651dcb 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-pt-rPT/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Mudar para a câmara de ecrã completo"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"O botão é agora utilizado para a câmara frontal"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"O botão é agora utilizado para a câmara posterior"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Parar a gravação de vídeo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"A utilizar a câmara frontal"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"A utilizar a câmara posterior"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Tirar foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Mudar para a câmara de ecrã completo"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Mudar para a pré-visualização da câmara"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Mudar para a câmara frontal"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Mudar para a câmara traseira"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Tirar foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Tirar nova foto"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-pt/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-pt/strings.xml
index 7c1fa0723..59f457c43 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-pt/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-pt/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Alternar para câmera em tela cheia"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"O botão agora está na câmera frontal"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"O botão agora está na câmera traseira"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Parar gravação de vídeo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Usando a câmera frontal"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Usando a câmera traseira"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Tirar foto"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Alternar para câmera em tela cheia"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Alternar para visualização da câmera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Alternar para câmera frontal"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Alternar para câmera traseira"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Tirar foto"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Tirar foto novamente"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ro/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ro/strings.xml
index 98d00502b..f491f2887 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ro/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ro/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Comutați la camera pe ecran complet"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Acum butonul este pentru camera foto frontală."</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Acum butonul este pentru camera foto posterioară."</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Opriți înregistrarea video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Este folosită camera foto frontală"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Este folosită camera foto posterioară"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Fotografiați"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Comutați la camera pe ecran complet"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Comutați la previzualizarea camerei"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Comutați la camera frontală"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Comutați la camera posterioară"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Fotografiați"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Refaceți fotografia"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ru/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ru/strings.xml
index a4c7206d0..9de3cabab 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ru/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ru/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Перейти в полноэкранный режим"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Сейчас на кнопке написано: Фронтальная камера"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Сейчас на кнопке написано: Основная камера"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Остановить запись видео"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Используется фронтальная камера"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Используется основная камера"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Сделать снимок"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Переключиться в полноэкранный режим"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Переключиться в режим предварительного просмотра"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Переключиться на фронтальную камеру"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Переключиться на основную камеру"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Сделать снимок"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Новый снимок"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-si/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-si/strings.xml
index 6cc5eef43..1747d1a37 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-si/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-si/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"පූර්ණ තිර කැමරාව වෙත මාරුවීම"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"බොත්තම දැන් ඉදිරිපස කැමරාවයි"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"බොත්තම දැන් පිටුපස කැමරාවයි"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"වීඩියෝව පටිගත කිරීම නැවැත්වීම"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"ඉදිරිපස කැමරාව භාවිත කරමින්"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"පසුපස කැමරාව භාවිත කරමින්"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ඡායාරූපය ගන්න"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"පූර්ණ තිර කැමරාව වෙත මාරුවීම"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"කැමරා පෙරදසුන වෙත මාරුවීම"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"ඉදිරිපසට මුහුණලා ඇති කැමරාව වෙත මාරුවීම"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"පසුපසට මුහුණලා ඇති කැමරාව වෙත මාරුවීම"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ඡායාරූපය ගැනීම"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ඡායාරූපය නැවත ගැනීම"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-sk/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-sk/strings.xml
index 916158bcc..a053e2f3b 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-sk/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-sk/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Prepnúť na fotoaparát na celej obrazovke"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Tlačidlo sa nachádza v polohe Predný fotoaparát"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Tlačidlo sa nachádza v polohe Zadný fotoaparát"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Zastaviť zaznamenávanie videa"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Používa sa predný fotoaparát"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Používa sa zadný fotoaparát"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Odfotiť"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Prepnúť na fotoaparát na celej obrazovke"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Prepnúť na ukážku z fotoaparátu"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Prepnúť na predný fotoaparát"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Prepnúť na zadný fotoaparát"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Odfotiť"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Znova odfotiť"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-sl/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-sl/strings.xml
index ef1fe2029..b50aaaea9 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-sl/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-sl/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Preklopi v celozaslonski način fotoaparata"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Gumb zdaj upravlja sprednji fotoaparat"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Gumb zdaj upravlja hrbtni fotoaparat"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Ustavi snemanje videoposnetka"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Uporaba fotoaparata spredaj"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Uporaba fotoaparata zadaj"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Posnemi fotografijo"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Preklopi v celozaslonski način fotoaparata"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Preklopi v predogled fotoaparata"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Preklopi na fotoaparat na sprednji strani"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Preklopi na fotoaparat na zadnji strani"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Posnemi fotografijo"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Znova posnemi fotografijo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-sq/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-sq/strings.xml
index ff8cb8771..4be0317dc 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-sq/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-sq/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Kalo në kamerën me ekran të plotë"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Butoni tani është kamera e përparme"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Butoni tani është kamera e pasme"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Ndalo regjistrimin e videos"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Po përdor kamerën e përparme"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Po përdor kamerën e pasme"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Bëj një fotografi"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Kalo në kamerën me ekran të plotë"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Kalo te pamja paraprake e kamerës"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Kalo te kamera e përparme"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Kalo te kamera e pasme"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Bëj një fotografi"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Bëje përsëri fotografinë"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-sr/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-sr/strings.xml
index 17150b4f2..4afcbe914 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-sr/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-sr/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Пређите на приказ камере преко целог екрана"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Дугме сад активира предњу камеру"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Дугме сад активира задњу камеру"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Зауставите снимање видеа"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Користимо предњу камеру"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Користимо задњу камеру"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Снимите слику"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Пребаците на приказ камере преко целог екрана"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Пребаците на преглед камере"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Пребаците на предњу камеру"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Пребаците на задњу камеру"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Снимите слику"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Поново снимите слику"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-sv/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-sv/strings.xml
index 309147913..8bd00ccd9 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-sv/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-sv/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Byt till fullskärmskamera"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Knappen är nu framåtvänd kamera"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Knappen är nu bakåtvänd kamera"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Sluta spela in video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Använder främre kamera"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Använder bakre kamera"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Ta en bild"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Växla till helskärmskamera"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Växla till förhandsgranskning i kameran"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Växla till den framåtvända kameran"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Växla till den bakåtvända kameran"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Ta en bild"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Ta en ny bild"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-sw/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-sw/strings.xml
index 8608b75a2..c951ac6a2 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-sw/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-sw/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Badilisha utumie kamera ya skrini nzima"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Kitufe hiki sasa ni kamera ya mbele"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Kitufe hiki sasa ni kamera ya nyuma"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Acha kurekodi video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Inatumia kamera ya mbele"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Inatumia kamera ya nyuma"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Piga picha"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Badili utumie kamera ya skrini nzima"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Badili utumie onyesha la kuchungulia la kamera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Badili utumie kamera ya mbele"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Badili utumie kamera ya nyuma"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Piga picha"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Piga picha tena"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ta/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ta/strings.xml
index 9c42144e8..374cfcfe2 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ta/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ta/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"முழுத் திரை கேமராவிற்கு மாறும்"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"இப்போது முன்புறக் கேமராவைக் குறிக்கும் பொத்தான்"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"இப்போது பின்புறக் கேமராவைக் குறிக்கும் பொத்தான்"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"வீடியோ ரெக்கார்டு செய்யப்படுவதை நிறுத்தும்"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"முன்பக்கக் கேமராவைப் பயன்படுத்துகிறீர்கள்"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"பின்பக்கக் கேமராவைப் பயன்படுத்துகிறீர்கள்"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"படமெடுக்கும்"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"முழுத் திரை கேமராவிற்கு மாறும் பொத்தான்"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"கேமரா மாதிரிக்காட்சிக்கு மாறும் பொத்தான்"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"முன்பக்க கேமராவிற்கு மாறும் பொத்தான்"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"பின்பக்க கேமராவிற்கு மாறும் பொத்தான்"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"படமெடுக்கும் பொத்தான்"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"மீண்டும் படமெடுக்கும் பொத்தான்"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-te/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-te/strings.xml
index 4587593b5..099fa67a7 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-te/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-te/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"పూర్తి స్క్రీన్ కెమెరాకు మారుస్తుంది"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"బటన్ ఇప్పుడు ముందువైపు కెమెరాగా పని చేస్తోంది"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"బటన్ ఇప్పుడు వెనుకవైపు కెమెరాగా పని చేస్తోంది"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"వీడియో రికార్డింగ్‌ను ఆపివేస్తుంది"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"ముందు కెమెరాను ఉపయోగిస్తున్నాము"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"వెనుక కెమెరాను ఉపయోగిస్తున్నాము"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ఫోటో తీస్తుంది"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"పూర్తి స్క్రీన్ కెమెరాకు మారుస్తుంది"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"కెమెరా పరిదృశ్యానికి మారుస్తుంది"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"ముందువైపు కెమెరాకు మారుస్తుంది"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"వెనుకవైపు కెమెరాకు మారుస్తుంది"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ఫోటో తీస్తుంది"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ఫోటోను మళ్లీ తీస్తుంది"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-th/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-th/strings.xml
index 9b1150f0e..62c69a3e5 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-th/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-th/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"สลับไปยังกล้องแบบเต็มหน้าจอ"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"ขณะนี้ปุ่มเป็นกล้องหน้า"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"ขณะนี้ปุ่มเป็นกล้องหลัง"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"หยุดการบันทึกวิดีโอ"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"กำลังใช้กล้องหน้า"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"กำลังใช้กล้องหลัง"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"ถ่ายภาพ"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"เปลี่ยนเป็นกล้องแบบเต็มหน้าจอ"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"เปลี่ยนเป็นการแสดงตัวอย่างจากกล้อง"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"เปลี่ยนเป็นกล้องหน้า"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"เปลี่ยนเป็นกล้องหลัง"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"ถ่ายภาพ"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"ถ่ายภาพอีกครั้ง"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-tl/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-tl/strings.xml
index 5fd98c14d..2f6fb83c3 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-tl/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-tl/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Lumilipat sa camera na full screen"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Ang button ay para na sa camera sa harap"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Ang button ay para na sa camera sa likod"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Ihinihinto ang pagre-record ng video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Ginagamit ang camera sa harap"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Ginagamit ang camera sa likuran"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Kumuha ng larawan"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Lumipat sa camera na full screen"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Lumipat sa preview ng camera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Lumipat sa camera na nasa harap"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Lumipat sa camera na nasa likod"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Kumuha ng larawan"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Kunang muli"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-tr/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-tr/strings.xml
index 80b0b940f..da54ac88d 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-tr/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-tr/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Tam ekran kameraya geçer"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Düğme artık ön kamera için kullanılıyor"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Düğme artık arka kamera için kullanılıyor"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Video kaydını durdurur"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Ön kamera kullanılıyor"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Arka kamera kullanılıyor"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Fotoğraf çeker"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Tam ekran kameraya geçer"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Kamera önizlemesine geçer"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Ön kameraya geçer"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Arka kameraya geçer"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Fotoğraf çeker"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Fotoğrafı yeniden çeker"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-uk/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-uk/strings.xml
index c2506158f..cea540a9e 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-uk/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-uk/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Показ зображення з камери на весь екран"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Зараз це кнопка камери на передній панелі"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Зараз це кнопка камери на задній панелі"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Зупинення запису відео"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Використання фронтальної камери"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Використання задньої камери"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Зйомка фото"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Показ зображення з камери на весь екран"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Попередній перегляд зображення з камери"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Перейти до фронтальної камери"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Перейти до задньої камери"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Зробити фото"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Зробити фото ще раз"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-ur/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-ur/strings.xml
index edd417856..585a55a03 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-ur/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-ur/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"پوری اسکرین کے کیمرہ پر سوئچ کریں"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"بٹن اب فرنٹ کیمرا ہے"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"بٹن اب بیک کیمرا ہے"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"ویڈیو ریکارڈ کرنے کو روکیں"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"فرنٹ کیمرا استعمال ہو رہا ہے"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"بیک کیمرا استعمال ہو رہا ہے"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"تصویر لیں"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"پوری اسکرین کے کیمرہ پر سوئچ کریں"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"کیمرہ پیش منظر پر سوئچ کریں"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"فرنٹ والے کیمرے پر سوئچ کریں"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"عقب والے کیمرے پر سوئچ کریں"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"تصویر لیں"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"دوبارہ تصویر لیں"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-uz/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-uz/strings.xml
index 037767359..8441d887c 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-uz/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-uz/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"To‘liq ekranli rejimga o‘tish"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Endi bu old kamera tugmasi"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Endi bu orqa kamera tugmasi"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Videoga olishni to‘xtatish"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Old kameradan foydalanilmoqda"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Orqa kameradan foydalanilmoqda"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Suratga olish"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"To‘liq ekranli rejimga o‘tish"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Oldindan ko‘rish rejimiga o‘tish"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Old kamerani yoqish"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Orqa kamerani yoqish"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Rasmga olish"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Yangi rasmga olish"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-vi/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-vi/strings.xml
index 81a0e62c0..054666455 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-vi/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-vi/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Chuyển sang máy ảnh toàn màn hình"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Hiện tại, nút ở chế độ máy ảnh mặt trước"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Hiện tại, nút ở chế độ máy ảnh mặt sau"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Dừng quay video"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Đang sử dụng máy ảnh trước"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Đang sử dụng máy ảnh sau"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Chụp ảnh"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Chuyển sang máy ảnh toàn màn hình"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Chuyển sang chế độ xem trước máy ảnh"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Chuyển sang máy ảnh mặt trước"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Chuyển sang máy ảnh mặt sau"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Chụp ảnh"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Chụp lại ảnh"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rCN/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rCN/strings.xml
index 311569c54..24e9c1a63 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rCN/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"切换到全屏相机模式"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"点按按钮可切换到前置摄像头"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"点按按钮可切换到后置摄像头"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"停止录制视频"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"正在使用前置摄像头"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"正在使用后置摄像头"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"拍照"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"切换到全屏相机模式"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"切换到相机预览模式"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"切换到前置摄像头"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"切换到后置摄像头"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"拍照"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"重拍照片"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rHK/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rHK/strings.xml
index 890a18fc0..0310b10e6 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rHK/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"切換至全屏攝像"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"按鈕目前為前置鏡頭"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"按鈕目前為後置鏡頭"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"停止錄製影片"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"使用前置鏡頭"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"使用後置鏡頭"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"拍照"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"切換至全螢幕相機"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"切換至相機預覽"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"切換至前置鏡頭"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"切換至後置鏡頭"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"拍照"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"重新拍照"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rTW/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rTW/strings.xml
index 30fa03bfe..d41ddda25 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-zh-rTW/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"切換至全螢幕相機"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"按鈕目前設定為前置鏡頭"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"按鈕目前設定為後置鏡頭"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"停止錄影"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"目前使用的是前置鏡頭"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"目前使用的是後置鏡頭"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"拍攝相片"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"切換至全螢幕相機"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"切換至相機預覽畫面"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"切換至前置鏡頭"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"切換至後置鏡頭"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"拍照"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"重新拍照"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values-zu/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values-zu/strings.xml
index 33a9284a4..6e147b7f9 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values-zu/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values-zu/strings.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="camera_switch_full_screen" msgid="8940026902611470063">"Shintshela kukhamera yesikrini esigcwele"</string>
- <string name="camera_switch_camera_facing" msgid="6965029101223590384">"Inkinobho manje iyikhamera yangaphambili"</string>
- <string name="camera_switch_camera_rear" msgid="2518207979995455566">"Inkinobho manje iyikhamera yangemuva"</string>
- <string name="camera_cancel_recording" msgid="1957458244979306869">"Misa ukurekhoda ividiyo"</string>
- <string name="using_front_camera" msgid="6734227994972108992">"Isebenzisa ikhamera yangaphambili"</string>
- <string name="using_back_camera" msgid="2143070243242164971">"Isebenzisa ikhamera yangemuva"</string>
- <string name="camera_take_picture" msgid="2366908858042883376">"Thatha isithombe"</string>
+ <string name="description_camera_switch_full_screen" msgid="835509743097428216">"Shintshela kukhamera yesikrini esigcwele"</string>
+ <string name="description_camera_switch_preview_screen" msgid="2575355782470181047">"Shintshela ekuhloleni kuqala kwekhamera"</string>
+ <string name="description_camera_switch_camera_facing" msgid="6831946148788764412">"Shintshela kwikhamera yangaphambili"</string>
+ <string name="description_camera_switch_camera_rear" msgid="644854053851698293">"Shintshela kwikhamera ebheke emuva"</string>
+ <string name="description_camera_take_picture" msgid="3953639532118936286">"Thatha isithombe"</string>
+ <string name="description_camera_cancel_photo" msgid="2759593421176396701">"Thatha kabusha isithombe"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values/dimens.xml b/java/com/android/dialer/callcomposer/cameraui/res/values/dimens.xml
index 09d4a58fd..e3d5c2406 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values/dimens.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values/dimens.xml
@@ -16,7 +16,7 @@
-->
<resources>
<dimen name="camera_view_button_margin">22dp</dimen>
- <dimen name="camera_view_button_size">46dp</dimen>
+ <dimen name="camera_view_button_size">48dp</dimen>
<dimen name="capture_button_size">84dp</dimen>
<dimen name="capture_button_bottom_margin">4dp</dimen>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/callcomposer/cameraui/res/values/strings.xml b/java/com/android/dialer/callcomposer/cameraui/res/values/strings.xml
index 999fe8f96..4db79683f 100644
--- a/java/com/android/dialer/callcomposer/cameraui/res/values/strings.xml
+++ b/java/com/android/dialer/callcomposer/cameraui/res/values/strings.xml
@@ -1,17 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2016 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>
<!-- Content description of button to switch to full screen camera -->
- <string name="camera_switch_full_screen">Switch to full screen camera</string>
+ <string name="description_camera_switch_full_screen">Switch to full screen camera</string>
+ <!-- Content description of button to resize camera from fullscreen to only a preview -->
+ <string name="description_camera_switch_preview_screen">Switch to camera preview</string>
<!-- Content description of button when after swapped to front -->
- <string name="camera_switch_camera_facing">Button is now front camera</string>
+ <string name="description_camera_switch_camera_facing">Switch to front facing camera</string>
<!-- Content description of button when after swapped to back -->
- <string name="camera_switch_camera_rear">Button is now back camera</string>
- <!-- Content description of button to cancel recording video -->
- <string name="camera_cancel_recording">Stop recording video</string>
- <!-- Accessibility announcement for when we are using the front facing camera -->
- <string name="using_front_camera">Using front camera</string>
- <!-- Accessibility announcement for when we are using the back camera -->
- <string name="using_back_camera">Using back camera</string>
+ <string name="description_camera_switch_camera_rear">Switch to back facing camera</string>
<!-- Content description of button to take a photo -->
- <string name="camera_take_picture">Take photo</string>
+ <string name="description_camera_take_picture">Take photo</string>
+ <!-- Content description of button to cancel a photo -->
+ <string name="description_camera_cancel_photo">Retake photo</string>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml b/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml
index c3f1102d1..588cc1d42 100644
--- a/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml
+++ b/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml
@@ -15,11 +15,11 @@
~ limitations under the License
-->
<FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/background"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/call_composer_background_color">
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/background"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/call_composer_background_color">
<LinearLayout
android:id="@+id/call_composer_container"
@@ -70,10 +70,22 @@
android:background="@drawable/call_composer_contact_border"/>
</RelativeLayout>
- <android.support.v4.view.ViewPager
- android:id="@+id/call_composer_view_pager"
- android:layout_width="match_parent"
- android:layout_height="@dimen/call_composer_view_pager_height"/>
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+ <com.android.dialer.widget.LockableViewPager
+ android:id="@+id/call_composer_view_pager"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/call_composer_view_pager_height"/>
+
+ <ProgressBar
+ android:id="@+id/call_composer_loading"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:visibility="gone"/>
+ </FrameLayout>
</LinearLayout>
<FrameLayout
@@ -87,7 +99,7 @@
android:layout_height="@dimen/call_composer_media_bar_height"
android:orientation="horizontal"
android:gravity="center_horizontal"
- android:background="@color/dialer_secondary_color"
+ android:background="@color/dialer_theme_color_dark"
android:clickable="true">
<ImageView
@@ -96,7 +108,8 @@
android:layout_height="match_parent"
android:scaleType="center"
android:src="@drawable/quantum_ic_camera_alt_white_24"
- android:background="?android:attr/selectableItemBackgroundBorderless"/>
+ android:background="?android:attr/selectableItemBackgroundBorderless"
+ android:contentDescription="@string/description_call_composer_camera"/>
<ImageView
android:id="@+id/call_composer_photo"
@@ -104,7 +117,8 @@
android:layout_height="match_parent"
android:scaleType="center"
android:src="@drawable/quantum_ic_photo_white_24"
- android:background="?android:attr/selectableItemBackgroundBorderless"/>
+ android:background="?android:attr/selectableItemBackgroundBorderless"
+ android:contentDescription="@string/description_call_composer_photo"/>
<ImageView
android:id="@+id/call_composer_message"
@@ -112,7 +126,8 @@
android:layout_height="match_parent"
android:scaleType="center"
android:src="@drawable/quantum_ic_message_white_24"
- android:background="?android:attr/selectableItemBackgroundBorderless"/>
+ android:background="?android:attr/selectableItemBackgroundBorderless"
+ android:contentDescription="@string/description_call_composer_message"/>
</LinearLayout>
<FrameLayout
diff --git a/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml b/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml
index 77c7a58d1..15562476a 100644
--- a/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml
+++ b/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml
@@ -70,7 +70,7 @@
android:background="@color/background_dialer_white"
android:textCursorDrawable="@drawable/searchedittext_custom_cursor"
android:layout_toStartOf="@+id/remaining_characters"
- android:inputType="textShortMessage"
+ android:inputType="textShortMessage|textCapSentences"
android:imeOptions="flagNoExtractUi|actionSend"/>
<TextView
diff --git a/java/com/android/dialer/callcomposer/res/values-af/strings.xml b/java/com/android/dialer/callcomposer/res/values-af/strings.xml
index 81f97fdc0..44277c82e 100644
--- a/java/com/android/dialer/callcomposer/res/values-af/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-af/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Laat toe"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Verleen toegang tot kamera om \'n foto te neem"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Verleen toegang tot media om \'n prent te deel"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Neem \'n foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Kies \'n foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Stuur \'n boodskap"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-am/strings.xml b/java/com/android/dialer/callcomposer/res/values-am/strings.xml
index c44249090..d848a0489 100644
--- a/java/com/android/dialer/callcomposer/res/values-am/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-am/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"ፍቀድ"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ፎቶ ያንሱ፣ ለካሜራ መዳረሻ ይስጡ"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"አንድ ምስል ለማጋራት ለማህደረ መረጃ መዳረሻ ይስጡ"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"ፎቶ ያንሱ"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ፎቶ ይምረጡ"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"መልዕክት ይላኩ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ar/strings.xml b/java/com/android/dialer/callcomposer/res/values-ar/strings.xml
index ba43f0fd9..44ea0eba4 100644
--- a/java/com/android/dialer/callcomposer/res/values-ar/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ar/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"سماح"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"لالتقاط صورة، يجب منح إذن بالدخول إلى الكاميرا"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"لمشاركة صورة، يجب منح إذن بالدخول إلى الوسائط"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"التقاط صورة"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"اختيار صورة"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"إرسال رسالة"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-az/strings.xml b/java/com/android/dialer/callcomposer/res/values-az/strings.xml
index 2f913d9bc..47a8257dd 100644
--- a/java/com/android/dialer/callcomposer/res/values-az/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-az/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"İcazə verin"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Şəkil çəkmək üçün kameraya giriş icazəsi verin"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Şəkli paylaşmaq üçün Mediaya giriş icazəsi verin"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Şəkil çəkin"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Foto seçin"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Mesaj göndərin"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml
index c357d506f..ef3ff06da 100644
--- a/java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-b+sr+Latn/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Dozvoli"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Odobrite pristup Kameri da biste snimili sliku"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Odobrite pristup Medijima da biste delili sliku"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Slikajte"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Izaberite sliku"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Pošaljite poruku"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-be/strings.xml b/java/com/android/dialer/callcomposer/res/values-be/strings.xml
index bb3244b19..b667cdbce 100644
--- a/java/com/android/dialer/callcomposer/res/values-be/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-be/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Дазволіць"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Каб зрабіць фота, адкрыйце доступ да Камеры"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Каб абагуліць відарыс, адкрыйце доступ да медыяфайлаў"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Зрабіць фота"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Выбраць фота"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Адправіць паведамленне"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-bg/strings.xml b/java/com/android/dialer/callcomposer/res/values-bg/strings.xml
index 1bc05cd8b..6a458c4a7 100644
--- a/java/com/android/dialer/callcomposer/res/values-bg/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-bg/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Разрешаване"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"За да направите снимка, разрешете достъп до Камера"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"За да споделите изображение, разрешете достъп до Медии"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Правене на снимка"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Избиране на снимка"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Изпращане на съобщение"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-bn/strings.xml b/java/com/android/dialer/callcomposer/res/values-bn/strings.xml
index e991b3b34..c23edb63a 100644
--- a/java/com/android/dialer/callcomposer/res/values-bn/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-bn/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"অনুমতি দিন"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"একটি ফটো নিতে, ক্যামেরাতে অ্যাক্সেস দিন"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"কোনো ছবি শেয়ার করতে, মিডিয়াতে অ্যাক্সেস দিন"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"একটি ছবি তুলুন"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"একটি ফটো বেছে নিন"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"একটি বার্তা পাঠান"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-bs/strings.xml b/java/com/android/dialer/callcomposer/res/values-bs/strings.xml
index 7d0b8d26f..2955aeaee 100644
--- a/java/com/android/dialer/callcomposer/res/values-bs/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-bs/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Dozvoli"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Da snimite fotografiju, dajte pristup Kameri"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Da podijelite sliku, dozvolite pristup Medijima"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Uslikaj"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Izaberi fotografiju"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Pošalji poruku"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ca/strings.xml b/java/com/android/dialer/callcomposer/res/values-ca/strings.xml
index 4fa52ad63..5b457e2db 100644
--- a/java/com/android/dialer/callcomposer/res/values-ca/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ca/strings.xml
@@ -28,6 +28,9 @@
<string name="camera_switch_to_still_mode" msgid="1881982437979592567">"Fes una foto"</string>
<string name="camera_media_failure" msgid="8979549551450965882">"No s\'ha pogut carregar la imatge de la càmera"</string>
<string name="allow" msgid="8637148297403066623">"Permet"</string>
- <string name="camera_permission_text" msgid="7863231776480341614">"Per fer una foto, dóna accés a la càmera"</string>
- <string name="gallery_permission_text" msgid="4102566850658919346">"Per compartir una imatge, dóna accés al contingut multimèdia"</string>
+ <string name="camera_permission_text" msgid="7863231776480341614">"Per fer una foto, dona accés a la càmera"</string>
+ <string name="gallery_permission_text" msgid="4102566850658919346">"Per compartir una imatge, dona accés al contingut multimèdia"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Fes una foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Tria una foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Envia un missatge"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-cs/strings.xml b/java/com/android/dialer/callcomposer/res/values-cs/strings.xml
index 93ae0c124..2f4a06bea 100644
--- a/java/com/android/dialer/callcomposer/res/values-cs/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-cs/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Povolit"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Chcete-li pořídit fotku, povolte přístup k fotoaparátu"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Pokud chcete sdílet fotku, povolte přístup k mediálním souborům"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Vyfotit"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Vybrat fotku"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Poslat zprávu"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-da/strings.xml b/java/com/android/dialer/callcomposer/res/values-da/strings.xml
index b1e3e6db9..3f7fb03b7 100644
--- a/java/com/android/dialer/callcomposer/res/values-da/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-da/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Tillad"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Du skal give adgang til kameraet for at tage et billede"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Du skal give adgang til medier for at dele et billede"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Tag et billede"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Vælg et billede"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Send en sms"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-de/strings.xml b/java/com/android/dialer/callcomposer/res/values-de/strings.xml
index 9b9c13add..a57359eb4 100644
--- a/java/com/android/dialer/callcomposer/res/values-de/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-de/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Zulassen"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Um ein Foto aufzunehmen, musst du den Zugriff auf die Kamera erlauben."</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Um ein Bild zu teilen, musst du den Zugriff auf deine Medien erlauben."</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Bild aufnehmen"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Foto auswählen"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Nachricht senden"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-el/strings.xml b/java/com/android/dialer/callcomposer/res/values-el/strings.xml
index 45fce843f..17001352b 100644
--- a/java/com/android/dialer/callcomposer/res/values-el/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-el/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Να επιτρέπεται"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Για να τραβήξετε μια φωτογραφία, παραχωρήστε πρόσβαση στην κάμερα"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Για να μοιραστείτε μια εικόνα, παραχωρήστε πρόσβαση στα πολυμέσα"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Λήψη φωτογραφίας"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Επιλογή φωτογραφίας"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Αποστολή μηνύματος"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml b/java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml
index c34cbbd1b..3398551f0 100644
--- a/java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-en-rAU/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Allow"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"To take a photo, give access to Camera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"To share an image, give access to Media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Take a picture"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Choose a photo"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Sending a message"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml b/java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml
index c34cbbd1b..3398551f0 100644
--- a/java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-en-rGB/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Allow"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"To take a photo, give access to Camera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"To share an image, give access to Media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Take a picture"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Choose a photo"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Sending a message"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml b/java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml
index c34cbbd1b..3398551f0 100644
--- a/java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-en-rIN/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Allow"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"To take a photo, give access to Camera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"To share an image, give access to Media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Take a picture"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Choose a photo"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Sending a message"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml b/java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml
index 797d00124..fc0927ff0 100644
--- a/java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-es-rUS/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Permitir"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Para tomar una foto, permite el acceso a la cámara"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Para compartir una imagen, permite el acceso al contenido multimedia"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Tomar una foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Elegir una foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar un mensaje"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-es/strings.xml b/java/com/android/dialer/callcomposer/res/values-es/strings.xml
index 8a4e7d690..c6f0dcd5b 100644
--- a/java/com/android/dialer/callcomposer/res/values-es/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-es/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Permitir"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Para hacer una foto, permite el acceso a la cámara"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Para compartir una imagen, permite el acceso al contenido multimedia"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Hacer una foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Elegir una foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar un mensaje"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-et/strings.xml b/java/com/android/dialer/callcomposer/res/values-et/strings.xml
index 17b77a255..ecb2deebd 100644
--- a/java/com/android/dialer/callcomposer/res/values-et/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-et/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Luba"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Foto jäädvustamiseks lubage juurdepääs kaamerale"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Pildi jagamiseks lubage juurdepääs meediale"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Pildistamine"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Foto valimine"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Sõnumi saatmine"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-eu/strings.xml b/java/com/android/dialer/callcomposer/res/values-eu/strings.xml
index be2aba7ca..b55dfd2cf 100644
--- a/java/com/android/dialer/callcomposer/res/values-eu/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-eu/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Baimendu"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Argazkiak ateratzeko, eman kamera atzitzeko baimena"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Irudiak partekatzeko, eman multimedia-edukirako sarbidea"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Atera argazki bat"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Aukeratu argazki bat"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Bidali mezu bat"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-fa/strings.xml b/java/com/android/dialer/callcomposer/res/values-fa/strings.xml
index 9d588b232..034ab262c 100644
--- a/java/com/android/dialer/callcomposer/res/values-fa/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-fa/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"مجاز است"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"برای عکس گرفتن، به دوربین اجازه دسترسی بدهید"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"برای اشتراک‌گذاری تصویر، به رسانه اجازه دسترسی بدهید"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"عکس گرفتن"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"انتخاب عکس"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"ارسال پیام"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-fi/strings.xml b/java/com/android/dialer/callcomposer/res/values-fi/strings.xml
index 98821bc6f..c19cd7b89 100644
--- a/java/com/android/dialer/callcomposer/res/values-fi/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-fi/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Salli"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Jos haluat ottaa valokuvan, salli kameran käyttö."</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Jos haluat jakaa kuvan, salli kuvien käyttö."</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Ota kuva"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Valitse kuva"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Lähetä viesti"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml b/java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml
index 29c001d6c..37b1f198f 100644
--- a/java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-fr-rCA/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Autoriser"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Pour prendre une photo, autorisez l\'accès à l\'appareil photo"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Pour partager une image, autorisez l\'accès au contenu multimédia"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Prendre une photo"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Choisir une photo"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Envoyer un message"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-fr/strings.xml b/java/com/android/dialer/callcomposer/res/values-fr/strings.xml
index ab562898a..00078a4d5 100644
--- a/java/com/android/dialer/callcomposer/res/values-fr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-fr/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Autoriser"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Pour prendre une photo, accordez l\'accès à l\'appareil photo."</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Pour partager une image, accordez l\'accès aux fichiers multimédia."</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Prendre une photo"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Choisir une photo"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Envoyer un message"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-gl/strings.xml b/java/com/android/dialer/callcomposer/res/values-gl/strings.xml
index 5c867683f..44b1790dc 100644
--- a/java/com/android/dialer/callcomposer/res/values-gl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-gl/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Permitir"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Para sacar unha foto, concede permiso de acceso á cámara"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Para compartir unha imaxe, concede permiso de acceso aos ficheiros multimedia"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Tira unha foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Escolle unha foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Envía unha mensaxe"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-gu/strings.xml b/java/com/android/dialer/callcomposer/res/values-gu/strings.xml
index c948d2ea5..64ffc1fb0 100644
--- a/java/com/android/dialer/callcomposer/res/values-gu/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-gu/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"મંજૂરી આપો"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ફોટો લેવા માટે, કૅમેરાની ઍક્સેસ આપો"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"છબી શેર કરવા, મીડિયાની ઍક્સેસ આપો"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"એક ચિત્ર લો"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ફોટો પસંદ કરો"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"એક સંદેશ મોકલો"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-hi/strings.xml b/java/com/android/dialer/callcomposer/res/values-hi/strings.xml
index 6cfdb1664..6b0bc040a 100644
--- a/java/com/android/dialer/callcomposer/res/values-hi/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-hi/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"अनुमति दें"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"फ़ोटो लेने के लिए, कैमरे की ऐक्सेस दें"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"चित्र साझा करने के लिए, मीडिया की ऐक्सेस दें"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"चित्र लें"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"एक फ़ोटो चुनें"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"संदेश भेजें"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-hr/strings.xml b/java/com/android/dialer/callcomposer/res/values-hr/strings.xml
index 613f1f473..a51318a37 100644
--- a/java/com/android/dialer/callcomposer/res/values-hr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-hr/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Omogući"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Da biste snimili fotografiju, dopustite pristup Fotoaparatu"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Za dijeljenje slike dopustite pristup Medijima"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Snimi fotografiju"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Odaberi fotografiju"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Pošalji poruku"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-hu/strings.xml b/java/com/android/dialer/callcomposer/res/values-hu/strings.xml
index 451fcb4eb..a5faaa2bb 100644
--- a/java/com/android/dialer/callcomposer/res/values-hu/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-hu/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Engedélyezés"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Fotó készítéséhez adjon hozzáférést a fényképezőgéphez"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Kép megosztásához adjon hozzáférést a médiafájlokhoz"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Kép készítése"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Fotó kiválasztása"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Üzenet küldése"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-hy/strings.xml b/java/com/android/dialer/callcomposer/res/values-hy/strings.xml
index 43793d6e2..ea92e6ad4 100644
--- a/java/com/android/dialer/callcomposer/res/values-hy/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-hy/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Թույլատրել"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Լուսանկարելու համար տրամադրեք Խցիկն օգտագործելու հնարավորություն"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Որևէ պատկերով կիսվելու համար տրամադրեք մեդիանյութերն օգտագործելու հնարավորություն"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Լուսանկարել"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Ընտրել լուսանկար"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Ուղարկել հաղորդագրություն"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-in/strings.xml b/java/com/android/dialer/callcomposer/res/values-in/strings.xml
index 4f9081011..302395b88 100644
--- a/java/com/android/dialer/callcomposer/res/values-in/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-in/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Izinkan"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Untuk mengambil foto, berikan akses ke Kamera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Untuk membagikan gambar, berikan akses ke Media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Jepret"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Pilih foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Mengirim pesan"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-is/strings.xml b/java/com/android/dialer/callcomposer/res/values-is/strings.xml
index 5ca30503d..cf525e18a 100644
--- a/java/com/android/dialer/callcomposer/res/values-is/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-is/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Leyfa"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Til að taka mynd skaltu veita myndavélinni aðgang"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Til að deila mynd skaltu veita margmiðlunarefni aðgang"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Taka mynd"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Velja mynd"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Senda skilaboð"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-it/strings.xml b/java/com/android/dialer/callcomposer/res/values-it/strings.xml
index 40c893f84..4a10984c6 100644
--- a/java/com/android/dialer/callcomposer/res/values-it/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-it/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Consenti"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Per poter scattare una foto devi concedere l\'accesso alla fotocamera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Per condividere un\'immagine, devi concedere l\'accesso ai contenuti multimediali"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Scatta una foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Scegli una foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Invia un messaggio"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-iw/strings.xml b/java/com/android/dialer/callcomposer/res/values-iw/strings.xml
index e1557dc04..7fed44782 100644
--- a/java/com/android/dialer/callcomposer/res/values-iw/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-iw/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"אפשר"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"כדי שתוכל לצלם תמונות עליך להעניק לאפליקציה גישה למצלמה"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"כדי שתוכל לשתף תמונות עליך להעניק לאפליקציה גישה למדיה"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"צילום תמונה"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"בחירת תמונה"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"שליחת הודעה"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ja/strings.xml b/java/com/android/dialer/callcomposer/res/values-ja/strings.xml
index bc8161db6..d13f40e9a 100644
--- a/java/com/android/dialer/callcomposer/res/values-ja/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ja/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"許可"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"写真を撮るには、まずカメラへのアクセスを許可してください"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"画像を共有するには、まずメディアへのアクセスを許可してください"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"画像を撮影します"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"写真を選択します"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"メッセージを送信します"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ka/strings.xml b/java/com/android/dialer/callcomposer/res/values-ka/strings.xml
index 79f39ab81..8c2823fe6 100644
--- a/java/com/android/dialer/callcomposer/res/values-ka/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ka/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"ნების დართვა"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ფოტოს გადასაღებად მიეცით კამერაზე წვდომა"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"სურათის გასაზიარებლად მიეცით მედიაზე წვდომა"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"სურათის გადაღება"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ფოტოს არჩევა"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"შეტყობინების გაგზავნა"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-kk/strings.xml b/java/com/android/dialer/callcomposer/res/values-kk/strings.xml
index ffe045f95..2a0f6416d 100644
--- a/java/com/android/dialer/callcomposer/res/values-kk/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-kk/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Рұқсат беру"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Суретке түсіру үшін камераға кіруге рұқсат беріңіз"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Суретті жіберу үшін медиафайлға кіруге рұқсат беріңіз"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Суретке түсіру"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Суретті таңдау"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Хабар жіберу"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-km/strings.xml b/java/com/android/dialer/callcomposer/res/values-km/strings.xml
index 4444bceeb..0e63923d7 100644
--- a/java/com/android/dialer/callcomposer/res/values-km/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-km/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"អនុញ្ញាត"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ដើម្បីថតរូប សូមអនុញ្ញាត​ឲ្យចូលប្រើប្រាស់​កាមេរ៉ា"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"ដើម្បីចែករំលែករូបភាព សូមអនុញ្ញាត​ឲ្យចូលប្រើប្រាស់​មេឌៀ"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"ថតរូប"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ជ្រើសរើស​រូបថត"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"ផ្ញើសារ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-kn/strings.xml b/java/com/android/dialer/callcomposer/res/values-kn/strings.xml
index f50bdcce4..96f7d5b46 100644
--- a/java/com/android/dialer/callcomposer/res/values-kn/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-kn/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"ಅನುಮತಿಸಿ"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ಫೋಟೋ ತೆಗೆಯಲು, ಕ್ಯಾಮರಾಗೆ ಪ್ರವೇಶ ನೀಡಿ"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"ಚಿತ್ರವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು, ಮಾಧ್ಯಮಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ನೀಡಿ"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"ಚಿತ್ರ ತೆಗೆದುಕೊಳ್ಳಿ"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ಒಂದು ಫೋಟೋ ಆಯ್ಕೆಮಾಡಿ"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"ಸಂದೇಶ ಕಳುಹಿಸಿ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ko/strings.xml b/java/com/android/dialer/callcomposer/res/values-ko/strings.xml
index d710afa3e..1dd63beb4 100644
--- a/java/com/android/dialer/callcomposer/res/values-ko/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ko/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"허용"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"사진을 찍으려면 카메라에 액세스할 수 있도록 허용하세요."</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"이미지를 공유하려면 미디어에 액세스할 수 있도록 허용하세요."</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"사진 촬영"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"사진 선택"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"메시지 보내기"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ky/strings.xml b/java/com/android/dialer/callcomposer/res/values-ky/strings.xml
index c7c053303..4a1f50400 100644
--- a/java/com/android/dialer/callcomposer/res/values-ky/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ky/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Уруксат берүү"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Сүрөткө тартуу үчүн, колдонмого камераны пайдаланууга уруксат бериңиз"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Сүрөттү бөлүшүү үчүн мультимедиага кирүүгө уруксат бериңиз"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Сүрөткө тартуу"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Сүрөттү тандоо"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Билдирүү жөнөтүү"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-lo/strings.xml b/java/com/android/dialer/callcomposer/res/values-lo/strings.xml
index 9c4946000..5d58509d4 100644
--- a/java/com/android/dialer/callcomposer/res/values-lo/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-lo/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"ອະນຸຍາດ"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ເພື່ອຖ່າຍຮູບ, ໃຫ້ອະນຸຍາດການເຂົ້າຫາກ້ອງຖ່າຍຮູບກ່ອນ"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"ເພື່ອແບ່ງປັນຮູບພາບໃດໜຶ່ງ, ໃຫ້ອະນຸຍາດການເຂົ້າຫາມີເດຍກ່ອນ"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"ຖ່າຍຮູບ"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ເລືອກຮູບພາບ..."</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"ສົ່ງຂໍ້ຄວາມ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-lt/strings.xml b/java/com/android/dialer/callcomposer/res/values-lt/strings.xml
index 0b011f7d7..75f12360c 100644
--- a/java/com/android/dialer/callcomposer/res/values-lt/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-lt/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Leisti"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Kad galėtumėte fotografuoti, leiskite pasiekti fotoaparatą"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Kad galėtumėte bendrinti vaizdą, leiskite pasiekti mediją"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Fotografuoti"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Pasirinkti nuotrauką"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Siųsti pranešimą"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-lv/strings.xml b/java/com/android/dialer/callcomposer/res/values-lv/strings.xml
index 8593ca01d..895e0f374 100644
--- a/java/com/android/dialer/callcomposer/res/values-lv/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-lv/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Atļaut"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Lai uzņemtu fotoattēlu, piešķiriet piekļuvi kamerai."</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Lai kopīgotu attēlu, piešķiriet piekļuvi multivides saturam."</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Uzņemt attēlu"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Izvēlēties fotoattēlu"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Sūtīt ziņojumu"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-mk/strings.xml b/java/com/android/dialer/callcomposer/res/values-mk/strings.xml
index 40d7c622c..623972e24 100644
--- a/java/com/android/dialer/callcomposer/res/values-mk/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-mk/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Дозволете"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"За да фотографирате, дозволете пристап до „Камера“"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"За да споделите слика, дозволете пристап до Media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Фотографирајте"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Изберете фотографија"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Испратете порака"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ml/strings.xml b/java/com/android/dialer/callcomposer/res/values-ml/strings.xml
index 0a0833d9d..ad2ce5d85 100644
--- a/java/com/android/dialer/callcomposer/res/values-ml/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ml/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"അനുവദിക്കുക"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ഫോട്ടോ എടുക്കുന്നതിന്, ക്യാമറയ്ക്ക് ആക്സസ് നൽകുക"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"ഫോട്ടോ പങ്കിടുന്നതിന്, മീഡിയയ്ക്ക് ആക്സസ് നൽകുക"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"ഒരു ചിത്രമെടുക്കുക"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ഒരു ഫോട്ടോ തിരഞ്ഞെടുക്കുക"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"ഒരു സന്ദേശം അയയ്‌ക്കുക"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-mn/strings.xml b/java/com/android/dialer/callcomposer/res/values-mn/strings.xml
index 54a292d9a..8895da727 100644
--- a/java/com/android/dialer/callcomposer/res/values-mn/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-mn/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Зөвшөөрөх"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Зураг авахын тулд камерт хандах зөвшөөрөл олгох шаардлагатай"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Зураг хуваалцахын тулд медиад хандах зөвшөөрөл олгох шаардлагатай"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Зураг авах"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Зураг сонгоно уу"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Зурвас илгээх"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-mr/strings.xml b/java/com/android/dialer/callcomposer/res/values-mr/strings.xml
index 7f8c5d7ef..fcfdebe55 100644
--- a/java/com/android/dialer/callcomposer/res/values-mr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-mr/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"अनुमती द्या"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"एक फोटो घेण्यासाठी, कॅमेर्‍यामध्ये प्रवेश द्या"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"एखादी प्रतिमा सामायिक करण्यासाठी मीडियामध्ये प्रवेश द्या"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"एक फोटो घ्या"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"फोटो निवडा"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"एक संदेश पाठवा"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ms/strings.xml b/java/com/android/dialer/callcomposer/res/values-ms/strings.xml
index 0927cde9f..7101489a1 100644
--- a/java/com/android/dialer/callcomposer/res/values-ms/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ms/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Benarkan"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Untuk mengambil foto, berikan akses kepada Kamera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Untuk berkongsi imej, berikan akses kepada Media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Ambil gambar"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Pilih foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Hantar mesej"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-my/strings.xml b/java/com/android/dialer/callcomposer/res/values-my/strings.xml
index 6608e9a4f..02fc375bc 100644
--- a/java/com/android/dialer/callcomposer/res/values-my/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-my/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"ခွင့်ပြုရန်"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ဓာတ်ပုံရိုက်ရန် ကင်မရာသို့ ဝင်သုံးခွင့်ပေးပါ"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"ပုံမျှဝေရန် မီဒီယာသို့ ဝင်သုံးခွင့်ပေးပါ"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"ဓာတ်ပုံတစ်ပုံ ရိုက်ရန်"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ဓာတ်ပုံတစ်ပုံ ရွေးရန်"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"မက်ဆေ့ဂျ်ပို့ရန်"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-nb/strings.xml b/java/com/android/dialer/callcomposer/res/values-nb/strings.xml
index 693e7fd51..d66a165b2 100644
--- a/java/com/android/dialer/callcomposer/res/values-nb/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-nb/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Tillat"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Gi tilgang til kameraet for å ta bilder"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Gi Media tilgang for å dele bilder"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Ta et bilde"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Velg et bilde"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Send en melding"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ne/strings.xml b/java/com/android/dialer/callcomposer/res/values-ne/strings.xml
index 37dd68107..a73f6f8c5 100644
--- a/java/com/android/dialer/callcomposer/res/values-ne/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ne/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"अनुमति दिनुहोस्"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"तस्बिर खिच्न, क्यामेरामाथि पहुँच दिनुहोस्"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"छवि आदान-प्रदान गर्न, मिडियामाथि पहुँच दिनुहोस्"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"तस्बिर खिच्नुहोस्"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"तस्बिर छनौट गर्नुहोस्"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"सन्देश पठाउनुहोस्"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-nl/strings.xml b/java/com/android/dialer/callcomposer/res/values-nl/strings.xml
index ebb00c470..2125f5cd1 100644
--- a/java/com/android/dialer/callcomposer/res/values-nl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-nl/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Toestaan"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Verleen toegang tot Camera om een foto te maken"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Verleen toegang tot Media om een afbeelding te delen"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Een foto nemen"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Een foto kiezen"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Een bericht verzenden"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-no/strings.xml b/java/com/android/dialer/callcomposer/res/values-no/strings.xml
index 693e7fd51..d66a165b2 100644
--- a/java/com/android/dialer/callcomposer/res/values-no/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-no/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Tillat"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Gi tilgang til kameraet for å ta bilder"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Gi Media tilgang for å dele bilder"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Ta et bilde"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Velg et bilde"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Send en melding"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pa/strings.xml b/java/com/android/dialer/callcomposer/res/values-pa/strings.xml
index bf6be36fe..8241984a4 100644
--- a/java/com/android/dialer/callcomposer/res/values-pa/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pa/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"ਇਜਾਜ਼ਤ ਦਿਓ"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ਫ਼ੋਟੋ ਖਿੱਚਣ ਲਈ, ਕੈਮਰੇ ਤੱਕ ਪਹੁੰਚ ਦਿਓ"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"ਚਿੱਤਰ ਸਾਂਝਾ ਕਰਨ ਲਈ, ਮੀਡੀਆ ਤੱਕ ਪਹੁੰਚ ਦਿਓ"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"ਇੱਕ ਤਸਵੀਰ ਖਿੱਚੋ"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ਇੱਕ ਫ਼ੋਟੋ ਚੁਣੋ"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"ਇੱਕ ਸੁਨੇਹਾ ਭੇਜੋ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pl/strings.xml b/java/com/android/dialer/callcomposer/res/values-pl/strings.xml
index ba74628f0..473007d9b 100644
--- a/java/com/android/dialer/callcomposer/res/values-pl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pl/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Zezwól"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Aby zrobić zdjęcie, zezwól na dostęp do aparatu"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Aby udostępnić zdjęcie, zezwól na dostęp do multimediów"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Zrób zdjęcie"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Wybierz zdjęcie"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Wyślij wiadomość"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml b/java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml
index 9feee7d9d..7996e06a0 100644
--- a/java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pt-rBR/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Permitir"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Para tirar uma foto, permita o acesso à câmera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Para compartilhar uma imagem, permita o acesso à mídia"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Tirar uma foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Escolher uma foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar uma mensagem"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml b/java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml
index 8b12d652f..e071969ec 100644
--- a/java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pt-rPT/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Permitir"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Para tirar uma foto, conceda acesso à Câmara"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Para partilhar uma imagem, conceda acesso a Multimédia"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Tirar uma foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Selecionar foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar uma mensagem"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-pt/strings.xml b/java/com/android/dialer/callcomposer/res/values-pt/strings.xml
index 9feee7d9d..7996e06a0 100644
--- a/java/com/android/dialer/callcomposer/res/values-pt/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-pt/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Permitir"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Para tirar uma foto, permita o acesso à câmera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Para compartilhar uma imagem, permita o acesso à mídia"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Tirar uma foto"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Escolher uma foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Enviar uma mensagem"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ro/strings.xml b/java/com/android/dialer/callcomposer/res/values-ro/strings.xml
index 744ef80fb..48f6ec09b 100644
--- a/java/com/android/dialer/callcomposer/res/values-ro/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ro/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Permiteți"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Pentru a fotografia, permiteți accesul la Camera foto"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Pentru a trimite o imagine, permiteți accesul la Conținutul media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Fotografiați"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Alegeți o fotografie"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Trimiteți un mesaj"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ru/strings.xml b/java/com/android/dialer/callcomposer/res/values-ru/strings.xml
index 1abbc4996..f991b0955 100644
--- a/java/com/android/dialer/callcomposer/res/values-ru/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ru/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Разрешить"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Чтобы сделать снимок, предоставьте доступ к камере"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Чтобы поделиться изображением, предоставьте доступ к мультимедиа"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Сделать фото"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Выбрать фото"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Отправить сообщение"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-si/strings.xml b/java/com/android/dialer/callcomposer/res/values-si/strings.xml
index 48a447416..ac27473a8 100644
--- a/java/com/android/dialer/callcomposer/res/values-si/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-si/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"ඉඩ දෙන්න"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ඡායාරූපයක් ගැනීමට, කැමරාවට ප්‍රවේශය දෙන්න"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"රූපයක් බෙදා ගැනීමට, මාධ්‍යයට ප්‍රවේශය දෙන්න"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"පින්තුරයක් ගැනීම"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ඡායාරූපයක් තේරීම"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"පණිවිඩයක් යැවීම"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sk/strings.xml b/java/com/android/dialer/callcomposer/res/values-sk/strings.xml
index 2fb13c1af..6945d7606 100644
--- a/java/com/android/dialer/callcomposer/res/values-sk/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sk/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Povoliť"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Ak chcete fotiť, povoľte prístup k fotoaparátu"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Ak chcete zdieľať obrázok, povoľte prístup k médiám"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Odfotiť"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Vybrať fotku"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Odoslať správu"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sl/strings.xml b/java/com/android/dialer/callcomposer/res/values-sl/strings.xml
index 34126ab36..2384edd74 100644
--- a/java/com/android/dialer/callcomposer/res/values-sl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sl/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Dovoli"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Če želite posneti fotografijo, omogočite dostop do fotoaparata"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Če želite deliti sliko z drugimi, omogočite dostop do predstavnosti"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Posnemi fotografijo"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Izberi fotografijo"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Pošlji sporočilo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sq/strings.xml b/java/com/android/dialer/callcomposer/res/values-sq/strings.xml
index 35dd197c9..924383ea4 100644
--- a/java/com/android/dialer/callcomposer/res/values-sq/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sq/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Lejo"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Për të shkrepur një fotografi, jep qasjen te Kamera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Për të ndarë një imazh, jep qasjen te Media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Bëj një fotografi"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Zgjidh një fotografi"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Dërgo një mesazh"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sr/strings.xml b/java/com/android/dialer/callcomposer/res/values-sr/strings.xml
index 4fa34ed40..c4c337f9f 100644
--- a/java/com/android/dialer/callcomposer/res/values-sr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sr/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Дозволи"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Одобрите приступ Камери да бисте снимили слику"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Одобрите приступ Медијима да бисте делили слику"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Сликајте"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Изаберите слику"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Пошаљите поруку"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sv/strings.xml b/java/com/android/dialer/callcomposer/res/values-sv/strings.xml
index de33531db..e19a5b550 100644
--- a/java/com/android/dialer/callcomposer/res/values-sv/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sv/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Tillåt"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Bevilja åtkomst till Kamera om du vill ta ett foto"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Bevilja åtkomst till Media om du vill dela en bild"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Ta en bild"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Välj ett foto"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Skicka ett meddelande"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-sw/strings.xml b/java/com/android/dialer/callcomposer/res/values-sw/strings.xml
index e99fd06e4..280c48869 100644
--- a/java/com/android/dialer/callcomposer/res/values-sw/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-sw/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Ruhusu"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Ruhusu programu ifikie Kamera ili uweze kupiga picha"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Ruhusu programu ifikie Midia ili uweze kushiriki picha"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Piga picha"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Chagua picha"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Tuma ujumbe"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ta/strings.xml b/java/com/android/dialer/callcomposer/res/values-ta/strings.xml
index 407814889..df2a41242 100644
--- a/java/com/android/dialer/callcomposer/res/values-ta/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ta/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"அனுமதி"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"படமெடுக்க, கேமராவிற்கு அணுகல் வழங்கவும்"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"படத்தைப் பகிர, மீடியாவிற்கு அணுகல் வழங்கவும்"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"படமெடுக்கவும்"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"புகைப்படத்தைத் தேர்வு செய்யும்"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"செய்தியை அனுப்பும்"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-te/strings.xml b/java/com/android/dialer/callcomposer/res/values-te/strings.xml
index 101429c16..9b8834de9 100644
--- a/java/com/android/dialer/callcomposer/res/values-te/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-te/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"అనుమతించు"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"ఫోటోను తీయడానికి, కెమెరాకు ప్రాప్యతను అందించండి"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"చిత్రాన్ని భాగస్వామ్యం చేయడానికి, మీడియాకు ప్రాప్యతను అందించండి"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"చిత్రాన్ని తీస్తుంది"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ఫోటోను ఎంచుకోండి"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"సందేశాన్ని పంపుతుంది"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-th/strings.xml b/java/com/android/dialer/callcomposer/res/values-th/strings.xml
index a004d33f5..d643d5340 100644
--- a/java/com/android/dialer/callcomposer/res/values-th/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-th/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"อนุญาต"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"หากต้องการถ่ายภาพ โปรดให้สิทธิ์การเข้าถึงกล้อง"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"หากต้องการแชร์รูปภาพ โปรดให้สิทธิ์การเข้าถึงสื่อ"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"ถ่ายภาพ"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"เลือกรูปภาพ"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"ส่งข้อความ"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-tl/strings.xml b/java/com/android/dialer/callcomposer/res/values-tl/strings.xml
index e902a2fef..e325ef5d5 100644
--- a/java/com/android/dialer/callcomposer/res/values-tl/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-tl/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Payagan"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Upang kumuha ng larawan, magbigay ng access sa Camera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Upang magbahagi ng imahe, magbigay ng access sa Media"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Kumuha ng larawan"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Pumili ng larawan"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Magpadala ng mensahe"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-tr/strings.xml b/java/com/android/dialer/callcomposer/res/values-tr/strings.xml
index 0dfe8b213..66557fd67 100644
--- a/java/com/android/dialer/callcomposer/res/values-tr/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-tr/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"İzin ver"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Fotoğraf çekmek için Kamera\'ya erişim izni verin"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Resim paylaşmak için Medya\'ya erişim izni verin"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Resim çeker"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Fotoğraf seçilmesini sağlar"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Mesaj gönderir"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-uk/strings.xml b/java/com/android/dialer/callcomposer/res/values-uk/strings.xml
index 20898c315..45f5de5b3 100644
--- a/java/com/android/dialer/callcomposer/res/values-uk/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-uk/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Дозволити"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Щоб сфотографувати, надайте доступ до камери"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Щоб поділитися зображенням, надайте доступ до медіа-вмісту"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Зробити знімок"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Вибрати фотографію"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Надіслати повідомлення"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-ur/strings.xml b/java/com/android/dialer/callcomposer/res/values-ur/strings.xml
index 92a2f8c0e..ff96b0a23 100644
--- a/java/com/android/dialer/callcomposer/res/values-ur/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-ur/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"اجازت دیں"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"تصویر لینے کیلئے کیمرا کو رسائی دیں"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"تصویر کا اشتراک کرنے کیلئے میڈیا تک رسائی دیں"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"تصویر لیں"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"ایک تصویر چنیں"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"پیغام بھیجیں"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-uz/strings.xml b/java/com/android/dialer/callcomposer/res/values-uz/strings.xml
index 845016226..28e237867 100644
--- a/java/com/android/dialer/callcomposer/res/values-uz/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-uz/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Ruxsat berish"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Suratga olish uchun kameraga kirshga ruxsat bering"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Rasmni baham ko‘rish uchun media fayllarga kirishga ruxsat bering"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Rasmga olish"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Rasm tanlash"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Xabar yuborish"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-vi/strings.xml b/java/com/android/dialer/callcomposer/res/values-vi/strings.xml
index 2d060bd01..b4a4b9e69 100644
--- a/java/com/android/dialer/callcomposer/res/values-vi/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-vi/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Cho phép"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Để chụp ảnh, hãy cấp quyền truy cập vào Máy ảnh"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Để chia sẻ ảnh, hãy cấp quyền truy cập vào Phương tiện"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Chụp ảnh"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Chọn ảnh"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Gửi tin nhắn"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml b/java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml
index a6c2f9014..6e2324d76 100644
--- a/java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-zh-rCN/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"允许"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"要拍摄照片,请授予相机使用权限"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"要分享图片,请授予媒体访问权限"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"拍照"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"选择一张照片"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"发送信息"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml b/java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml
index 8f66f4f18..a05100ec4 100644
--- a/java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-zh-rHK/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"允許"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"如要拍照,請授予「相機」存取權"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"如要分享圖片,請授予「媒體」存取權"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"拍照"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"選擇相片"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"傳送訊息"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml b/java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml
index a3af5af79..206a02b40 100644
--- a/java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-zh-rTW/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"允許"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"如要拍照,請授予相機存取權"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"如要分享圖片,請授予媒體存取權"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"拍攝相片"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"選擇相片"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"傳送訊息"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values-zu/strings.xml b/java/com/android/dialer/callcomposer/res/values-zu/strings.xml
index 2cce6883c..61cfac05e 100644
--- a/java/com/android/dialer/callcomposer/res/values-zu/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values-zu/strings.xml
@@ -30,4 +30,7 @@
<string name="allow" msgid="8637148297403066623">"Vumela"</string>
<string name="camera_permission_text" msgid="7863231776480341614">"Ukuze uthathe isithombe, nika ukufinyelela kukhamera"</string>
<string name="gallery_permission_text" msgid="4102566850658919346">"Ukuze wabelane ngesithombe, nika ukufinyelela kumidiya"</string>
+ <string name="description_call_composer_camera" msgid="388088245837924914">"Thatha isithombe"</string>
+ <string name="description_call_composer_photo" msgid="6449208314952246454">"Khetha isithombe"</string>
+ <string name="description_call_composer_message" msgid="9132362446000908550">"Thumela umlayezo"</string>
</resources>
diff --git a/java/com/android/dialer/callcomposer/res/values/strings.xml b/java/com/android/dialer/callcomposer/res/values/strings.xml
index cc7762b64..0faf46947 100644
--- a/java/com/android/dialer/callcomposer/res/values/strings.xml
+++ b/java/com/android/dialer/callcomposer/res/values/strings.xml
@@ -41,4 +41,10 @@
<string name="camera_permission_text">To take a photo, give access to Camera</string>
<!-- Text presented to the user explaining that we need device storage permission to view photos -->
<string name="gallery_permission_text">To share an image, give access to Media</string>
+ <!-- Content description of button to show ui for taking a photo -->
+ <string name="description_call_composer_camera">Take a picture</string>
+ <!-- Content description of button to show ui for selecting a photo from the user's gallery -->
+ <string name="description_call_composer_photo">Choose a photo</string>
+ <!-- Content description of button to show ui for sending a message -->
+ <string name="description_call_composer_message">Send a message</string>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/callcomposer/res/values/styles.xml b/java/com/android/dialer/callcomposer/res/values/styles.xml
index 29ac4ddaa..16e7fb622 100644
--- a/java/com/android/dialer/callcomposer/res/values/styles.xml
+++ b/java/com/android/dialer/callcomposer/res/values/styles.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
<resources>
- <style name="Theme.AppCompat.CallComposer" parent="Theme.AppCompat.NoActionBar">
+ <style name="Theme.AppCompat.CallComposer" parent="DialerThemeBase.NoActionBar">
<item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
diff --git a/java/com/android/dialer/calldetails/AndroidManifest.xml b/java/com/android/dialer/calldetails/AndroidManifest.xml
index adaac402e..fd887c4b5 100644
--- a/java/com/android/dialer/calldetails/AndroidManifest.xml
+++ b/java/com/android/dialer/calldetails/AndroidManifest.xml
@@ -16,11 +16,11 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.dialer.calldetails">
- <application>
+ <application android:theme="@style/Theme.AppCompat">
<activity
android:label="@string/call_details"
android:name="com.android.dialer.calldetails.CallDetailsActivity"
- android:theme="@style/Theme.AppCompat.Light.NoActionBar">
+ android:theme="@style/DialerThemeBase.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
diff --git a/java/com/android/dialer/calldetails/CallDetailsActivity.java b/java/com/android/dialer/calldetails/CallDetailsActivity.java
index 7eab951fa..70cb61adc 100644
--- a/java/com/android/dialer/calldetails/CallDetailsActivity.java
+++ b/java/com/android/dialer/calldetails/CallDetailsActivity.java
@@ -29,32 +29,41 @@ import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.support.v7.widget.Toolbar.OnMenuItemClickListener;
import android.view.MenuItem;
-import com.android.dialer.callcomposer.CallComposerContact;
import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry;
import com.android.dialer.common.Assert;
import com.android.dialer.common.concurrent.AsyncTaskExecutors;
+import com.android.dialer.dialercontact.DialerContact;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
+import com.android.dialer.logging.UiAction;
+import com.android.dialer.performancereport.PerformanceReport;
+import com.android.dialer.postcall.PostCall;
import com.android.dialer.protos.ProtoParsers;
import java.util.List;
/** Displays the details of a specific call log entry. */
-public class CallDetailsActivity extends AppCompatActivity implements OnMenuItemClickListener {
+public class CallDetailsActivity extends AppCompatActivity
+ implements OnMenuItemClickListener, CallDetailsFooterViewHolder.ReportCallIdListener {
private static final String EXTRA_CALL_DETAILS_ENTRIES = "call_details_entries";
private static final String EXTRA_CONTACT = "contact";
+ private static final String EXTRA_CAN_REPORT_CALLER_ID = "can_report_caller_id";
private static final String TASK_DELETE = "task_delete";
private List<CallDetailsEntry> entries;
public static Intent newInstance(
- Context context, @NonNull CallDetailsEntries details, @NonNull CallComposerContact contact) {
+ Context context,
+ @NonNull CallDetailsEntries details,
+ @NonNull DialerContact contact,
+ boolean canReportCallerId) {
Assert.isNotNull(details);
Assert.isNotNull(contact);
Intent intent = new Intent(context, CallDetailsActivity.class);
ProtoParsers.put(intent, EXTRA_CONTACT, contact);
ProtoParsers.put(intent, EXTRA_CALL_DETAILS_ENTRIES, details);
+ intent.putExtra(EXTRA_CAN_REPORT_CALLER_ID, canReportCallerId);
return intent;
}
@@ -62,30 +71,50 @@ public class CallDetailsActivity extends AppCompatActivity implements OnMenuItem
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.call_details_activity);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.call_details_menu);
toolbar.setOnMenuItemClickListener(this);
toolbar.setTitle(R.string.call_details);
+ toolbar.setNavigationOnClickListener(
+ v -> {
+ PerformanceReport.recordClick(UiAction.Type.CLOSE_CALL_DETAIL_WITH_CANCEL_BUTTON);
+ finish();
+ });
onHandleIntent(getIntent());
}
@Override
+ protected void onResume() {
+ super.onResume();
+
+ // Some calls may not be recorded (eg. from quick contact),
+ // so we should restart recording after these calls. (Recorded call is stopped)
+ PostCall.restartPerformanceRecordingIfARecentCallExist(this);
+ if (!PerformanceReport.isRecording()) {
+ PerformanceReport.startRecording();
+ }
+
+ PostCall.promptUserForMessageIfNecessary(this, findViewById(R.id.recycler_view));
+ }
+
+ @Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
onHandleIntent(intent);
}
private void onHandleIntent(Intent intent) {
- CallComposerContact contact =
- ProtoParsers.getTrusted(intent, EXTRA_CONTACT, CallComposerContact.getDefaultInstance());
+ DialerContact contact =
+ ProtoParsers.getTrusted(intent, EXTRA_CONTACT, DialerContact.getDefaultInstance());
entries =
ProtoParsers.getTrusted(
intent, EXTRA_CALL_DETAILS_ENTRIES, CallDetailsEntries.getDefaultInstance())
.getEntriesList();
- RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
+ RecyclerView recyclerView = findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
- recyclerView.setAdapter(new CallDetailsAdapter(this, contact, entries));
+ recyclerView.setAdapter(new CallDetailsAdapter(this, contact, entries, this));
+ PerformanceReport.logOnScrollStateChange(recyclerView);
}
@Override
@@ -99,6 +128,22 @@ public class CallDetailsActivity extends AppCompatActivity implements OnMenuItem
return false;
}
+ @Override
+ public void onBackPressed() {
+ PerformanceReport.recordClick(UiAction.Type.PRESS_ANDROID_BACK_BUTTON);
+ super.onBackPressed();
+ }
+
+ @Override
+ public void reportCallId(String number) {
+ ReportDialogFragment.newInstance(number).show(getFragmentManager(), null);
+ }
+
+ @Override
+ public boolean canReportCallerId(String number) {
+ return getIntent().getExtras().getBoolean(EXTRA_CAN_REPORT_CALLER_ID, false);
+ }
+
/** Delete specified calls from the call log. */
private class DeleteCallsTask extends AsyncTask<Void, Void, Void> {
diff --git a/java/com/android/dialer/calldetails/CallDetailsAdapter.java b/java/com/android/dialer/calldetails/CallDetailsAdapter.java
index 725077965..48e9b6998 100644
--- a/java/com/android/dialer/calldetails/CallDetailsAdapter.java
+++ b/java/com/android/dialer/calldetails/CallDetailsAdapter.java
@@ -22,29 +22,32 @@ import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.view.LayoutInflater;
import android.view.ViewGroup;
-import com.android.dialer.callcomposer.CallComposerContact;
import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry;
import com.android.dialer.calllogutils.CallTypeHelper;
import com.android.dialer.common.Assert;
+import com.android.dialer.dialercontact.DialerContact;
import java.util.List;
/** Adapter for RecyclerView in {@link CallDetailsActivity}. */
-public class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
+final class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private static final int HEADER_VIEW_TYPE = 1;
private static final int CALL_ENTRY_VIEW_TYPE = 2;
private static final int FOOTER_VIEW_TYPE = 3;
- private final CallComposerContact contact;
+ private final DialerContact contact;
private final List<CallDetailsEntry> callDetailsEntries;
+ private final CallDetailsFooterViewHolder.ReportCallIdListener listener;
private final CallTypeHelper callTypeHelper;
- public CallDetailsAdapter(
+ CallDetailsAdapter(
Context context,
- @NonNull CallComposerContact contact,
- @NonNull List<CallDetailsEntry> callDetailsEntries) {
+ @NonNull DialerContact contact,
+ @NonNull List<CallDetailsEntry> callDetailsEntries,
+ CallDetailsFooterViewHolder.ReportCallIdListener listener) {
this.contact = Assert.isNotNull(contact);
this.callDetailsEntries = callDetailsEntries;
+ this.listener = listener;
callTypeHelper = new CallTypeHelper(context.getResources());
}
@@ -60,10 +63,10 @@ public class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
inflater.inflate(R.layout.call_details_entry, parent, false));
case FOOTER_VIEW_TYPE:
return new CallDetailsFooterViewHolder(
- inflater.inflate(R.layout.call_details_footer, parent, false));
+ inflater.inflate(R.layout.call_details_footer, parent, false), listener);
default:
- Assert.fail("No ViewHolder available for viewType: " + viewType);
- return null;
+ throw Assert.createIllegalStateFailException(
+ "No ViewHolder available for viewType: " + viewType);
}
}
diff --git a/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java
index 3f894366f..9d3f4bcbc 100644
--- a/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsFooterViewHolder.java
@@ -26,33 +26,41 @@ import com.android.contacts.common.ClipboardUtils;
import com.android.dialer.common.Assert;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
+import com.android.dialer.logging.UiAction;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.util.CallUtil;
import com.android.dialer.util.DialerUtils;
/** ViewHolder container for {@link CallDetailsActivity} footer. */
-public class CallDetailsFooterViewHolder extends RecyclerView.ViewHolder
- implements OnClickListener {
+final class CallDetailsFooterViewHolder extends RecyclerView.ViewHolder implements OnClickListener {
+ private final ReportCallIdListener listener;
private final View container;
private final View copy;
private final View edit;
+ private final View reportCallerId;
private String number;
- public CallDetailsFooterViewHolder(View view) {
+ CallDetailsFooterViewHolder(View view, ReportCallIdListener listener) {
super(view);
+ this.listener = listener;
container = view.findViewById(R.id.footer_container);
copy = view.findViewById(R.id.call_detail_action_copy);
edit = view.findViewById(R.id.call_detail_action_edit_before_call);
+ reportCallerId = view.findViewById(R.id.call_detail_action_report_caller_id);
copy.setOnClickListener(this);
edit.setOnClickListener(this);
+ reportCallerId.setOnClickListener(this);
}
public void setPhoneNumber(String number) {
this.number = number;
if (TextUtils.isEmpty(number)) {
container.setVisibility(View.GONE);
+ } else if (listener.canReportCallerId(number)) {
+ reportCallerId.setVisibility(View.VISIBLE);
}
}
@@ -60,14 +68,32 @@ public class CallDetailsFooterViewHolder extends RecyclerView.ViewHolder
public void onClick(View view) {
Context context = view.getContext();
if (view == copy) {
+ PerformanceReport.recordClick(UiAction.Type.COPY_NUMBER_IN_CALL_DETAIL);
+
Logger.get(context).logImpression(DialerImpression.Type.CALL_DETAILS_COPY_NUMBER);
ClipboardUtils.copyText(context, null, number, true);
} else if (view == edit) {
+ PerformanceReport.recordClick(UiAction.Type.EDIT_NUMBER_BEFORE_CALL_IN_CALL_DETAIL);
+ // Dialpad will be filled with this number, but we don't want to record it as user action
+ PerformanceReport.setIgnoreActionOnce(UiAction.Type.TEXT_CHANGE_WITH_INPUT);
+
Logger.get(context).logImpression(DialerImpression.Type.CALL_DETAILS_EDIT_BEFORE_CALL);
Intent dialIntent = new Intent(Intent.ACTION_DIAL, CallUtil.getCallUri(number));
DialerUtils.startActivityWithErrorToast(context, dialIntent);
+ } else if (view == reportCallerId) {
+ listener.reportCallId(number);
} else {
Assert.fail("View on click not implemented: " + view);
}
}
+
+ /** Listener for reporting caller id */
+ interface ReportCallIdListener {
+
+ /** Tell listener that the user requested to report caller id info as inaccurate. */
+ void reportCallId(String number);
+
+ /** returns true if the number can be reported as inaccurate. */
+ boolean canReportCallerId(String number);
+ }
}
diff --git a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
index 4d9aacf7b..3df3c3aac 100644
--- a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
@@ -25,11 +25,12 @@ import android.view.View.OnClickListener;
import android.widget.QuickContactBadge;
import android.widget.TextView;
import com.android.contacts.common.ContactPhotoManager;
-import com.android.dialer.callcomposer.CallComposerContact;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.common.Assert;
+import com.android.dialer.dialercontact.DialerContact;
import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.InteractionEvent;
import com.android.dialer.logging.Logger;
import com.android.dialer.util.DialerUtils;
@@ -40,23 +41,29 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
private final View callBackButton;
private final TextView nameView;
private final TextView numberView;
+ private final TextView networkView;
private final QuickContactBadge contactPhoto;
private final Context context;
- private CallComposerContact contact;
+ private DialerContact contact;
CallDetailsHeaderViewHolder(View container) {
super(container);
context = container.getContext();
callBackButton = container.findViewById(R.id.call_back_button);
- nameView = (TextView) container.findViewById(R.id.contact_name);
- numberView = (TextView) container.findViewById(R.id.phone_number);
- contactPhoto = (QuickContactBadge) container.findViewById(R.id.quick_contact_photo);
+ nameView = container.findViewById(R.id.contact_name);
+ numberView = container.findViewById(R.id.phone_number);
+ networkView = container.findViewById(R.id.network);
+ contactPhoto = container.findViewById(R.id.quick_contact_photo);
+
callBackButton.setOnClickListener(this);
+ Logger.get(context)
+ .logQuickContactOnTouch(
+ contactPhoto, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CALL_DETAILS, true);
}
/** Populates the contact info fields based on the current contact information. */
- void updateContactInfo(CallComposerContact contact) {
+ void updateContactInfo(DialerContact contact) {
this.contact = contact;
ContactPhotoManager.getInstance(context)
.loadDialerThumbnailOrPhoto(
@@ -67,8 +74,6 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
contact.getNameOrNumber(),
contact.getContactType());
- contactPhoto.setContentDescription(
- context.getString(R.string.description_contact_photo_details, contact.getNameOrNumber()));
nameView.setText(contact.getNameOrNumber());
if (!TextUtils.isEmpty(contact.getDisplayNumber())) {
numberView.setVisibility(View.VISIBLE);
@@ -85,6 +90,12 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
numberView.setText(null);
}
+ if (!TextUtils.isEmpty(contact.getSimDetails().getNetwork())) {
+ networkView.setVisibility(View.VISIBLE);
+ networkView.setText(contact.getSimDetails().getNetwork());
+ networkView.setTextColor(context.getResources().getColor(contact.getSimDetails().getColor()));
+ }
+
if (TextUtils.isEmpty(contact.getNumber())) {
callBackButton.setVisibility(View.GONE);
}
@@ -98,7 +109,7 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
view.getContext(),
new CallIntentBuilder(contact.getNumber(), CallInitiationType.Type.CALL_DETAILS).build());
} else {
- Assert.fail("View OnClickListener not implemented: " + view);
+ throw Assert.createIllegalStateFailException("View OnClickListener not implemented: " + view);
}
}
}
diff --git a/java/com/android/dialer/calldetails/ReportDialogFragment.java b/java/com/android/dialer/calldetails/ReportDialogFragment.java
new file mode 100644
index 000000000..c27bd611b
--- /dev/null
+++ b/java/com/android/dialer/calldetails/ReportDialogFragment.java
@@ -0,0 +1,161 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.calldetails;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.util.Pair;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+import android.widget.Toast;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.concurrent.DialerExecutor.SuccessListener;
+import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+import com.android.dialer.common.concurrent.DialerExecutorComponent;
+import com.android.dialer.phonenumbercache.CachedNumberLookupService;
+import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo;
+import com.android.dialer.phonenumbercache.PhoneNumberCache;
+
+/** Dialog for reporting an inaccurate caller id information in {@link CallDetailsActivity}. */
+public class ReportDialogFragment extends DialogFragment {
+
+ private static final String KEY_NUMBER = "number";
+ private TextView name;
+ private TextView numberView;
+
+ private CachedNumberLookupService cachedNumberLookupService;
+ private CachedNumberLookupService.CachedContactInfo info;
+ private String number;
+
+ public static ReportDialogFragment newInstance(String number) {
+ ReportDialogFragment fragment = new ReportDialogFragment();
+ Bundle bundle = new Bundle();
+ bundle.putString(KEY_NUMBER, number);
+ fragment.setArguments(bundle);
+ return fragment;
+ }
+
+ @Override
+ public void onCreate(@Nullable Bundle bundle) {
+ super.onCreate(bundle);
+ setRetainInstance(true);
+ number = getArguments().getString(KEY_NUMBER);
+ cachedNumberLookupService = PhoneNumberCache.get(getContext()).getCachedNumberLookupService();
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+ View view = inflater.inflate(R.layout.caller_id_report_dialog, null, false);
+ name = view.findViewById(R.id.name);
+ numberView = view.findViewById(R.id.number);
+
+ lookupContactInfo(number);
+
+ AlertDialog reportDialog =
+ new AlertDialog.Builder(getActivity())
+ .setTitle(R.string.report_caller_id_dialog_title)
+ .setPositiveButton(android.R.string.ok, (dialog, which) -> positiveClick(dialog))
+ .setNegativeButton(android.R.string.cancel, (dialog, which) -> dialog.dismiss())
+ .setView(view)
+ .create();
+
+ reportDialog.setOnShowListener(dialog -> onShow(getContext(), reportDialog));
+ return reportDialog;
+ }
+
+ private void positiveClick(DialogInterface dialog) {
+ startReportCallerIdWorker();
+ dialog.dismiss();
+ }
+
+ private static void onShow(Context context, AlertDialog dialog) {
+ int buttonTextColor = context.getColor(R.color.dialer_theme_color);
+ dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(buttonTextColor);
+ dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(buttonTextColor);
+ }
+
+ private void lookupContactInfo(String number) {
+ Worker<String, CachedContactInfo> worker =
+ number1 -> cachedNumberLookupService.lookupCachedContactFromNumber(getContext(), number1);
+ SuccessListener<CachedContactInfo> successListener = this::setCachedContactInfo;
+ DialerExecutorComponent.get(getContext())
+ .dialerExecutorFactory()
+ .createUiTaskBuilder(getFragmentManager(), "lookup_contact_info", worker)
+ .onSuccess(successListener)
+ .build()
+ .executeParallel(number);
+ }
+
+ private void setCachedContactInfo(CachedContactInfo info) {
+ this.info = info;
+ if (info != null) {
+ name.setText(info.getContactInfo().name);
+ numberView.setText(info.getContactInfo().number);
+ } else {
+ numberView.setText(number);
+ name.setVisibility(View.GONE);
+ }
+ }
+
+ private void startReportCallerIdWorker() {
+ Worker<Context, Pair<Context, Boolean>> worker = this::reportCallerId;
+ SuccessListener<Pair<Context, Boolean>> successListener = this::onReportCallerId;
+ DialerExecutorComponent.get(getContext())
+ .dialerExecutorFactory()
+ .createUiTaskBuilder(getFragmentManager(), "report_caller_id", worker)
+ .onSuccess(successListener)
+ .build()
+ .executeParallel(getActivity());
+ }
+
+ private Pair<Context, Boolean> reportCallerId(Context context) {
+ if (cachedNumberLookupService.reportAsInvalid(context, info)) {
+ info.getContactInfo().isBadData = true;
+ cachedNumberLookupService.addContact(context, info);
+ LogUtil.d("ReportUploadTask.doInBackground", "Contact reported.");
+ return new Pair<>(context, true);
+ } else {
+ return new Pair<>(context, false);
+ }
+ }
+
+ private void onReportCallerId(Pair<Context, Boolean> output) {
+ Context context = output.first;
+ boolean wasReport = output.second;
+ if (wasReport) {
+ Toast.makeText(context, R.string.report_caller_id_toast, Toast.LENGTH_SHORT).show();
+ } else {
+ Toast.makeText(context, R.string.report_caller_id_failed, Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ @Override
+ public void onDestroyView() {
+ if (getDialog() != null && getRetainInstance()) {
+ // Prevent dialog from dismissing on rotate.
+ getDialog().setDismissMessage(null);
+ }
+ super.onDestroyView();
+ }
+}
diff --git a/java/com/android/dialer/calldetails/res/layout/call_details_footer.xml b/java/com/android/dialer/calldetails/res/layout/call_details_footer.xml
index ccfa4e7ac..fbca3f8fe 100644
--- a/java/com/android/dialer/calldetails/res/layout/call_details_footer.xml
+++ b/java/com/android/dialer/calldetails/res/layout/call_details_footer.xml
@@ -41,4 +41,13 @@
android:layout_height="wrap_content"
android:drawableStart="@drawable/quantum_ic_edit_grey600_24"
android:text="@string/call_details_edit_number"/>
+
+ <TextView
+ android:id="@+id/call_detail_action_report_caller_id"
+ style="@style/CallDetailsActionItemStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:drawableStart="@drawable/quantum_ic_report_grey600_24"
+ android:text="@string/call_details_report_call_id"
+ android:visibility="gone"/>
</LinearLayout>
diff --git a/java/com/android/dialer/calldetails/res/layout/caller_id_report_dialog.xml b/java/com/android/dialer/calldetails/res/layout/caller_id_report_dialog.xml
new file mode 100644
index 000000000..09d3c2b43
--- /dev/null
+++ b/java/com/android/dialer/calldetails/res/layout/caller_id_report_dialog.xml
@@ -0,0 +1,35 @@
+<?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
+ -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent">
+
+ <TextView
+ android:id="@+id/name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="24dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"/>
+
+ <TextView
+ android:id="@+id/number"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="24dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"/>
+</LinearLayout> \ No newline at end of file
diff --git a/java/com/android/dialer/calldetails/res/layout/contact_container.xml b/java/com/android/dialer/calldetails/res/layout/contact_container.xml
index bb89b36f2..0911291e3 100644
--- a/java/com/android/dialer/calldetails/res/layout/contact_container.xml
+++ b/java/com/android/dialer/calldetails/res/layout/contact_container.xml
@@ -29,7 +29,7 @@
android:id="@+id/quick_contact_photo"
android:layout_width="@dimen/call_details_contact_photo_size"
android:layout_height="@dimen/call_details_contact_photo_size"
- android:layout_marginTop="2dp"
+ android:layout_centerVertical="true"
android:padding="@dimen/call_details_contact_photo_padding"
android:focusable="true"
android:contentDescription="@string/description_quick_contact_for"/>
@@ -47,8 +47,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/photo_text_margin"
- android:ellipsize="end"
- android:maxLines="1"
style="@style/PrimaryText"/>
<TextView
@@ -57,6 +55,14 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/photo_text_margin"
style="@style/SecondaryText"/>
+
+ <TextView
+ android:id="@+id/network"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="@dimen/photo_text_margin"
+ android:visibility="gone"
+ style="@style/SecondaryText"/>
</LinearLayout>
<ImageView
@@ -66,8 +72,8 @@
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="?android:attr/selectableItemBackgroundBorderless"
- android:contentDescription="@string/description_call_log_call_action"
+ android:contentDescription="@string/call"
android:scaleType="center"
android:src="@drawable/quantum_ic_call_white_24"
android:tint="@color/secondary_text_color"/>
-</RelativeLayout>
+</RelativeLayout> \ No newline at end of file
diff --git a/java/com/android/dialer/calldetails/res/values-af/strings.xml b/java/com/android/dialer/calldetails/res/values-af/strings.xml
index 86bef4b9a..3d15e5bfa 100644
--- a/java/com/android/dialer/calldetails/res/values-af/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-af/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Vee uit"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopieer nommer"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Wysig nommer voordat jy bel"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Bel"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Gee foutiewe nommer aan"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Het \'n foto gestuur"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Het \'n foto ontvang"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontakbesonderhede vir <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Gee verkeerde nommer aan"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Kon nie nommer aangee nie"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nommer is aangegee"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-am/strings.xml b/java/com/android/dialer/calldetails/res/values-am/strings.xml
index 2a23945fe..2103353ff 100644
--- a/java/com/android/dialer/calldetails/res/values-am/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-am/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"ሰርዝ"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"ቁጥር ቅዳ"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"ከመደወል በፊት ቁጥር አርትዕ ያድርጉ"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"ጥሪ"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"ትክክለኛ ያልሆነ ቁጥርን ሪፓርት አድርግ"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"አንድ ፎቶ ተልኳል"</string>
<string name="received_a_photo" msgid="3528953225576480505">"አንድ ፎቶ ደርሷል"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"የ<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> የእውቂያ ዝርዝሮች"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"የተሳሳተ ቁጥርን ሪፖርት ያድርጉ"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"ቁጥሩን ሪፖርት ማድረግ አልተቻለም"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"ቁጥሩ ሪፖርት ተደርጓል"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ar/strings.xml b/java/com/android/dialer/calldetails/res/values-ar/strings.xml
index 6b0d8a773..066b89c7c 100644
--- a/java/com/android/dialer/calldetails/res/values-ar/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ar/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"حذف"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"نسخ الرقم"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"تعديل الرقم قبل الاتصال"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"الاتصال"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"الإبلاغ عن رقم غير دقيق"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"تم إرسال صورة"</string>
<string name="received_a_photo" msgid="3528953225576480505">"تم تلقي صورة"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"تفاصيل الاتصال بالمستخدم <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"الإبلاغ عن رقم غير صحيح"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"تعذر الإبلاغ عن الرقم"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"تم الإبلاغ عن الرقم"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-az/strings.xml b/java/com/android/dialer/calldetails/res/values-az/strings.xml
index 479837c34..e9aaf144d 100644
--- a/java/com/android/dialer/calldetails/res/values-az/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-az/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Silin"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Nömrəni kopyalayın"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Zəng etmədən öncə nömrəyə düzəliş edin"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Zəng edin"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Qeyri-dəqiq nömrəni bildirin"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Foto göndərildi"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Foto alındı"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> üçün kontakt detalları"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Yanlış nömrəni bildirin"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Nömrəni bildirmək mümkün olmadı"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nömrə bildirildi"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml
index 01141ffa4..780e6749d 100644
--- a/java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Izbriši"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiraj broj"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Izmenite broj pre poziva"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Pozovi"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Prijavi netačan broj"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Slika je poslata"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Slika je primljena"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontakt informacije za <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Prijavite netačan broj"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Prijavljivanje broja nije uspelo"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Broj je prijavljen"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-be/strings.xml b/java/com/android/dialer/calldetails/res/values-be/strings.xml
index 683f29bb2..6c6724cd9 100644
--- a/java/com/android/dialer/calldetails/res/values-be/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-be/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Выдаліць"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Скапіраваць нумар"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Рэдагаваць нумар перад выклікам"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Выклік"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Падаць заяву аб недакладным нумары"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Адпраўлена фота"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Атрымана фота"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Кантактныя даныя абанента <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Падаць заяву аб няправільным нумары"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Не ўдалося падаць заяву аб нумары"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Аб нумары пададзена заява"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-bg/strings.xml b/java/com/android/dialer/calldetails/res/values-bg/strings.xml
index 9cd70e2f6..547fdbbbc 100644
--- a/java/com/android/dialer/calldetails/res/values-bg/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-bg/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Изтриване"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Копиране на номера"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Редактиране на номера преди обаждане"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Обаждане"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Подаване на сигнал за неточен номер"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Изпратена бе снимка"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Получена бе снимка"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Подробности за контакта за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Подаване на сигнал за неправилен номер"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Сигналът за номера не можа да бъде подаден"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"За номера бе подаден сигнал"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-bn/strings.xml b/java/com/android/dialer/calldetails/res/values-bn/strings.xml
index 148f61aba..65798f59e 100644
--- a/java/com/android/dialer/calldetails/res/values-bn/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-bn/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"মুছুন"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"নম্বর কপি করুন"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"কল করার আগে নম্বর সম্পাদন করুন"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"কল করুন"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"ভুল নম্বর প্রতিবেদন করুন"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"একটি ফটো পাঠিয়েছেন"</string>
<string name="received_a_photo" msgid="3528953225576480505">"একটি ফটো পেয়েছেন"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> পরিচিতির বিশদ বিবরণ"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"ভুল নম্বর প্রতিবেদন করুন"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"নম্বরটির প্রতিবেদন করা যায়নি"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"নম্বরটির প্রতিবেদন করা হয়েছে"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-bs/strings.xml b/java/com/android/dialer/calldetails/res/values-bs/strings.xml
index 6f164b228..10ef7aaa8 100644
--- a/java/com/android/dialer/calldetails/res/values-bs/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-bs/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Izbriši"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiraj broj"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Uredi broj prije poziva"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Poziv"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Prijavite nevažeći broj"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Fotografija poslana"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Fotografija primljena"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Detalji o kontaktu <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Prijava pogrešnog broja"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Prijava broja nije moguća"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Broj je prijavljen"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ca/strings.xml b/java/com/android/dialer/calldetails/res/values-ca/strings.xml
index 0e33e60e7..59bd29716 100644
--- a/java/com/android/dialer/calldetails/res/values-ca/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ca/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Suprimeix"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copia el número"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Edita el número abans de trucar"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Truca"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Informa d\'un número incorrecte"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"S\'ha enviat una foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"S\'ha rebut una foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"<xliff:g id="MESSAGE">%1$s</xliff:g>"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Dades de contacte de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Informa d\'un número incorrecte"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"No s\'ha pogut informar del número"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"S\'ha informat del número"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-cs/strings.xml b/java/com/android/dialer/calldetails/res/values-cs/strings.xml
index 9747ee139..d4748fc61 100644
--- a/java/com/android/dialer/calldetails/res/values-cs/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-cs/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Smazat"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopírovat číslo"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Před voláním upravit číslo"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Zavolat"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Nahlásit nesprávné číslo"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Byla poslána fotka"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Byla přijata fotka"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Podrobnosti kontaktu <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Nahlásit nesprávné číslo"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Číslo se nepodařilo nahlásit"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Číslo bylo nahlášeno"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-da/strings.xml b/java/com/android/dialer/calldetails/res/values-da/strings.xml
index 41bc25254..5de4486f4 100644
--- a/java/com/android/dialer/calldetails/res/values-da/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-da/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Slet"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiér nummer"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Rediger nummer før opkald"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Ring op"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Rapportér et forkert nummer"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Der blev sendt et billede"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Der blev modtaget et billede"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontaktoplysninger for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Rapportér forkert nummer"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Det forkerte nummer kunne ikke rapporteres"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nummeret blev rapporteret"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-de/strings.xml b/java/com/android/dialer/calldetails/res/values-de/strings.xml
index 014666b3f..3c30d8e30 100644
--- a/java/com/android/dialer/calldetails/res/values-de/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-de/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Löschen"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Nummer kopieren"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Nummer vor Anruf bearbeiten"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Anrufen"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Falsche Nummer melden"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Hat ein Foto gesendet"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Hat ein Foto empfangen"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontaktdetails für <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Falsche Nummer melden"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Nummer konnte nicht gemeldet werden"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nummer gemeldet"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-el/strings.xml b/java/com/android/dialer/calldetails/res/values-el/strings.xml
index 6b51fc71d..e5097d174 100644
--- a/java/com/android/dialer/calldetails/res/values-el/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-el/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Διαγραφή"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Αντιγραφή αριθμού"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Επεξεργασία αριθμού πριν από την κλήση"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Κλήση"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Αναφορά ανακριβούς αριθμού"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Έγινε αποστολή φωτογραφίας"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Έγινε λήψη φωτογραφίας"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Στοιχεία επικοινωνίας επαφής <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Αναφορά λανθασμένου αριθμού"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Δεν ήταν δυνατή η αναφορά του αριθμού"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Υποβλήθηκε αναφορά για τον αριθμό"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml b/java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml
index 2d5210e8c..45deb49c2 100644
--- a/java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Delete"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copy number"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Edit number before call"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Call"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Report inaccurate number"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Sent a photo"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Received a photo"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Contact details for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Report incorrect number"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Couldn\'t report number"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Number reported"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml b/java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml
index 2d5210e8c..45deb49c2 100644
--- a/java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Delete"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copy number"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Edit number before call"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Call"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Report inaccurate number"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Sent a photo"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Received a photo"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Contact details for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Report incorrect number"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Couldn\'t report number"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Number reported"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml b/java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml
index 2d5210e8c..45deb49c2 100644
--- a/java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Delete"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copy number"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Edit number before call"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Call"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Report inaccurate number"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Sent a photo"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Received a photo"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Contact details for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Report incorrect number"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Couldn\'t report number"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Number reported"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml b/java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml
index d9db2825c..778868eab 100644
--- a/java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Borrar"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de llamar"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Llamar"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Informar número incorrecto"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Enviaste una foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Recibiste una foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Datos de contacto de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Informar número incorrecto"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"No se pudo informar el número."</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Número informado"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-es/strings.xml b/java/com/android/dialer/calldetails/res/values-es/strings.xml
index e72e898b4..5cecffaea 100644
--- a/java/com/android/dialer/calldetails/res/values-es/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-es/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Eliminar"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de llamar"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Llamar"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Notificar un número incorrecto"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Se ha enviado una foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Se ha recibido una foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Información de contacto de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Notificar un número incorrecto"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"No se ha podido notificar el número"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Número notificado"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-et/strings.xml b/java/com/android/dialer/calldetails/res/values-et/strings.xml
index 496459d6b..c8f52aedc 100644
--- a/java/com/android/dialer/calldetails/res/values-et/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-et/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Kustuta"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopeeri number"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Muuda numbrit enne helistamist"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Kõne"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Valest numbrist teavitamine"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Saatis foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Sai foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontakti <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> üksikasjad"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Valest numbrist teavitamine"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Numbrist ei õnnestunud teavitada"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Numbrist teavitati"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-eu/strings.xml b/java/com/android/dialer/calldetails/res/values-eu/strings.xml
index 913082fb8..5184e64f6 100644
--- a/java/com/android/dialer/calldetails/res/values-eu/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-eu/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Ezabatu"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiatu zenbakia"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Editatu zenbakia deitu aurretik"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Deia"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Jakinarazi zenbakiaren informazioa okerra dela"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Argazki bat bidali duzu"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Argazki bat jaso duzu"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> kontaktuaren xehetasunak"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Jakinarazi zenbakia okerra dela"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Ezin izan da bidali jakinarazpena"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Bidali da jakinarazpena"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-fa/strings.xml b/java/com/android/dialer/calldetails/res/values-fa/strings.xml
index cad85a265..b37b2b5f6 100644
--- a/java/com/android/dialer/calldetails/res/values-fa/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-fa/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"حذف"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"کپی کردن شماره"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"ویرایش شماره قبل از تماس"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"تماس"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"گزارش شماره نادرست"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"عکسی ارسال کرد"</string>
<string name="received_a_photo" msgid="3528953225576480505">"عکسی دریافت کرد"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"جزئیات تماس <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"گزارش شماره نادرست"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"شماره گزارش نشد"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"شماره گزارش شد"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-fi/strings.xml b/java/com/android/dialer/calldetails/res/values-fi/strings.xml
index c16110d58..ead2c6af6 100644
--- a/java/com/android/dialer/calldetails/res/values-fi/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-fi/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Poista"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopioi numero"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Muokkaa numeroa ennen puhelua"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Soita"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Ilmoita epätarkasta numerosta"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Lähetetty kuva"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Vastaanotettu kuva"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Yhteystiedot: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Ilmoita väärästä numerosta"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Numerosta ilmoittaminen epäonnistui."</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Numeroa koskeva ilmoitus lähetettiin."</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml b/java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml
index 676861f3f..714fb7bea 100644
--- a/java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Supprimer"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copier le numéro"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Modifier le numéro avant de passer l\'appel"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Appeler"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Signaler un numéro inexact"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Photo envoyée"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Photo reçue"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"« <xliff:g id="MESSAGE">%1$s</xliff:g> »"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Coordonnées de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Signaler un numéro incorrect"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Impossible de signaler le numéro"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Numéro signalé"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-fr/strings.xml b/java/com/android/dialer/calldetails/res/values-fr/strings.xml
index 606cb1095..f61234194 100644
--- a/java/com/android/dialer/calldetails/res/values-fr/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-fr/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Supprimer"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copier le numéro"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Modifier le numéro avant d\'appeler"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Appeler"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Signaler un numéro incorrect"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Envoi d\'une photo"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Réception d\'une photo"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Coordonnées associées à <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Signaler un numéro incorrect"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Impossible de signaler le numéro"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Signalement du numéro effectué"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-gl/strings.xml b/java/com/android/dialer/calldetails/res/values-gl/strings.xml
index aa5ff14dd..7f79834a7 100644
--- a/java/com/android/dialer/calldetails/res/values-gl/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-gl/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Eliminar"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de chamar"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Chamar"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Informar dun número impreciso"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Enviouse unha foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Recibiuse unha foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Detalles de contacto de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Informar dun número incorrecto"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Non se puido marcar o número como inadecuado"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Marcouse o número como inadecuado"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-gu/strings.xml b/java/com/android/dialer/calldetails/res/values-gu/strings.xml
index ccb8755b3..929970560 100644
--- a/java/com/android/dialer/calldetails/res/values-gu/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-gu/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"કાઢી નાખો"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"નંબર કૉપિ કરો"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"કૉલ કરતાં પહેલાં નંબર સંપાદિત કરો"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"કૉલ કરો"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"અચોક્કસ નંબરની જાણ કરો"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"એક ફોટો મોકલ્યો"</string>
<string name="received_a_photo" msgid="3528953225576480505">"એક ફોટો પ્રાપ્ત કર્યો"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> માટે સંપર્ક વિગતો"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"ખોટા નંબરની જાણ કરો"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"નંબરની જાણ કરી શકાઈ નથી"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"નંબરની જાણ કરી"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-hi/strings.xml b/java/com/android/dialer/calldetails/res/values-hi/strings.xml
index 517fbe52d..08099fe57 100644
--- a/java/com/android/dialer/calldetails/res/values-hi/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-hi/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"हटाएं"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"नंबर कॉपी करें"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"कॉल करने से पहले नंबर संपादित करें"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"कॉल करें"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"गलत जानकारी देने वाले नंबर की रिपोर्ट करें"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"फ़ोटो भेजी गई"</string>
<string name="received_a_photo" msgid="3528953225576480505">"फ़ोटो मिली"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> का संपर्क विवरण"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"गलत नंबर की रिपोर्ट करें"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"नंबर की रिपोर्ट नहीं की जा सकी"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"नंबर की रिपोर्ट की गई"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-hr/strings.xml b/java/com/android/dialer/calldetails/res/values-hr/strings.xml
index 687a65e2b..65371813c 100644
--- a/java/com/android/dialer/calldetails/res/values-hr/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-hr/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Brisanje"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiranje broja"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Uređivanje broja prije poziva"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Poziv"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Prijava netočnog broja"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Šalje fotografiju"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Prima fotografiju"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Pojedinosti o kontaktu <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Prijava netočnog broja"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Prijava broja nije moguća"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Broj je prijavljen"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-hu/strings.xml b/java/com/android/dialer/calldetails/res/values-hu/strings.xml
index 66863e87d..43afbe303 100644
--- a/java/com/android/dialer/calldetails/res/values-hu/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-hu/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Törlés"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Szám másolása"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Szám szerkesztése hívás előtt"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Telefonhívás"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Pontatlan szám bejelentése"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Küldött egy fotót"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Kapott egy fotót"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> részletes adatai."</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Helytelen szám bejelentése"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Nem sikerült bejelenteni a számot"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Szám bejelentve"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-hy/strings.xml b/java/com/android/dialer/calldetails/res/values-hy/strings.xml
index a1e84e955..05022ca58 100644
--- a/java/com/android/dialer/calldetails/res/values-hy/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-hy/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Ջնջել"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Պատճենել համարը"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Փոփոխել համարը զանգելուց առաջ"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Զանգ"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Հաղորդել սխալ համարի մասին"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Ուղարկվել է լուսանկար"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Ստացվել է լուսանկար"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ի կոնտակտային տվյալները"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Հաղորդում սխալ համարի մասին"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Չհաջողվեց ուղարկել հաղորդումը"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Հաղորդումն ուղարկվեց"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-in/strings.xml b/java/com/android/dialer/calldetails/res/values-in/strings.xml
index ba58ba01c..eaeb273db 100644
--- a/java/com/android/dialer/calldetails/res/values-in/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-in/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Hapus"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Salin nomor"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Edit nomor sebelum menelepon"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Telepon"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Laporkan nomor yang tidak akurat"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Mengirim foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Menerima foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Detail kontak <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Laporkan nomor yang salah"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Tidak dapat melaporkan nomor"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nomor dilaporkan"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-is/strings.xml b/java/com/android/dialer/calldetails/res/values-is/strings.xml
index 0770814df..ac522d5b8 100644
--- a/java/com/android/dialer/calldetails/res/values-is/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-is/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Eyða"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Afrita númer"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Breyta númeri áður en hringt er"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Hringja"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Tilkynna rangt númer"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Sendi mynd"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Tók á móti mynd"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Tengiliðaupplýsingar um <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Tilkynna rangt númer"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Ekki tókst að tilkynna númerið"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Númer tilkynnt"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-it/strings.xml b/java/com/android/dialer/calldetails/res/values-it/strings.xml
index 97af25168..40c2245e9 100644
--- a/java/com/android/dialer/calldetails/res/values-it/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-it/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Elimina"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copia numero"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Modifica numero prima di chiamare"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Chiama"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Segnala numero sbagliato"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Foto inviata"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Foto ricevuta"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Dettagli contatto <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Segnala numero errato"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Impossibile segnalare il numero"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Numero segnalato"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-iw/strings.xml b/java/com/android/dialer/calldetails/res/values-iw/strings.xml
index 329eded62..ffc4d4765 100644
--- a/java/com/android/dialer/calldetails/res/values-iw/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-iw/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"מחק"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"העתק את המספר"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"ערוך את המספר לפני השיחה"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"התקשר"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"דיווח על מספר לא מדויק"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"נשלחה תמונה"</string>
<string name="received_a_photo" msgid="3528953225576480505">"התקבלה תמונה"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"פרטי ההתקשרות של <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"דיווח על מספר שגוי"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"לא ניתן היה לדווח על המספר"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"המספר דווח"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ja/strings.xml b/java/com/android/dialer/calldetails/res/values-ja/strings.xml
index 7aef345fd..24fcf2c38 100644
--- a/java/com/android/dialer/calldetails/res/values-ja/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ja/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"削除"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"電話番号をコピー"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"発信前に電話番号を編集"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"発信"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"情報が間違っている番号を報告"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"写真を送信しました"</string>
<string name="received_a_photo" msgid="3528953225576480505">"写真を受信しました"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"「<xliff:g id="MESSAGE">%1$s</xliff:g>」"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>の連絡先の詳細"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"間違った番号の報告"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"番号を報告できませんでした"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"番号を報告しました"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ka/strings.xml b/java/com/android/dialer/calldetails/res/values-ka/strings.xml
index 1cd7bc219..3d92f61bf 100644
--- a/java/com/android/dialer/calldetails/res/values-ka/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ka/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"წაშლა"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"ნომრის კოპირება"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"ნომრის რედაქტირება დარეკვამდე"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"დარეკვა"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"არაზუსტი ნომრის შეტყობინება"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ფოტო გაიგზავნა"</string>
<string name="received_a_photo" msgid="3528953225576480505">"მიღებულია ფოტო"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ის საკონტაქტო დეტალები"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"არასწორი ნომრის შეტყობინება"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"ნომრის შეტყობინება ვერ მოხერხდა"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"ნომერი შეტყობინებულია"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-kk/strings.xml b/java/com/android/dialer/calldetails/res/values-kk/strings.xml
index 1923cf79b..c29daeb8b 100644
--- a/java/com/android/dialer/calldetails/res/values-kk/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-kk/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Жою"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Нөмірді көшіру"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Нөмірді қоңырау шалуға дейін өзгерту"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Қоңырау шалу"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Қате нөмір туралы хабарлау"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Сурет жіберілді"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Сурет қабылданды"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> контакт деректері"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Қате нөмір туралы хабарлау"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Нөмір туралы хабар жіберілмеді"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Нөмір туралы хабар жіберілді"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-km/strings.xml b/java/com/android/dialer/calldetails/res/values-km/strings.xml
index e0472796f..d5ea830cd 100644
--- a/java/com/android/dialer/calldetails/res/values-km/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-km/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"លុប"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"ថតចម្លងលេខទូរសព្ទ"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"កែ​លេខ​ មុន​ពេល​ហៅទូរសព្ទ"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"ហៅទូរសព្ទ"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"រាយការណ៍លេខមិនត្រឹមត្រូវ"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"បានផ្ញើរូបថត"</string>
<string name="received_a_photo" msgid="3528953225576480505">"បាន​ទទួល​រូបថត"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"ព័ត៌មាន​ទំនាក់​ទំនង​លម្អិត​សម្រាប់ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"រាយការណ៍​លេខ​មិន​ត្រឹមត្រូវ"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"មិន​អាច​រាយការណ៍​លេខ​បាន​ទេ"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"បាន​រាយការណ៍​លេខ"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-kn/strings.xml b/java/com/android/dialer/calldetails/res/values-kn/strings.xml
index 66c0d6349..aeff715a9 100644
--- a/java/com/android/dialer/calldetails/res/values-kn/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-kn/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"ಅಳಿಸಿ"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"ಸಂಖ್ಯೆಯನ್ನು ನಕಲಿಸಿ"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"ಕರೆ ಮಾಡುವ ಮೊದಲು ಸಂಖ್ಯೆಯನ್ನು ಎಡಿಟ್ ಮಾಡಿ"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"ಕರೆಮಾಡಿ"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"ನಿಖರವಾಗಿಲ್ಲದ ಸಂಖ್ಯೆಯನ್ನು ವರದಿಮಾಡಿ"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ಫೋಟೋ ಕಳುಹಿಸಲಾಗಿದೆ"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ಫೋಟೋ ಸ್ವೀಕರಿಸಲಾಗಿದೆ"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ಗೆ ಸಂಪರ್ಕ ವಿವರಗಳು"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"ತಪ್ಪಾದ ಸಂಖ್ಯೆಯನ್ನು ವರದಿಮಾಡಿ"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"ಸಂಖ್ಯೆಯನ್ನು ವರದಿ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"ವರದಿ ಮಾಡಲಾದ ಸಂಖ್ಯೆ"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ko/strings.xml b/java/com/android/dialer/calldetails/res/values-ko/strings.xml
index 35c503858..f45d71273 100644
--- a/java/com/android/dialer/calldetails/res/values-ko/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ko/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"삭제"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"전화번호 복사"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"통화하기 전에 번호 수정"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"전화걸기"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"잘못된 번호 신고하기"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"사진 전송됨"</string>
<string name="received_a_photo" msgid="3528953225576480505">"사진 수신됨"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\'<xliff:g id="MESSAGE">%1$s</xliff:g>\'"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>의 연락처 세부정보"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"잘못된 번호 신고"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"번호를 신고할 수 없습니다."</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"번호가 신고되었습니다."</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ky/strings.xml b/java/com/android/dialer/calldetails/res/values-ky/strings.xml
index fe37b33bd..9735abc27 100644
--- a/java/com/android/dialer/calldetails/res/values-ky/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ky/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Жок кылуу"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Номерди көчүрүү"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Чалуудан мурун номерди түзөтүү"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Чалуу"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Номердеги ката жөнүндө кабар берүү"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Сүрөт жөнөтүлдү"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Сүрөт алынды"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> байланыш маалыматтары"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Туура эмес номер жөнүндө кабарлоо"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Туура эмес номер жөнүндө кабар жөнөтүлбөй койду"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Туура эмес номер жөнүндө кабар берүү"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-lo/strings.xml b/java/com/android/dialer/calldetails/res/values-lo/strings.xml
index 85b636acd..880510ec7 100644
--- a/java/com/android/dialer/calldetails/res/values-lo/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-lo/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"​ລຶບ"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"ສຳເນົາເບີໂທ"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"ແກ້ໄຂເບີກ່ອນໂທ"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"ໂທ"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"ລາຍງານເບີໂທທີ່ບໍ່ຖືກຕ້ອງ"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ສົ່ງຮູບພາບ"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ໄດ້ຮັບຮູບພາບແລ້ວ"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"ລາຍລະອຽດ​ການຕິດຕໍ່​ສຳລັບ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"​ລາຍ​ງານ​ເບີ​ໂທບໍ່​ຖືກ​ຕ້ອງ"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"ບໍ່ສາມາດລາຍງານເບີໂທໄດ້"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"ລາຍງານເບີໂທແລ້ວ"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-lt/strings.xml b/java/com/android/dialer/calldetails/res/values-lt/strings.xml
index 9c8ad7b7f..2f195de04 100644
--- a/java/com/android/dialer/calldetails/res/values-lt/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-lt/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Ištrinti"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopijuoti numerį"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Redaguoti numerį prieš skambinant"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Skambinti"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Pranešti apie netikslų numerį"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Išsiuntė nuotrauką"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Gavo nuotrauką"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Išsami kontaktinė informacija: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Pranešimas apie netinkamą numerį"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Nepavyko pranešti apie numerį"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Apie numerį pranešta"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-lv/strings.xml b/java/com/android/dialer/calldetails/res/values-lv/strings.xml
index d8783935b..e119b12a8 100644
--- a/java/com/android/dialer/calldetails/res/values-lv/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-lv/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Dzēst"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopēt numuru"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Rediģēt numuru pirms zvanīšanas"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Zvanīt"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Ziņot par neprecīzu numuru"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Nosūtīja fotoattēlu"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Saņēma fotoattēlu"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"“<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontaktpersonas informācija: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Ziņošana par nepareizu numuru"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Nevarēja nosūtīt ziņojumu par numuru"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Ziņojums par numuru nosūtīts"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-mk/strings.xml b/java/com/android/dialer/calldetails/res/values-mk/strings.xml
index 9388ae070..2458e082f 100644
--- a/java/com/android/dialer/calldetails/res/values-mk/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-mk/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Избриши"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Копирај го бројот"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Измени го бројот пред повикот"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Повикај"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Пријавете погрешен број"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Испрати фотографија"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Прими фотографија"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Детали за контакт за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Пријавете неточен број"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Не можеше да пријави бројот"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Бројот е пријавен"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ml/strings.xml b/java/com/android/dialer/calldetails/res/values-ml/strings.xml
index d29691159..8164a21d0 100644
--- a/java/com/android/dialer/calldetails/res/values-ml/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ml/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"ഇല്ലാതാക്കുക"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"നമ്പർ പകർത്തുക"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"കോൾ ചെയ്യുന്നതിന് മുമ്പായി നമ്പർ എഡിറ്റുചെയ്യുക"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"കോള്‍ ചെയ്യുക"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"കൃത്യമല്ലാത്ത നമ്പർ റിപ്പോർട്ടുചെയ്യുക"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ഒരു ഫോട്ടോ അയച്ചു"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ഒരു ഫോട്ടോ ലഭിച്ചു"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> എന്നതിന്റെ കോൺ‌ടാക്റ്റ് വിശദാംശങ്ങൾ"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"തെറ്റായ നമ്പർ റിപ്പോർട്ടുചെയ്യുക"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"നമ്പർ റിപ്പോർട്ടുചെയ്യാനായില്ല"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"നമ്പർ റിപ്പോർട്ടുചെയ്‌തു"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-mn/strings.xml b/java/com/android/dialer/calldetails/res/values-mn/strings.xml
index cb264e016..242f6abab 100644
--- a/java/com/android/dialer/calldetails/res/values-mn/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-mn/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Устгах"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Дугаар хуулах"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Залгахын өмнө дугаар засах"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Залгах"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Тодорхой бус дугаарыг мэдээлэх"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Зураг илгээсэн"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Зураг хүлээн авсан"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-н харилцагчийн мэдээлэл"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Буруу дугаарыг мэдээлэх"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Дугаарыг мэдээлж чадсангүй"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Дугаарыг мэдээлсэн"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-mr/strings.xml b/java/com/android/dialer/calldetails/res/values-mr/strings.xml
index 5c31e361e..d869e1385 100644
--- a/java/com/android/dialer/calldetails/res/values-mr/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-mr/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"हटवा"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"नंबर कॉपी करा"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"कॉल करण्यापूर्वी नंबर संपादित करा"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"कॉल करा"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"चुकीच्या नंबरचा अहवाल द्या"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"एक फोटो पाठविला"</string>
<string name="received_a_photo" msgid="3528953225576480505">"एक फोटो प्राप्त झाला"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> साठी संपर्क तपशील"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"चुकीच्या नंबरचा अहवाल द्या"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"नंबरचा अहवाल देऊ शकलो नाही"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"नंबरचा अहवाल दिला"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ms/strings.xml b/java/com/android/dialer/calldetails/res/values-ms/strings.xml
index da17d6edb..7c0bfdd74 100644
--- a/java/com/android/dialer/calldetails/res/values-ms/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ms/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Padam"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Salin nombor"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Edit nombor sebelum panggilan"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Panggil"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Laporkan nombor yang tidak tepat"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Menghantar foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Foto diterima"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Butiran hubungan untuk <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Laporkan nombor yang tidak betul"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Tidak dapat melaporkan nombor"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nombor dilaporkan"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-my/strings.xml b/java/com/android/dialer/calldetails/res/values-my/strings.xml
index 75508d8d4..34a57d54c 100644
--- a/java/com/android/dialer/calldetails/res/values-my/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-my/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"ဖျက်ရန်"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"နံပါတ်ကိုကူးယူရန်"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"မခေါ်ဆိုမီ နံပါတ်ကိုပြင်ဆင်ရန်"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"ခေါ်ဆိုရန်"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"မတိကျသော နံပါတ်ကို တိုင်ကြားရန်"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ဓာတ်ပုံ ပို့လိုက်သည်"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ဓာတ်ပုံ လက်ခံရရှိသည်"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ၏ အဆက်အသွယ် အသေးစိတ်"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"မမှန်ကန်သည့် နံပါတ်ကို တိုင်ကြားရန်"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"နံပါတ်ကို မတိုင်ကြားနိုင်ပါ"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"နံပါတ်ကို တိုင်ကြားပြီးပါပြီ"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-nb/strings.xml b/java/com/android/dialer/calldetails/res/values-nb/strings.xml
index 022025fa3..53ffd3a87 100644
--- a/java/com/android/dialer/calldetails/res/values-nb/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-nb/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Slett"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiér nummeret"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Rediger nummeret før du ringer"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Ring"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Rapportér feil nummer"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Et bilde ble sendt"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Et bilde ble mottatt"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontaktinformasjon for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Rapportér feil nummer"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Kunne ikke rapportere nummeret"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nummeret er rapportert"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ne/strings.xml b/java/com/android/dialer/calldetails/res/values-ne/strings.xml
index 8fe355ba6..f8e10ca5d 100644
--- a/java/com/android/dialer/calldetails/res/values-ne/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ne/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"मेट्नुहोस्"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"नम्बर प्रतिलिपि गर्नुहोस्"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"कल गर्नु अघि नम्बर सम्पादन गर्नुहोस्"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"कल"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"गलत नम्बरको रिपोर्ट गर्नुहोस्"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"एउटा तस्बिर पठाइयो"</string>
<string name="received_a_photo" msgid="3528953225576480505">"एउटा तस्बिर प्राप्त भयो"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> का सम्पर्क विवरणहरू"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"गलत नम्बरको रिपोर्ट गर्नुहोस्"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"नम्बरको रिपोर्ट गर्न सकिएन"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"नम्बरको रिपोर्ट गरियो"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-nl/strings.xml b/java/com/android/dialer/calldetails/res/values-nl/strings.xml
index 71657b813..b8cb7feec 100644
--- a/java/com/android/dialer/calldetails/res/values-nl/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-nl/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Verwijderen"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Nummer kopiëren"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Nummer bewerken vóór bellen"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Bellen"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Onjuist nummer melden"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Foto verzonden"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Foto ontvangen"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\'<xliff:g id="MESSAGE">%1$s</xliff:g>\'"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Contactgegevens voor <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Incorrect nummer melden"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Kan nummer niet melden"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nummer gemeld"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-no/strings.xml b/java/com/android/dialer/calldetails/res/values-no/strings.xml
index 022025fa3..53ffd3a87 100644
--- a/java/com/android/dialer/calldetails/res/values-no/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-no/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Slett"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiér nummeret"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Rediger nummeret før du ringer"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Ring"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Rapportér feil nummer"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Et bilde ble sendt"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Et bilde ble mottatt"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontaktinformasjon for <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Rapportér feil nummer"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Kunne ikke rapportere nummeret"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nummeret er rapportert"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-pa/strings.xml b/java/com/android/dialer/calldetails/res/values-pa/strings.xml
index d4f175943..b488d534e 100644
--- a/java/com/android/dialer/calldetails/res/values-pa/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-pa/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"ਮਿਟਾਓ"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"ਨੰਬਰ ਕਾਪੀ ਕਰੋ"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"ਕਾਲ ਤੋਂ ਪਹਿਲਾਂ ਨੰਬਰ ਸੰਪਾਦਿਤ ਕਰੋ"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"ਕਾਲ ਕਰੋ"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"ਗਲਤ ਨੰਬਰ ਦੀ ਰਿਪੋਰਟ ਕਰੋ"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ਇੱਕ ਫ਼ੋਟੋ ਭੇਜੀ ਗਈ"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ਇੱਕ ਫ਼ੋਟੋ ਪ੍ਰਾਪਤ ਹੋਈ"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ਲਈ ਸੰਪਰਕ ਵੇਰਵੇ"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"ਗਲਤ ਨੰਬਰ ਦੀ ਰਿਪੋਰਟ ਕਰੋ"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"ਨੰਬਰ ਦੀ ਰਿਪੋਰਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"ਨੰਬਰ ਦੀ ਰਿਪੋਰਟ ਕੀਤੀ ਗਈ"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-pl/strings.xml b/java/com/android/dialer/calldetails/res/values-pl/strings.xml
index 96446005d..790dade50 100644
--- a/java/com/android/dialer/calldetails/res/values-pl/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-pl/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Usuń"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiuj numer"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Edytuj numer, zanim zadzwonisz"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Zadzwoń"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Zgłoś niedokładny numer"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Wysłano zdjęcie"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Odebrano zdjęcie"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Informacje kontaktowe: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Zgłoś nieprawidłowy numer"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Nie udało się zgłosić numeru"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Numer został zgłoszony"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml b/java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml
index 467973d55..7cd32827d 100644
--- a/java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Excluir"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de ligar"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Ligar"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Informar número inválido"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Enviou uma foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Recebeu uma foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Detalhes de contato para <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Informar número incorreto"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Não foi possível informar o número"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Número informado"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml b/java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml
index cfbbc0240..5749ebb40 100644
--- a/java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Eliminar"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Editar o número antes de efetuar a chamada"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Telefonar"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Denunciar número incorreto"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Enviou uma foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Recebeu uma foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Detalhes de contacto de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Denunciar número incorreto"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Não foi possível denunciar o número."</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Número denunciado"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-pt/strings.xml b/java/com/android/dialer/calldetails/res/values-pt/strings.xml
index 467973d55..7cd32827d 100644
--- a/java/com/android/dialer/calldetails/res/values-pt/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-pt/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Excluir"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de ligar"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Ligar"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Informar número inválido"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Enviou uma foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Recebeu uma foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Detalhes de contato para <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Informar número incorreto"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Não foi possível informar o número"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Número informado"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ro/strings.xml b/java/com/android/dialer/calldetails/res/values-ro/strings.xml
index e9281ae66..00ab0a3bd 100644
--- a/java/com/android/dialer/calldetails/res/values-ro/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ro/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Ștergeți"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Copiați numărul"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Modificați numărul înainte de apelare"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Apelați"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Raportați numărul ca incorect"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"A fost trimisă o fotografie."</string>
<string name="received_a_photo" msgid="3528953225576480505">"A fost primită o fotografie."</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Detalii de contact pentru <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Raportați un număr incorect"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Numărul nu a putut fi raportat."</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Numărul a fost raportat."</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ru/strings.xml b/java/com/android/dialer/calldetails/res/values-ru/strings.xml
index bf981e293..b31b83285 100644
--- a/java/com/android/dialer/calldetails/res/values-ru/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ru/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Удалить"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Скопировать номер"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Изменить номер перед вызовом"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Позвонить"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Сообщить об ошибке в номере"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Отправлена фотография"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Получена фотография"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Сведения о контакте <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Неверный номер"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Не удалось отправить отчет о неверном номере"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Отчет о неверном номере отправлен"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-si/strings.xml b/java/com/android/dialer/calldetails/res/values-si/strings.xml
index 5fdca0d52..62968ab97 100644
--- a/java/com/android/dialer/calldetails/res/values-si/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-si/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"මකන්න"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"අංකය පිටපත් කරන්න"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"ඇමතුමට පෙර අංකය සංස්කරණය කරන්න"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"අමතන්න"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"වැරදි අංකය වාර්තා කරන්න"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ඡායාරූපයක් යැවිණි"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ඡායාරූපයක් ලැබිණි"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> සඳහා සම්බන්ධතා විස්තර"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"වැරදි අංකය වාර්තා කරන්න"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"අංකය වාර්තා කිරීමට නොහැකි විය"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"අංකය වාර්තා කරන ලදී"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-sk/strings.xml b/java/com/android/dialer/calldetails/res/values-sk/strings.xml
index db0478713..ee62cbd86 100644
--- a/java/com/android/dialer/calldetails/res/values-sk/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-sk/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Odstrániť"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopírovať číslo"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Pred volaním upraviť číslo"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Volať"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Nahlásiť nesprávne číslo"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Bola odoslaná fotka"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Bola prijatá fotka"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> – podrobnosti kontaktu"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Nahlásenie nesprávneho čísla"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Číslo sa nepodarilo nahlásiť"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Číslo bolo nahlásené"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-sl/strings.xml b/java/com/android/dialer/calldetails/res/values-sl/strings.xml
index 98975f406..70b0e59b1 100644
--- a/java/com/android/dialer/calldetails/res/values-sl/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-sl/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Izbriši"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiraj številko"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Pred klicanjem uredi številko"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Pokliči"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Prijavi netočno številko"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Poslana fotografija"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Prejeta fotografija"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"»<xliff:g id="MESSAGE">%1$s</xliff:g>«"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Podrobnosti stika za <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Prijava napačne številke"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Številke ni bilo mogoče prijaviti"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Številka je prijavljena"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-sq/strings.xml b/java/com/android/dialer/calldetails/res/values-sq/strings.xml
index dd9915da5..a3de4f16a 100644
--- a/java/com/android/dialer/calldetails/res/values-sq/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-sq/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Fshi"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopjo numrin"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Redakto numrin para telefonatës"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Telefono"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Raporto numrin e pasaktë"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"U dërgua një fotografi"</string>
<string name="received_a_photo" msgid="3528953225576480505">"U mor një fotografi"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Detajet e kontaktit për <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Raporto numrin e pasaktë"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Numri nuk mund të raportohej"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Numri u raportua"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-sr/strings.xml b/java/com/android/dialer/calldetails/res/values-sr/strings.xml
index 7f4005d78..54c155039 100644
--- a/java/com/android/dialer/calldetails/res/values-sr/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-sr/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Избриши"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Копирај број"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Измените број пре позива"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Позови"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Пријави нетачан број"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Слика је послата"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Слика је примљена"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Контакт информације за <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Пријавите нетачан број"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Пријављивање броја није успело"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Број је пријављен"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-sv/strings.xml b/java/com/android/dialer/calldetails/res/values-sv/strings.xml
index 3967b4ff3..a7e1c1212 100644
--- a/java/com/android/dialer/calldetails/res/values-sv/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-sv/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Radera"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopiera nummer"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Redigera nummer före samtal"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Ring"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Rapportera felaktigt nummer"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Skickade ett foto"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Tog emot ett foto"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"<xliff:g id="MESSAGE">%1$s</xliff:g>"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Kontaktuppgifter för <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Rapportera felaktigt nummer"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Det gick inte att rapportera nummer"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nummer rapporterat"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-sw/strings.xml b/java/com/android/dialer/calldetails/res/values-sw/strings.xml
index e5df8230a..f19fb7b5a 100644
--- a/java/com/android/dialer/calldetails/res/values-sw/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-sw/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Futa"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Nakili nambari"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Hariri nambari kabla ya kupiga"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Piga simu"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Ripoti nambari isiyo sahihi"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Picha imetumwa"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Picha imepokelewa"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Maelezo ya <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Ripoti nambari isiyosahihi"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Imeshindwa kuripoti nambari"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Nambari imeripotiwa"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ta/strings.xml b/java/com/android/dialer/calldetails/res/values-ta/strings.xml
index 840ad8790..7f625f815 100644
--- a/java/com/android/dialer/calldetails/res/values-ta/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ta/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"நீக்கு"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"எண்ணை நகலெடு"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"அழைப்பதற்கு முன் எண்ணைத் திருத்து"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"அழை"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"துல்லியமற்ற எண் எனப் புகாரளி"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"படம் அனுப்பப்பட்டது"</string>
<string name="received_a_photo" msgid="3528953225576480505">"படம் பெறப்பட்டது"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>க்கான தொடர்பு விவரங்கள்"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"தவறான எண் எனப் புகாரளி"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"எண்ணைப் புகாரளிக்க முடியவில்லை"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"எண் புகாரளிக்கப்பட்டது"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-te/strings.xml b/java/com/android/dialer/calldetails/res/values-te/strings.xml
index 3054444ac..d6fc79284 100644
--- a/java/com/android/dialer/calldetails/res/values-te/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-te/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"తొలగించు"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"నంబర్‌ను కాపీ చేయి"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"కాల్ చేసే ముందు నంబర్‌ను సవరించు"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"కాల్ చేయి"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"అనిర్దిష్టంగా ఉండే నంబర్‌ను నివేదించు"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ఫోటో పంపబడింది"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ఫోటో స్వీకరించబడింది"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> యొక్క సంప్రదింపు వివరాలు"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"చెల్లని నంబర్‌ను నివేదించండి"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"నంబర్‌ను నివేదించడం సాధ్యపడలేదు"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"నంబర్ నివేదించబడింది"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-th/strings.xml b/java/com/android/dialer/calldetails/res/values-th/strings.xml
index c565ebadf..7bbcd126b 100644
--- a/java/com/android/dialer/calldetails/res/values-th/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-th/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"ลบ"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"คัดลอกหมายเลข"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"แก้ไขหมายเลขก่อนโทร"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"โทร"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"รายงานหมายเลขที่ผิดพลาด"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ส่งรูปภาพแล้ว"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ได้รับรูปภาพแล้ว"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"รายละเอียดที่ติดต่อสำหรับ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"รายงานหมายเลขที่ไม่ถูกต้อง"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"ไม่สามารถรายงานหมายเลข"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"รายงานหมายเลขแล้ว"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-tl/strings.xml b/java/com/android/dialer/calldetails/res/values-tl/strings.xml
index 81c148e6b..969a33a31 100644
--- a/java/com/android/dialer/calldetails/res/values-tl/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-tl/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"I-delete"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopyahin ang numero"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"I-edit ang numero bago tumawag"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Tumawag"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Iulat ang hindi wastong numero"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Nagpadala ng larawan"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Nakatanggap ng larawan"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Mga detalye sa pakikipag-ugnayan para kay/sa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Iulat ang hindi tamang numero"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Hindi maiulat ang numero"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Inulat ang numero"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-tr/strings.xml b/java/com/android/dialer/calldetails/res/values-tr/strings.xml
index ade401843..99763121f 100644
--- a/java/com/android/dialer/calldetails/res/values-tr/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-tr/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Sil"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Numarayı kopyala"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Telefon etmeden önce numarayı düzenleyin"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Telefon eder"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Hatalı numarayı bildir"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Bir fotoğraf gönderildi"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Bir fotoğraf alındı"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> için kişi ayrıntıları"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Yanlış numarayı bildir"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Numara bildirilemedi"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Numara bildirildi"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-uk/strings.xml b/java/com/android/dialer/calldetails/res/values-uk/strings.xml
index 6538d664d..d37a54e6f 100644
--- a/java/com/android/dialer/calldetails/res/values-uk/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-uk/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Видалити"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Копіювати номер"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Редагувати номер перед дзвінком"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Виклик"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Повідомити про неправильний номер"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Надіслано фотографію"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Отримано фотографію"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Відомості про контакт <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Повідомити про неправильний номер"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Не вдалося повідомити про неправильний номер"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Ви повідомили про неправильний номер"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-ur/strings.xml b/java/com/android/dialer/calldetails/res/values-ur/strings.xml
index 90c3a590a..960bef4cf 100644
--- a/java/com/android/dialer/calldetails/res/values-ur/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-ur/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"حذف کریں"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"نمبر کاپی کریں"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"کال کرنے سے پہلے نمبر میں ترمیم کریں"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"کال"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"غلط نمبر کی رپورٹ کریں"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"ایک تصویر بھیجی"</string>
<string name="received_a_photo" msgid="3528953225576480505">"ایک تصویر موصول ہوئی"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> کیلئے رابطہ کی تفصیلات"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"غلط نمبر کی اطلاع دیں"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"نمبر کی اطلاع نہیں دی جا سکی"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"نمبر کی اطلاع دے دی گئی"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-uz/strings.xml b/java/com/android/dialer/calldetails/res/values-uz/strings.xml
index 7b443ca2e..4f38cabd2 100644
--- a/java/com/android/dialer/calldetails/res/values-uz/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-uz/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"O‘chirib tashlash"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Raqamni nusxalash"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Qo‘ng‘iroq qilishdan oldin raqamni tahrirlash"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Qo‘ng‘iroq qilish"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Raqamdagi xatolik haqida xabar berish"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Rasm yuborildi"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Rasm qabul qilindi"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"“<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> kontakt ma’lumotlari"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Noto‘g‘ri raqam"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Raqamdagi xatolik haqida xabar yuborib bo‘lmadi"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Raqamdagi xatolik haqida xabar yuborildi"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-vi/strings.xml b/java/com/android/dialer/calldetails/res/values-vi/strings.xml
index 7a950216d..6adae2bc9 100644
--- a/java/com/android/dialer/calldetails/res/values-vi/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-vi/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Xóa"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Sao chép số"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Chỉnh sửa số trước khi gọi"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Gọi"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Báo cáo số không chính xác"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Đã gửi một ảnh"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Đã nhận một ảnh"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Chi tiết liên hệ cho <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Báo cáo số không chính xác"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Không thể báo cáo số"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Đã báo cáo số"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml b/java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml
index aad695a73..1edb5e19e 100644
--- a/java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"删除"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"复制号码"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"拨打电话之前修改号码"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"拨打电话"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"报告错误的号码"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"发送了一张照片"</string>
<string name="received_a_photo" msgid="3528953225576480505">"收到了一张照片"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"“<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>的详细联系信息"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"报告错误号码"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"无法报告错误的号码"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"已报告错误的号码"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml b/java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml
index eb5b606b7..a82e070eb 100644
--- a/java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"刪除"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"複製號碼"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"在撥打前編輯號碼"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"通話"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"報告錯誤號碼"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"已傳送相片"</string>
<string name="received_a_photo" msgid="3528953225576480505">"已收到相片"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"「<xliff:g id="MESSAGE">%1$s</xliff:g>」"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」的聯絡人詳細資料"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"報告不正確的號碼"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"無法報告號碼"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"已報告號碼"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml b/java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml
index fd426c0fa..3b9dd5665 100644
--- a/java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"刪除"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"複製號碼"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"撥打電話前編輯號碼"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"撥號"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"回報號碼錯誤"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"傳送了 1 張相片"</string>
<string name="received_a_photo" msgid="3528953225576480505">"收到了 1 張相片"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"「<xliff:g id="MESSAGE">%1$s</xliff:g>」"</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"「<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>」的聯絡詳細資料"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"回報不正確的號碼"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"無法回報號碼"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"已回報號碼"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values-zu/strings.xml b/java/com/android/dialer/calldetails/res/values-zu/strings.xml
index d41d1f5cb..25e0cead4 100644
--- a/java/com/android/dialer/calldetails/res/values-zu/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values-zu/strings.xml
@@ -21,9 +21,11 @@
<string name="delete" msgid="2141020674108406737">"Susa"</string>
<string name="call_details_copy_number" msgid="4265479408878990796">"Kopisha inombolo"</string>
<string name="call_details_edit_number" msgid="8718476514903513624">"Hlela inombolo ngaphambi kokushaya ucingo"</string>
- <string name="description_call_log_call_action" msgid="1421313064764221900">"Shaya"</string>
+ <string name="call_details_report_call_id" msgid="8857541295264421217">"Bika inombolo engalungile"</string>
<string name="sent_a_photo" msgid="3978670717462979502">"Uthumele isithombe"</string>
<string name="received_a_photo" msgid="3528953225576480505">"Uthole isithombe"</string>
<string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string>
- <string name="description_contact_photo_details" msgid="3035869307063629315">"Imininingwane yokuxhumana ka-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string>
+ <string name="report_caller_id_dialog_title" msgid="145323726250371695">"Bika inombolo engalungile"</string>
+ <string name="report_caller_id_failed" msgid="1471904930106125702">"Ayikwazanga ukubika inombolo"</string>
+ <string name="report_caller_id_toast" msgid="5494870403429969932">"Inombolo ibikiwe"</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values/dimens.xml b/java/com/android/dialer/calldetails/res/values/dimens.xml
index f85d02f83..91bf70e88 100644
--- a/java/com/android/dialer/calldetails/res/values/dimens.xml
+++ b/java/com/android/dialer/calldetails/res/values/dimens.xml
@@ -15,8 +15,6 @@
~ limitations under the License
-->
<resources>
- <dimen name="call_details_primary_text_size">16sp</dimen>
- <dimen name="call_details_secondary_text_size">14sp</dimen>
<dimen name="call_details_top_margin">6dp</dimen>
<!-- contact container -->
diff --git a/java/com/android/dialer/calldetails/res/values/strings.xml b/java/com/android/dialer/calldetails/res/values/strings.xml
index 4471605f6..1441efdcd 100644
--- a/java/com/android/dialer/calldetails/res/values/strings.xml
+++ b/java/com/android/dialer/calldetails/res/values/strings.xml
@@ -27,9 +27,8 @@
<!-- Label for action to edit a number before calling it. [CHAR LIMIT=48] -->
<string name="call_details_edit_number">Edit number before call</string>
- <!-- String describing the phone icon on a call log list item. When tapped, it will place a
- call to the number represented by that call log entry. [CHAR LIMIT=NONE]-->
- <string name="description_call_log_call_action">Call</string>
+ <!-- Label for action to report a number with inaccurate caller id information. [CHAR LIMIT=48] -->
+ <string name="call_details_report_call_id">Report inaccurate number</string>
<!-- String shown when the call details show a image that was sent -->
<string name="sent_a_photo">Sent a photo</string>
@@ -40,10 +39,14 @@
<!-- Messages shown to the user are wrapped in quotes, e.g. the user would see "Some text" -->
<string name="message_in_quotes">\"<xliff:g id="message">%1$s</xliff:g>\"</string>
- <!-- String describing the button to access the contact details for a name or number.
+ <!-- Title of dialog that confirms whether a user wants to report an incorrect number.
+ [CHAR LIMIT=NONE] -->
+ <string name="report_caller_id_dialog_title">Report incorrect number</string>
- 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_contact_photo_details">Contact details for <xliff:g id="nameOrNumber">%1$s</xliff:g></string>
+ <!-- Toast that appears when a caller id report fails to send. Could be due to network error or
+ authentication error. [CHAR LIMIT=NONE] -->
+ <string name="report_caller_id_failed">Couldn\'t report number</string>
+
+ <!-- Toast message which appears when a contact's caller id is reported as incorrect. [CHAR LIMIT=NONE] -->
+ <string name="report_caller_id_toast">Number reported</string>
</resources>
diff --git a/java/com/android/dialer/calldetails/res/values/styles.xml b/java/com/android/dialer/calldetails/res/values/styles.xml
index 4fffe1afb..1a2b52994 100644
--- a/java/com/android/dialer/calldetails/res/values/styles.xml
+++ b/java/com/android/dialer/calldetails/res/values/styles.xml
@@ -15,24 +15,6 @@
~ limitations under the License
-->
<resources>
- <style name="PrimaryText">
- <item name="android:textColor">#DE000000</item>
- <item name="android:textSize">@dimen/call_details_primary_text_size</item>
- <item name="android:maxLines">1</item>
- </style>
-
- <style name="SecondaryText">
- <item name="android:textColor">#8A000000</item>
- <item name="android:textSize">@dimen/call_details_secondary_text_size</item>
- <item name="android:maxLines">1</item>
- </style>
-
- <style name="ECText">
- <item name="android:textColor">#8A000000</item>
- <item name="android:textSize">@dimen/call_details_ec_text_size</item>
- <item name="android:maxLines">1</item>
- </style>
-
<style name="CallDetailsActionItemStyle">
<item name="android:foreground">?android:attr/selectableItemBackground</item>
<item name="android:clickable">true</item>
diff --git a/java/com/android/dialer/callintent/CallIntentBuilder.java b/java/com/android/dialer/callintent/CallIntentBuilder.java
index 6066f6654..c9468baa6 100644
--- a/java/com/android/dialer/callintent/CallIntentBuilder.java
+++ b/java/com/android/dialer/callintent/CallIntentBuilder.java
@@ -27,6 +27,7 @@ import android.telecom.TelecomManager;
import android.telecom.VideoProfile;
import android.text.TextUtils;
import com.android.dialer.common.Assert;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.util.CallUtil;
/** Creates an intent to start a new outgoing call. */
@@ -39,9 +40,22 @@ public class CallIntentBuilder {
public CallIntentBuilder(@NonNull Uri uri, @NonNull CallSpecificAppData callSpecificAppData) {
this.uri = Assert.isNotNull(uri);
- this.callSpecificAppData = Assert.isNotNull(callSpecificAppData);
+ Assert.isNotNull(callSpecificAppData);
Assert.checkArgument(
callSpecificAppData.getCallInitiationType() != CallInitiationType.Type.UNKNOWN_INITIATION);
+
+ if (PerformanceReport.isRecording()) {
+ this.callSpecificAppData =
+ CallSpecificAppData.newBuilder(callSpecificAppData)
+ .setTimeSinceAppLaunch(PerformanceReport.getTimeSinceAppLaunch())
+ .setTimeSinceFirstClick(PerformanceReport.getTimeSinceFirstClick())
+ .addAllUiActionsSinceAppLaunch(PerformanceReport.getActions())
+ .addAllUiActionTimestampsSinceAppLaunch(PerformanceReport.getActionTimestamps())
+ .build();
+ PerformanceReport.stopRecording();
+ } else {
+ this.callSpecificAppData = callSpecificAppData;
+ }
}
public CallIntentBuilder(@NonNull Uri uri, CallInitiationType.Type callInitiationType) {
diff --git a/java/com/android/dialer/callintent/call_specific_app_data.proto b/java/com/android/dialer/callintent/call_specific_app_data.proto
index 20ffc1ff4..766449f71 100644
--- a/java/com/android/dialer/callintent/call_specific_app_data.proto
+++ b/java/com/android/dialer/callintent/call_specific_app_data.proto
@@ -7,14 +7,28 @@ option optimize_for = LITE_RUNTIME;
package com.android.dialer.callintent;
import "java/com/android/dialer/callintent/call_initiation_type.proto";
+import "java/com/android/dialer/callintent/speed_dial_contact_type.proto";
+import "java/com/android/dialer/logging/ui_action.proto";
// Miscellaneous data that's included in a new outgoing call initiated by
// Dialer. The system will pass this data to the InCallUi which can use it
// for logging or for something else.
+// Next tag: 10
message CallSpecificAppData {
optional CallInitiationType.Type call_initiation_type = 1;
optional int32 position_of_selected_search_result = 2;
optional int32 characters_in_search_string = 3;
+
+ repeated SpeedDialContactType.Type speed_dial_contact_type = 4;
+ optional int32 speed_dial_contact_position = 5;
+
+ optional int64 time_since_app_launch = 6;
+ optional int64 time_since_first_click = 7;
+ // The following two list should be of the same length
+ // (adding another message is not allowed here)
+ repeated com.android.dialer.logging.UiAction.Type
+ ui_actions_since_app_launch = 8;
+ repeated int64 ui_action_timestamps_since_app_launch = 9;
}
diff --git a/java/com/android/dialer/callintent/speed_dial_contact_type.proto b/java/com/android/dialer/callintent/speed_dial_contact_type.proto
new file mode 100644
index 000000000..2d1fa3f3c
--- /dev/null
+++ b/java/com/android/dialer/callintent/speed_dial_contact_type.proto
@@ -0,0 +1,19 @@
+syntax = "proto2";
+
+option java_package = "com.android.dialer.callintent";
+option java_multiple_files = true;
+option optimize_for = LITE_RUNTIME;
+
+package com.android.dialer.callintent;
+
+
+// The type of speed call contact (favorites). Applies to initiation type
+// SPEED_DIAL only.
+message SpeedDialContactType {
+ enum Type {
+ UNDEFINED = 0;
+ PINNED_CONTACT = 1;
+ STARRED_CONTACT = 2;
+ FREQUENT_CONTACT = 3;
+ }
+}
diff --git a/java/com/android/dialer/calllog/CallLogComponent.java b/java/com/android/dialer/calllog/CallLogComponent.java
index 5cdd2b4d0..c7db2a1b8 100644
--- a/java/com/android/dialer/calllog/CallLogComponent.java
+++ b/java/com/android/dialer/calllog/CallLogComponent.java
@@ -25,6 +25,8 @@ public abstract class CallLogComponent {
public abstract CallLogFramework callLogFramework();
+ public abstract RefreshAnnotatedCallLogWorker getRefreshAnnotatedCallLogWorker();
+
public static CallLogComponent get(Context context) {
return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component())
.callLogComponent();
diff --git a/java/com/android/dialer/calllog/CallLogFramework.java b/java/com/android/dialer/calllog/CallLogFramework.java
index 508413b14..d3a2c638e 100644
--- a/java/com/android/dialer/calllog/CallLogFramework.java
+++ b/java/com/android/dialer/calllog/CallLogFramework.java
@@ -22,9 +22,10 @@ import android.preference.PreferenceManager;
import android.support.annotation.MainThread;
import android.support.annotation.Nullable;
import com.android.dialer.calllog.datasources.CallLogDataSource;
+import com.android.dialer.calllog.datasources.DataSources;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -38,7 +39,6 @@ import javax.inject.Singleton;
public final class CallLogFramework implements CallLogDataSource.ContentObserverCallbacks {
static final String PREF_FORCE_REBUILD = "callLogFrameworkForceRebuild";
- static final String PREF_LAST_REBUILD_TIMESTAMP_MILLIS = "callLogFrameworkLastRebuild";
private final DataSources dataSources;
@@ -58,6 +58,7 @@ public final class CallLogFramework implements CallLogDataSource.ContentObserver
LogUtil.enterBlock("CallLogFramework.registerContentObservers");
if (!isNewCallLogEnabled(appContext)) {
+ LogUtil.i("CallLogFramework.registerContentObservers", "new call log not enabled");
return;
}
diff --git a/java/com/android/dialer/calllog/CallLogModule.java b/java/com/android/dialer/calllog/CallLogModule.java
index d7473a75e..2f2f16d5b 100644
--- a/java/com/android/dialer/calllog/CallLogModule.java
+++ b/java/com/android/dialer/calllog/CallLogModule.java
@@ -17,11 +17,9 @@
package com.android.dialer.calllog;
import com.android.dialer.calllog.datasources.CallLogDataSource;
+import com.android.dialer.calllog.datasources.DataSources;
import com.android.dialer.calllog.datasources.contacts.ContactsDataSource;
import com.android.dialer.calllog.datasources.systemcalllog.SystemCallLogDataSource;
-import com.android.dialer.common.concurrent.DefaultDialerExecutorFactory;
-import com.android.dialer.common.concurrent.DialerExecutorFactory;
-import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import java.util.Arrays;
@@ -32,10 +30,6 @@ import java.util.List;
@Module
public abstract class CallLogModule {
- @Binds
- abstract DialerExecutorFactory bindDialerExecutorFactory(
- DefaultDialerExecutorFactory defaultDialerExecutorFactory);
-
@Provides
static DataSources provideCallLogDataSources(
SystemCallLogDataSource systemCallLogDataSource, ContactsDataSource contactsDataSource) {
diff --git a/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java b/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java
index f9f0c9935..273246649 100644
--- a/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java
+++ b/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java
@@ -18,91 +18,84 @@ package com.android.dialer.calllog;
import android.annotation.TargetApi;
import android.content.Context;
+import android.content.OperationApplicationException;
import android.content.SharedPreferences;
-import android.database.sqlite.SQLiteDatabase;
import android.os.Build;
+import android.os.RemoteException;
import android.preference.PreferenceManager;
import android.support.annotation.WorkerThread;
-import com.android.dialer.calllog.database.AnnotatedCallLog;
-import com.android.dialer.calllog.database.CallLogMutations;
+import com.android.dialer.calllog.database.CallLogDatabaseComponent;
import com.android.dialer.calllog.datasources.CallLogDataSource;
+import com.android.dialer.calllog.datasources.CallLogMutations;
+import com.android.dialer.calllog.datasources.DataSources;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+import com.android.dialer.inject.ApplicationContext;
import javax.inject.Inject;
/**
* Worker which brings the annotated call log up to date, if necessary.
*
- * <p>Accepts a boolean which indicates if the dirty check should be skipped, and returns true if
- * the annotated call log was updated.
+ * <p>Accepts a boolean which indicates if the dirty check should be skipped.
*/
-public class RefreshAnnotatedCallLogWorker implements Worker<Boolean, Boolean> {
+public class RefreshAnnotatedCallLogWorker implements Worker<Boolean, Void> {
private final Context appContext;
private final DataSources dataSources;
@Inject
- public RefreshAnnotatedCallLogWorker(Context appContext, DataSources dataSources) {
+ RefreshAnnotatedCallLogWorker(@ApplicationContext Context appContext, DataSources dataSources) {
this.appContext = appContext;
this.dataSources = dataSources;
}
@Override
- public Boolean doInBackground(Boolean skipDirtyCheck) {
- LogUtil.enterBlock("RefreshAnnotatedCallLogWorker.doInBackgroundFallible");
+ public Void doInBackground(Boolean skipDirtyCheck)
+ throws RemoteException, OperationApplicationException {
+ LogUtil.enterBlock("RefreshAnnotatedCallLogWorker.doInBackground");
long startTime = System.currentTimeMillis();
- boolean annotatedCallLogUpdated = checkDirtyAndRebuildIfNecessary(appContext, skipDirtyCheck);
+ checkDirtyAndRebuildIfNecessary(appContext, skipDirtyCheck);
LogUtil.i(
- "RefreshAnnotatedCallLogWorker.doInBackgroundFallible",
- "updated? %s, took %dms",
- annotatedCallLogUpdated,
+ "RefreshAnnotatedCallLogWorker.doInBackground",
+ "took %dms",
System.currentTimeMillis() - startTime);
- return annotatedCallLogUpdated;
+ return null;
}
@WorkerThread
- private boolean checkDirtyAndRebuildIfNecessary(Context appContext, boolean skipDirtyCheck) {
+ private void checkDirtyAndRebuildIfNecessary(Context appContext, boolean skipDirtyCheck)
+ throws RemoteException, OperationApplicationException {
Assert.isWorkerThread();
long startTime = System.currentTimeMillis();
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(appContext);
- long lastRebuildTimeMillis =
- sharedPreferences.getLong(CallLogFramework.PREF_LAST_REBUILD_TIMESTAMP_MILLIS, 0);
- if (lastRebuildTimeMillis == 0) {
- LogUtil.i(
- "RefreshAnnotatedCallLogWorker.checkDirtyAndRebuildIfNecessary",
- "annotated call log has never been built, marking it dirty");
- }
+ // Default to true. If the pref doesn't exist, the annotated call log hasn't been created and
+ // we just skip isDirty checks and force a rebuild.
boolean forceRebuildPrefValue =
- sharedPreferences.getBoolean(CallLogFramework.PREF_FORCE_REBUILD, false);
+ sharedPreferences.getBoolean(CallLogFramework.PREF_FORCE_REBUILD, true);
if (forceRebuildPrefValue) {
LogUtil.i(
"RefreshAnnotatedCallLogWorker.checkDirtyAndRebuildIfNecessary",
- "call log has been marked dirty");
+ "annotated call log has been marked dirty or does not exist");
}
- boolean isDirty =
- lastRebuildTimeMillis == 0
- || skipDirtyCheck
- || forceRebuildPrefValue
- || isDirty(appContext);
+ boolean isDirty = skipDirtyCheck || forceRebuildPrefValue || isDirty(appContext);
+
LogUtil.i(
"RefreshAnnotatedCallLogWorker.checkDirtyAndRebuildIfNecessary",
"isDirty took: %dms",
System.currentTimeMillis() - startTime);
if (isDirty) {
startTime = System.currentTimeMillis();
- rebuild(appContext, lastRebuildTimeMillis);
+ rebuild(appContext);
LogUtil.i(
"RefreshAnnotatedCallLogWorker.checkDirtyAndRebuildIfNecessary",
"rebuild took: %dms",
System.currentTimeMillis() - startTime);
- return true; // Annotated call log was updated.
}
- return false; // Annotated call log was not updated.
}
@WorkerThread
@@ -129,52 +122,58 @@ public class RefreshAnnotatedCallLogWorker implements Worker<Boolean, Boolean> {
@TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources
@WorkerThread
- private void rebuild(Context appContext, long lastRebuildTimeMillis) {
+ private void rebuild(Context appContext) throws RemoteException, OperationApplicationException {
Assert.isWorkerThread();
- // TODO: Start a transaction?
- try (SQLiteDatabase database = AnnotatedCallLog.getWritableDatabase(appContext)) {
+ CallLogMutations mutations = new CallLogMutations();
- CallLogMutations mutations = new CallLogMutations();
+ // System call log data source must go first!
+ CallLogDataSource systemCallLogDataSource = dataSources.getSystemCallLogDataSource();
+ String dataSourceName = getName(systemCallLogDataSource);
+ LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "filling %s", dataSourceName);
+ long startTime = System.currentTimeMillis();
+ systemCallLogDataSource.fill(appContext, mutations);
+ LogUtil.i(
+ "RefreshAnnotatedCallLogWorker.rebuild",
+ "%s.fill took: %dms",
+ dataSourceName,
+ System.currentTimeMillis() - startTime);
- // System call log data source must go first!
- CallLogDataSource systemCallLogDataSource = dataSources.getSystemCallLogDataSource();
- String dataSourceName = getName(systemCallLogDataSource);
+ for (CallLogDataSource dataSource : dataSources.getDataSourcesExcludingSystemCallLog()) {
+ dataSourceName = getName(dataSource);
LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "filling %s", dataSourceName);
- long startTime = System.currentTimeMillis();
- systemCallLogDataSource.fill(appContext, database, lastRebuildTimeMillis, mutations);
+ startTime = System.currentTimeMillis();
+ dataSource.fill(appContext, mutations);
LogUtil.i(
- "RefreshAnnotatedCallLogWorker.rebuild",
+ "CallLogFramework.rebuild",
"%s.fill took: %dms",
dataSourceName,
System.currentTimeMillis() - startTime);
+ }
+ LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "applying mutations to database");
+ startTime = System.currentTimeMillis();
+ CallLogDatabaseComponent.get(appContext)
+ .mutationApplier()
+ .applyToDatabase(mutations, appContext);
+ LogUtil.i(
+ "RefreshAnnotatedCallLogWorker.rebuild",
+ "applyToDatabase took: %dms",
+ System.currentTimeMillis() - startTime);
- for (CallLogDataSource dataSource : dataSources.getDataSourcesExcludingSystemCallLog()) {
- dataSourceName = getName(dataSource);
- LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "filling %s", dataSourceName);
- startTime = System.currentTimeMillis();
- dataSource.fill(appContext, database, lastRebuildTimeMillis, mutations);
- LogUtil.i(
- "CallLogFramework.rebuild",
- "%s.fill took: %dms",
- dataSourceName,
- System.currentTimeMillis() - startTime);
- }
- LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "applying mutations to database");
+ for (CallLogDataSource dataSource : dataSources.getDataSourcesIncludingSystemCallLog()) {
+ dataSourceName = getName(dataSource);
+ LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "onSuccessfulFill'ing %s", dataSourceName);
startTime = System.currentTimeMillis();
- mutations.applyToDatabase(database);
+ dataSource.onSuccessfulFill(appContext);
LogUtil.i(
- "RefreshAnnotatedCallLogWorker.rebuild",
- "applyToDatabase took: %dms",
+ "CallLogFramework.rebuild",
+ "%s.onSuccessfulFill took: %dms",
+ dataSourceName,
System.currentTimeMillis() - startTime);
}
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(appContext);
- sharedPreferences
- .edit()
- .putBoolean(CallLogFramework.PREF_FORCE_REBUILD, false)
- .putLong(CallLogFramework.PREF_LAST_REBUILD_TIMESTAMP_MILLIS, System.currentTimeMillis())
- .commit();
+ sharedPreferences.edit().putBoolean(CallLogFramework.PREF_FORCE_REBUILD, false).apply();
}
private static String getName(CallLogDataSource dataSource) {
diff --git a/java/com/android/dialer/calllog/database/AndroidManifest.xml b/java/com/android/dialer/calllog/database/AndroidManifest.xml
new file mode 100644
index 000000000..396a6d9a1
--- /dev/null
+++ b/java/com/android/dialer/calllog/database/AndroidManifest.xml
@@ -0,0 +1,28 @@
+<!--
+ ~ 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
+ -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.dialer.calllog.database">
+
+ <application>
+
+ <provider
+ android:authorities="com.android.dialer.annotatedcalllog"
+ android:exported="false"
+ android:multiprocess="false"
+ android:name=".AnnotatedCallLogContentProvider"/>
+
+ </application>
+</manifest>
diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLog.java b/java/com/android/dialer/calllog/database/AnnotatedCallLog.java
deleted file mode 100644
index 7dca44a60..000000000
--- a/java/com/android/dialer/calllog/database/AnnotatedCallLog.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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
- */
-
-package com.android.dialer.calllog.database;
-
-import android.content.Context;
-import android.database.sqlite.SQLiteDatabase;
-import android.support.annotation.WorkerThread;
-import com.android.dialer.common.Assert;
-
-/** Static methods and constants for interacting with the annotated call log table. */
-public final class AnnotatedCallLog {
-
- private static final String DATABASE_NAME = "annotated_call_log.db";
-
- public static final String TABLE_NAME = "AnnotatedCallLog";
-
- /** Column names for the annotated call log table. */
- public static final class Columns {
- public static final String ID = "_id";
- public static final String TIMESTAMP = "timestamp";
- public static final String CONTACT_NAME = "contact_name";
- }
-
- private AnnotatedCallLog() {}
-
- @WorkerThread
- public static SQLiteDatabase getWritableDatabase(Context appContext) {
- Assert.isWorkerThread();
-
- return new AnnotatedCallLogDatabaseHelper(appContext, DATABASE_NAME).getWritableDatabase();
- }
-
- @WorkerThread
- public static SQLiteDatabase getReadableDatabase(Context appContext) {
- Assert.isWorkerThread();
-
- return new AnnotatedCallLogDatabaseHelper(appContext, DATABASE_NAME).getReadableDatabase();
- }
-}
diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLogContentProvider.java b/java/com/android/dialer/calllog/database/AnnotatedCallLogContentProvider.java
new file mode 100644
index 000000000..30aa2bff5
--- /dev/null
+++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogContentProvider.java
@@ -0,0 +1,331 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.calllog.database;
+
+import android.annotation.TargetApi;
+import android.content.ContentProvider;
+import android.content.ContentProviderOperation;
+import android.content.ContentProviderResult;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.content.OperationApplicationException;
+import android.content.UriMatcher;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteQueryBuilder;
+import android.net.Uri;
+import android.os.Build;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import java.util.ArrayList;
+
+/** {@link ContentProvider} for the annotated call log. */
+public class AnnotatedCallLogContentProvider extends ContentProvider {
+
+ /**
+ * We sometimes run queries where we potentially pass every ID into a where clause using the
+ * (?,?,?,...) syntax. The maximum number of host parameters is 999, so that's the maximum size
+ * this table can be. See https://www.sqlite.org/limits.html for more details.
+ */
+ private static final int MAX_ROWS = 999;
+
+ private static final int ANNOTATED_CALL_LOG_TABLE_CODE = 1;
+ private static final int ANNOTATED_CALL_LOG_TABLE_ID_CODE = 2;
+ private static final int COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE = 3;
+
+ private static final UriMatcher uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
+
+ static {
+ uriMatcher.addURI(
+ AnnotatedCallLogContract.AUTHORITY, AnnotatedCallLog.TABLE, ANNOTATED_CALL_LOG_TABLE_CODE);
+ uriMatcher.addURI(
+ AnnotatedCallLogContract.AUTHORITY,
+ AnnotatedCallLog.TABLE + "/#",
+ ANNOTATED_CALL_LOG_TABLE_ID_CODE);
+ uriMatcher.addURI(
+ AnnotatedCallLogContract.AUTHORITY,
+ CoalescedAnnotatedCallLog.TABLE,
+ COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE);
+ }
+
+ private AnnotatedCallLogDatabaseHelper databaseHelper;
+ private Coalescer coalescer;
+
+ private final ThreadLocal<Boolean> applyingBatch = new ThreadLocal<>();
+
+ /** Ensures that only a single notification is generated from {@link #applyBatch(ArrayList)}. */
+ private boolean isApplyingBatch() {
+ return applyingBatch.get() != null && applyingBatch.get();
+ }
+
+ @Override
+ public boolean onCreate() {
+ databaseHelper = new AnnotatedCallLogDatabaseHelper(getContext(), MAX_ROWS);
+ coalescer = CallLogDatabaseComponent.get(getContext()).coalescer();
+ return true;
+ }
+
+ @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources
+ @Nullable
+ @Override
+ public Cursor query(
+ @NonNull Uri uri,
+ @Nullable String[] projection,
+ @Nullable String selection,
+ @Nullable String[] selectionArgs,
+ @Nullable String sortOrder) {
+ SQLiteDatabase db = databaseHelper.getReadableDatabase();
+ SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
+ queryBuilder.setTables(AnnotatedCallLog.TABLE);
+ int match = uriMatcher.match(uri);
+ switch (match) {
+ case ANNOTATED_CALL_LOG_TABLE_ID_CODE:
+ queryBuilder.appendWhere(AnnotatedCallLog._ID + "=" + ContentUris.parseId(uri));
+ // fall through
+ case ANNOTATED_CALL_LOG_TABLE_CODE:
+ Cursor cursor =
+ queryBuilder.query(db, projection, selection, selectionArgs, null, null, sortOrder);
+ if (cursor != null) {
+ cursor.setNotificationUri(
+ getContext().getContentResolver(), AnnotatedCallLog.CONTENT_URI);
+ } else {
+ LogUtil.w("AnnotatedCallLogContentProvider.query", "cursor was null");
+ }
+ return cursor;
+ case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE:
+ Assert.checkArgument(projection == null, "projection not supported for coalesced call log");
+ Assert.checkArgument(selection == null, "selection not supported for coalesced call log");
+ Assert.checkArgument(
+ selectionArgs == null, "selection args not supported for coalesced call log");
+ Assert.checkArgument(sortOrder == null, "sort order not supported for coalesced call log");
+ try (Cursor allAnnotatedCallLogRows =
+ queryBuilder.query(
+ db, null, null, null, null, null, AnnotatedCallLog.TIMESTAMP + " DESC")) {
+ Cursor coalescedRows = coalescer.coalesce(allAnnotatedCallLogRows);
+ coalescedRows.setNotificationUri(
+ getContext().getContentResolver(), CoalescedAnnotatedCallLog.CONTENT_URI);
+ return coalescedRows;
+ }
+ default:
+ throw new IllegalArgumentException("Unknown uri: " + uri);
+ }
+ }
+
+ @Nullable
+ @Override
+ public String getType(@NonNull Uri uri) {
+ return AnnotatedCallLog.CONTENT_ITEM_TYPE;
+ }
+
+ @Nullable
+ @Override
+ public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) {
+ // Javadoc states values is not nullable, even though it is annotated as such (b/38123194)!
+ Assert.checkArgument(values != null);
+
+ SQLiteDatabase database = databaseHelper.getWritableDatabase();
+ int match = uriMatcher.match(uri);
+ switch (match) {
+ case ANNOTATED_CALL_LOG_TABLE_CODE:
+ Assert.checkArgument(
+ values.get(AnnotatedCallLog._ID) != null, "You must specify an _ID when inserting");
+ break;
+ case ANNOTATED_CALL_LOG_TABLE_ID_CODE:
+ Long idFromUri = ContentUris.parseId(uri);
+ Long idFromValues = values.getAsLong(AnnotatedCallLog._ID);
+ Assert.checkArgument(
+ idFromValues == null || idFromValues.equals(idFromUri),
+ "_ID from values %d does not match ID from URI: %s",
+ idFromValues,
+ uri);
+ if (idFromValues == null) {
+ values.put(AnnotatedCallLog._ID, idFromUri);
+ }
+ break;
+ case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE:
+ throw new UnsupportedOperationException("coalesced call log does not support inserting");
+ default:
+ throw new IllegalArgumentException("Unknown uri: " + uri);
+ }
+ long id = database.insert(AnnotatedCallLog.TABLE, null, values);
+ if (id < 0) {
+ LogUtil.w(
+ "AnnotatedCallLogContentProvider.insert",
+ "error inserting row with id: %d",
+ values.get(AnnotatedCallLog._ID));
+ return null;
+ }
+ Uri insertedUri = ContentUris.withAppendedId(AnnotatedCallLog.CONTENT_URI, id);
+ if (!isApplyingBatch()) {
+ notifyChange(insertedUri);
+ }
+ return insertedUri;
+ }
+
+ @Override
+ public int delete(
+ @NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) {
+ SQLiteDatabase database = databaseHelper.getWritableDatabase();
+ final int match = uriMatcher.match(uri);
+ switch (match) {
+ case ANNOTATED_CALL_LOG_TABLE_CODE:
+ break;
+ case ANNOTATED_CALL_LOG_TABLE_ID_CODE:
+ Assert.checkArgument(selection == null, "Do not specify selection when deleting by ID");
+ Assert.checkArgument(
+ selectionArgs == null, "Do not specify selection args when deleting by ID");
+ long id = ContentUris.parseId(uri);
+ Assert.checkArgument(id != -1, "error parsing id from uri %s", uri);
+ selection = getSelectionWithId(id);
+ break;
+ case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE:
+ throw new UnsupportedOperationException("coalesced call log does not support deleting");
+ default:
+ throw new IllegalArgumentException("Unknown uri: " + uri);
+ }
+ int rows = database.delete(AnnotatedCallLog.TABLE, selection, selectionArgs);
+ if (rows > 0) {
+ if (!isApplyingBatch()) {
+ notifyChange(uri);
+ }
+ } else {
+ LogUtil.w("AnnotatedCallLogContentProvider.delete", "no rows deleted");
+ }
+ return rows;
+ }
+
+ @Override
+ public int update(
+ @NonNull Uri uri,
+ @Nullable ContentValues values,
+ @Nullable String selection,
+ @Nullable String[] selectionArgs) {
+ // Javadoc states values is not nullable, even though it is annotated as such (b/38123194)!
+ Assert.checkArgument(values != null);
+
+ SQLiteDatabase database = databaseHelper.getWritableDatabase();
+ int match = uriMatcher.match(uri);
+ switch (match) {
+ case ANNOTATED_CALL_LOG_TABLE_CODE:
+ break;
+ case ANNOTATED_CALL_LOG_TABLE_ID_CODE:
+ Assert.checkArgument(
+ !values.containsKey(AnnotatedCallLog._ID), "Do not specify _ID when updating by ID");
+ Assert.checkArgument(selection == null, "Do not specify selection when updating by ID");
+ Assert.checkArgument(
+ selectionArgs == null, "Do not specify selection args when updating by ID");
+ selection = getSelectionWithId(ContentUris.parseId(uri));
+ break;
+ case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE:
+ throw new UnsupportedOperationException("coalesced call log does not support updating");
+ default:
+ throw new IllegalArgumentException("Unknown uri: " + uri);
+ }
+ int rows = database.update(AnnotatedCallLog.TABLE, values, selection, selectionArgs);
+ if (rows > 0) {
+ if (!isApplyingBatch()) {
+ notifyChange(uri);
+ }
+ } else {
+ LogUtil.w("AnnotatedCallLogContentProvider.update", "no rows updated");
+ }
+ return rows;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>Note: When applyBatch is used with the AnnotatedCallLog, only a single notification for the
+ * content URI is generated, not individual notifications for each affected URI.
+ */
+ @NonNull
+ @Override
+ public ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations)
+ throws OperationApplicationException {
+ ContentProviderResult[] results = new ContentProviderResult[operations.size()];
+ if (operations.isEmpty()) {
+ return results;
+ }
+
+ SQLiteDatabase database = databaseHelper.getWritableDatabase();
+ try {
+ applyingBatch.set(true);
+ database.beginTransaction();
+ for (int i = 0; i < operations.size(); i++) {
+ ContentProviderOperation operation = operations.get(i);
+ int match = uriMatcher.match(operation.getUri());
+ switch (match) {
+ case ANNOTATED_CALL_LOG_TABLE_CODE:
+ case ANNOTATED_CALL_LOG_TABLE_ID_CODE:
+ // These are allowed values, continue.
+ break;
+ case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE:
+ throw new UnsupportedOperationException(
+ "coalesced call log does not support applyBatch");
+ default:
+ throw new IllegalArgumentException("Unknown uri: " + operation.getUri());
+ }
+ ContentProviderResult result = operation.apply(this, results, i);
+ if (operations.get(i).isInsert()) {
+ if (result.uri == null) {
+ throw new OperationApplicationException("error inserting row");
+ }
+ } else if (result.count == 0) {
+ /*
+ * The batches built by MutationApplier happen to contain operations in order of:
+ *
+ * 1. Inserts
+ * 2. Updates
+ * 3. Deletes
+ *
+ * Let's say the last row in the table is row Z, and MutationApplier wishes to update it,
+ * as well as insert row A. When row A gets inserted, row Z will be deleted via the
+ * trigger if the table is full. Then later, when we try to process the update for row Z,
+ * it won't exist.
+ */
+ LogUtil.w(
+ "AnnotatedCallLogContentProvider.applyBatch",
+ "update or delete failed, possibly because row got cleaned up");
+ }
+ results[i] = result;
+ }
+ database.setTransactionSuccessful();
+ } finally {
+ applyingBatch.set(false);
+ database.endTransaction();
+ }
+ notifyChange(AnnotatedCallLog.CONTENT_URI);
+ return results;
+ }
+
+ private String getSelectionWithId(long id) {
+ return AnnotatedCallLog._ID + "=" + id;
+ }
+
+ private void notifyChange(Uri uri) {
+ getContext().getContentResolver().notifyChange(uri, null);
+ // Any time the annotated call log changes, we need to also notify observers of the
+ // CoalescedAnnotatedCallLog, since that is just a massaged in-memory view of the real annotated
+ // call log table.
+ getContext().getContentResolver().notifyChange(CoalescedAnnotatedCallLog.CONTENT_URI, null);
+ }
+}
diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
index 7b28e5505..887dfcbb6 100644
--- a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
+++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java
@@ -16,36 +16,58 @@
package com.android.dialer.calllog.database;
-import static com.android.dialer.calllog.database.AnnotatedCallLog.Columns.CONTACT_NAME;
-import static com.android.dialer.calllog.database.AnnotatedCallLog.Columns.ID;
-import static com.android.dialer.calllog.database.AnnotatedCallLog.Columns.TIMESTAMP;
-
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog;
import com.android.dialer.common.LogUtil;
+import java.util.Locale;
/** {@link SQLiteOpenHelper} for the AnnotatedCallLog database. */
class AnnotatedCallLogDatabaseHelper extends SQLiteOpenHelper {
+ private final int maxRows;
- AnnotatedCallLogDatabaseHelper(Context appContext, String databaseName) {
- super(appContext, databaseName, null, 1);
+ AnnotatedCallLogDatabaseHelper(Context appContext, int maxRows) {
+ super(appContext, "annotated_call_log.db", null, 1);
+ this.maxRows = maxRows;
}
- private static final String CREATE_SQL =
+ private static final String CREATE_TABLE_SQL =
new StringBuilder()
- .append("create table if not exists " + AnnotatedCallLog.TABLE_NAME + " (")
- .append(ID + " integer primary key, ")
- .append(TIMESTAMP + " integer, ")
- .append(CONTACT_NAME + " string")
+ .append("create table if not exists " + AnnotatedCallLog.TABLE + " (")
+ .append(AnnotatedCallLog._ID + " integer primary key, ")
+ .append(AnnotatedCallLog.TIMESTAMP + " integer, ")
+ .append(AnnotatedCallLog.CONTACT_NAME + " string, ")
+ .append(AnnotatedCallLog.NUMBER + " blob")
.append(");")
.toString();
+ /** Deletes all but the first maxRows rows (by timestamp) to keep the table a manageable size. */
+ private static final String CREATE_TRIGGER_SQL =
+ "create trigger delete_old_rows after insert on "
+ + AnnotatedCallLog.TABLE
+ + " when (select count(*) from "
+ + AnnotatedCallLog.TABLE
+ + ") > %d"
+ + " begin delete from "
+ + AnnotatedCallLog.TABLE
+ + " where "
+ + AnnotatedCallLog._ID
+ + " in (select "
+ + AnnotatedCallLog._ID
+ + " from "
+ + AnnotatedCallLog.TABLE
+ + " order by timestamp limit (select count(*)-%d"
+ + " from "
+ + AnnotatedCallLog.TABLE
+ + " )); end;";
+
@Override
public void onCreate(SQLiteDatabase db) {
LogUtil.enterBlock("AnnotatedCallLogDatabaseHelper.onCreate");
long startTime = System.currentTimeMillis();
- db.execSQL(CREATE_SQL);
+ db.execSQL(CREATE_TABLE_SQL);
+ db.execSQL(String.format(Locale.US, CREATE_TRIGGER_SQL, maxRows, maxRows));
// TODO: Consider logging impression.
LogUtil.i(
"AnnotatedCallLogDatabaseHelper.onCreate",
diff --git a/java/com/android/dialer/calllog/database/CallLogDatabaseComponent.java b/java/com/android/dialer/calllog/database/CallLogDatabaseComponent.java
new file mode 100644
index 000000000..ede46911c
--- /dev/null
+++ b/java/com/android/dialer/calllog/database/CallLogDatabaseComponent.java
@@ -0,0 +1,40 @@
+/*
+ * 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
+ */
+package com.android.dialer.calllog.database;
+
+import android.content.Context;
+import com.android.dialer.inject.HasRootComponent;
+import dagger.Subcomponent;
+
+/** Dagger component for database package. */
+@Subcomponent
+public abstract class CallLogDatabaseComponent {
+
+ public abstract Coalescer coalescer();
+
+ public abstract MutationApplier mutationApplier();
+
+ public static CallLogDatabaseComponent get(Context context) {
+ return ((CallLogDatabaseComponent.HasComponent)
+ ((HasRootComponent) context.getApplicationContext()).component())
+ .callLogDatabaseComponent();
+ }
+
+ /** Used to refer to the root application component. */
+ public interface HasComponent {
+ CallLogDatabaseComponent callLogDatabaseComponent();
+ }
+}
diff --git a/java/com/android/dialer/calllog/database/CallLogMutations.java b/java/com/android/dialer/calllog/database/CallLogMutations.java
deleted file mode 100644
index ec020c6af..000000000
--- a/java/com/android/dialer/calllog/database/CallLogMutations.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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
- */
-
-package com.android.dialer.calllog.database;
-
-import android.content.ContentValues;
-import android.database.sqlite.SQLiteDatabase;
-import android.support.annotation.WorkerThread;
-import android.util.ArrayMap;
-import android.util.ArraySet;
-import com.android.dialer.common.Assert;
-
-/** A collection of mutations to the annotated call log. */
-public final class CallLogMutations {
-
- private final ArrayMap<Integer, ContentValues> inserts = new ArrayMap<>();
- private final ArrayMap<Integer, ContentValues> updates = new ArrayMap<>();
- private final ArraySet<Integer> deletes = new ArraySet<>();
-
- /** @param contentValues an entire row not including the ID */
- public void insert(int id, ContentValues contentValues) {
- inserts.put(id, contentValues);
- }
-
- /** @param contentValues the specific columns to update, not including the ID. */
- public void update(int id, ContentValues contentValues) {
- // TODO: Consider merging automatically.
- updates.put(id, contentValues);
- }
-
- public void delete(int id) {
- deletes.add(id);
- }
-
- public boolean isEmpty() {
- return inserts.isEmpty() && updates.isEmpty() && deletes.isEmpty();
- }
-
- @WorkerThread
- public void applyToDatabase(SQLiteDatabase writableDatabase) {
- Assert.isWorkerThread();
-
- // TODO: Implementation.
- }
-}
diff --git a/java/com/android/dialer/calllog/database/Coalescer.java b/java/com/android/dialer/calllog/database/Coalescer.java
new file mode 100644
index 000000000..5683687fd
--- /dev/null
+++ b/java/com/android/dialer/calllog/database/Coalescer.java
@@ -0,0 +1,180 @@
+/*
+ * 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
+ */
+package com.android.dialer.calllog.database;
+
+import android.content.ContentValues;
+import android.database.Cursor;
+import android.database.MatrixCursor;
+import android.support.annotation.NonNull;
+import android.support.annotation.WorkerThread;
+import com.android.dialer.DialerPhoneNumber;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog;
+import com.android.dialer.calllog.datasources.CallLogDataSource;
+import com.android.dialer.calllog.datasources.DataSources;
+import com.android.dialer.common.Assert;
+import com.android.dialer.phonenumberproto.DialerPhoneNumberUtil;
+import com.google.i18n.phonenumbers.PhoneNumberUtil;
+import com.google.protobuf.InvalidProtocolBufferException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import javax.inject.Inject;
+
+/**
+ * Coalesces call log rows by combining some adjacent rows.
+ *
+ * <p>Applies the business which logic which determines which adjacent rows should be coalasced, and
+ * then delegates to each data source to determine how individual columns should be aggregated.
+ */
+public class Coalescer {
+
+ private final DataSources dataSources;
+
+ @Inject
+ Coalescer(DataSources dataSources) {
+ this.dataSources = dataSources;
+ }
+
+ /**
+ * Reads the entire {@link AnnotatedCallLog} database into memory from the provided {@code
+ * allAnnotatedCallLog} parameter and then builds and returns a new {@link MatrixCursor} which is
+ * the result of combining adjacent rows which should be collapsed for display purposes.
+ *
+ * @param allAnnotatedCallLogRowsSortedByTimestampDesc all {@link AnnotatedCallLog} rows, sorted
+ * by timestamp descending
+ * @return a new {@link MatrixCursor} containing the {@link CoalescedAnnotatedCallLog} rows to
+ * display
+ */
+ @WorkerThread
+ @NonNull
+ Cursor coalesce(@NonNull Cursor allAnnotatedCallLogRowsSortedByTimestampDesc) {
+ Assert.isWorkerThread();
+
+ // Note: This method relies on rowsShouldBeCombined to determine which rows should be combined,
+ // but delegates to data sources to actually aggregate column values.
+
+ DialerPhoneNumberUtil dialerPhoneNumberUtil =
+ new DialerPhoneNumberUtil(PhoneNumberUtil.getInstance());
+
+ MatrixCursor allCoalescedRowsMatrixCursor =
+ new MatrixCursor(
+ CoalescedAnnotatedCallLog.ALL_COLUMNS,
+ Assert.isNotNull(allAnnotatedCallLogRowsSortedByTimestampDesc).getCount());
+
+ if (allAnnotatedCallLogRowsSortedByTimestampDesc.moveToFirst()) {
+ int coalescedRowId = 0;
+
+ List<ContentValues> currentRowGroup = new ArrayList<>();
+
+ do {
+ ContentValues currentRow =
+ cursorRowToContentValues(allAnnotatedCallLogRowsSortedByTimestampDesc);
+
+ if (currentRowGroup.isEmpty()) {
+ currentRowGroup.add(currentRow);
+ continue;
+ }
+
+ ContentValues previousRow = currentRowGroup.get(currentRowGroup.size() - 1);
+
+ if (!rowsShouldBeCombined(dialerPhoneNumberUtil, previousRow, currentRow)) {
+ ContentValues coalescedRow = coalesceRowsForAllDataSources(currentRowGroup);
+ coalescedRow.put(CoalescedAnnotatedCallLog.NUMBER_CALLS, currentRowGroup.size());
+ addContentValuesToMatrixCursor(
+ coalescedRow, allCoalescedRowsMatrixCursor, coalescedRowId++);
+ currentRowGroup.clear();
+ }
+ currentRowGroup.add(currentRow);
+ } while (allAnnotatedCallLogRowsSortedByTimestampDesc.moveToNext());
+
+ // Deal with leftover rows.
+ ContentValues coalescedRow = coalesceRowsForAllDataSources(currentRowGroup);
+ coalescedRow.put(CoalescedAnnotatedCallLog.NUMBER_CALLS, currentRowGroup.size());
+ addContentValuesToMatrixCursor(coalescedRow, allCoalescedRowsMatrixCursor, coalescedRowId);
+ }
+ return allCoalescedRowsMatrixCursor;
+ }
+
+ private static ContentValues cursorRowToContentValues(Cursor cursor) {
+ ContentValues values = new ContentValues();
+ String[] columns = cursor.getColumnNames();
+ int length = columns.length;
+ for (int i = 0; i < length; i++) {
+ if (cursor.getType(i) == Cursor.FIELD_TYPE_BLOB) {
+ values.put(columns[i], cursor.getBlob(i));
+ } else {
+ values.put(columns[i], cursor.getString(i));
+ }
+ }
+ return values;
+ }
+
+ /**
+ * @param row1 a row from {@link AnnotatedCallLog}
+ * @param row2 a row from {@link AnnotatedCallLog}
+ */
+ private static boolean rowsShouldBeCombined(
+ DialerPhoneNumberUtil dialerPhoneNumberUtil, ContentValues row1, ContentValues row2) {
+ // TODO: Real implementation.
+ DialerPhoneNumber number1;
+ DialerPhoneNumber number2;
+ try {
+ number1 = DialerPhoneNumber.parseFrom(row1.getAsByteArray(AnnotatedCallLog.NUMBER));
+ number2 = DialerPhoneNumber.parseFrom(row2.getAsByteArray(AnnotatedCallLog.NUMBER));
+ } catch (InvalidProtocolBufferException e) {
+ throw Assert.createAssertionFailException("error parsing DialerPhoneNumber proto", e);
+ }
+
+ if (!number1.hasDialerInternalPhoneNumber() && !number2.hasDialerInternalPhoneNumber()) {
+ // Empty numbers should not be combined.
+ return false;
+ }
+
+ if (!number1.hasDialerInternalPhoneNumber() || !number2.hasDialerInternalPhoneNumber()) {
+ // An empty number should not be combined with a non-empty number.
+ return false;
+ }
+ return dialerPhoneNumberUtil.isExactMatch(number1, number2);
+ }
+
+ /**
+ * Delegates to data sources to aggregate individual columns to create a new coalesced row.
+ *
+ * @param individualRows {@link AnnotatedCallLog} rows sorted by timestamp descending
+ * @return a {@link CoalescedAnnotatedCallLog} row
+ */
+ private ContentValues coalesceRowsForAllDataSources(List<ContentValues> individualRows) {
+ ContentValues coalescedValues = new ContentValues();
+ for (CallLogDataSource dataSource : dataSources.getDataSourcesIncludingSystemCallLog()) {
+ coalescedValues.putAll(dataSource.coalesce(individualRows));
+ }
+ return coalescedValues;
+ }
+
+ /**
+ * @param contentValues a {@link CoalescedAnnotatedCallLog} row
+ * @param matrixCursor represents {@link CoalescedAnnotatedCallLog}
+ */
+ private static void addContentValuesToMatrixCursor(
+ ContentValues contentValues, MatrixCursor matrixCursor, int rowId) {
+ MatrixCursor.RowBuilder rowBuilder = matrixCursor.newRow();
+ rowBuilder.add(CoalescedAnnotatedCallLog._ID, rowId);
+ for (Map.Entry<String, Object> entry : contentValues.valueSet()) {
+ rowBuilder.add(entry.getKey(), entry.getValue());
+ }
+ }
+}
diff --git a/java/com/android/dialer/calllog/database/MutationApplier.java b/java/com/android/dialer/calllog/database/MutationApplier.java
new file mode 100644
index 000000000..21c8a507d
--- /dev/null
+++ b/java/com/android/dialer/calllog/database/MutationApplier.java
@@ -0,0 +1,105 @@
+/*
+ * 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
+ */
+package com.android.dialer.calllog.database;
+
+import android.content.ContentProviderOperation;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.OperationApplicationException;
+import android.os.RemoteException;
+import android.support.annotation.WorkerThread;
+import android.text.TextUtils;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog;
+import com.android.dialer.calllog.datasources.CallLogMutations;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Map.Entry;
+import javax.inject.Inject;
+
+/** Applies {@link CallLogMutations} to the annotated call log. */
+public class MutationApplier {
+
+ @Inject
+ MutationApplier() {}
+
+ /** Applies the provided {@link CallLogMutations} to the annotated call log. */
+ @WorkerThread
+ public void applyToDatabase(CallLogMutations mutations, Context appContext)
+ throws RemoteException, OperationApplicationException {
+ Assert.isWorkerThread();
+
+ if (mutations.isEmpty()) {
+ return;
+ }
+
+ ArrayList<ContentProviderOperation> operations = new ArrayList<>();
+
+ if (!mutations.getInserts().isEmpty()) {
+ LogUtil.i(
+ "CallLogMutations.applyToDatabase", "inserting %d rows", mutations.getInserts().size());
+ for (Entry<Long, ContentValues> entry : mutations.getInserts().entrySet()) {
+ long id = entry.getKey();
+ ContentValues contentValues = entry.getValue();
+ operations.add(
+ ContentProviderOperation.newInsert(
+ ContentUris.withAppendedId(AnnotatedCallLog.CONTENT_URI, id))
+ .withValues(contentValues)
+ .build());
+ }
+ }
+
+ if (!mutations.getUpdates().isEmpty()) {
+ LogUtil.i(
+ "CallLogMutations.applyToDatabase", "updating %d rows", mutations.getUpdates().size());
+ for (Entry<Long, ContentValues> entry : mutations.getUpdates().entrySet()) {
+ long id = entry.getKey();
+ ContentValues contentValues = entry.getValue();
+ operations.add(
+ ContentProviderOperation.newUpdate(
+ ContentUris.withAppendedId(AnnotatedCallLog.CONTENT_URI, id))
+ .withValues(contentValues)
+ .build());
+ }
+ }
+
+ if (!mutations.getDeletes().isEmpty()) {
+ LogUtil.i(
+ "CallLogMutations.applyToDatabase", "deleting %d rows", mutations.getDeletes().size());
+ String[] questionMarks = new String[mutations.getDeletes().size()];
+ Arrays.fill(questionMarks, "?");
+
+ String whereClause =
+ (AnnotatedCallLog._ID + " in (") + TextUtils.join(",", questionMarks) + ")";
+
+ String[] whereArgs = new String[mutations.getDeletes().size()];
+ int i = 0;
+ for (long id : mutations.getDeletes()) {
+ whereArgs[i++] = String.valueOf(id);
+ }
+
+ operations.add(
+ ContentProviderOperation.newDelete(AnnotatedCallLog.CONTENT_URI)
+ .withSelection(whereClause, whereArgs)
+ .build());
+ }
+
+ appContext.getContentResolver().applyBatch(AnnotatedCallLogContract.AUTHORITY, operations);
+ }
+}
diff --git a/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java b/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java
new file mode 100644
index 000000000..7f314e37c
--- /dev/null
+++ b/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java
@@ -0,0 +1,135 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.calllog.database.contract;
+
+import android.net.Uri;
+import android.provider.BaseColumns;
+import com.android.dialer.constants.Constants;
+import java.util.Arrays;
+
+/** Contract for the AnnotatedCallLog content provider. */
+public class AnnotatedCallLogContract {
+ public static final String AUTHORITY = Constants.get().getAnnotatedCallLogProviderAuthority();
+
+ public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY);
+
+ /**
+ * Columns shared by {@link AnnotatedCallLog} and {@link CoalescedAnnotatedCallLog}.
+ *
+ * <p>When adding columns be sure to update {@link #ALL_COMMON_COLUMNS}.
+ */
+ interface CommonColumns extends BaseColumns {
+
+ /**
+ * Timestamp of the entry, in milliseconds.
+ *
+ * <p>Type: INTEGER (long)
+ */
+ String TIMESTAMP = "timestamp";
+
+ /**
+ * Name to display for the entry.
+ *
+ * <p>Type: TEXT
+ */
+ String CONTACT_NAME = "contact_name";
+
+ String[] ALL_COMMON_COLUMNS = new String[] {_ID, TIMESTAMP, CONTACT_NAME};
+ }
+
+ /**
+ * AnnotatedCallLog table.
+ *
+ * <p>This contains all of the non-coalesced call log entries.
+ */
+ public static final class AnnotatedCallLog implements CommonColumns {
+
+ public static final String TABLE = "AnnotatedCallLog";
+
+ /** The content URI for this table. */
+ public static final Uri CONTENT_URI =
+ Uri.withAppendedPath(AnnotatedCallLogContract.CONTENT_URI, TABLE);
+
+ /** The MIME type of a {@link android.content.ContentProvider#getType(Uri)} single entry. */
+ public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/annotated_call_log";
+
+ /**
+ * The phone number called or number the call came from, encoded as a {@link
+ * com.android.dialer.DialerPhoneNumber} proto. The number may be empty if it was an incoming
+ * call and the number was unknown.
+ *
+ * <p>This column is only present in the annotated call log, and not the coalesced annotated
+ * call log. The coalesced version uses a formatted number string rather than proto bytes.
+ *
+ * <p>Type: BLOB
+ */
+ public static final String NUMBER = "number";
+ }
+
+ /**
+ * Coalesced view of the AnnotatedCallLog table.
+ *
+ * <p>This is an in-memory view of the {@link AnnotatedCallLog} with some adjacent entries
+ * collapsed.
+ *
+ * <p>When adding columns be sure to update {@link #COLUMNS_ONLY_IN_COALESCED_CALL_LOG}.
+ */
+ public static final class CoalescedAnnotatedCallLog implements CommonColumns {
+
+ public static final String TABLE = "CoalescedAnnotatedCallLog";
+
+ /** The content URI for this table. */
+ public static final Uri CONTENT_URI =
+ Uri.withAppendedPath(AnnotatedCallLogContract.CONTENT_URI, TABLE);
+
+ /** The MIME type of a {@link android.content.ContentProvider#getType(Uri)} single entry. */
+ public static final String CONTENT_ITEM_TYPE =
+ "vnd.android.cursor.item/coalesced_annotated_call_log";
+
+ /**
+ * Number of AnnotatedCallLog rows represented by this CoalescedAnnotatedCallLog row.
+ *
+ * <p>Type: INTEGER
+ */
+ public static final String NUMBER_CALLS = "number_calls";
+
+ /**
+ * The phone number formatted in a way suitable for display to the user. This value is generated
+ * on the fly when the {@link CoalescedAnnotatedCallLog} is generated.
+ *
+ * <p>Type: TEXT
+ */
+ public static final String FORMATTED_NUMBER = "formatted_number";
+
+ /**
+ * Columns that are only in the {@link CoalescedAnnotatedCallLog} but not the {@link
+ * AnnotatedCallLog}.
+ */
+ private static final String[] COLUMNS_ONLY_IN_COALESCED_CALL_LOG =
+ new String[] {NUMBER_CALLS, FORMATTED_NUMBER};
+
+ /** All columns in the {@link CoalescedAnnotatedCallLog}. */
+ public static final String[] ALL_COLUMNS =
+ concat(ALL_COMMON_COLUMNS, COLUMNS_ONLY_IN_COALESCED_CALL_LOG);
+ }
+
+ private static String[] concat(String[] first, String[] second) {
+ String[] result = Arrays.copyOf(first, first.length + second.length);
+ System.arraycopy(second, 0, result, first.length, second.length);
+ return result;
+ }
+}
diff --git a/java/com/android/dialer/calllog/datasources/CallLogDataSource.java b/java/com/android/dialer/calllog/datasources/CallLogDataSource.java
index 13d0b842d..3fff3ba53 100644
--- a/java/com/android/dialer/calllog/datasources/CallLogDataSource.java
+++ b/java/com/android/dialer/calllog/datasources/CallLogDataSource.java
@@ -16,13 +16,39 @@
package com.android.dialer.calllog.datasources;
+import android.content.ContentValues;
import android.content.Context;
-import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.MainThread;
import android.support.annotation.WorkerThread;
-import com.android.dialer.calllog.database.CallLogMutations;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract;
+import java.util.List;
-/** A source of data for one or more columns in the annotated call log. */
+/**
+ * A source of data for one or more columns in the annotated call log.
+ *
+ * <p>Data sources have three lifecycle operations, which are always called on the same thread and
+ * in the same order for a particular "checkDirtyAndRebuild" cycle. However, not all operations are
+ * always invoked.
+ *
+ * <ol>
+ * <li>{@link #isDirty(Context)}: Invoked only if the framework doesn't yet know if a rebuild is
+ * necessary.
+ * <li>{@link #fill(Context, CallLogMutations)}: Invoked only if the framework determined a
+ * rebuild is necessary.
+ * <li>{@link #onSuccessfulFill(Context)}: Invoked if and only if fill was previously called and
+ * the mutations provided by the previous fill operation succeeded in being applied.
+ * </ol>
+ *
+ * <p>Because {@link #isDirty(Context)} is not always invoked, {@link #fill(Context,
+ * CallLogMutations)} shouldn't rely on any state saved during {@link #isDirty(Context)}. It
+ * <em>is</em> safe to assume that {@link #onSuccessfulFill(Context)} refers to the previous fill
+ * operation.
+ *
+ * <p>The same data source objects may be reused across multiple checkDirtyAndRebuild cycles, so
+ * implementors should take care to clear any internal state at the start of a new cycle.
+ *
+ * <p>{@link #coalesce(List)} may be called from any worker thread at any time.
+ */
public interface CallLogDataSource {
/**
@@ -35,6 +61,8 @@ public interface CallLogDataSource {
* <p>Most implementations of this method will rely on some sort of last modified timestamp. If it
* is impossible for a data source to be modified without the dialer application being notified,
* this method may immediately return false.
+ *
+ * @see CallLogDataSource class doc for complete lifecyle information
*/
@WorkerThread
boolean isDirty(Context appContext);
@@ -43,16 +71,39 @@ public interface CallLogDataSource {
* Computes the set of mutations necessary to update the annotated call log with respect to this
* data source.
*
+ * @see CallLogDataSource class doc for complete lifecyle information
* @param mutations the set of mutations which this method should contribute to. Note that it may
* contain inserts from the system call log, and these inserts should be modified by each data
* source.
*/
@WorkerThread
- void fill(
- Context appContext,
- SQLiteDatabase readableDatabase,
- long lastRebuildTimeMillis,
- CallLogMutations mutations);
+ void fill(Context appContext, CallLogMutations mutations);
+
+ /**
+ * Called after database mutations have been applied to all data sources. This is useful for
+ * saving state such as the timestamp of the last row processed in an underlying database. Note
+ * that all mutations across all data sources are applied in a single transaction.
+ *
+ * @see CallLogDataSource class doc for complete lifecyle information
+ */
+ @WorkerThread
+ void onSuccessfulFill(Context appContext);
+
+ /**
+ * Combines raw annotated call log rows into a single coalesced row.
+ *
+ * <p>May be called by any worker thread at any time so implementations should take care to be
+ * threadsafe. (Ideally no state should be required to implement this.)
+ *
+ * @param individualRowsSortedByTimestampDesc group of fully populated rows from {@link
+ * AnnotatedCallLogContract.AnnotatedCallLog} which need to be combined for display purposes.
+ * This method should not modify this list.
+ * @return a partial {@link AnnotatedCallLogContract.CoalescedAnnotatedCallLog} row containing
+ * only columns which this data source is responsible for, which is the result of aggregating
+ * {@code individualRowsSortedByTimestampDesc}.
+ */
+ @WorkerThread
+ ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc);
@MainThread
void registerContentObservers(
diff --git a/java/com/android/dialer/calllog/datasources/CallLogMutations.java b/java/com/android/dialer/calllog/datasources/CallLogMutations.java
new file mode 100644
index 000000000..148601d68
--- /dev/null
+++ b/java/com/android/dialer/calllog/datasources/CallLogMutations.java
@@ -0,0 +1,110 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.calllog.datasources;
+
+import android.content.ContentValues;
+import android.util.ArrayMap;
+import android.util.ArraySet;
+import com.android.dialer.common.Assert;
+
+/** A collection of mutations to the annotated call log. */
+public final class CallLogMutations {
+
+ private final ArrayMap<Long, ContentValues> inserts = new ArrayMap<>();
+ private final ArrayMap<Long, ContentValues> updates = new ArrayMap<>();
+ private final ArraySet<Long> deletes = new ArraySet<>();
+
+ /**
+ * @param contentValues an entire row not including the ID
+ * @throws IllegalStateException if this {@link CallLogMutations} already contains an insert,
+ * update, or delete with the provided id
+ */
+ public void insert(long id, ContentValues contentValues) {
+ Assert.checkArgument(!inserts.containsKey(id), "Can't insert row already scheduled for insert");
+ Assert.checkArgument(!updates.containsKey(id), "Can't insert row scheduled for update");
+ Assert.checkArgument(!deletes.contains(id), "Can't insert row scheduled for delete");
+
+ inserts.put(id, contentValues);
+ }
+
+ /**
+ * Stores a database update using the provided ID and content values. If this {@link
+ * CallLogMutations} object already contains an update with the specified ID, the existing content
+ * values are merged with the provided ones, with the provided ones overwriting the existing ones
+ * for values with the same key.
+ *
+ * @param contentValues the specific columns to update, not including the ID.
+ * @throws IllegalStateException if this {@link CallLogMutations} already contains an insert or
+ * delete with the provided id
+ */
+ public void update(long id, ContentValues contentValues) {
+ Assert.checkArgument(!inserts.containsKey(id), "Can't update row scheduled for insert");
+ Assert.checkArgument(!deletes.contains(id), "Can't delete row scheduled for delete");
+
+ ContentValues existingContentValues = updates.get(id);
+ if (existingContentValues != null) {
+ existingContentValues.putAll(contentValues);
+ } else {
+ updates.put(id, contentValues);
+ }
+ }
+
+ /**
+ * @throws IllegalStateException if this {@link CallLogMutations} already contains an insert,
+ * update, or delete with the provided id
+ */
+ public void delete(long id) {
+ Assert.checkArgument(!inserts.containsKey(id), "Can't delete row scheduled for insert");
+ Assert.checkArgument(!updates.containsKey(id), "Can't delete row scheduled for update");
+ Assert.checkArgument(!deletes.contains(id), "Can't delete row already scheduled for delete");
+
+ deletes.add(id);
+ }
+
+ public boolean isEmpty() {
+ return inserts.isEmpty() && updates.isEmpty() && deletes.isEmpty();
+ }
+
+ /**
+ * Get the pending inserts.
+ *
+ * @return the pending inserts where the key is the annotated call log database ID and the values
+ * are values to be inserted (not including the ID)
+ */
+ public ArrayMap<Long, ContentValues> getInserts() {
+ return inserts;
+ }
+
+ /**
+ * Get the pending updates.
+ *
+ * @return the pending updates where the key is the annotated call log database ID and the values
+ * are values to be updated (not including the ID)
+ */
+ public ArrayMap<Long, ContentValues> getUpdates() {
+ return updates;
+ }
+
+ /**
+ * Get the pending deletes.
+ *
+ * @return the annotated call log database IDs corresponding to the rows to be deleted
+ */
+ public ArraySet<Long> getDeletes() {
+ return deletes;
+ }
+}
diff --git a/java/com/android/dialer/calllog/DataSources.java b/java/com/android/dialer/calllog/datasources/DataSources.java
index 21d190167..911ca3fa3 100644
--- a/java/com/android/dialer/calllog/DataSources.java
+++ b/java/com/android/dialer/calllog/datasources/DataSources.java
@@ -14,14 +14,13 @@
* limitations under the License
*/
-package com.android.dialer.calllog;
+package com.android.dialer.calllog.datasources;
-import com.android.dialer.calllog.datasources.CallLogDataSource;
import com.android.dialer.calllog.datasources.systemcalllog.SystemCallLogDataSource;
import java.util.List;
/** Immutable lists of data sources used to populate the annotated call log. */
-interface DataSources {
+public interface DataSources {
SystemCallLogDataSource getSystemCallLogDataSource();
diff --git a/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java b/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java
index 355940f6a..82a85235b 100644
--- a/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java
+++ b/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java
@@ -16,13 +16,16 @@
package com.android.dialer.calllog.datasources.contacts;
+import android.content.ContentValues;
import android.content.Context;
-import android.database.sqlite.SQLiteDatabase;
import android.support.annotation.MainThread;
import android.support.annotation.WorkerThread;
-import com.android.dialer.calllog.database.CallLogMutations;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog;
import com.android.dialer.calllog.datasources.CallLogDataSource;
+import com.android.dialer.calllog.datasources.CallLogMutations;
+import com.android.dialer.calllog.datasources.util.RowCombiner;
import com.android.dialer.common.Assert;
+import java.util.List;
import javax.inject.Inject;
/** Responsible for maintaining the contacts related columns in the annotated call log. */
@@ -44,11 +47,25 @@ public final class ContactsDataSource implements CallLogDataSource {
@Override
public void fill(
Context appContext,
- SQLiteDatabase readableDatabase,
- long lastRebuildTimeMillis,
CallLogMutations mutations) {
Assert.isWorkerThread();
// TODO: Implementation.
+ for (ContentValues contentValues : mutations.getInserts().values()) {
+ contentValues.put(AnnotatedCallLog.CONTACT_NAME, "Placeholder name");
+ }
+ }
+
+ @Override
+ public void onSuccessfulFill(Context appContext) {
+ // TODO: Implementation.
+ }
+
+ @Override
+ public ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc) {
+ // TODO: Implementation.
+ return new RowCombiner(individualRowsSortedByTimestampDesc)
+ .useSingleValueString(AnnotatedCallLog.CONTACT_NAME)
+ .combine();
}
@MainThread
diff --git a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java
index ea6663fbe..f2063283f 100644
--- a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java
+++ b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java
@@ -16,28 +16,54 @@
package com.android.dialer.calllog.datasources.systemcalllog;
+import android.Manifest.permission;
+import android.annotation.TargetApi;
+import android.content.ContentValues;
import android.content.Context;
import android.database.ContentObserver;
-import android.database.sqlite.SQLiteDatabase;
+import android.database.Cursor;
import android.net.Uri;
+import android.os.Build;
import android.os.Handler;
+import android.preference.PreferenceManager;
import android.provider.CallLog;
+import android.provider.CallLog.Calls;
import android.support.annotation.MainThread;
+import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
import android.support.annotation.WorkerThread;
-import com.android.dialer.calllog.database.CallLogMutations;
+import android.text.TextUtils;
+import android.util.ArraySet;
+import com.android.dialer.DialerPhoneNumber;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog;
import com.android.dialer.calllog.datasources.CallLogDataSource;
+import com.android.dialer.calllog.datasources.CallLogMutations;
+import com.android.dialer.calllog.datasources.util.RowCombiner;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.ThreadUtil;
+import com.android.dialer.phonenumberproto.DialerPhoneNumberUtil;
import com.android.dialer.util.PermissionsUtil;
+import com.google.i18n.phonenumbers.PhoneNumberUtil;
+import com.google.protobuf.InvalidProtocolBufferException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
import javax.inject.Inject;
/**
* Responsible for defining the rows in the annotated call log and maintaining the columns in it
* which are derived from the system call log.
*/
+@SuppressWarnings("MissingPermission")
public class SystemCallLogDataSource implements CallLogDataSource {
+ @VisibleForTesting
+ static final String PREF_LAST_TIMESTAMP_PROCESSED = "systemCallLogLastTimestampProcessed";
+
+ @Nullable private Long lastTimestampProcessed;
+
@Inject
public SystemCallLogDataSource() {}
@@ -47,6 +73,8 @@ public class SystemCallLogDataSource implements CallLogDataSource {
Context appContext, ContentObserverCallbacks contentObserverCallbacks) {
Assert.isMainThread();
+ LogUtil.enterBlock("SystemCallLogDataSource.registerContentObservers");
+
if (!PermissionsUtil.hasCallLogReadPermissions(appContext)) {
LogUtil.i("SystemCallLogDataSource.registerContentObservers", "no call log permissions");
return;
@@ -77,17 +105,222 @@ public class SystemCallLogDataSource implements CallLogDataSource {
@WorkerThread
@Override
- public void fill(
- Context appContext,
- SQLiteDatabase readableDatabase,
- long lastRebuildTimeMillis,
- CallLogMutations mutations) {
+ public void fill(Context appContext, CallLogMutations mutations) {
Assert.isWorkerThread();
+ lastTimestampProcessed = null;
+
+ if (!PermissionsUtil.hasPermission(appContext, permission.READ_CALL_LOG)) {
+ LogUtil.i("SystemCallLogDataSource.fill", "no call log permissions");
+ return;
+ }
+
// This data source should always run first so the mutations should always be empty.
- Assert.checkState(mutations.isEmpty());
+ Assert.checkArgument(mutations.isEmpty());
+
+ Set<Long> annotatedCallLogIds = getAnnotatedCallLogIds(appContext);
+
+ LogUtil.i(
+ "SystemCallLogDataSource.fill",
+ "found %d existing annotated call log ids",
+ annotatedCallLogIds.size());
+
+ handleInsertsAndUpdates(appContext, mutations, annotatedCallLogIds);
+ handleDeletes(appContext, annotatedCallLogIds, mutations);
+ }
+
+ @WorkerThread
+ @Override
+ public void onSuccessfulFill(Context appContext) {
+ // If a fill operation was a no-op, lastTimestampProcessed could still be null.
+ if (lastTimestampProcessed != null) {
+ PreferenceManager.getDefaultSharedPreferences(appContext)
+ .edit()
+ .putLong(PREF_LAST_TIMESTAMP_PROCESSED, lastTimestampProcessed)
+ .apply();
+ }
+ }
+
+ @Override
+ public ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc) {
+ // TODO: Complete implementation.
+ ContentValues coalescedValues =
+ new RowCombiner(individualRowsSortedByTimestampDesc)
+ .useMostRecentLong(AnnotatedCallLog.TIMESTAMP)
+ .combine();
+
+ // All phone numbers in the provided group should be equivalent (but could be formatted
+ // differently). Arbitrarily show the raw phone number of the most recent call.
+ DialerPhoneNumber mostRecentPhoneNumber =
+ getMostRecentPhoneNumber(individualRowsSortedByTimestampDesc);
+ coalescedValues.put(
+ CoalescedAnnotatedCallLog.FORMATTED_NUMBER,
+ mostRecentPhoneNumber.getRawInput().getNumber());
+ return coalescedValues;
+ }
+
+ private static DialerPhoneNumber getMostRecentPhoneNumber(
+ List<ContentValues> individualRowsSortedByTimestampDesc) {
+ DialerPhoneNumber dialerPhoneNumber;
+ byte[] protoBytes =
+ individualRowsSortedByTimestampDesc.get(0).getAsByteArray(AnnotatedCallLog.NUMBER);
+ try {
+ dialerPhoneNumber = DialerPhoneNumber.parseFrom(protoBytes);
+ } catch (InvalidProtocolBufferException e) {
+ throw Assert.createAssertionFailException("couldn't parse DialerPhoneNumber", e);
+ }
+ return dialerPhoneNumber;
+ }
+
+ @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources
+ private void handleInsertsAndUpdates(
+ Context appContext, CallLogMutations mutations, Set<Long> existingAnnotatedCallLogIds) {
+ long previousTimestampProcessed =
+ PreferenceManager.getDefaultSharedPreferences(appContext)
+ .getLong(PREF_LAST_TIMESTAMP_PROCESSED, 0L);
+
+ DialerPhoneNumberUtil dialerPhoneNumberUtil =
+ new DialerPhoneNumberUtil(PhoneNumberUtil.getInstance());
+
+ // TODO: Really should be getting last 1000 by timestamp, not by last modified.
+ try (Cursor cursor =
+ appContext
+ .getContentResolver()
+ .query(
+ Calls.CONTENT_URI, // Excludes voicemail
+ new String[] {
+ Calls._ID, Calls.DATE, Calls.LAST_MODIFIED, Calls.NUMBER, Calls.COUNTRY_ISO
+ },
+ Calls.LAST_MODIFIED + " > ?",
+ new String[] {String.valueOf(previousTimestampProcessed)},
+ Calls.LAST_MODIFIED + " DESC LIMIT 1000")) {
- // TODO: Implementation.
+ if (cursor == null) {
+ LogUtil.e("SystemCallLogDataSource.handleInsertsAndUpdates", "null cursor");
+ return;
+ }
+
+ LogUtil.i(
+ "SystemCallLogDataSource.handleInsertsAndUpdates",
+ "found %d entries to insert/update",
+ cursor.getCount());
+
+ if (cursor.moveToFirst()) {
+ int idColumn = cursor.getColumnIndexOrThrow(Calls._ID);
+ int dateColumn = cursor.getColumnIndexOrThrow(Calls.DATE);
+ int lastModifiedColumn = cursor.getColumnIndexOrThrow(Calls.LAST_MODIFIED);
+ int numberColumn = cursor.getColumnIndexOrThrow(Calls.NUMBER);
+ int countryIsoColumn = cursor.getColumnIndexOrThrow(Calls.COUNTRY_ISO);
+
+ // The cursor orders by LAST_MODIFIED DESC, so the first result is the most recent timestamp
+ // processed.
+ lastTimestampProcessed = cursor.getLong(lastModifiedColumn);
+ do {
+ long id = cursor.getLong(idColumn);
+ long date = cursor.getLong(dateColumn);
+ String numberAsStr = cursor.getString(numberColumn);
+ String countryIso = cursor.getString(countryIsoColumn);
+
+ byte[] numberAsProtoBytes =
+ dialerPhoneNumberUtil.parse(numberAsStr, countryIso).toByteArray();
+
+ ContentValues contentValues = new ContentValues();
+ contentValues.put(AnnotatedCallLog.TIMESTAMP, date);
+ contentValues.put(AnnotatedCallLog.NUMBER, numberAsProtoBytes);
+
+ if (existingAnnotatedCallLogIds.contains(id)) {
+ mutations.update(id, contentValues);
+ } else {
+ mutations.insert(id, contentValues);
+ }
+ } while (cursor.moveToNext());
+ } // else no new results, do nothing.
+ }
+ }
+
+ private static void handleDeletes(
+ Context appContext, Set<Long> existingAnnotatedCallLogIds, CallLogMutations mutations) {
+ Set<Long> systemCallLogIds =
+ getIdsFromSystemCallLogThatMatch(appContext, existingAnnotatedCallLogIds);
+ LogUtil.i(
+ "SystemCallLogDataSource.handleDeletes",
+ "found %d matching entries in system call log",
+ systemCallLogIds.size());
+ Set<Long> idsInAnnotatedCallLogNoLongerInSystemCallLog = new ArraySet<>();
+ idsInAnnotatedCallLogNoLongerInSystemCallLog.addAll(existingAnnotatedCallLogIds);
+ idsInAnnotatedCallLogNoLongerInSystemCallLog.removeAll(systemCallLogIds);
+
+ LogUtil.i(
+ "SystemCallLogDataSource.handleDeletes",
+ "found %d call log entries to remove",
+ idsInAnnotatedCallLogNoLongerInSystemCallLog.size());
+
+ for (long id : idsInAnnotatedCallLogNoLongerInSystemCallLog) {
+ mutations.delete(id);
+ }
+ }
+
+ @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources
+ private static Set<Long> getAnnotatedCallLogIds(Context appContext) {
+ ArraySet<Long> ids = new ArraySet<>();
+
+ try (Cursor cursor =
+ appContext
+ .getContentResolver()
+ .query(
+ AnnotatedCallLog.CONTENT_URI,
+ new String[] {AnnotatedCallLog._ID},
+ null,
+ null,
+ null)) {
+
+ if (cursor == null) {
+ LogUtil.e("SystemCallLogDataSource.getAnnotatedCallLogIds", "null cursor");
+ return ids;
+ }
+
+ if (cursor.moveToFirst()) {
+ int idColumn = cursor.getColumnIndexOrThrow(AnnotatedCallLog._ID);
+ do {
+ ids.add(cursor.getLong(idColumn));
+ } while (cursor.moveToNext());
+ }
+ }
+ return ids;
+ }
+
+ @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources
+ private static Set<Long> getIdsFromSystemCallLogThatMatch(
+ Context appContext, Set<Long> matchingIds) {
+ ArraySet<Long> ids = new ArraySet<>();
+
+ String[] questionMarks = new String[matchingIds.size()];
+ Arrays.fill(questionMarks, "?");
+ String whereClause = (Calls._ID + " in (") + TextUtils.join(",", questionMarks) + ")";
+ String[] whereArgs = new String[matchingIds.size()];
+ int i = 0;
+ for (long id : matchingIds) {
+ whereArgs[i++] = String.valueOf(id);
+ }
+
+ try (Cursor cursor =
+ appContext
+ .getContentResolver()
+ .query(Calls.CONTENT_URI, new String[] {Calls._ID}, whereClause, whereArgs, null)) {
+
+ if (cursor == null) {
+ LogUtil.e("SystemCallLogDataSource.getIdsFromSystemCallLog", "null cursor");
+ return ids;
+ }
+
+ if (cursor.moveToFirst()) {
+ int idColumn = cursor.getColumnIndexOrThrow(Calls._ID);
+ do {
+ ids.add(cursor.getLong(idColumn));
+ } while (cursor.moveToNext());
+ }
+ return ids;
+ }
}
private static class CallLogObserver extends ContentObserver {
diff --git a/java/com/android/dialer/calllog/datasources/util/RowCombiner.java b/java/com/android/dialer/calllog/datasources/util/RowCombiner.java
new file mode 100644
index 000000000..0c7be1e27
--- /dev/null
+++ b/java/com/android/dialer/calllog/datasources/util/RowCombiner.java
@@ -0,0 +1,53 @@
+/*
+ * 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
+ */
+package com.android.dialer.calllog.datasources.util;
+
+import android.content.ContentValues;
+import com.android.dialer.common.Assert;
+import java.util.Iterator;
+import java.util.List;
+
+/** Convenience class for aggregating row values. */
+public class RowCombiner {
+ private final List<ContentValues> individualRowsSortedByTimestampDesc;
+ private final ContentValues combinedRow = new ContentValues();
+
+ public RowCombiner(List<ContentValues> individualRowsSortedByTimestampDesc) {
+ Assert.checkArgument(!individualRowsSortedByTimestampDesc.isEmpty());
+ this.individualRowsSortedByTimestampDesc = individualRowsSortedByTimestampDesc;
+ }
+
+ /** Use the most recent value for the specified column. */
+ public RowCombiner useMostRecentLong(String columnName) {
+ combinedRow.put(columnName, individualRowsSortedByTimestampDesc.get(0).getAsLong(columnName));
+ return this;
+ }
+
+ /** Asserts that all column values for the given column name are the same, and uses it. */
+ public RowCombiner useSingleValueString(String columnName) {
+ Iterator<ContentValues> iterator = individualRowsSortedByTimestampDesc.iterator();
+ String singleValue = iterator.next().getAsString(columnName);
+ while (iterator.hasNext()) {
+ Assert.checkState(iterator.next().getAsString(columnName).equals(singleValue));
+ }
+ combinedRow.put(columnName, singleValue);
+ return this;
+ }
+
+ public ContentValues combine() {
+ return combinedRow;
+ }
+}
diff --git a/java/com/android/dialer/calllog/testing/FakeCallLogApplication.java b/java/com/android/dialer/calllog/testing/FakeCallLogApplication.java
new file mode 100644
index 000000000..8aee7dd56
--- /dev/null
+++ b/java/com/android/dialer/calllog/testing/FakeCallLogApplication.java
@@ -0,0 +1,53 @@
+/*
+ * 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
+ */
+package com.android.dialer.calllog.testing;
+
+import android.app.Application;
+import com.android.dialer.calllog.CallLogComponent;
+import com.android.dialer.calllog.CallLogModule;
+import com.android.dialer.calllog.database.CallLogDatabaseComponent;
+import com.android.dialer.common.concurrent.DialerExecutorComponent;
+import com.android.dialer.common.concurrent.testing.TestDialerExecutorModule;
+import com.android.dialer.inject.ContextModule;
+import com.android.dialer.inject.HasRootComponent;
+import dagger.Component;
+import javax.inject.Singleton;
+
+/**
+ * Fake application for call log robolectric tests which uses all real bindings but doesn't require
+ * tests to depend on and use all of DialerApplication.
+ */
+public final class FakeCallLogApplication extends Application implements HasRootComponent {
+ private Object rootComponent;
+
+ @Override
+ public final synchronized Object component() {
+ if (rootComponent == null) {
+ rootComponent =
+ DaggerFakeCallLogApplication_FakeComponent.builder()
+ .contextModule(new ContextModule(this))
+ .build();
+ }
+ return rootComponent;
+ }
+
+ @Singleton
+ @Component(modules = {CallLogModule.class, ContextModule.class, TestDialerExecutorModule.class})
+ interface FakeComponent
+ extends CallLogDatabaseComponent.HasComponent,
+ CallLogComponent.HasComponent,
+ DialerExecutorComponent.HasComponent {}
+}
diff --git a/java/com/android/dialer/calllog/ui/AndroidManifest.xml b/java/com/android/dialer/calllog/ui/AndroidManifest.xml
index 228167749..eaf71aba8 100644
--- a/java/com/android/dialer/calllog/ui/AndroidManifest.xml
+++ b/java/com/android/dialer/calllog/ui/AndroidManifest.xml
@@ -13,4 +13,4 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
-<manifest package="com.android.dialer.calllog"/>
+<manifest package="com.android.dialer.calllog.ui"/>
diff --git a/java/com/android/dialer/calllog/ui/AnnotatedCallLogCursorLoader.java b/java/com/android/dialer/calllog/ui/AnnotatedCallLogCursorLoader.java
deleted file mode 100644
index cd8622e80..000000000
--- a/java/com/android/dialer/calllog/ui/AnnotatedCallLogCursorLoader.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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
- */
-
-package com.android.dialer.calllog.ui;
-
-import android.annotation.TargetApi;
-import android.content.Context;
-import android.content.CursorLoader;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteDatabase;
-import android.os.Build;
-import com.android.dialer.calllog.database.AnnotatedCallLog;
-import com.android.dialer.calllog.database.AnnotatedCallLog.Columns;
-
-/** CursorLoader which reads the annotated call log. */
-class AnnotatedCallLogCursorLoader extends CursorLoader {
-
- AnnotatedCallLogCursorLoader(Context context) {
- super(context);
- }
-
- @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources
- @Override
- public Cursor loadInBackground() {
- try (SQLiteDatabase readableDatabase = AnnotatedCallLog.getReadableDatabase(getContext())) {
- return readableDatabase.rawQuery(
- "SELECT * FROM "
- + AnnotatedCallLog.TABLE_NAME
- + " ORDER BY "
- + Columns.TIMESTAMP
- + " DESC",
- null /* selectionArgs */);
- }
- }
-}
diff --git a/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java b/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java
new file mode 100644
index 000000000..f9ab21cb3
--- /dev/null
+++ b/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java
@@ -0,0 +1,53 @@
+/*
+ * 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
+ */
+package com.android.dialer.calllog.ui;
+
+import android.database.Cursor;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog;
+
+/** {@link RecyclerView.Adapter} for the new call log fragment. */
+final class NewCallLogAdapter extends RecyclerView.Adapter<NewCallLogViewHolder> {
+
+ private final Cursor cursor;
+ private final int timestampIndex;
+
+ NewCallLogAdapter(Cursor cursor) {
+ this.cursor = cursor;
+ timestampIndex = cursor.getColumnIndexOrThrow(CoalescedAnnotatedCallLog.TIMESTAMP);
+ }
+
+ @Override
+ public NewCallLogViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
+ return new NewCallLogViewHolder(
+ LayoutInflater.from(viewGroup.getContext())
+ .inflate(R.layout.new_call_log_entry, viewGroup, false));
+ }
+
+ @Override
+ public void onBindViewHolder(NewCallLogViewHolder viewHolder, int position) {
+ cursor.moveToPosition(position);
+ long timestamp = cursor.getLong(timestampIndex);
+ viewHolder.bind(timestamp);
+ }
+
+ @Override
+ public int getItemCount() {
+ return cursor.getCount();
+ }
+}
diff --git a/java/com/android/dialer/calllog/ui/NewCallLogFragment.java b/java/com/android/dialer/calllog/ui/NewCallLogFragment.java
index b8f2b1326..712f7cf25 100644
--- a/java/com/android/dialer/calllog/ui/NewCallLogFragment.java
+++ b/java/com/android/dialer/calllog/ui/NewCallLogFragment.java
@@ -17,30 +17,38 @@ package com.android.dialer.calllog.ui;
import android.app.Fragment;
import android.app.LoaderManager.LoaderCallbacks;
-import android.content.Context;
+import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.CursorAdapter;
-import android.widget.ListView;
-import android.widget.SimpleCursorAdapter;
-import android.widget.TextView;
import com.android.dialer.calllog.CallLogComponent;
import com.android.dialer.calllog.CallLogFramework;
import com.android.dialer.calllog.CallLogFramework.CallLogUi;
-import com.android.dialer.calllog.database.AnnotatedCallLog.Columns;
+import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog;
import com.android.dialer.common.LogUtil;
-import java.text.SimpleDateFormat;
-import java.util.Locale;
+import com.android.dialer.common.concurrent.DialerExecutor;
+import com.android.dialer.common.concurrent.DialerExecutorComponent;
+import com.android.dialer.common.concurrent.DialerExecutorFactory;
/** The "new" call log fragment implementation, which is built on top of the annotated call log. */
public final class NewCallLogFragment extends Fragment
implements CallLogUi, LoaderCallbacks<Cursor> {
- private CursorAdapter cursorAdapter;
+ /*
+ * This is a reasonable time that it might take between related call log writes, that also
+ * shouldn't slow down single-writes too much. For example, when populating the database using
+ * the simulator, using this value results in ~6 refresh cycles (on a release build) to write 120
+ * call log entries.
+ */
+ private static final long WAIT_MILLIS = 100L;
+
+ private DialerExecutor<Boolean> refreshAnnotatedCallLogTask;
+ private RecyclerView recyclerView;
public NewCallLogFragment() {
LogUtil.enterBlock("NewCallLogFragment.NewCallLogFragment");
@@ -52,8 +60,27 @@ public final class NewCallLogFragment extends Fragment
LogUtil.enterBlock("NewCallLogFragment.onCreate");
- CallLogFramework callLogFramework = CallLogComponent.get(getContext()).callLogFramework();
+ CallLogComponent component = CallLogComponent.get(getContext());
+ CallLogFramework callLogFramework = component.callLogFramework();
callLogFramework.attachUi(this);
+
+ DialerExecutorFactory dialerExecutorFactory =
+ DialerExecutorComponent.get(getContext()).dialerExecutorFactory();
+
+ refreshAnnotatedCallLogTask =
+ dialerExecutorFactory
+ .createUiTaskBuilder(
+ getFragmentManager(),
+ "NewCallLogFragment.refreshAnnotatedCallLog",
+ component.getRefreshAnnotatedCallLogWorker())
+ .build();
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+
+ LogUtil.enterBlock("NewCallLogFragment.onStart");
}
@Override
@@ -64,6 +91,9 @@ public final class NewCallLogFragment extends Fragment
CallLogFramework callLogFramework = CallLogComponent.get(getContext()).callLogFramework();
callLogFramework.attachUi(this);
+
+ // TODO: Consider doing this when fragment becomes visible.
+ checkAnnotatedCallLogDirtyAndRefreshIfNecessary();
}
@Override
@@ -82,57 +112,44 @@ public final class NewCallLogFragment extends Fragment
LogUtil.enterBlock("NewCallLogFragment.onCreateView");
View view = inflater.inflate(R.layout.new_call_log_fragment, container, false);
- ListView listView = (ListView) view.findViewById(R.id.list);
+ recyclerView = view.findViewById(R.id.new_call_log_recycler_view);
- this.cursorAdapter =
- new MyCursorAdapter(
- getContext(),
- R.layout.new_call_log_entry,
- null /* cursor */,
- new String[] {Columns.TIMESTAMP, Columns.CONTACT_NAME},
- new int[] {R.id.timestamp, R.id.contact_name},
- 0);
- listView.setAdapter(cursorAdapter);
-
- getLoaderManager().initLoader(0, null, this);
+ getLoaderManager().restartLoader(0, null, this);
return view;
}
+ private void checkAnnotatedCallLogDirtyAndRefreshIfNecessary() {
+ LogUtil.enterBlock("NewCallLogFragment.checkAnnotatedCallLogDirtyAndRefreshIfNecessary");
+ refreshAnnotatedCallLogTask.executeSerialWithWait(false /* skipDirtyCheck */, WAIT_MILLIS);
+ }
+
@Override
public void invalidateUi() {
LogUtil.enterBlock("NewCallLogFragment.invalidateUi");
- // TODO: Implementation.
+ refreshAnnotatedCallLogTask.executeSerialWithWait(true /* skipDirtyCheck */, WAIT_MILLIS);
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
- // TODO: This is sort of weird, do we need to implement a content provider?
- return new AnnotatedCallLogCursorLoader(getContext());
+ LogUtil.enterBlock("NewCallLogFragment.onCreateLoader");
+ // CoalescedAnnotatedCallLog requires that all params be null.
+ return new CursorLoader(
+ getContext(), CoalescedAnnotatedCallLog.CONTENT_URI, null, null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor newCursor) {
- cursorAdapter.swapCursor(newCursor);
+ LogUtil.enterBlock("NewCallLogFragment.onLoadFinished");
+
+ // TODO: Handle empty cursor by showing empty view.
+ recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
+ recyclerView.setAdapter(new NewCallLogAdapter(newCursor));
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
- cursorAdapter.swapCursor(null);
- }
-
- private static class MyCursorAdapter extends SimpleCursorAdapter {
-
- MyCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags) {
- super(context, layout, c, from, to, flags);
- }
-
- @Override
- public void setViewText(TextView view, String text) {
- if (view.getId() == R.id.timestamp) {
- text = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US).format(Long.valueOf(text));
- }
- view.setText(text);
- }
+ LogUtil.enterBlock("NewCallLogFragment.onLoaderReset");
+ recyclerView.setAdapter(null);
}
}
diff --git a/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
new file mode 100644
index 000000000..4c459e123
--- /dev/null
+++ b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java
@@ -0,0 +1,43 @@
+/*
+ * 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
+ */
+package com.android.dialer.calllog.ui;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.TextView;
+import java.text.SimpleDateFormat;
+import java.util.Locale;
+
+/** {@link RecyclerView.ViewHolder} for the new call log. */
+final class NewCallLogViewHolder extends RecyclerView.ViewHolder {
+
+ // TODO: Format correctly using current locale.
+ private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US);
+
+ private final TextView contactNameView;
+ private final TextView timestampView;
+
+ NewCallLogViewHolder(View view) {
+ super(view);
+ contactNameView = view.findViewById(R.id.contact_name);
+ timestampView = view.findViewById(R.id.timestamp);
+ }
+
+ void bind(long timestamp) {
+ contactNameView.setText("Contact Name Placeholder");
+ timestampView.setText(dateFormat.format(timestamp));
+ }
+}
diff --git a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml
index ee3efd002..99797fab4 100644
--- a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml
+++ b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml
@@ -18,16 +18,20 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="horizontal">
+ android:layout_height="wrap_content"
+ android:padding="8dp"
+ android:orientation="vertical">
<TextView
- android:id="@+id/timestamp"
+ android:id="@+id/contact_name"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
+ android:layout_height="wrap_content"
+ style="@style/PrimaryText"/>
<TextView
- android:id="@+id/contact_name"
+ android:id="@+id/timestamp"
android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
+ android:layout_height="wrap_content"
+ style="@style/SecondaryText"/>
+
</LinearLayout> \ No newline at end of file
diff --git a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml
index 433dbdd0f..e1d8410b6 100644
--- a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml
+++ b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml
@@ -15,8 +15,9 @@
~ limitations under the License
-->
-<ListView
+<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/list"
+ android:id="@+id/new_call_log_recycler_view"
android:layout_width="match_parent"
- android:layout_height="match_parent"/>
+ android:layout_height="match_parent"
+ android:background="@color/background_dialer_light"/>
diff --git a/java/com/android/dialer/common/Assert.java b/java/com/android/dialer/common/Assert.java
index 189d209c8..2d7f199ab 100644
--- a/java/com/android/dialer/common/Assert.java
+++ b/java/com/android/dialer/common/Assert.java
@@ -30,10 +30,6 @@ public class Assert {
Assert.areThreadAssertsEnabled = areThreadAssertsEnabled;
}
- public static boolean areThreadAssertsEnabled() {
- return areThreadAssertsEnabled;
- }
-
/**
* Called when a truly exceptional case occurs.
*
@@ -63,6 +59,11 @@ public class Assert {
}
@CheckReturnValue
+ public static AssertionError createAssertionFailException(String msg, Throwable reason) {
+ return new AssertionError(msg, reason);
+ }
+
+ @CheckReturnValue
public static UnsupportedOperationException createUnsupportedOperationFailException() {
return new UnsupportedOperationException();
}
diff --git a/java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java b/java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java
index 4b6d81afd..82e517d9a 100644
--- a/java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java
+++ b/java/com/android/dialer/common/concurrent/DefaultDialerExecutorFactory.java
@@ -17,6 +17,7 @@
package com.android.dialer.common.concurrent;
import android.app.FragmentManager;
+import android.os.AsyncTask;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.android.dialer.common.Assert;
@@ -25,9 +26,13 @@ import com.android.dialer.common.concurrent.DialerExecutor.Builder;
import com.android.dialer.common.concurrent.DialerExecutor.FailureListener;
import com.android.dialer.common.concurrent.DialerExecutor.SuccessListener;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
/** The production {@link DialerExecutorFactory}. */
@@ -62,16 +67,16 @@ public class DefaultDialerExecutorFactory implements DialerExecutorFactory {
throwable -> {
throw new RuntimeException(throwable);
};
- @Nullable final ExecutorService serialExecutorService;
- @Nullable final ExecutorService parallelExecutorService;
+ @Nullable final ScheduledExecutorService serialExecutorService;
+ @Nullable final Executor parallelExecutor;
BaseTaskBuilder(
Worker<InputT, OutputT> worker,
- @Nullable ExecutorService serialExecutorService,
- @Nullable ExecutorService parallelExecutorService) {
+ @Nullable ScheduledExecutorService serialExecutorService,
+ @Nullable Executor parallelExecutor) {
this.worker = worker;
this.serialExecutorService = serialExecutorService;
- this.parallelExecutorService = parallelExecutorService;
+ this.parallelExecutor = parallelExecutor;
}
@NonNull
@@ -91,6 +96,19 @@ public class DefaultDialerExecutorFactory implements DialerExecutorFactory {
/** Convenience class for use by {@link DialerExecutorFactory} implementations. */
public static class UiTaskBuilder<InputT, OutputT> extends BaseTaskBuilder<InputT, OutputT> {
+ private static final ScheduledExecutorService defaultSerialExecutorService =
+ Executors.newSingleThreadScheduledExecutor(
+ new ThreadFactory() {
+ @Override
+ public Thread newThread(Runnable runnable) {
+ LogUtil.i("UiTaskBuilder.newThread", "creating serial thread");
+ Thread thread = new Thread(runnable, "UiTaskBuilder-Serial");
+ thread.setPriority(5); // Corresponds to Process.THREAD_PRIORITY_DEFAULT
+ return thread;
+ }
+ });
+
+ private static final Executor defaultParallelExecutorService = AsyncTask.THREAD_POOL_EXECUTOR;
private final FragmentManager fragmentManager;
private final String id;
@@ -102,16 +120,16 @@ public class DefaultDialerExecutorFactory implements DialerExecutorFactory {
fragmentManager,
id,
worker,
- null /* serialExecutorService */,
- null /* parallelExecutorService */);
+ defaultSerialExecutorService,
+ defaultParallelExecutorService);
}
public UiTaskBuilder(
FragmentManager fragmentManager,
String id,
Worker<InputT, OutputT> worker,
- ExecutorService serialExecutor,
- ExecutorService parallelExecutor) {
+ ScheduledExecutorService serialExecutor,
+ Executor parallelExecutor) {
super(worker, serialExecutor, parallelExecutor);
this.fragmentManager = fragmentManager;
this.id = id;
@@ -128,46 +146,46 @@ public class DefaultDialerExecutorFactory implements DialerExecutorFactory {
super.successListener,
super.failureListener,
serialExecutorService,
- parallelExecutorService);
+ parallelExecutor);
return new UiDialerExecutor<>(dialerUiTaskFragment);
}
}
/** Convenience class for use by {@link DialerExecutorFactory} implementations. */
public static class NonUiTaskBuilder<InputT, OutputT> extends BaseTaskBuilder<InputT, OutputT> {
- private static final ExecutorService defaultSerialExecutorService =
- Executors.newSingleThreadExecutor(
+ private static final ScheduledExecutorService defaultSerialExecutorService =
+ Executors.newSingleThreadScheduledExecutor(
new ThreadFactory() {
@Override
public Thread newThread(Runnable runnable) {
LogUtil.i("NonUiTaskBuilder.newThread", "creating serial thread");
- Thread thread = new Thread(runnable, "NonUiTaskBuilder");
+ Thread thread = new Thread(runnable, "NonUiTaskBuilder-Serial");
thread.setPriority(4); // Corresponds to Process.THREAD_PRIORITY_BACKGROUND
return thread;
}
});
- private static final ExecutorService defaultParallelExecutorService =
+ private static final Executor defaultParallelExecutor =
Executors.newFixedThreadPool(
5,
new ThreadFactory() {
@Override
public Thread newThread(Runnable runnable) {
LogUtil.i("NonUiTaskBuilder.newThread", "creating parallel thread");
- Thread thread = new Thread(runnable, "NonUiTaskBuilder");
+ Thread thread = new Thread(runnable, "NonUiTaskBuilder-Parallel");
thread.setPriority(4); // Corresponds to Process.THREAD_PRIORITY_BACKGROUND
return thread;
}
});
NonUiTaskBuilder(Worker<InputT, OutputT> worker) {
- this(worker, defaultSerialExecutorService, defaultParallelExecutorService);
+ this(worker, defaultSerialExecutorService, defaultParallelExecutor);
}
public NonUiTaskBuilder(
Worker<InputT, OutputT> worker,
- @NonNull ExecutorService serialExecutor,
- @NonNull ExecutorService parallelExecutor) {
+ @NonNull ScheduledExecutorService serialExecutor,
+ @NonNull Executor parallelExecutor) {
super(worker, Assert.isNotNull(serialExecutor), Assert.isNotNull(parallelExecutor));
}
@@ -179,7 +197,7 @@ public class DefaultDialerExecutorFactory implements DialerExecutorFactory {
super.successListener,
super.failureListener,
serialExecutorService,
- parallelExecutorService);
+ parallelExecutor);
}
}
@@ -197,6 +215,11 @@ public class DefaultDialerExecutorFactory implements DialerExecutorFactory {
}
@Override
+ public void executeSerialWithWait(@Nullable InputT input, long waitMillis) {
+ dialerUiTaskFragment.executeSerialWithWait(input, waitMillis);
+ }
+
+ @Override
public void executeParallel(@Nullable InputT input) {
dialerUiTaskFragment.executeParallel(input);
}
@@ -214,47 +237,59 @@ public class DefaultDialerExecutorFactory implements DialerExecutorFactory {
private final SuccessListener<OutputT> successListener;
private final FailureListener failureListener;
- private final ExecutorService serialExecutorService;
- private final ExecutorService parallelExecutorService;
+ private final ScheduledExecutorService serialExecutorService;
+ private final Executor parallelExecutor;
+
+ private ScheduledFuture<?> scheduledFuture;
NonUiDialerExecutor(
Worker<InputT, OutputT> worker,
SuccessListener<OutputT> successListener,
FailureListener failureListener,
- ExecutorService serialExecutorService,
- ExecutorService parallelExecutorService) {
+ ScheduledExecutorService serialExecutorService,
+ Executor parallelExecutor) {
this.worker = worker;
this.successListener = successListener;
this.failureListener = failureListener;
this.serialExecutorService = serialExecutorService;
- this.parallelExecutorService = parallelExecutorService;
+ this.parallelExecutor = parallelExecutor;
}
@Override
public void executeSerial(@Nullable InputT input) {
- executeOnCustomExecutorService(serialExecutorService, input);
+ serialExecutorService.execute(() -> run(input));
+ }
+
+ @Override
+ public void executeSerialWithWait(@Nullable InputT input, long waitMillis) {
+ if (scheduledFuture != null) {
+ LogUtil.i("NonUiDialerExecutor.executeSerialWithWait", "cancelling waiting task");
+ scheduledFuture.cancel(false /* mayInterrupt */);
+ }
+ scheduledFuture =
+ serialExecutorService.schedule(() -> run(input), waitMillis, TimeUnit.MILLISECONDS);
}
@Override
public void executeParallel(@Nullable InputT input) {
- executeOnCustomExecutorService(parallelExecutorService, input);
+ parallelExecutor.execute(() -> run(input));
}
@Override
public void executeOnCustomExecutorService(
@NonNull ExecutorService executorService, @Nullable InputT input) {
- Assert.isNotNull(executorService)
- .execute(
- () -> {
- OutputT output;
- try {
- output = worker.doInBackground(input);
- } catch (Throwable throwable) {
- ThreadUtil.postOnUiThread(() -> failureListener.onFailure(throwable));
- return;
- }
- ThreadUtil.postOnUiThread(() -> successListener.onSuccess(output));
- });
+ Assert.isNotNull(executorService).execute(() -> run(input));
+ }
+
+ private void run(@Nullable InputT input) {
+ OutputT output;
+ try {
+ output = worker.doInBackground(input);
+ } catch (Throwable throwable) {
+ ThreadUtil.postOnUiThread(() -> failureListener.onFailure(throwable));
+ return;
+ }
+ ThreadUtil.postOnUiThread(() -> successListener.onSuccess(output));
}
}
}
diff --git a/java/com/android/dialer/common/concurrent/DialerExecutor.java b/java/com/android/dialer/common/concurrent/DialerExecutor.java
index 0237e3a05..0414581d4 100644
--- a/java/com/android/dialer/common/concurrent/DialerExecutor.java
+++ b/java/com/android/dialer/common/concurrent/DialerExecutor.java
@@ -84,6 +84,16 @@ public interface DialerExecutor<InputT> {
void executeSerial(@Nullable InputT input);
/**
+ * Executes the task after waiting {@code waitMillis}. If called while the previous invocation is
+ * still waiting to be started, the original invocation is cancelled.
+ *
+ * <p>This is useful for tasks which might get scheduled many times in very quick succession, but
+ * it is only the last one that actually needs to be executed.
+ */
+ @MainThread
+ void executeSerialWithWait(@Nullable InputT input, long waitMillis);
+
+ /**
* Executes the task on a thread pool shared across the application. Multiple calls using this
* method may result in tasks being executed in parallel.
*/
diff --git a/java/com/android/dialer/common/concurrent/DialerExecutorComponent.java b/java/com/android/dialer/common/concurrent/DialerExecutorComponent.java
new file mode 100644
index 000000000..25033251f
--- /dev/null
+++ b/java/com/android/dialer/common/concurrent/DialerExecutorComponent.java
@@ -0,0 +1,39 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.common.concurrent;
+
+import android.content.Context;
+import com.android.dialer.inject.HasRootComponent;
+import dagger.Subcomponent;
+
+/** Dagger component which provides a {@link DialerExecutorFactory}. */
+@Subcomponent
+public abstract class DialerExecutorComponent {
+
+ public abstract DialerExecutorFactory dialerExecutorFactory();
+
+ public static DialerExecutorComponent get(Context context) {
+ return ((DialerExecutorComponent.HasComponent)
+ ((HasRootComponent) context.getApplicationContext()).component())
+ .dialerExecutorComponent();
+ }
+
+ /** Used to refer to the root application component. */
+ public interface HasComponent {
+ DialerExecutorComponent dialerExecutorComponent();
+ }
+}
diff --git a/java/com/android/dialer/common/concurrent/DialerExecutorModule.java b/java/com/android/dialer/common/concurrent/DialerExecutorModule.java
new file mode 100644
index 000000000..281f88c15
--- /dev/null
+++ b/java/com/android/dialer/common/concurrent/DialerExecutorModule.java
@@ -0,0 +1,28 @@
+/*
+ * 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
+ */
+package com.android.dialer.common.concurrent;
+
+import dagger.Binds;
+import dagger.Module;
+
+/** Module which binds the production {@link DialerExecutorFactory}. */
+@Module
+public abstract class DialerExecutorModule {
+
+ @Binds
+ abstract DialerExecutorFactory bindDialerExecutorFactory(
+ DefaultDialerExecutorFactory defaultDialerExecutorFactory);
+}
diff --git a/java/com/android/dialer/common/concurrent/DialerUiTaskFragment.java b/java/com/android/dialer/common/concurrent/DialerUiTaskFragment.java
index 627336895..7f2a5a06b 100644
--- a/java/com/android/dialer/common/concurrent/DialerUiTaskFragment.java
+++ b/java/com/android/dialer/common/concurrent/DialerUiTaskFragment.java
@@ -18,17 +18,21 @@ package com.android.dialer.common.concurrent;
import android.app.Fragment;
import android.app.FragmentManager;
-import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.MainThread;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.annotation.WorkerThread;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.common.concurrent.AsyncTaskExecutors.SimpleAsyncTaskExecutor;
import com.android.dialer.common.concurrent.DialerExecutor.FailureListener;
import com.android.dialer.common.concurrent.DialerExecutor.SuccessListener;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
/**
* Do not use this class directly. Instead use {@link DialerExecutors}.
@@ -38,13 +42,13 @@ import java.util.concurrent.ExecutorService;
*/
public final class DialerUiTaskFragment<InputT, OutputT> extends Fragment {
- private String taskId;
private Worker<InputT, OutputT> worker;
private SuccessListener<OutputT> successListener;
private FailureListener failureListener;
- private AsyncTaskExecutor serialExecutor = AsyncTaskExecutors.createAsyncTaskExecutor();
- private AsyncTaskExecutor parallelExecutor = AsyncTaskExecutors.createThreadPoolExecutor();
+ private ScheduledExecutorService serialExecutor;
+ private Executor parallelExecutor;
+ private ScheduledFuture<?> scheduledFuture;
/**
* Creates a new {@link DialerUiTaskFragment} or gets an existing one in the event that a
@@ -76,8 +80,8 @@ public final class DialerUiTaskFragment<InputT, OutputT> extends Fragment {
Worker<InputT, OutputT> worker,
SuccessListener<OutputT> successListener,
FailureListener failureListener,
- @Nullable ExecutorService serialExecutorService,
- @Nullable ExecutorService parallelExecutorService) {
+ @NonNull ScheduledExecutorService serialExecutorService,
+ @NonNull Executor parallelExecutor) {
Assert.isMainThread();
DialerUiTaskFragment<InputT, OutputT> fragment =
@@ -88,16 +92,11 @@ public final class DialerUiTaskFragment<InputT, OutputT> extends Fragment {
fragment = new DialerUiTaskFragment<>();
fragmentManager.beginTransaction().add(fragment, taskId).commit();
}
- fragment.taskId = taskId;
fragment.worker = worker;
fragment.successListener = successListener;
fragment.failureListener = failureListener;
- if (serialExecutorService != null) {
- fragment.serialExecutor = new SimpleAsyncTaskExecutor(serialExecutorService);
- }
- if (parallelExecutorService != null) {
- fragment.parallelExecutor = new SimpleAsyncTaskExecutor(parallelExecutorService);
- }
+ fragment.serialExecutor = Assert.isNotNull(serialExecutorService);
+ fragment.parallelExecutor = Assert.isNotNull(parallelExecutor);
return fragment;
}
@@ -111,60 +110,51 @@ public final class DialerUiTaskFragment<InputT, OutputT> extends Fragment {
public void onDetach() {
super.onDetach();
LogUtil.enterBlock("DialerUiTaskFragment.onDetach");
- taskId = null;
successListener = null;
failureListener = null;
+ if (scheduledFuture != null) {
+ scheduledFuture.cancel(false /* mayInterrupt */);
+ scheduledFuture = null;
+ }
}
void executeSerial(InputT input) {
- serialExecutor.submit(taskId, new InternalTask(), input);
+ serialExecutor.execute(() -> runTask(input));
+ }
+
+ void executeSerialWithWait(InputT input, long waitMillis) {
+ if (scheduledFuture != null) {
+ LogUtil.i("DialerUiTaskFragment.executeSerialWithWait", "cancelling waiting task");
+ scheduledFuture.cancel(false /* mayInterrupt */);
+ }
+ scheduledFuture =
+ serialExecutor.schedule(() -> runTask(input), waitMillis, TimeUnit.MILLISECONDS);
}
void executeParallel(InputT input) {
- parallelExecutor.submit(taskId, new InternalTask(), input);
+ parallelExecutor.execute(() -> runTask(input));
}
void executeOnCustomExecutor(ExecutorService executor, InputT input) {
- new SimpleAsyncTaskExecutor(executor).submit(taskId, new InternalTask(), input);
+ executor.execute(() -> runTask(input));
}
- private final class InternalTask extends AsyncTask<InputT, Void, InternalTaskResult<OutputT>> {
-
- @SafeVarargs
- @Override
- protected final InternalTaskResult<OutputT> doInBackground(InputT... params) {
- try {
- return new InternalTaskResult<>(null, worker.doInBackground(params[0]));
- } catch (Throwable throwable) {
- LogUtil.e("InternalTask.doInBackground", "task failed", throwable);
- return new InternalTaskResult<>(throwable, null);
+ @WorkerThread
+ private void runTask(@Nullable InputT input) {
+ try {
+ OutputT output = worker.doInBackground(input);
+ if (successListener == null) {
+ LogUtil.i("DialerUiTaskFragment.runTask", "task succeeded but UI is dead");
+ } else {
+ ThreadUtil.postOnUiThread(() -> successListener.onSuccess(output));
}
- }
-
- @Override
- protected void onPostExecute(InternalTaskResult<OutputT> result) {
- if (result.throwable != null) {
- if (failureListener == null) {
- LogUtil.i("InternalTask.onPostExecute", "task failed but UI is dead");
- } else {
- failureListener.onFailure(result.throwable);
- }
- } else if (successListener == null) {
- LogUtil.i("InternalTask.onPostExecute", "task succeeded but UI is dead");
+ } catch (Throwable throwable) {
+ LogUtil.e("DialerUiTaskFragment.runTask", "task failed", throwable);
+ if (failureListener == null) {
+ LogUtil.i("DialerUiTaskFragment.runTask", "task failed but UI is dead");
} else {
- successListener.onSuccess(result.result);
+ ThreadUtil.postOnUiThread(() -> failureListener.onFailure(throwable));
}
}
}
-
- private static class InternalTaskResult<OutputT> {
-
- private final Throwable throwable;
- private final OutputT result;
-
- InternalTaskResult(Throwable throwable, OutputT result) {
- this.throwable = throwable;
- this.result = result;
- }
- }
}
diff --git a/java/com/android/dialer/common/concurrent/ThreadUtil.java b/java/com/android/dialer/common/concurrent/ThreadUtil.java
index 21cf4634e..39b6cceff 100644
--- a/java/com/android/dialer/common/concurrent/ThreadUtil.java
+++ b/java/com/android/dialer/common/concurrent/ThreadUtil.java
@@ -28,6 +28,11 @@ public class ThreadUtil {
getUiThreadHandler().post(runnable);
}
+ /** Posts a runnable to the UI thread, to be run after the specified amount of time elapses. */
+ public static void postDelayedOnUiThread(Runnable runnable, long delayMillis) {
+ getUiThreadHandler().postDelayed(runnable, delayMillis);
+ }
+
/** Gets a handler which uses the main looper. */
public static Handler getUiThreadHandler() {
if (mainThreadHandler == null) {
diff --git a/java/com/android/dialer/compat/CompatUtils.java b/java/com/android/dialer/compat/CompatUtils.java
index 673cb709b..351c89ad7 100644
--- a/java/com/android/dialer/compat/CompatUtils.java
+++ b/java/com/android/dialer/compat/CompatUtils.java
@@ -16,15 +16,9 @@
package com.android.dialer.compat;
import android.os.Build;
-import android.support.annotation.Nullable;
-import android.text.TextUtils;
-import android.util.Log;
-import java.lang.reflect.InvocationTargetException;
public final class CompatUtils {
- private static final String TAG = CompatUtils.class.getSimpleName();
-
/** PrioritizedMimeType is added in API level 23. */
public static boolean hasPrioritizedMimeType() {
return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.M) >= Build.VERSION_CODES.M;
@@ -70,153 +64,4 @@ public final class CompatUtils {
public static boolean isCallSubjectCompatible() {
return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP) >= Build.VERSION_CODES.M;
}
-
- /**
- * Determines if this version is compatible with a default dialer. Can also force the version to
- * be lower through {@link SdkVersionOverride}.
- *
- * @return {@code true} if default dialer is a feature on this device, {@code false} otherwise.
- */
- public static boolean isDefaultDialerCompatible() {
- return isMarshmallowCompatible();
- }
-
- /**
- * Determines if this version is compatible with Lollipop Mr1-specific APIs. Can also force the
- * version to be lower through SdkVersionOverride.
- *
- * @return {@code true} if runtime sdk is compatible with Lollipop MR1, {@code false} otherwise.
- */
- public static boolean isLollipopMr1Compatible() {
- return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP_MR1)
- >= Build.VERSION_CODES.LOLLIPOP_MR1;
- }
-
- /**
- * Determines if this version is compatible with Marshmallow-specific APIs. Can also force the
- * version to be lower through SdkVersionOverride.
- *
- * @return {@code true} if runtime sdk is compatible with Marshmallow, {@code false} otherwise.
- */
- public static boolean isMarshmallowCompatible() {
- return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP) >= Build.VERSION_CODES.M;
- }
-
- /**
- * Determines if the given class is available. Can be used to check if system apis exist at
- * runtime.
- *
- * @param className the name of the class to look for.
- * @return {@code true} if the given class is available, {@code false} otherwise or if className
- * is empty.
- */
- public static boolean isClassAvailable(@Nullable String className) {
- if (TextUtils.isEmpty(className)) {
- return false;
- }
- try {
- Class.forName(className);
- return true;
- } catch (ClassNotFoundException e) {
- return false;
- } catch (Throwable t) {
- Log.e(
- TAG,
- "Unexpected exception when checking if class:" + className + " exists at " + "runtime",
- t);
- return false;
- }
- }
-
- /**
- * Determines if the given class's method is available to call. Can be used to check if system
- * apis exist at runtime.
- *
- * @param className the name of the class to look for
- * @param methodName the name of the method to look for
- * @param parameterTypes the needed parameter types for the method to look for
- * @return {@code true} if the given class is available, {@code false} otherwise or if className
- * or methodName are empty.
- */
- public static boolean isMethodAvailable(
- @Nullable String className, @Nullable String methodName, Class<?>... parameterTypes) {
- if (TextUtils.isEmpty(className) || TextUtils.isEmpty(methodName)) {
- return false;
- }
-
- try {
- Class.forName(className).getMethod(methodName, parameterTypes);
- return true;
- } catch (ClassNotFoundException | NoSuchMethodException e) {
- Log.v(TAG, "Could not find method: " + className + "#" + methodName);
- return false;
- } catch (Throwable t) {
- Log.e(
- TAG,
- "Unexpected exception when checking if method: "
- + className
- + "#"
- + methodName
- + " exists at runtime",
- t);
- return false;
- }
- }
-
- /**
- * Invokes a given class's method using reflection. Can be used to call system apis that exist at
- * runtime but not in the SDK.
- *
- * @param instance The instance of the class to invoke the method on.
- * @param methodName The name of the method to invoke.
- * @param parameterTypes The needed parameter types for the method.
- * @param parameters The parameter values to pass into the method.
- * @return The result of the invocation or {@code null} if instance or methodName are empty, or if
- * the reflection fails.
- */
- @Nullable
- public static Object invokeMethod(
- @Nullable Object instance,
- @Nullable String methodName,
- Class<?>[] parameterTypes,
- Object[] parameters) {
- if (instance == null || TextUtils.isEmpty(methodName)) {
- return null;
- }
-
- String className = instance.getClass().getName();
- try {
- return Class.forName(className)
- .getMethod(methodName, parameterTypes)
- .invoke(instance, parameters);
- } catch (ClassNotFoundException
- | NoSuchMethodException
- | IllegalArgumentException
- | IllegalAccessException
- | InvocationTargetException e) {
- Log.v(TAG, "Could not invoke method: " + className + "#" + methodName);
- return null;
- } catch (Throwable t) {
- Log.e(
- TAG,
- "Unexpected exception when invoking method: "
- + className
- + "#"
- + methodName
- + " at runtime",
- t);
- return null;
- }
- }
-
- /**
- * Determines if this version is compatible with Lollipop-specific APIs. Can also force the
- * version to be lower through SdkVersionOverride.
- *
- * @return {@code true} if call subject is a feature on this device, {@code false} otherwise.
- */
- public static boolean isLollipopCompatible() {
- return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP)
- >= Build.VERSION_CODES.LOLLIPOP;
- }
}
diff --git a/java/com/android/dialer/configprovider/AndroidManifest.xml b/java/com/android/dialer/configprovider/AndroidManifest.xml
new file mode 100644
index 000000000..772997153
--- /dev/null
+++ b/java/com/android/dialer/configprovider/AndroidManifest.xml
@@ -0,0 +1,23 @@
+<!--
+ ~ 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
+ -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.dialer.configprovider">
+
+ <application>
+ <service android:name=".SharedPrefConfigProvider$Service"/>
+ </application>
+
+</manifest> \ No newline at end of file
diff --git a/java/com/android/dialer/common/ConfigProvider.java b/java/com/android/dialer/configprovider/ConfigProvider.java
index c0791e979..886a69e93 100644
--- a/java/com/android/dialer/common/ConfigProvider.java
+++ b/java/com/android/dialer/configprovider/ConfigProvider.java
@@ -14,7 +14,7 @@
* limitations under the License
*/
-package com.android.dialer.common;
+package com.android.dialer.configprovider;
/** Gets config values from the container application. */
public interface ConfigProvider {
diff --git a/java/com/android/dialer/common/ConfigProviderBindings.java b/java/com/android/dialer/configprovider/ConfigProviderBindings.java
index 9f045add4..0bf0e758d 100644
--- a/java/com/android/dialer/common/ConfigProviderBindings.java
+++ b/java/com/android/dialer/configprovider/ConfigProviderBindings.java
@@ -14,13 +14,14 @@
* limitations under the License
*/
-package com.android.dialer.common;
+package com.android.dialer.configprovider;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.v4.os.UserManagerCompat;
+import com.android.dialer.common.Assert;
/** Accessor for getting a {@link ConfigProvider}. */
public class ConfigProviderBindings {
@@ -39,16 +40,7 @@ public class ConfigProviderBindings {
}
return configProviderStub;
}
-
- Context application = context.getApplicationContext();
- if (application instanceof ConfigProviderFactory) {
- configProvider = ((ConfigProviderFactory) application).getConfigProvider();
- }
-
- if (configProvider == null) {
- configProvider = new ConfigProviderStub();
- }
-
+ configProvider = ConfigProviderComponent.get(context).getConfigProvider();
return configProvider;
}
diff --git a/java/com/android/dialer/configprovider/ConfigProviderComponent.java b/java/com/android/dialer/configprovider/ConfigProviderComponent.java
new file mode 100644
index 000000000..e26a5cfe4
--- /dev/null
+++ b/java/com/android/dialer/configprovider/ConfigProviderComponent.java
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.configprovider;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import com.android.dialer.inject.HasRootComponent;
+import dagger.Subcomponent;
+
+/** Dagger component to provide a {@link ConfigProvider}. */
+@Subcomponent
+public abstract class ConfigProviderComponent {
+
+ @NonNull
+ public abstract ConfigProvider getConfigProvider();
+
+ public static ConfigProviderComponent get(Context context) {
+ return ((ConfigProviderComponent.HasComponent)
+ ((HasRootComponent) context.getApplicationContext()).component())
+ .configProviderComponent();
+ }
+
+ /** Used to refer to the root application component. */
+ public interface HasComponent {
+ ConfigProviderComponent configProviderComponent();
+ }
+}
diff --git a/java/com/android/dialer/configprovider/SharedPrefConfigProvider.java b/java/com/android/dialer/configprovider/SharedPrefConfigProvider.java
new file mode 100644
index 000000000..fad25a409
--- /dev/null
+++ b/java/com/android/dialer/configprovider/SharedPrefConfigProvider.java
@@ -0,0 +1,131 @@
+/*
+ * 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
+ */
+package com.android.dialer.configprovider;
+
+import android.app.IntentService;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
+import android.os.StrictMode;
+import android.support.annotation.Nullable;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.inject.ApplicationContext;
+import com.android.dialer.util.DialerUtils;
+import javax.inject.Inject;
+
+/**
+ * {@link ConfigProvider} which uses a shared preferences file.
+ *
+ * <p>Config flags can be written using adb (with root access), for example:
+ *
+ * <pre>
+ * adb root
+ * adb shell am startservice -n \
+ * 'com.android.dialer/.configprovider.SharedPrefConfigProvider\$Service' \
+ * --ez boolean_flag_name flag_value
+ * </pre>
+ *
+ * <p>(For longs use --el and for strings use --es.)
+ *
+ * <p>Flags can be viewed with:
+ *
+ * <pre>
+ * adb shell cat \
+ * /data/user_de/0/com.android.dialer/shared_prefs/com.android.dialer_preferences.xml
+ * </pre>
+ */
+class SharedPrefConfigProvider implements ConfigProvider {
+ private static final String PREF_PREFIX = "config_provider_prefs_";
+
+ private final Context appContext;
+
+ @Inject
+ SharedPrefConfigProvider(@ApplicationContext Context appContext) {
+ this.appContext = appContext;
+ }
+
+ /** Service to write values into {@link SharedPrefConfigProvider} using adb. */
+ public static class Service extends IntentService {
+
+ public Service() {
+ super("SharedPrefConfigProvider.Service");
+ }
+
+ @Override
+ protected void onHandleIntent(@Nullable Intent intent) {
+ if (intent == null || intent.getExtras() == null || intent.getExtras().size() != 1) {
+ LogUtil.w("SharedPrefConfigProvider.Service.onHandleIntent", "must set exactly one extra");
+ return;
+ }
+ String key = intent.getExtras().keySet().iterator().next();
+ Object value = intent.getExtras().get(key);
+ put(key, value);
+ }
+
+ private void put(String key, Object value) {
+ Editor editor = getSharedPrefs(getApplicationContext()).edit();
+ String prefixedKey = PREF_PREFIX + key;
+ if (value instanceof Boolean) {
+ editor.putBoolean(prefixedKey, (Boolean) value);
+ } else if (value instanceof Long) {
+ editor.putLong(prefixedKey, (Long) value);
+ } else if (value instanceof String) {
+ editor.putString(prefixedKey, (String) value);
+ } else {
+ throw Assert.createAssertionFailException("unsupported extra type: " + value.getClass());
+ }
+ editor.apply();
+ }
+ }
+
+ @Override
+ public String getString(String key, String defaultValue) {
+ return bypassStrictMode(
+ () -> getSharedPrefs(appContext).getString(PREF_PREFIX + key, defaultValue));
+ }
+
+ @Override
+ public long getLong(String key, long defaultValue) {
+ return bypassStrictMode(
+ () -> getSharedPrefs(appContext).getLong(PREF_PREFIX + key, defaultValue));
+ }
+
+ @Override
+ public boolean getBoolean(String key, boolean defaultValue) {
+ return bypassStrictMode(
+ () -> getSharedPrefs(appContext).getBoolean(PREF_PREFIX + key, defaultValue));
+ }
+
+ private static SharedPreferences getSharedPrefs(Context appContext) {
+ return DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(appContext);
+ }
+
+ private interface Provider<T> {
+ T get();
+ }
+
+ // Reading shared prefs on the main thread is generally safe since a single instance is cached.
+ private static <T> T bypassStrictMode(Provider<T> provider) {
+ StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
+ try {
+ return provider.get();
+ } finally {
+ StrictMode.setThreadPolicy(oldPolicy);
+ }
+ }
+}
diff --git a/java/com/android/dialer/app/bindings/DialerBindingsFactory.java b/java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java
index 9f209f99e..fe1c90816 100644
--- a/java/com/android/dialer/app/bindings/DialerBindingsFactory.java
+++ b/java/com/android/dialer/configprovider/SharedPrefConfigProviderModule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * 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.
@@ -14,13 +14,17 @@
* limitations under the License.
*/
-package com.android.dialer.app.bindings;
+package com.android.dialer.configprovider;
-/**
- * This interface should be implementated by the Application subclass. It allows the dialer module
- * to get references to the DialerBindings.
- */
-public interface DialerBindingsFactory {
+import dagger.Binds;
+import dagger.Module;
+import javax.inject.Singleton;
+
+/** Dagger module providing {@link ConfigProvider} based on shared preferences. */
+@Module
+public abstract class SharedPrefConfigProviderModule {
- DialerBindings newDialerBindings();
+ @Binds
+ @Singleton
+ abstract ConfigProvider to(SharedPrefConfigProvider impl);
}
diff --git a/java/com/android/dialer/constants/Constants.java b/java/com/android/dialer/constants/Constants.java
index d92c0bcfc..076393e63 100644
--- a/java/com/android/dialer/constants/Constants.java
+++ b/java/com/android/dialer/constants/Constants.java
@@ -53,5 +53,8 @@ public abstract class Constants {
@NonNull
public abstract String getFileProviderAuthority();
+ @NonNull
+ public abstract String getAnnotatedCallLogProviderAuthority();
+
protected Constants() {}
}
diff --git a/java/com/android/dialer/constants/ScheduledJobIds.java b/java/com/android/dialer/constants/ScheduledJobIds.java
index 2fed4ef8a..a54adc757 100644
--- a/java/com/android/dialer/constants/ScheduledJobIds.java
+++ b/java/com/android/dialer/constants/ScheduledJobIds.java
@@ -32,6 +32,7 @@ public final class ScheduledJobIds {
public static final int VVM_TASK_SCHEDULER_JOB = 200;
public static final int VVM_STATUS_CHECK_JOB = 201;
public static final int VVM_DEVICE_PROVISIONED_JOB = 202;
+ public static final int VVM_TRANSCRIPTION_JOB = 203;
public static final int VOIP_REGISTRATION = 300;
diff --git a/java/com/android/incallui/calllocation/impl/TrafficStatsTags.java b/java/com/android/dialer/constants/TrafficStatsTags.java
index 02cc2e083..4e6140431 100644
--- a/java/com/android/incallui/calllocation/impl/TrafficStatsTags.java
+++ b/java/com/android/dialer/constants/TrafficStatsTags.java
@@ -11,19 +11,18 @@
* 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
+ * limitations under the License.
*/
-package com.android.incallui.calllocation.impl;
+package com.android.dialer.constants;
-/** Constants used for logging */
+/** Registry of tags for {@link android.net.TrafficStats#setThreadStatsTag(int)} */
public class TrafficStatsTags {
-
- /**
- * Must be greater than {@link com.android.contacts.common.util.TrafficStatsTags#TAG_MAX}, to
- * respect the namespace of the tags in ContactsCommon.
- */
+ public static final int CONTACT_PHOTO_DOWNLOAD_TAG = 0x0001;
+ public static final int NEARBY_PLACES_TAG = 0xaaaa;
+ public static final int REVERSE_LOOKUP_CONTACT_TAG = 0xbaaa;
+ public static final int REVERSE_LOOKUP_IMAGE_TAG = 0xbaab;
public static final int DOWNLOAD_LOCATION_MAP_TAG = 0xd000;
-
public static final int REVERSE_GEOCODE_TAG = 0xd001;
+ public static final int VISUAL_VOICEMAIL_TAG = 0xd002;
}
diff --git a/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java b/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java
index 6b78b986c..1111732f3 100644
--- a/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java
+++ b/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java
@@ -34,4 +34,10 @@ public class ConstantsImpl extends Constants {
public String getFileProviderAuthority() {
return "com.android.dialer.files";
}
+
+ @NonNull
+ @Override
+ public String getAnnotatedCallLogProviderAuthority() {
+ return "com.android.dialer.annotatedcalllog";
+ }
}
diff --git a/java/com/android/dialer/contactactions/AndroidManifest.xml b/java/com/android/dialer/contactactions/AndroidManifest.xml
new file mode 100644
index 000000000..a64066e0b
--- /dev/null
+++ b/java/com/android/dialer/contactactions/AndroidManifest.xml
@@ -0,0 +1,16 @@
+<!--
+ ~ 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
+ -->
+<manifest package="com.android.dialer.contactactions"/>
diff --git a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java
new file mode 100644
index 000000000..4718ff036
--- /dev/null
+++ b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java
@@ -0,0 +1,136 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.contactactions;
+
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.design.widget.BottomSheetDialog;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import com.android.contacts.common.ContactPhotoManager;
+import com.android.dialer.common.Assert;
+import com.android.dialer.dialercontact.DialerContact;
+import java.util.List;
+
+/**
+ * {@link BottomSheetDialog} used for building a list of contact actions in a bottom sheet menu.
+ *
+ * <p>{@link #show(Context, DialerContact, List)} should be used to create and display the menu.
+ * Modules are built using {@link ContactActionModule} and some defaults are provided by {@link
+ * IntentModule} and {@link DividerModule}.
+ */
+public class ContactActionBottomSheet extends BottomSheetDialog implements OnClickListener {
+
+ private final List<ContactActionModule> modules;
+ private final DialerContact contact;
+
+ private ContactActionBottomSheet(
+ Context context, DialerContact contact, List<ContactActionModule> modules) {
+ super(context);
+ this.modules = modules;
+ this.contact = contact;
+ setContentView(LayoutInflater.from(context).inflate(R.layout.sheet_layout, null));
+ }
+
+ public static ContactActionBottomSheet show(
+ Context context, DialerContact contact, List<ContactActionModule> modules) {
+ ContactActionBottomSheet sheet = new ContactActionBottomSheet(context, contact, modules);
+ sheet.show();
+ return sheet;
+ }
+
+ @Override
+ protected void onCreate(Bundle bundle) {
+ super.onCreate(bundle);
+ LinearLayout container = Assert.isNotNull(findViewById(R.id.action_container));
+ container.addView(getContactView(container));
+
+ for (ContactActionModule module : modules) {
+ if (module instanceof DividerModule) {
+ container.addView(getDividerView(container));
+ } else {
+ container.addView(getModuleView(container, module));
+ }
+ }
+ }
+
+ // TODO: add on click action to contact.
+ private View getContactView(ViewGroup container) {
+ LayoutInflater inflater = LayoutInflater.from(getContext());
+ View contactView = inflater.inflate(R.layout.contact_layout, container, false);
+
+ ContactPhotoManager.getInstance(getContext())
+ .loadDialerThumbnailOrPhoto(
+ contactView.findViewById(R.id.quick_contact_photo),
+ contact.hasContactUri() ? Uri.parse(contact.getContactUri()) : null,
+ contact.getPhotoId(),
+ contact.hasPhotoUri() ? Uri.parse(contact.getPhotoUri()) : null,
+ contact.getNameOrNumber(),
+ contact.getContactType());
+
+ TextView nameView = contactView.findViewById(R.id.contact_name);
+ TextView numberView = contactView.findViewById(R.id.phone_number);
+
+ nameView.setText(contact.getNameOrNumber());
+ if (!TextUtils.isEmpty(contact.getDisplayNumber())) {
+ numberView.setVisibility(View.VISIBLE);
+ String secondaryInfo =
+ TextUtils.isEmpty(contact.getNumberLabel())
+ ? contact.getDisplayNumber()
+ : getContext()
+ .getString(
+ com.android.contacts.common.R.string.call_subject_type_and_number,
+ contact.getNumberLabel(),
+ contact.getDisplayNumber());
+ numberView.setText(secondaryInfo);
+ } else {
+ numberView.setVisibility(View.GONE);
+ numberView.setText(null);
+ }
+ return contactView;
+ }
+
+ private View getDividerView(ViewGroup container) {
+ LayoutInflater inflater = LayoutInflater.from(getContext());
+ return inflater.inflate(R.layout.divider_layout, container, false);
+ }
+
+ private View getModuleView(ViewGroup container, ContactActionModule module) {
+ LayoutInflater inflater = LayoutInflater.from(getContext());
+ View moduleView = inflater.inflate(R.layout.module_layout, container, false);
+ ((TextView) moduleView.findViewById(R.id.module_text)).setText(module.getStringId());
+ ((ImageView) moduleView.findViewById(R.id.module_image))
+ .setImageResource(module.getDrawableId());
+ moduleView.setOnClickListener(this);
+ moduleView.setTag(module);
+ return moduleView;
+ }
+
+ @Override
+ public void onClick(View view) {
+ if (((ContactActionModule) view.getTag()).onClick()) {
+ dismiss();
+ }
+ }
+}
diff --git a/java/com/android/dialer/contactactions/ContactActionModule.java b/java/com/android/dialer/contactactions/ContactActionModule.java
new file mode 100644
index 000000000..8089edc7b
--- /dev/null
+++ b/java/com/android/dialer/contactactions/ContactActionModule.java
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.contactactions;
+
+import android.support.annotation.DrawableRes;
+import android.support.annotation.StringRes;
+
+/**
+ * Modules used to build {@link ContactActionBottomSheet}.
+ *
+ * <p>Contacts as they relate to this class should be thought of as any entity that an action can be
+ * performed on like unknown/restricted contacts, along with saved and non-saved contacts.
+ */
+public interface ContactActionModule {
+
+ @StringRes
+ int getStringId();
+
+ @DrawableRes
+ int getDrawableId();
+
+ /** @return true if the bottom sheet should close, false otherwise */
+ boolean onClick();
+}
diff --git a/java/com/android/dialer/contactactions/DividerModule.java b/java/com/android/dialer/contactactions/DividerModule.java
new file mode 100644
index 000000000..aabd160db
--- /dev/null
+++ b/java/com/android/dialer/contactactions/DividerModule.java
@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.contactactions;
+
+import com.android.dialer.common.Assert;
+
+/**
+ * A module that inserts a grey line divider into {@link ContactActionModule}. Layout it provided in
+ * R.layout.divider_layout.xml
+ */
+public final class DividerModule implements ContactActionModule {
+
+ @Override
+ public int getStringId() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public int getDrawableId() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+
+ @Override
+ public boolean onClick() {
+ throw Assert.createUnsupportedOperationFailException();
+ }
+}
diff --git a/java/com/android/dialer/contactactions/IntentModule.java b/java/com/android/dialer/contactactions/IntentModule.java
new file mode 100644
index 000000000..201f52192
--- /dev/null
+++ b/java/com/android/dialer/contactactions/IntentModule.java
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.contactactions;
+
+import android.content.Context;
+import android.content.Intent;
+import android.support.annotation.DrawableRes;
+import android.support.annotation.StringRes;
+import com.android.dialer.callintent.CallInitiationType.Type;
+import com.android.dialer.callintent.CallIntentBuilder;
+
+/**
+ * {@link ContactActionModule} useful for making easy to build modules based on starting an intent.
+ */
+public class IntentModule implements ContactActionModule {
+
+ private final Context context;
+ private final Intent intent;
+ private final @StringRes int text;
+ private final @DrawableRes int image;
+
+ public IntentModule(Context context, Intent intent, @StringRes int text, @DrawableRes int image) {
+ this.context = context;
+ this.intent = intent;
+ this.text = text;
+ this.image = image;
+ }
+
+ @Override
+ public int getStringId() {
+ return text;
+ }
+
+ @Override
+ public int getDrawableId() {
+ return image;
+ }
+
+ @Override
+ public boolean onClick() {
+ context.startActivity(intent);
+ return true;
+ }
+
+ public static IntentModule newCallModule(Context context, String number, Type initiationType) {
+ return new IntentModule(
+ context,
+ new CallIntentBuilder(number, initiationType).build(),
+ R.string.call,
+ R.drawable.quantum_ic_call_white_24);
+ }
+
+ public static IntentModule newVideoCallModule(
+ Context context, String number, Type initiationType) {
+ return new IntentModule(
+ context,
+ new CallIntentBuilder(number, initiationType).setIsVideoCall(true).build(),
+ R.string.video_call,
+ R.drawable.quantum_ic_videocam_white_24);
+ }
+}
diff --git a/java/com/android/dialer/contactactions/res/layout/contact_layout.xml b/java/com/android/dialer/contactactions/res/layout/contact_layout.xml
new file mode 100644
index 000000000..bf3297153
--- /dev/null
+++ b/java/com/android/dialer/contactactions/res/layout/contact_layout.xml
@@ -0,0 +1,53 @@
+<?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
+ -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="12dp"
+ android:layout_marginEnd="8dp">
+
+ <QuickContactBadge
+ android:id="@+id/quick_contact_photo"
+ android:layout_width="@dimen/contact_actions_image_size"
+ android:layout_height="@dimen/contact_actions_image_size"
+ android:layout_marginStart="@dimen/contact_actions_image_margin"
+ android:layout_marginEnd="@dimen/contact_actions_image_margin"
+ android:padding="4dp"
+ android:focusable="true"/>
+
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical">
+
+ <TextView
+ android:id="@+id/contact_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/PrimaryText"/>
+
+ <TextView
+ android:id="@+id/phone_number"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="2dp"
+ style="@style/SecondaryText"/>
+ </LinearLayout>
+</LinearLayout> \ No newline at end of file
diff --git a/java/com/android/dialer/contactactions/res/layout/divider_layout.xml b/java/com/android/dialer/contactactions/res/layout/divider_layout.xml
new file mode 100644
index 000000000..fdee50e48
--- /dev/null
+++ b/java/com/android/dialer/contactactions/res/layout/divider_layout.xml
@@ -0,0 +1,23 @@
+<?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
+ -->
+<View
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="8dp"
+ android:background="#12000000"/>
diff --git a/java/com/android/dialer/contactactions/res/layout/module_layout.xml b/java/com/android/dialer/contactactions/res/layout/module_layout.xml
new file mode 100644
index 000000000..9aee67937
--- /dev/null
+++ b/java/com/android/dialer/contactactions/res/layout/module_layout.xml
@@ -0,0 +1,40 @@
+<?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
+ -->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/module_container"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?android:attr/selectableItemBackground">
+
+ <ImageView
+ android:id="@+id/module_image"
+ android:layout_width="@dimen/contact_actions_image_size"
+ android:layout_height="@dimen/contact_actions_image_size"
+ android:layout_marginStart="@dimen/contact_actions_image_margin"
+ android:layout_marginEnd="@dimen/contact_actions_image_margin"
+ android:tint="@color/dialer_secondary_text_color"
+ android:scaleType="center"/>
+
+ <TextView
+ android:id="@+id/module_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ style="@style/PrimaryText"/>
+</LinearLayout> \ No newline at end of file
diff --git a/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml b/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml
new file mode 100644
index 000000000..6984367bf
--- /dev/null
+++ b/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml
@@ -0,0 +1,24 @@
+<?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
+ -->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/action_container"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingTop="4dp"
+ android:paddingBottom="8dp"/>
diff --git a/java/com/android/contacts/common/res/drawable/ic_person_add_tinted_24dp.xml b/java/com/android/dialer/contactactions/res/values/dimens.xml
index c2538cfd1..47bf804ac 100644
--- a/java/com/android/contacts/common/res/drawable/ic_person_add_tinted_24dp.xml
+++ b/java/com/android/dialer/contactactions/res/values/dimens.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- ~ Copyright (C) 2014 The Android Open Source Project
+ ~ 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.
@@ -14,7 +14,7 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
- android:src="@drawable/quantum_ic_person_add_white_24"
- android:tint="@color/actionbar_icon_color"/>
+<resources>
+ <dimen name="contact_actions_image_size">48dp</dimen>
+ <dimen name="contact_actions_image_margin">12dp</dimen>
+</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/contactsfragment/AddContactViewHolder.java b/java/com/android/dialer/contactsfragment/AddContactViewHolder.java
new file mode 100644
index 000000000..09c222e45
--- /dev/null
+++ b/java/com/android/dialer/contactsfragment/AddContactViewHolder.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.contactsfragment;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView.ViewHolder;
+import android.view.View;
+import android.view.View.OnClickListener;
+import com.android.dialer.util.DialerUtils;
+import com.android.dialer.util.IntentUtil;
+
+/** ViewHolder for {@link ContactsFragment} to display add contact row. */
+final class AddContactViewHolder extends ViewHolder implements OnClickListener {
+
+ private final Context context;
+
+ AddContactViewHolder(View view) {
+ super(view);
+ view.setOnClickListener(this);
+ context = view.getContext();
+ }
+
+ @Override
+ public void onClick(View v) {
+ DialerUtils.startActivityWithErrorToast(
+ context, IntentUtil.getNewContactIntent(), R.string.add_contact_not_available);
+ }
+}
diff --git a/java/com/android/dialer/contactsfragment/ContactViewHolder.java b/java/com/android/dialer/contactsfragment/ContactViewHolder.java
index 5df106dbc..586e22aab 100644
--- a/java/com/android/dialer/contactsfragment/ContactViewHolder.java
+++ b/java/com/android/dialer/contactsfragment/ContactViewHolder.java
@@ -16,6 +16,7 @@
package com.android.dialer.contactsfragment;
+import android.content.Context;
import android.net.Uri;
import android.provider.ContactsContract.QuickContact;
import android.support.v7.widget.RecyclerView;
@@ -25,6 +26,8 @@ import android.view.View.OnClickListener;
import android.widget.QuickContactBadge;
import android.widget.TextView;
import com.android.dialer.common.Assert;
+import com.android.dialer.logging.InteractionEvent;
+import com.android.dialer.logging.Logger;
/** View holder for a contact. */
final class ContactViewHolder extends RecyclerView.ViewHolder implements OnClickListener {
@@ -32,12 +35,14 @@ final class ContactViewHolder extends RecyclerView.ViewHolder implements OnClick
private final TextView header;
private final TextView name;
private final QuickContactBadge photo;
+ private final Context context;
private String headerText;
private Uri contactUri;
public ContactViewHolder(View itemView) {
super(itemView);
+ context = itemView.getContext();
itemView.findViewById(R.id.click_target).setOnClickListener(this);
header = (TextView) itemView.findViewById(R.id.header);
name = (TextView) itemView.findViewById(R.id.contact_name);
@@ -60,6 +65,10 @@ final class ContactViewHolder extends RecyclerView.ViewHolder implements OnClick
name.setText(displayName);
header.setText(headerText);
header.setVisibility(showHeader ? View.VISIBLE : View.INVISIBLE);
+
+ Logger.get(context)
+ .logQuickContactOnTouch(
+ photo, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CONTACTS_FRAGMENT_BADGE, true);
}
public QuickContactBadge getPhoto() {
@@ -76,6 +85,8 @@ final class ContactViewHolder extends RecyclerView.ViewHolder implements OnClick
@Override
public void onClick(View v) {
+ Logger.get(context)
+ .logInteraction(InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CONTACTS_FRAGMENT_ITEM);
QuickContact.showQuickContact(
photo.getContext(), photo, contactUri, QuickContact.MODE_LARGE, null /* excludeMimes */);
}
diff --git a/java/com/android/dialer/contactsfragment/ContactsAdapter.java b/java/com/android/dialer/contactsfragment/ContactsAdapter.java
index 4692eff5d..d8ee3d189 100644
--- a/java/com/android/dialer/contactsfragment/ContactsAdapter.java
+++ b/java/com/android/dialer/contactsfragment/ContactsAdapter.java
@@ -20,16 +20,29 @@ import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract.Contacts;
+import android.support.annotation.IntDef;
import android.support.v4.util.ArrayMap;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
+import android.view.View;
import android.view.ViewGroup;
-import android.widget.TextView;
import com.android.contacts.common.ContactPhotoManager;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
import com.android.dialer.common.Assert;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
/** List adapter for the union of all contacts associated with every account on the device. */
-final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> {
+final class ContactsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
+
+ private static final int UNKNOWN_VIEW_TYPE = 0;
+ private static final int ADD_CONTACT_VIEW_TYPE = 1;
+ private static final int CONTACT_VIEW_TYPE = 2;
+
+ /** An Enum for the different row view types shown by this adapter. */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({UNKNOWN_VIEW_TYPE, ADD_CONTACT_VIEW_TYPE, CONTACT_VIEW_TYPE})
+ @interface ContactsViewType {}
private final ArrayMap<ContactViewHolder, Integer> holderMap = new ArrayMap<>();
private final Context context;
@@ -41,7 +54,7 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> {
// Number of contacts that correspond to each header in {@code headers}.
private final int[] counts;
- public ContactsAdapter(Context context, Cursor cursor) {
+ ContactsAdapter(Context context, Cursor cursor) {
this.context = context;
this.cursor = cursor;
headers = cursor.getExtras().getStringArray(Contacts.EXTRA_ADDRESS_BOOK_INDEX_TITLES);
@@ -49,15 +62,31 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> {
}
@Override
- public ContactViewHolder onCreateViewHolder(ViewGroup parent, int position) {
- return new ContactViewHolder(
- LayoutInflater.from(context).inflate(R.layout.contact_row, parent, false));
+ public RecyclerView.ViewHolder onCreateViewHolder(
+ ViewGroup parent, @ContactsViewType int viewType) {
+ switch (viewType) {
+ case ADD_CONTACT_VIEW_TYPE:
+ return new AddContactViewHolder(
+ LayoutInflater.from(context).inflate(R.layout.add_contact_row, parent, false));
+ case CONTACT_VIEW_TYPE:
+ return new ContactViewHolder(
+ LayoutInflater.from(context).inflate(R.layout.contact_row, parent, false));
+ case UNKNOWN_VIEW_TYPE:
+ default:
+ throw Assert.createIllegalStateFailException("Invalid view type: " + viewType);
+ }
}
@Override
- public void onBindViewHolder(ContactViewHolder contactViewHolder, int position) {
+ public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
+ if (viewHolder instanceof AddContactViewHolder) {
+ return;
+ }
+
+ ContactViewHolder contactViewHolder = (ContactViewHolder) viewHolder;
holderMap.put(contactViewHolder, position);
- cursor.moveToPosition(position);
+ // Cursor should be offset by 1 because of add contact row
+ cursor.moveToPosition(position - 1);
String name = getDisplayName(cursor);
String header = getHeaderString(position);
@@ -70,7 +99,7 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> {
getPhotoId(cursor),
getPhotoUri(cursor),
name,
- 0);
+ LetterTileDrawable.TYPE_DEFAULT);
String photoDescription =
context.getString(com.android.contacts.common.R.string.description_quick_contact_for, name);
@@ -79,44 +108,36 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> {
// Always show the view holder's header if it's the first item in the list. Otherwise, compare
// it to the previous element and only show the anchored header if the row elements fall into
// the same sublists.
- if (position == 0) {
- contactViewHolder.bind(header, name, contactUri, true);
- } else {
- boolean showHeader = !header.equals(getHeaderString(position - 1));
- contactViewHolder.bind(header, name, contactUri, showHeader);
+ boolean showHeader = position == 0 || !header.equals(getHeaderString(position - 1));
+ contactViewHolder.bind(header, name, contactUri, showHeader);
+ }
+
+ @Override
+ public @ContactsViewType int getItemViewType(int position) {
+ return position == 0 ? ADD_CONTACT_VIEW_TYPE : CONTACT_VIEW_TYPE;
+ }
+
+ @Override
+ public void onViewRecycled(RecyclerView.ViewHolder contactViewHolder) {
+ super.onViewRecycled(contactViewHolder);
+ if (contactViewHolder instanceof ContactViewHolder) {
+ holderMap.remove(contactViewHolder);
}
}
public void refreshHeaders() {
for (ContactViewHolder holder : holderMap.keySet()) {
- onBindViewHolder(holder, holderMap.get(holder));
+ int position = holderMap.get(holder);
+ boolean showHeader =
+ position == 0 || !getHeaderString(position).equals(getHeaderString(position - 1));
+ int visibility = showHeader ? View.VISIBLE : View.INVISIBLE;
+ holder.getHeaderView().setVisibility(visibility);
}
}
@Override
public int getItemCount() {
- return cursor == null ? 0 : cursor.getCount();
- }
-
- public String getHeader(int position) {
- return getHolderAt(position).getHeader();
- }
-
- public TextView getHeaderView(int position) {
- return getHolderAt(position).getHeaderView();
- }
-
- public void setHeaderVisibility(int position, int visibility) {
- getHolderAt(position).getHeaderView().setVisibility(visibility);
- }
-
- private ContactViewHolder getHolderAt(int position) {
- for (ContactViewHolder holder : holderMap.keySet()) {
- if (holderMap.get(holder) == position) {
- return holder;
- }
- }
- throw Assert.createIllegalStateFailException("No holder for position: " + position);
+ return (cursor == null ? 0 : cursor.getCount()) + 1; // add contact
}
private static String getDisplayName(Cursor cursor) {
@@ -138,7 +159,12 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> {
return Contacts.getLookupUri(contactId, lookupKey);
}
- private String getHeaderString(int position) {
+ public String getHeaderString(int position) {
+ if (position == 0) {
+ return "+";
+ }
+ position--;
+
int index = -1;
int sum = 0;
while (sum <= position) {
diff --git a/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java b/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java
index 6d4d21079..a22f7eb39 100644
--- a/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java
+++ b/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java
@@ -29,7 +29,7 @@ final class ContactsCursorLoader extends CursorLoader {
public static final int CONTACT_PHOTO_URI = 3;
public static final int CONTACT_LOOKUP_KEY = 4;
- public static final String[] CONTACTS_PROJECTION =
+ public static final String[] CONTACTS_PROJECTION_DISPLAY_NAME_PRIMARY =
new String[] {
Contacts._ID, // 0
Contacts.DISPLAY_NAME_PRIMARY, // 1
@@ -38,16 +38,35 @@ final class ContactsCursorLoader extends CursorLoader {
Contacts.LOOKUP_KEY, // 4
};
- public ContactsCursorLoader(Context context) {
+ public static final String[] CONTACTS_PROJECTION_DISPLAY_NAME_ALTERNATIVE =
+ new String[] {
+ Contacts._ID, // 0
+ Contacts.DISPLAY_NAME_ALTERNATIVE, // 1
+ Contacts.PHOTO_ID, // 2
+ Contacts.PHOTO_THUMBNAIL_URI, // 3
+ Contacts.LOOKUP_KEY, // 4
+ };
+
+ private ContactsCursorLoader(Context context, String[] contactProjection, String sortKey) {
super(
context,
Contacts.CONTENT_URI
.buildUpon()
.appendQueryParameter(Contacts.EXTRA_ADDRESS_BOOK_INDEX, "true")
.build(),
- CONTACTS_PROJECTION,
- null,
+ contactProjection,
+ contactProjection[CONTACT_DISPLAY_NAME] + " IS NOT NULL",
null,
- Contacts.SORT_KEY_PRIMARY + " ASC");
+ sortKey + " ASC");
+ }
+
+ public static ContactsCursorLoader createInstanceDisplayNamePrimary(
+ Context context, String sortKey) {
+ return new ContactsCursorLoader(context, CONTACTS_PROJECTION_DISPLAY_NAME_PRIMARY, sortKey);
+ }
+
+ public static ContactsCursorLoader createInstanceDisplayNameAlternative(
+ Context context, String sortKey) {
+ return new ContactsCursorLoader(context, CONTACTS_PROJECTION_DISPLAY_NAME_ALTERNATIVE, sortKey);
}
}
diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java
index ea662fc89..e62771837 100644
--- a/java/com/android/dialer/contactsfragment/ContactsFragment.java
+++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java
@@ -19,60 +19,131 @@ package com.android.dialer.contactsfragment;
import android.app.Fragment;
import android.app.LoaderManager.LoaderCallbacks;
import android.content.Loader;
+import android.content.pm.PackageManager;
import android.database.Cursor;
import android.os.Bundle;
+import android.provider.ContactsContract.Contacts;
import android.support.annotation.Nullable;
+import android.support.v13.app.FragmentCompat;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.RecyclerView.Recycler;
+import android.support.v7.widget.RecyclerView.State;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnScrollChangeListener;
import android.view.ViewGroup;
import android.widget.TextView;
+import com.android.contacts.common.preference.ContactsPreferences;
+import com.android.contacts.common.preference.ContactsPreferences.ChangeListener;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.performancereport.PerformanceReport;
+import com.android.dialer.util.DialerUtils;
+import com.android.dialer.util.IntentUtil;
import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.widget.EmptyContentView;
+import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener;
+import java.util.Arrays;
/** Fragment containing a list of all contacts. */
public class ContactsFragment extends Fragment
- implements LoaderCallbacks<Cursor>, OnScrollChangeListener {
+ implements LoaderCallbacks<Cursor>,
+ OnScrollChangeListener,
+ OnEmptyViewActionButtonClickedListener,
+ ChangeListener {
+ public static final int READ_CONTACTS_PERMISSION_REQUEST_CODE = 1;
+
+ private FastScroller fastScroller;
private TextView anchoredHeader;
private RecyclerView recyclerView;
private LinearLayoutManager manager;
private ContactsAdapter adapter;
+ private EmptyContentView emptyContentView;
+
+ private ContactsPreferences contactsPrefs;
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ contactsPrefs = new ContactsPreferences(getContext());
+ contactsPrefs.registerChangeListener(this);
+ }
@Nullable
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_contacts, container, false);
- anchoredHeader = (TextView) view.findViewById(R.id.header);
- manager = new LinearLayoutManager(getContext());
+ fastScroller = view.findViewById(R.id.fast_scroller);
+ anchoredHeader = view.findViewById(R.id.header);
+ recyclerView = view.findViewById(R.id.recycler_view);
- // TODO: Handle contacts permission denied view
- // TODO: Handle 0 contacts layout
- recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
- recyclerView.setLayoutManager(manager);
- getLoaderManager().initLoader(0, null, this);
+ emptyContentView = view.findViewById(R.id.empty_list_view);
+ emptyContentView.setImage(R.drawable.empty_contacts);
+ emptyContentView.setActionClickedListener(this);
if (PermissionsUtil.hasContactsReadPermissions(getContext())) {
getLoaderManager().initLoader(0, null, this);
+ } else {
+ emptyContentView.setDescription(R.string.permission_no_contacts);
+ emptyContentView.setActionLabel(R.string.permission_single_turn_on);
+ emptyContentView.setVisibility(View.VISIBLE);
}
return view;
}
@Override
+ public void onChange() {
+ if (getActivity() != null && isAdded()) {
+ getLoaderManager().restartLoader(0, null, this);
+ }
+ }
+
+ /** @return a loader according to sort order and display order. */
+ @Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
- return new ContactsCursorLoader(getContext());
+ boolean sortOrderPrimary =
+ (contactsPrefs.getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY);
+ boolean displayOrderPrimary =
+ (contactsPrefs.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY);
+
+ String sortKey = sortOrderPrimary ? Contacts.SORT_KEY_PRIMARY : Contacts.SORT_KEY_ALTERNATIVE;
+ return displayOrderPrimary
+ ? ContactsCursorLoader.createInstanceDisplayNamePrimary(getContext(), sortKey)
+ : ContactsCursorLoader.createInstanceDisplayNameAlternative(getContext(), sortKey);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
- // TODO setup fast scroller.
- adapter = new ContactsAdapter(getContext(), cursor);
- recyclerView.setAdapter(adapter);
- if (adapter.getItemCount() > 1) {
- recyclerView.setOnScrollChangeListener(this);
+ if (cursor.getCount() == 0) {
+ emptyContentView.setDescription(R.string.all_contacts_empty);
+ emptyContentView.setActionLabel(R.string.all_contacts_empty_add_contact_action);
+ emptyContentView.setVisibility(View.VISIBLE);
+ } else {
+ emptyContentView.setVisibility(View.GONE);
+ adapter = new ContactsAdapter(getContext(), cursor);
+ manager =
+ new LinearLayoutManager(getContext()) {
+ @Override
+ public void onLayoutChildren(Recycler recycler, State state) {
+ super.onLayoutChildren(recycler, state);
+ int itemsShown = findLastVisibleItemPosition() - findFirstVisibleItemPosition() + 1;
+ if (adapter.getItemCount() > itemsShown) {
+ fastScroller.setVisibility(View.VISIBLE);
+ recyclerView.setOnScrollChangeListener(ContactsFragment.this);
+ } else {
+ fastScroller.setVisibility(View.GONE);
+ }
+ }
+ };
+
+ recyclerView.setLayoutManager(manager);
+ recyclerView.setAdapter(adapter);
+ PerformanceReport.logOnScrollStateChange(recyclerView);
+ fastScroller.setup(adapter, manager);
}
}
@@ -81,6 +152,7 @@ public class ContactsFragment extends Fragment
recyclerView.setAdapter(null);
recyclerView.setOnScrollChangeListener(null);
adapter = null;
+ contactsPrefs.unregisterChangeListener();
}
/*
@@ -95,8 +167,10 @@ public class ContactsFragment extends Fragment
*/
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
+ fastScroller.updateContainerAndScrollBarPosition(recyclerView);
int firstVisibleItem = manager.findFirstVisibleItemPosition();
int firstCompletelyVisible = manager.findFirstCompletelyVisibleItemPosition();
+ String anchoredHeaderString = adapter.getHeaderString(firstCompletelyVisible);
// If the user swipes to the top of the list very quickly, there is some strange behavior
// between this method updating headers and adapter#onBindViewHolder updating headers.
@@ -104,15 +178,57 @@ public class ContactsFragment extends Fragment
if (firstVisibleItem == firstCompletelyVisible && firstVisibleItem == 0) {
adapter.refreshHeaders();
anchoredHeader.setVisibility(View.INVISIBLE);
+ } else if (firstVisibleItem != 0) { // skip the add contact row
+ if (adapter.getHeaderString(firstVisibleItem).equals(anchoredHeaderString)) {
+ anchoredHeader.setText(anchoredHeaderString);
+ anchoredHeader.setVisibility(View.VISIBLE);
+ getContactHolder(firstVisibleItem).getHeaderView().setVisibility(View.INVISIBLE);
+ getContactHolder(firstCompletelyVisible).getHeaderView().setVisibility(View.INVISIBLE);
+ } else {
+ anchoredHeader.setVisibility(View.INVISIBLE);
+ getContactHolder(firstVisibleItem).getHeaderView().setVisibility(View.VISIBLE);
+ getContactHolder(firstCompletelyVisible).getHeaderView().setVisibility(View.VISIBLE);
+ }
+ }
+ }
+
+ private ContactViewHolder getContactHolder(int position) {
+ return ((ContactViewHolder) recyclerView.findViewHolderForAdapterPosition(position));
+ }
+
+ @Override
+ public void onEmptyViewActionButtonClicked() {
+ if (emptyContentView.getActionLabel() == R.string.permission_single_turn_on) {
+ String[] deniedPermissions =
+ PermissionsUtil.getPermissionsCurrentlyDenied(
+ getContext(), PermissionsUtil.allContactsGroupPermissionsUsedInDialer);
+ if (deniedPermissions.length > 0) {
+ LogUtil.i(
+ "ContactsFragment.onEmptyViewActionButtonClicked",
+ "Requesting permissions: " + Arrays.toString(deniedPermissions));
+ FragmentCompat.requestPermissions(
+ this, deniedPermissions, READ_CONTACTS_PERMISSION_REQUEST_CODE);
+ }
+
+ } else if (emptyContentView.getActionLabel()
+ == R.string.all_contacts_empty_add_contact_action) {
+ // Add new contact
+ DialerUtils.startActivityWithErrorToast(
+ getContext(), IntentUtil.getNewContactIntent(), R.string.add_contact_not_available);
} else {
- boolean showAnchor =
- adapter.getHeader(firstVisibleItem).equals(adapter.getHeader(firstCompletelyVisible));
- anchoredHeader.setText(adapter.getHeader(firstCompletelyVisible));
- anchoredHeader.setVisibility(showAnchor ? View.VISIBLE : View.INVISIBLE);
-
- int rowHeaderVisibility = showAnchor ? View.INVISIBLE : View.VISIBLE;
- adapter.setHeaderVisibility(firstVisibleItem, rowHeaderVisibility);
- adapter.setHeaderVisibility(firstCompletelyVisible, rowHeaderVisibility);
+ throw Assert.createIllegalStateFailException("Invalid empty content view action label.");
+ }
+ }
+
+ @Override
+ public void onRequestPermissionsResult(
+ int requestCode, String[] permissions, int[] grantResults) {
+ if (requestCode == READ_CONTACTS_PERMISSION_REQUEST_CODE) {
+ if (grantResults.length >= 1 && PackageManager.PERMISSION_GRANTED == grantResults[0]) {
+ // Force a refresh of the data since we were missing the permission before this.
+ emptyContentView.setVisibility(View.GONE);
+ getLoaderManager().initLoader(0, null, this);
+ }
}
}
}
diff --git a/java/com/android/dialer/contactsfragment/FastScroller.java b/java/com/android/dialer/contactsfragment/FastScroller.java
new file mode 100644
index 000000000..0223c5f1f
--- /dev/null
+++ b/java/com/android/dialer/contactsfragment/FastScroller.java
@@ -0,0 +1,130 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.contactsfragment;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+/** Widget to add fast scrolling to {@link ContactsFragment}. */
+public class FastScroller extends RelativeLayout {
+
+ private final int touchTargetWidth;
+
+ private ContactsAdapter adapter;
+ private LinearLayoutManager layoutManager;
+
+ private TextView container;
+ private View scrollBar;
+
+ private boolean dragStarted;
+
+ public FastScroller(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ touchTargetWidth =
+ context.getResources().getDimensionPixelSize(R.dimen.fast_scroller_touch_target_width);
+ }
+
+ @Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+ container = findViewById(R.id.fast_scroller_container);
+ scrollBar = findViewById(R.id.fast_scroller_scroll_bar);
+ }
+
+ void setup(ContactsAdapter adapter, LinearLayoutManager layoutManager) {
+ this.adapter = adapter;
+ this.layoutManager = layoutManager;
+ setVisibility(VISIBLE);
+ }
+
+ @Override
+ public boolean onTouchEvent(@NonNull MotionEvent event) {
+ // Don't override if touch event isn't within desired touch target and dragging hasn't started.
+ if (!dragStarted && getWidth() - touchTargetWidth - event.getX() > 0) {
+ return super.onTouchEvent(event);
+ }
+
+ switch (event.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ dragStarted = true;
+ container.setVisibility(VISIBLE);
+ scrollBar.setSelected(true);
+ // fall through
+ case MotionEvent.ACTION_MOVE:
+ setContainerAndScrollBarPosition(event.getY());
+ setRecyclerViewPosition(event.getY());
+ return true;
+ case MotionEvent.ACTION_UP:
+ case MotionEvent.ACTION_CANCEL:
+ dragStarted = false;
+ container.setVisibility(INVISIBLE);
+ scrollBar.setSelected(false);
+ return true;
+ }
+ return super.onTouchEvent(event);
+ }
+
+ private void setRecyclerViewPosition(float y) {
+ final int itemCount = adapter.getItemCount();
+ float scrolledPosition = getScrolledPercentage(y) * (float) itemCount;
+ int targetPos = getValueInRange(0, itemCount - 1, (int) scrolledPosition);
+ layoutManager.scrollToPositionWithOffset(targetPos, 0);
+ container.setText(adapter.getHeaderString(targetPos));
+ }
+
+ // Returns a float in range [0, 1] which represents the position of the scroller.
+ private float getScrolledPercentage(float y) {
+ if (scrollBar.getY() == 0) {
+ return 0f;
+ } else if (scrollBar.getY() + scrollBar.getHeight() >= getHeight()) {
+ return 1f;
+ } else {
+ return y / (float) getHeight();
+ }
+ }
+
+ private int getValueInRange(int min, int max, int value) {
+ int minimum = Math.max(min, value);
+ return Math.min(minimum, max);
+ }
+
+ void updateContainerAndScrollBarPosition(RecyclerView recyclerView) {
+ if (!scrollBar.isSelected()) {
+ int verticalScrollOffset = recyclerView.computeVerticalScrollOffset();
+ int verticalScrollRange = recyclerView.computeVerticalScrollRange();
+ float proportion = (float) verticalScrollOffset / ((float) verticalScrollRange - getHeight());
+ setContainerAndScrollBarPosition(getHeight() * proportion);
+ }
+ }
+
+ private void setContainerAndScrollBarPosition(float y) {
+ int scrollBarHeight = scrollBar.getHeight();
+ int containerHeight = container.getHeight();
+ scrollBar.setY(
+ getValueInRange(0, getHeight() - scrollBarHeight, (int) (y - scrollBarHeight / 2)));
+ container.setY(
+ getValueInRange(
+ 0, getHeight() - containerHeight - scrollBarHeight / 2, (int) (y - containerHeight)));
+ }
+}
diff --git a/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_container_background.xml b/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_container_background.xml
new file mode 100644
index 000000000..a7b227799
--- /dev/null
+++ b/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_container_background.xml
@@ -0,0 +1,28 @@
+<?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
+ -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <solid android:color="@color/dialer_theme_color"/>
+ <size
+ android:height="@dimen/fast_scroller_container_size"
+ android:width="@dimen/fast_scroller_container_size"/>
+ <corners
+ android:topLeftRadius="@dimen/fast_scroller_container_corner_radius"
+ android:topRightRadius="@dimen/fast_scroller_container_corner_radius"
+ android:bottomLeftRadius="@dimen/fast_scroller_bottom_left_corner_radius"
+ android:bottomRightRadius="@dimen/fast_scroller_bottom_right_corner_radius"/>
+</shape> \ No newline at end of file
diff --git a/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_scroll_bar.xml b/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_scroll_bar.xml
new file mode 100644
index 000000000..a3e0c25c7
--- /dev/null
+++ b/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_scroll_bar.xml
@@ -0,0 +1,32 @@
+<?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
+ -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_selected="true">
+ <shape android:shape="rectangle">
+ <solid android:color="@color/dialer_theme_color"/>
+ <size android:height="32dp" android:width="4dp"/>
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+ <item>
+ <shape android:shape="rectangle">
+ <solid android:color="@color/dialer_secondary_text_color"/>
+ <size android:height="32dp" android:width="4dp"/>
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+</selector> \ No newline at end of file
diff --git a/java/com/android/dialer/contactsfragment/res/layout/add_contact_row.xml b/java/com/android/dialer/contactsfragment/res/layout/add_contact_row.xml
new file mode 100644
index 000000000..dbc7cafb8
--- /dev/null
+++ b/java/com/android/dialer/contactsfragment/res/layout/add_contact_row.xml
@@ -0,0 +1,50 @@
+<?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
+ -->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/click_target"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/row_height"
+ android:layout_marginTop="8dp"
+ android:layout_marginStart="@dimen/header_width"
+ android:layout_marginEnd="@dimen/row_end_margin"
+ android:paddingTop="@dimen/row_top_bottom_padding"
+ android:paddingBottom="@dimen/row_top_bottom_padding"
+ android:paddingStart="@dimen/row_start_padding"
+ android:gravity="center_vertical"
+ android:background="?android:attr/selectableItemBackground">
+
+ <ImageView
+ android:id="@+id/photo"
+ android:layout_width="@dimen/photo_size"
+ android:layout_height="@dimen/photo_size"
+ android:src="@drawable/quantum_ic_person_add_white_24"
+ android:tint="@color/dialer_theme_color"
+ android:scaleType="center"/>
+
+ <TextView
+ android:id="@+id/contact_name"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:paddingStart="@dimen/text_padding_start"
+ android:paddingEnd="@dimen/text_padding_end"
+ android:gravity="center_vertical"
+ android:fontFamily="sans-serif"
+ android:text="@string/all_contacts_empty_add_contact_action"
+ style="@style/PrimaryText"/>
+</LinearLayout>
diff --git a/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml b/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml
index af87c7f18..9e829fee4 100644
--- a/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml
+++ b/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml
@@ -43,11 +43,13 @@
<TextView
android:id="@+id/contact_name"
- android:layout_width="match_parent"
+ android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingStart="@dimen/text_padding_start"
android:paddingEnd="@dimen/text_padding_end"
- android:gravity="center_vertical|start"
+ android:maxLines="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
android:textSize="@dimen/text_size"
android:textColor="@color/dialer_primary_text_color"
android:fontFamily="sans-serif"/>
diff --git a/java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml b/java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml
index 67b490f03..3d58aad0d 100644
--- a/java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml
+++ b/java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml
@@ -23,8 +23,47 @@
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/background_dialer_white"/>
+ android:background="@color/background_dialer_light"/>
+
+ <!-- Scrollbars are always on the right side of the screen. Layouts should use Rights/Left instead
+ of Start/End -->
+ <com.android.dialer.contactsfragment.FastScroller
+ android:id="@+id/fast_scroller"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="8dp"
+ android:clipChildren="false"
+ android:visibility="gone">
+
+ <TextView
+ android:id="@+id/fast_scroller_container"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toLeftOf="@+id/fast_scroller_scroll_bar"
+ android:gravity="center"
+ android:textSize="48sp"
+ android:textColor="@color/background_dialer_white"
+ android:visibility="gone"
+ android:background="@drawable/fast_scroller_container_background"/>
+
+ <ImageView
+ android:id="@+id/fast_scroller_scroll_bar"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="8dp"
+ android:layout_alignParentRight="true"
+ android:paddingRight="16dp"
+ android:src="@drawable/fast_scroller_scroll_bar" />
+ </com.android.dialer.contactsfragment.FastScroller>
<!-- Anchored header view -->
<include layout="@layout/header"/>
+
+ <com.android.dialer.widget.EmptyContentView
+ android:id="@+id/empty_list_view"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:visibility="gone"/>
</FrameLayout>
diff --git a/java/com/android/dialer/contactsfragment/res/values/dimens.xml b/java/com/android/dialer/contactsfragment/res/values/dimens.xml
index 00d7c6d7e..f120014e2 100644
--- a/java/com/android/dialer/contactsfragment/res/values/dimens.xml
+++ b/java/com/android/dialer/contactsfragment/res/values/dimens.xml
@@ -25,4 +25,11 @@
<dimen name="text_padding_start">16dp</dimen>
<dimen name="text_padding_end">8dp</dimen>
<dimen name="text_size">16sp</dimen>
-</resources>
+
+ <dimen name="fast_scroller_touch_target_width">20dp</dimen>
+
+ <dimen name="fast_scroller_container_size">88dp</dimen>
+ <dimen name="fast_scroller_container_corner_radius">44dp</dimen>
+ <dimen name="fast_scroller_bottom_right_corner_radius">0px</dimen>
+ <dimen name="fast_scroller_bottom_left_corner_radius">44dp</dimen>
+</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/database/DialerDatabaseHelper.java b/java/com/android/dialer/database/DialerDatabaseHelper.java
index 348814281..6dd7cf462 100644
--- a/java/com/android/dialer/database/DialerDatabaseHelper.java
+++ b/java/com/android/dialer/database/DialerDatabaseHelper.java
@@ -34,6 +34,7 @@ import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.Directory;
import android.support.annotation.VisibleForTesting;
+import android.support.annotation.WorkerThread;
import android.text.TextUtils;
import com.android.contacts.common.R;
import com.android.contacts.common.util.StopWatch;
@@ -46,7 +47,6 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
/**
* Database helper for smart dial. Designed as a singleton to make sure there is only one access
@@ -77,8 +77,6 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper {
private static final int MAX_ENTRIES = 20;
private final Context mContext;
- private final Object mLock = new Object();
- private final AtomicBoolean mInUpdate = new AtomicBoolean(false);
private boolean mIsTestInstance = false;
protected DialerDatabaseHelper(Context context, String databaseName, int dbVersion) {
@@ -596,218 +594,212 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper {
* accordingly. It also queries the deleted contact database to remove newly deleted contacts
* since last update.
*/
- public void updateSmartDialDatabase() {
+ @WorkerThread
+ public synchronized void updateSmartDialDatabase() {
LogUtil.enterBlock("DialerDatabaseHelper.updateSmartDialDatabase");
final SQLiteDatabase db = getWritableDatabase();
- synchronized (mLock) {
- LogUtil.v("DialerDatabaseHelper.updateSmartDialDatabase", "starting to update database");
- final StopWatch stopWatch = DEBUG ? StopWatch.start("Updating databases") : null;
+ LogUtil.v("DialerDatabaseHelper.updateSmartDialDatabase", "starting to update database");
+ final StopWatch stopWatch = DEBUG ? StopWatch.start("Updating databases") : null;
- /** Gets the last update time on the database. */
- final SharedPreferences databaseLastUpdateSharedPref =
- mContext.getSharedPreferences(DATABASE_LAST_CREATED_SHARED_PREF, Context.MODE_PRIVATE);
- final String lastUpdateMillis =
- String.valueOf(databaseLastUpdateSharedPref.getLong(LAST_UPDATED_MILLIS, 0));
-
- LogUtil.v(
- "DialerDatabaseHelper.updateSmartDialDatabase", "last updated at " + lastUpdateMillis);
-
- /** Sets the time after querying the database as the current update time. */
- final Long currentMillis = System.currentTimeMillis();
+ /** Gets the last update time on the database. */
+ final SharedPreferences databaseLastUpdateSharedPref =
+ mContext.getSharedPreferences(DATABASE_LAST_CREATED_SHARED_PREF, Context.MODE_PRIVATE);
+ final String lastUpdateMillis =
+ String.valueOf(databaseLastUpdateSharedPref.getLong(LAST_UPDATED_MILLIS, 0));
- if (DEBUG) {
- stopWatch.lap("Queried the Contacts database");
- }
+ LogUtil.v(
+ "DialerDatabaseHelper.updateSmartDialDatabase", "last updated at " + lastUpdateMillis);
- /** Prevents the app from reading the dialer database when updating. */
- mInUpdate.getAndSet(true);
+ /** Sets the time after querying the database as the current update time. */
+ final Long currentMillis = System.currentTimeMillis();
- /** Removes contacts that have been deleted. */
- removeDeletedContacts(db, getDeletedContactCursor(lastUpdateMillis));
- removePotentiallyCorruptedContacts(db, lastUpdateMillis);
+ if (DEBUG) {
+ stopWatch.lap("Queried the Contacts database");
+ }
- if (DEBUG) {
- stopWatch.lap("Finished deleting deleted entries");
- }
+ /** Removes contacts that have been deleted. */
+ removeDeletedContacts(db, getDeletedContactCursor(lastUpdateMillis));
+ removePotentiallyCorruptedContacts(db, lastUpdateMillis);
- /**
- * If the database did not exist before, jump through deletion as there is nothing to delete.
- */
- if (!lastUpdateMillis.equals("0")) {
- /**
- * Removes contacts that have been updated. Updated contact information will be inserted
- * later. Note that this has to use a separate result set from updatePhoneCursor, since it
- * is possible for a contact to be updated (e.g. phone number deleted), but have no results
- * show up in updatedPhoneCursor (since all of its phone numbers have been deleted).
- */
- final Cursor updatedContactCursor =
- mContext
- .getContentResolver()
- .query(
- UpdatedContactQuery.URI,
- UpdatedContactQuery.PROJECTION,
- UpdatedContactQuery.SELECT_UPDATED_CLAUSE,
- new String[] {lastUpdateMillis},
- null);
- if (updatedContactCursor == null) {
- LogUtil.e(
- "DialerDatabaseHelper.updateSmartDialDatabase",
- "smartDial query received null for cursor");
- return;
- }
- try {
- removeUpdatedContacts(db, updatedContactCursor);
- } finally {
- updatedContactCursor.close();
- }
- if (DEBUG) {
- stopWatch.lap("Finished deleting entries belonging to updated contacts");
- }
- }
+ if (DEBUG) {
+ stopWatch.lap("Finished deleting deleted entries");
+ }
+ /**
+ * If the database did not exist before, jump through deletion as there is nothing to delete.
+ */
+ if (!lastUpdateMillis.equals("0")) {
/**
- * Queries the contact database to get all phone numbers that have been updated since the last
- * update time.
+ * Removes contacts that have been updated. Updated contact information will be inserted
+ * later. Note that this has to use a separate result set from updatePhoneCursor, since it is
+ * possible for a contact to be updated (e.g. phone number deleted), but have no results show
+ * up in updatedPhoneCursor (since all of its phone numbers have been deleted).
*/
- final Cursor updatedPhoneCursor =
+ final Cursor updatedContactCursor =
mContext
.getContentResolver()
.query(
- PhoneQuery.URI,
- PhoneQuery.PROJECTION,
- PhoneQuery.SELECTION,
+ UpdatedContactQuery.URI,
+ UpdatedContactQuery.PROJECTION,
+ UpdatedContactQuery.SELECT_UPDATED_CLAUSE,
new String[] {lastUpdateMillis},
null);
- if (updatedPhoneCursor == null) {
+ if (updatedContactCursor == null) {
LogUtil.e(
"DialerDatabaseHelper.updateSmartDialDatabase",
"smartDial query received null for cursor");
return;
}
-
try {
- /** Inserts recently updated phone numbers to the smartdial database. */
- insertUpdatedContactsAndNumberPrefix(db, updatedPhoneCursor, currentMillis);
- if (DEBUG) {
- stopWatch.lap("Finished building the smart dial table");
- }
+ removeUpdatedContacts(db, updatedContactCursor);
} finally {
- updatedPhoneCursor.close();
+ updatedContactCursor.close();
}
-
- /**
- * Gets a list of distinct contacts which have been updated, and adds the name prefixes of
- * these contacts to the prefix table.
- */
- final Cursor nameCursor =
- db.rawQuery(
- "SELECT DISTINCT "
- + SmartDialDbColumns.DISPLAY_NAME_PRIMARY
- + ", "
- + SmartDialDbColumns.CONTACT_ID
- + " FROM "
- + Tables.SMARTDIAL_TABLE
- + " WHERE "
- + SmartDialDbColumns.LAST_SMARTDIAL_UPDATE_TIME
- + " = "
- + Long.toString(currentMillis),
- new String[] {});
- if (nameCursor != null) {
- try {
- if (DEBUG) {
- stopWatch.lap("Queried the smart dial table for contact names");
- }
-
- /** Inserts prefixes of names into the prefix table. */
- insertNamePrefixes(db, nameCursor);
- if (DEBUG) {
- stopWatch.lap("Finished building the name prefix table");
- }
- } finally {
- nameCursor.close();
- }
+ if (DEBUG) {
+ stopWatch.lap("Finished deleting entries belonging to updated contacts");
}
+ }
- /** Creates index on contact_id for fast JOIN operation. */
- db.execSQL(
- "CREATE INDEX IF NOT EXISTS smartdial_contact_id_index ON "
- + Tables.SMARTDIAL_TABLE
- + " ("
- + SmartDialDbColumns.CONTACT_ID
- + ");");
- /** Creates index on last_smartdial_update_time for fast SELECT operation. */
- db.execSQL(
- "CREATE INDEX IF NOT EXISTS smartdial_last_update_index ON "
- + Tables.SMARTDIAL_TABLE
- + " ("
- + SmartDialDbColumns.LAST_SMARTDIAL_UPDATE_TIME
- + ");");
- /** Creates index on sorting fields for fast sort operation. */
- db.execSQL(
- "CREATE INDEX IF NOT EXISTS smartdial_sort_index ON "
- + Tables.SMARTDIAL_TABLE
- + " ("
- + SmartDialDbColumns.STARRED
- + ", "
- + SmartDialDbColumns.IS_SUPER_PRIMARY
- + ", "
- + SmartDialDbColumns.LAST_TIME_USED
- + ", "
- + SmartDialDbColumns.TIMES_USED
- + ", "
- + SmartDialDbColumns.IN_VISIBLE_GROUP
- + ", "
- + SmartDialDbColumns.DISPLAY_NAME_PRIMARY
- + ", "
- + SmartDialDbColumns.CONTACT_ID
- + ", "
- + SmartDialDbColumns.IS_PRIMARY
- + ");");
- /** Creates index on prefix for fast SELECT operation. */
- db.execSQL(
- "CREATE INDEX IF NOT EXISTS nameprefix_index ON "
- + Tables.PREFIX_TABLE
- + " ("
- + PrefixColumns.PREFIX
- + ");");
- /** Creates index on contact_id for fast JOIN operation. */
- db.execSQL(
- "CREATE INDEX IF NOT EXISTS nameprefix_contact_id_index ON "
- + Tables.PREFIX_TABLE
- + " ("
- + PrefixColumns.CONTACT_ID
- + ");");
+ /**
+ * Queries the contact database to get all phone numbers that have been updated since the last
+ * update time.
+ */
+ final Cursor updatedPhoneCursor =
+ mContext
+ .getContentResolver()
+ .query(
+ PhoneQuery.URI,
+ PhoneQuery.PROJECTION,
+ PhoneQuery.SELECTION,
+ new String[] {lastUpdateMillis},
+ null);
+ if (updatedPhoneCursor == null) {
+ LogUtil.e(
+ "DialerDatabaseHelper.updateSmartDialDatabase",
+ "smartDial query received null for cursor");
+ return;
+ }
+ try {
+ /** Inserts recently updated phone numbers to the smartdial database. */
+ insertUpdatedContactsAndNumberPrefix(db, updatedPhoneCursor, currentMillis);
if (DEBUG) {
- stopWatch.lap(TAG + "Finished recreating index");
+ stopWatch.lap("Finished building the smart dial table");
}
+ } finally {
+ updatedPhoneCursor.close();
+ }
- /** Updates the database index statistics. */
- db.execSQL("ANALYZE " + Tables.SMARTDIAL_TABLE);
- db.execSQL("ANALYZE " + Tables.PREFIX_TABLE);
- db.execSQL("ANALYZE smartdial_contact_id_index");
- db.execSQL("ANALYZE smartdial_last_update_index");
- db.execSQL("ANALYZE nameprefix_index");
- db.execSQL("ANALYZE nameprefix_contact_id_index");
- if (DEBUG) {
- stopWatch.stopAndLog(TAG + "Finished updating index stats", 0);
- }
+ /**
+ * Gets a list of distinct contacts which have been updated, and adds the name prefixes of these
+ * contacts to the prefix table.
+ */
+ final Cursor nameCursor =
+ db.rawQuery(
+ "SELECT DISTINCT "
+ + SmartDialDbColumns.DISPLAY_NAME_PRIMARY
+ + ", "
+ + SmartDialDbColumns.CONTACT_ID
+ + " FROM "
+ + Tables.SMARTDIAL_TABLE
+ + " WHERE "
+ + SmartDialDbColumns.LAST_SMARTDIAL_UPDATE_TIME
+ + " = "
+ + currentMillis,
+ new String[] {});
+ if (nameCursor != null) {
+ try {
+ if (DEBUG) {
+ stopWatch.lap("Queried the smart dial table for contact names");
+ }
- mInUpdate.getAndSet(false);
+ /** Inserts prefixes of names into the prefix table. */
+ insertNamePrefixes(db, nameCursor);
+ if (DEBUG) {
+ stopWatch.lap("Finished building the name prefix table");
+ }
+ } finally {
+ nameCursor.close();
+ }
+ }
- final SharedPreferences.Editor editor = databaseLastUpdateSharedPref.edit();
- editor.putLong(LAST_UPDATED_MILLIS, currentMillis);
- editor.apply();
+ /** Creates index on contact_id for fast JOIN operation. */
+ db.execSQL(
+ "CREATE INDEX IF NOT EXISTS smartdial_contact_id_index ON "
+ + Tables.SMARTDIAL_TABLE
+ + " ("
+ + SmartDialDbColumns.CONTACT_ID
+ + ");");
+ /** Creates index on last_smartdial_update_time for fast SELECT operation. */
+ db.execSQL(
+ "CREATE INDEX IF NOT EXISTS smartdial_last_update_index ON "
+ + Tables.SMARTDIAL_TABLE
+ + " ("
+ + SmartDialDbColumns.LAST_SMARTDIAL_UPDATE_TIME
+ + ");");
+ /** Creates index on sorting fields for fast sort operation. */
+ db.execSQL(
+ "CREATE INDEX IF NOT EXISTS smartdial_sort_index ON "
+ + Tables.SMARTDIAL_TABLE
+ + " ("
+ + SmartDialDbColumns.STARRED
+ + ", "
+ + SmartDialDbColumns.IS_SUPER_PRIMARY
+ + ", "
+ + SmartDialDbColumns.LAST_TIME_USED
+ + ", "
+ + SmartDialDbColumns.TIMES_USED
+ + ", "
+ + SmartDialDbColumns.IN_VISIBLE_GROUP
+ + ", "
+ + SmartDialDbColumns.DISPLAY_NAME_PRIMARY
+ + ", "
+ + SmartDialDbColumns.CONTACT_ID
+ + ", "
+ + SmartDialDbColumns.IS_PRIMARY
+ + ");");
+ /** Creates index on prefix for fast SELECT operation. */
+ db.execSQL(
+ "CREATE INDEX IF NOT EXISTS nameprefix_index ON "
+ + Tables.PREFIX_TABLE
+ + " ("
+ + PrefixColumns.PREFIX
+ + ");");
+ /** Creates index on contact_id for fast JOIN operation. */
+ db.execSQL(
+ "CREATE INDEX IF NOT EXISTS nameprefix_contact_id_index ON "
+ + Tables.PREFIX_TABLE
+ + " ("
+ + PrefixColumns.CONTACT_ID
+ + ");");
- LogUtil.i("DialerDatabaseHelper.updateSmartDialDatabase", "broadcasting smart dial update");
+ if (DEBUG) {
+ stopWatch.lap(TAG + "Finished recreating index");
+ }
- // Notify content observers that smart dial database has been updated.
- Intent intent = new Intent(ACTION_SMART_DIAL_UPDATED);
- intent.setPackage(mContext.getPackageName());
- mContext.sendBroadcast(intent);
+ /** Updates the database index statistics. */
+ db.execSQL("ANALYZE " + Tables.SMARTDIAL_TABLE);
+ db.execSQL("ANALYZE " + Tables.PREFIX_TABLE);
+ db.execSQL("ANALYZE smartdial_contact_id_index");
+ db.execSQL("ANALYZE smartdial_last_update_index");
+ db.execSQL("ANALYZE nameprefix_index");
+ db.execSQL("ANALYZE nameprefix_contact_id_index");
+ if (DEBUG) {
+ stopWatch.stopAndLog(TAG + "Finished updating index stats", 0);
}
+
+ final SharedPreferences.Editor editor = databaseLastUpdateSharedPref.edit();
+ editor.putLong(LAST_UPDATED_MILLIS, currentMillis);
+ editor.apply();
+
+ LogUtil.i("DialerDatabaseHelper.updateSmartDialDatabase", "broadcasting smart dial update");
+
+ // Notify content observers that smart dial database has been updated.
+ Intent intent = new Intent(ACTION_SMART_DIAL_UPDATED);
+ intent.setPackage(mContext.getPackageName());
+ mContext.sendBroadcast(intent);
}
/**
@@ -817,12 +809,9 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper {
* @param query The prefix of a contact's dialpad index.
* @return A list of top candidate contacts that will be suggested to user to match their input.
*/
- public ArrayList<ContactNumber> getLooseMatches(String query, SmartDialNameMatcher nameMatcher) {
- final boolean inUpdate = mInUpdate.get();
- if (inUpdate) {
- return new ArrayList<>();
- }
-
+ @WorkerThread
+ public synchronized ArrayList<ContactNumber> getLooseMatches(
+ String query, SmartDialNameMatcher nameMatcher) {
final SQLiteDatabase db = getReadableDatabase();
/** Uses SQL query wildcard '%' to represent prefix matching. */
diff --git a/java/com/android/dialer/callcomposer/proto/call_composer_contact.proto b/java/com/android/dialer/dialercontact/dialer_contact.proto
index 99766aac5..9b7724f5a 100644
--- a/java/com/android/dialer/callcomposer/proto/call_composer_contact.proto
+++ b/java/com/android/dialer/dialercontact/dialer_contact.proto
@@ -1,12 +1,12 @@
syntax = "proto2";
-option java_package = "com.android.dialer.callcomposer";
+option java_package = "com.android.dialer.dialercontact";
option java_multiple_files = true;
option optimize_for = LITE_RUNTIME;
package com.android.dialer.callcomposer;
-message CallComposerContact {
+message DialerContact {
optional fixed64 photo_id = 1;
optional string photo_uri = 2;
optional string contact_uri = 3;
@@ -15,4 +15,12 @@ message CallComposerContact {
optional string display_number = 7;
optional string number_label = 8;
optional int32 contact_type = 9;
+ optional SimDetails sim_details = 10;
+}
+
+message SimDetails {
+ // Human readable netwrork name displayed to user where relevant
+ optional string network = 1;
+ // This value represents a hex representation of a color (i.e. #ffffff)
+ optional int32 color = 2;
}
diff --git a/java/com/android/dialer/dialpadview/res/values/dimens.xml b/java/com/android/dialer/dialpadview/res/values/dimens.xml
index 210c81697..727736497 100644
--- a/java/com/android/dialer/dialpadview/res/values/dimens.xml
+++ b/java/com/android/dialer/dialpadview/res/values/dimens.xml
@@ -16,7 +16,7 @@
<resources>
<!-- Text dimensions for dialpad keys -->
- <dimen name="dialpad_key_numbers_default_size">36sp</dimen>
+ <dimen name="dialpad_key_numbers_default_size">36dp</dimen>
<dimen name="dialpad_key_letters_size">12sp</dimen>
<dimen name="dialpad_key_pound_size">23sp</dimen>
<dimen name="dialpad_key_star_size">36sp</dimen>
diff --git a/java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java b/java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java
index 250c64313..27dc0e90c 100644
--- a/java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java
+++ b/java/com/android/dialer/enrichedcall/FuzzyPhoneNumberMatcher.java
@@ -16,20 +16,41 @@
package com.android.dialer.enrichedcall;
import android.support.annotation.NonNull;
-import com.android.dialer.common.Assert;
/** Utility for comparing phone numbers. */
public class FuzzyPhoneNumberMatcher {
- /** Returns {@code true} if the given numbers can be interpreted to be the same. */
- public static boolean matches(@NonNull String a, @NonNull String b) {
- String aNormalized = Assert.isNotNull(a).replaceAll("[^0-9]", "");
- String bNormalized = Assert.isNotNull(b).replaceAll("[^0-9]", "");
- if (aNormalized.length() < 7 || bNormalized.length() < 7) {
- return false;
+ private static final int REQUIRED_MATCHED_DIGITS = 7;
+
+ /**
+ * Returns {@code true} if the given numbers can be interpreted to be the same.
+ *
+ * <p>This method is called numerous times when rendering the call log. Using string methods is
+ * too slow, so character by character matching is used instead.
+ */
+ public static boolean matches(@NonNull String lhs, @NonNull String rhs) {
+ int aIndex = lhs.length() - 1;
+ int bIndex = rhs.length() - 1;
+
+ int matchedDigits = 0;
+
+ while (aIndex >= 0 && bIndex >= 0) {
+ if (!Character.isDigit(lhs.charAt(aIndex))) {
+ --aIndex;
+ continue;
+ }
+ if (!Character.isDigit(rhs.charAt(bIndex))) {
+ --bIndex;
+ continue;
+ }
+ if (lhs.charAt(aIndex) != rhs.charAt(bIndex)) {
+ return false;
+ }
+ --aIndex;
+ --bIndex;
+ ++matchedDigits;
}
- String aMatchable = aNormalized.substring(aNormalized.length() - 7);
- String bMatchable = bNormalized.substring(bNormalized.length() - 7);
- return aMatchable.equals(bMatchable);
+
+ return matchedDigits >= REQUIRED_MATCHED_DIGITS;
}
}
diff --git a/java/com/android/contacts/common/util/TrafficStatsTags.java b/java/com/android/dialer/inject/ApplicationContext.java
index b0e7fb583..913e36ef5 100644
--- a/java/com/android/contacts/common/util/TrafficStatsTags.java
+++ b/java/com/android/dialer/inject/ApplicationContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015 The Android Open Source Project
+ * 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.
@@ -11,12 +11,12 @@
* 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.
+ * limitations under the License
*/
-package com.android.contacts.common.util;
+package com.android.dialer.inject;
-public class TrafficStatsTags {
+import javax.inject.Qualifier;
- public static final int CONTACT_PHOTO_DOWNLOAD_TAG = 0x0001;
- public static final int TAG_MAX = 0x9999;
-}
+/** Annotation for retrieving the application context. */
+@Qualifier
+public @interface ApplicationContext {}
diff --git a/java/com/android/dialer/inject/ContextModule.java b/java/com/android/dialer/inject/ContextModule.java
index aa83f0105..e3da08edc 100644
--- a/java/com/android/dialer/inject/ContextModule.java
+++ b/java/com/android/dialer/inject/ContextModule.java
@@ -22,17 +22,18 @@ import com.android.dialer.common.Assert;
import dagger.Module;
import dagger.Provides;
-/** Provides the singleton context object. */
+/** Provides the singleton application context object. */
@Module
public final class ContextModule {
@NonNull private final Context context;
- public ContextModule(@NonNull Context context) {
- this.context = Assert.isNotNull(context);
+ public ContextModule(@NonNull Context appContext) {
+ this.context = Assert.isNotNull(appContext);
}
@Provides
+ @ApplicationContext
Context provideContext() {
return context;
}
diff --git a/java/com/android/dialer/interactions/PhoneNumberInteraction.java b/java/com/android/dialer/interactions/PhoneNumberInteraction.java
index 52f9d208f..ef468a9f3 100644
--- a/java/com/android/dialer/interactions/PhoneNumberInteraction.java
+++ b/java/com/android/dialer/interactions/PhoneNumberInteraction.java
@@ -54,11 +54,14 @@ import com.android.contacts.common.Collapser;
import com.android.contacts.common.Collapser.Collapsible;
import com.android.contacts.common.MoreContactUtils;
import com.android.contacts.common.util.ContactDisplayUtils;
+import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.callintent.CallIntentParser;
import com.android.dialer.callintent.CallSpecificAppData;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.InteractionEvent;
+import com.android.dialer.logging.Logger;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.TransactionSafeActivity;
import java.lang.annotation.Retention;
@@ -543,6 +546,12 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> {
final PhoneItem phoneItem = mPhoneList.get(which);
final CheckBox checkBox = (CheckBox) alertDialog.findViewById(R.id.setPrimary);
if (checkBox.isChecked()) {
+ if (mCallSpecificAppData.getCallInitiationType() == CallInitiationType.Type.SPEED_DIAL) {
+ Logger.get(getContext())
+ .logInteraction(
+ InteractionEvent.Type.SPEED_DIAL_SET_DEFAULT_NUMBER_FOR_AMBIGUOUS_CONTACT);
+ }
+
// Request to mark the data as primary in the background.
final Intent serviceIntent =
ContactUpdateService.createSetSuperPrimaryIntent(activity, phoneItem.id);
diff --git a/java/com/android/dialer/lightbringer/Lightbringer.java b/java/com/android/dialer/lightbringer/Lightbringer.java
index 8caafda7e..510f8a9a7 100644
--- a/java/com/android/dialer/lightbringer/Lightbringer.java
+++ b/java/com/android/dialer/lightbringer/Lightbringer.java
@@ -22,16 +22,24 @@ import android.content.Intent;
import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.telecom.Call;
+import android.telecom.PhoneAccountHandle;
public interface Lightbringer {
@MainThread
- boolean isReachable(@NonNull Context context, @NonNull String number);
+ boolean isReachable(@NonNull Context context, @Nullable String number);
+
+ @MainThread
+ boolean supportsUpgrade(@NonNull Context context, @Nullable String number);
@MainThread
Intent getIntent(@NonNull Context context, @NonNull String number);
@MainThread
+ void requestUpgrade(Call call);
+
+ @MainThread
void registerListener(@NonNull LightbringerListener listener);
@MainThread
@@ -39,9 +47,13 @@ public interface Lightbringer {
@Nullable
@MainThread
- ComponentName getPhoneAccountComponentName(@NonNull Context context);
+ ComponentName getPhoneAccountComponentName();
+
+ @Nullable
+ @MainThread
+ PhoneAccountHandle getPhoneAccountHandle();
@NonNull
@MainThread
- String getPackageName(@NonNull Context context);
+ String getPackageName();
}
diff --git a/java/com/android/dialer/lightbringer/stub/LightbringerStub.java b/java/com/android/dialer/lightbringer/stub/LightbringerStub.java
index f9bb4cd6c..c835fea0f 100644
--- a/java/com/android/dialer/lightbringer/stub/LightbringerStub.java
+++ b/java/com/android/dialer/lightbringer/stub/LightbringerStub.java
@@ -19,7 +19,11 @@ package com.android.dialer.lightbringer.stub;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.telecom.Call;
+import android.telecom.PhoneAccountHandle;
import com.android.dialer.common.Assert;
import com.android.dialer.lightbringer.Lightbringer;
import com.android.dialer.lightbringer.LightbringerListener;
@@ -30,30 +34,67 @@ public class LightbringerStub implements Lightbringer {
@Inject
public LightbringerStub() {}
+ @MainThread
@Override
- public boolean isReachable(Context context, String number) {
+ public boolean isReachable(@NonNull Context context, @Nullable String number) {
+ Assert.isMainThread();
+ Assert.isNotNull(context);
return false;
}
+ @MainThread
@Override
- public Intent getIntent(Context context, String number) {
+ public boolean supportsUpgrade(@NonNull Context context, @Nullable String number) {
+ Assert.isMainThread();
+ Assert.isNotNull(context);
+ return false;
+ }
+
+ @MainThread
+ @Override
+ public Intent getIntent(@NonNull Context context, @NonNull String number) {
+ Assert.isMainThread();
+ Assert.isNotNull(context);
+ Assert.isNotNull(number);
return null;
}
+ @MainThread
@Override
- public void registerListener(LightbringerListener listener) {}
+ public void requestUpgrade(Call call) {
+ Assert.isMainThread();
+ Assert.isNotNull(call);
+ }
+ @MainThread
@Override
- public void unregisterListener(LightbringerListener listener) {}
+ public void registerListener(LightbringerListener listener) {
+ Assert.isMainThread();
+ Assert.isNotNull(listener);
+ }
+
+ @MainThread
+ @Override
+ public void unregisterListener(LightbringerListener listener) {
+ Assert.isMainThread();
+ Assert.isNotNull(listener);
+ }
+
+ @Nullable
+ @Override
+ public ComponentName getPhoneAccountComponentName() {
+ return null;
+ }
+ @Nullable
@Override
- public ComponentName getPhoneAccountComponentName(Context context) {
+ public PhoneAccountHandle getPhoneAccountHandle() {
return null;
}
@NonNull
@Override
- public String getPackageName(@NonNull Context context) {
- throw Assert.createUnsupportedOperationFailException();
+ public String getPackageName() {
+ return "";
}
}
diff --git a/java/com/android/dialer/location/CountryDetector.java b/java/com/android/dialer/location/CountryDetector.java
index a90febf2b..c4bed14d0 100644
--- a/java/com/android/dialer/location/CountryDetector.java
+++ b/java/com/android/dialer/location/CountryDetector.java
@@ -33,8 +33,8 @@ import android.telephony.TelephonyManager;
import android.text.TextUtils;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.common.concurrent.DialerExecutors;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
+import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.util.PermissionsUtil;
import java.util.List;
import java.util.Locale;
@@ -216,7 +216,9 @@ public class CountryDetector {
private static void processLocationUpdate(
Context appContext, Geocoder geocoder, Location location) {
- DialerExecutors.createNonUiTaskBuilder(new GeocodeCountryWorker(geocoder))
+ DialerExecutorComponent.get(appContext)
+ .dialerExecutorFactory()
+ .createNonUiTaskBuilder(new GeocodeCountryWorker(geocoder))
.onSuccess(
country -> {
if (country == null) {
diff --git a/java/com/android/dialer/logging/LoggingBindings.java b/java/com/android/dialer/logging/LoggingBindings.java
index 526cb2088..85ccfdfa1 100644
--- a/java/com/android/dialer/logging/LoggingBindings.java
+++ b/java/com/android/dialer/logging/LoggingBindings.java
@@ -14,8 +14,8 @@
package com.android.dialer.logging;
-
import android.app.Activity;
+import android.widget.QuickContactBadge;
/** Allows the container application to gather analytics. */
public interface LoggingBindings {
@@ -62,6 +62,22 @@ public interface LoggingBindings {
*/
void logScreenView(com.android.dialer.logging.ScreenEvent.Type screenEvent, Activity activity);
+ /** Logs the composition of contact tiles in the speed dial tab. */
+ void logSpeedDialContactComposition(
+ int counter,
+ int starredContactsCount,
+ int pinnedContactsCount,
+ int multipleNumbersContactsCount,
+ int contactsWithPhotoCount,
+ int contactsWithNameCount,
+ int lightbringerReachableContactsCount);
+
/** Logs a hit event to the analytics server. */
void sendHitEventAnalytics(String category, String action, String label, long value);
+
+ /** Logs where a quick contact badge is clicked */
+ void logQuickContactOnTouch(
+ QuickContactBadge quickContact,
+ InteractionEvent.Type interactionEvent,
+ boolean shouldPerformClick);
}
diff --git a/java/com/android/dialer/logging/LoggingBindingsStub.java b/java/com/android/dialer/logging/LoggingBindingsStub.java
index f7ca6ecb0..38929969c 100644
--- a/java/com/android/dialer/logging/LoggingBindingsStub.java
+++ b/java/com/android/dialer/logging/LoggingBindingsStub.java
@@ -15,6 +15,7 @@
package com.android.dialer.logging;
import android.app.Activity;
+import android.widget.QuickContactBadge;
/** Default implementation for logging bindings. */
public class LoggingBindingsStub implements LoggingBindings {
@@ -36,5 +37,21 @@ public class LoggingBindingsStub implements LoggingBindings {
public void logScreenView(ScreenEvent.Type screenEvent, Activity activity) {}
@Override
+ public void logSpeedDialContactComposition(
+ int counter,
+ int starredContactsCount,
+ int pinnedContactsCount,
+ int multipleNumbersContactsCount,
+ int contactsWithPhotoCount,
+ int contactsWithNameCount,
+ int lightbringerReachableContactsCount) {}
+
+ @Override
public void sendHitEventAnalytics(String category, String action, String label, long value) {}
+
+ @Override
+ public void logQuickContactOnTouch(
+ QuickContactBadge quickContact,
+ InteractionEvent.Type interactionEvent,
+ boolean shouldPerformClick) {}
}
diff --git a/java/com/android/dialer/logging/contact_lookup_result.proto b/java/com/android/dialer/logging/contact_lookup_result.proto
index 835d7d7dc..13ea3c8e5 100644
--- a/java/com/android/dialer/logging/contact_lookup_result.proto
+++ b/java/com/android/dialer/logging/contact_lookup_result.proto
@@ -5,6 +5,7 @@ option java_package = "com.android.dialer.logging";
option java_multiple_files = true;
option optimize_for = LITE_RUNTIME;
+
message ContactLookupResult {
// The different results of a contact lookup done using a phone number.
enum Type {
@@ -16,10 +17,10 @@ message ContactLookupResult {
// Contact was found in the local database.
LOCAL_CONTACT = 2;
- // Contact was found in Google Dialer's internal phone number cache
+ // DEPRECATED: see subcategories below
LOCAL_CACHE = 3;
- // Contact was found via Google Caller ID
+ // DEPRECATED: see subcategories below
REMOTE = 4;
// Phone number was an emergency phone number
@@ -27,5 +28,40 @@ message ContactLookupResult {
// Phone number was the SIM card's voicemail number
VOICEMAIL = 6;
+
+ // Phone number was identified via the places part of the People API.
+ REMOTE_PLACES = 7;
+
+ // Phone number was identified via the profile part of the People API.
+ REMOTE_PROFILE = 8;
+
+ // Number was found in Dialer's local cache but we don't know how it was
+ // originally identified.
+ LOCAL_CACHE_UNKNOWN = 9;
+
+ // Number was found in Dialer's local cache and was originally identified
+ // as a personal contact.
+ LOCAL_CACHE_DIRECTORY = 10;
+
+ // Number was found in Dialer's local cache and was originally identified
+ // via a custom extended directory.
+ LOCAL_CACHE_EXTENDED = 11;
+
+ // Number was found in Dialer's local cache and was originally identified
+ // via the places part of the People API.
+ LOCAL_CACHE_PLACES = 12;
+
+ // Number was found in Dialer's local cache and was originally identified
+ // via the profile part of the People API.
+ LOCAL_CACHE_PROFILE = 13;
+
+ // Number was found in Dialer's local cache and was originally identified
+ // via Caller Name Presentation (CNAP) information. Calls in this
+ // category would have had ContactLookupResultType NOT_FOUND originally.
+ LOCAL_CACHE_CNAP = 14;
+
+ // Number was found in Dialer's local cache and was originally identified
+ // via Cequint caller ID.
+ LOCAL_CACHE_CEQUINT = 15;
}
}
diff --git a/java/com/android/dialer/logging/contact_source.proto b/java/com/android/dialer/logging/contact_source.proto
index 470cf8bd7..ffd32de0e 100644
--- a/java/com/android/dialer/logging/contact_source.proto
+++ b/java/com/android/dialer/logging/contact_source.proto
@@ -5,6 +5,7 @@ option java_package = "com.android.dialer.logging";
option java_multiple_files = true;
option optimize_for = LITE_RUNTIME;
+
message ContactSource {
// Applies only to reports made from call history. If we have contact
// information for the phone number, this field indicates its source.
diff --git a/java/com/android/dialer/logging/dialer_impression.proto b/java/com/android/dialer/logging/dialer_impression.proto
index 541614623..ba8d92249 100644
--- a/java/com/android/dialer/logging/dialer_impression.proto
+++ b/java/com/android/dialer/logging/dialer_impression.proto
@@ -5,11 +5,12 @@ option java_package = "com.android.dialer.logging";
option java_multiple_files = true;
option optimize_for = LITE_RUNTIME;
+
message DialerImpression {
// Event enums to be used for Impression Logging in Dialer.
// It's perfectly acceptable for this enum to be large
// Values should be from 1000 to 100000.
- // Next Tag:1191
+ // Next Tag:1227
enum Type {
UNKNOWN_AOSP_EVENT_TYPE = 1000;
@@ -386,5 +387,56 @@ message DialerImpression {
VVM_STATUS_CHECK_REACTIVATION = 1189;
VVM_ARCHIVE_AUTO_DELETE_FAILED_DUE_TO_FAILED_QUOTA_CHECK = 1190;
+
+ // User pressed the speaker phone button on the return-to-call bubble
+ BUBBLE_TURN_ON_SPEAKERPHONE = 1191;
+ // User pressed the speaker phone button again on the return-to-call bubble
+ BUBBLE_TURN_ON_WIRED_OR_EARPIECE = 1192;
+ // User muted the call from the return-to-call bubble
+ BUBBLE_MUTE_CALL = 1193;
+ // User unmuted the call from the return-to-call bubble
+ BUBBLE_UNMUTE_CALL = 1194;
+ // User ended the call from the return-to-call bubble
+ BUBBLE_END_CALL = 1195;
+
+ LIGHTBRINGER_VIDEO_REQUESTED_FROM_SEARCH = 1196;
+ LIGHTBRINGER_VIDEO_REQUESTED_FROM_CALL_LOG = 1197;
+ IMS_VIDEO_REQUESTED_FROM_SEARCH = 1198;
+ IMS_VIDEO_REQUESTED_FROM_CALL_LOG = 1199;
+
+ // Multi select impressions
+ MULTISELECT_LONG_PRESS_ENTER_MULTI_SELECT_MODE = 1200;
+ MULTISELECT_LONG_PRESS_TAP_ENTRY = 1201;
+ MULTISELECT_SINGLE_PRESS_SELECT_ENTRY = 1202;
+ MULTISELECT_SINGLE_PRESS_UNSELECT_ENTRY = 1203;
+ MULTISELECT_SINGLE_PRESS_TAP_VIA_CONTACT_BADGE = 1204;
+ MULTISELECT_SELECT_ALL = 1205;
+ MULTISELECT_UNSELECT_ALL = 1206;
+ MULTISELECT_TAP_DELETE_ICON = 1207;
+ MULTISELECT_DISPLAY_DELETE_CONFIRMATION_DIALOG = 1208;
+ MULTISELECT_DELETE_ENTRY_VIA_CONFIRMATION_DIALOG = 1209;
+ MULTISELECT_CANCEL_CONFIRMATION_DIALOG_VIA_CANCEL_BUTTON = 1210;
+ MULTISELECT_CANCEL_CONFIRMATION_DIALOG_VIA_CANCEL_TOUCH = 1211;
+ MULTISELECT_ROTATE_AND_SHOW_ACTION_MODE= 1212;
+
+ // Impressions for verizon VVM with backup and transcription ToS
+ VOICEMAIL_VVM3_TOS_V2_CREATED = 1213;
+ VOICEMAIL_VVM3_TOS_V2_ACCEPTED = 1214;
+ VOICEMAIL_VVM3_TOS_V2_DECLINE_CLICKED = 1215;
+ // Impressions for dialer voicemail with backup and transcription ToS
+ VOICEMAIL_DIALER_TOS_CREATED = 1216;
+ VOICEMAIL_DIALER_TOS_ACCEPTED = 1217;
+ VOICEMAIL_DIALER_TOS_DECLINE_CLICKED = 1218;
+
+ // Add or create contact
+ // Creating new contact fab was logged as NEW_CONTACT_FAB
+ CREATE_NEW_CONTACT_FROM_CALL_LOG = 1219;
+ CREATE_NEW_CONTACT_FROM_DIALPAD = 1220;
+ CREATE_NEW_CONTACT_FROM_VOICEMAIL = 1221;
+ CREATE_NEW_CONTACT_FROM_CALL_HISTORY = 1222;
+ ADD_TO_A_CONTACT_FROM_CALL_LOG = 1223;
+ ADD_TO_A_CONTACT_FROM_DIALPAD = 1224;
+ ADD_TO_A_CONTACT_FROM_VOICEMAIL = 1225;
+ ADD_TO_A_CONTACT_FROM_CALL_HISTORY = 1226;
}
}
diff --git a/java/com/android/dialer/logging/interaction_event.proto b/java/com/android/dialer/logging/interaction_event.proto
index b9af1b763..89cf46fc9 100644
--- a/java/com/android/dialer/logging/interaction_event.proto
+++ b/java/com/android/dialer/logging/interaction_event.proto
@@ -5,7 +5,9 @@ option java_package = "com.android.dialer.logging";
option java_multiple_files = true;
option optimize_for = LITE_RUNTIME;
+
message InteractionEvent {
+ // Next Tag: 38
enum Type {
UNKNOWN = 0;
@@ -41,5 +43,23 @@ message InteractionEvent {
// The user unblocked a number then undid the unblock
UNDO_UNBLOCK_NUMBER = 24;
+
+ // Actions in speed dial
+ SPEED_DIAL_PIN_CONTACT = 25;
+ SPEED_DIAL_REMOVE_CONTACT = 26;
+ SPEED_DIAL_OPEN_CONTACT_CARD = 27;
+ SPEED_DIAL_CLICK_CONTACT_WITH_AMBIGUOUS_NUMBER = 28;
+
+ SPEED_DIAL_SET_DEFAULT_NUMBER_FOR_AMBIGUOUS_CONTACT = 29;
+
+ // Open quick contact from where
+ OPEN_QUICK_CONTACT_FROM_CALL_LOG = 30;
+ OPEN_QUICK_CONTACT_FROM_CALL_DETAILS = 31;
+ OPEN_QUICK_CONTACT_FROM_ALL_CONTACTS_GENERAL = 32;
+ OPEN_QUICK_CONTACT_FROM_CONTACTS_FRAGMENT_BADGE = 33;
+ OPEN_QUICK_CONTACT_FROM_CONTACTS_FRAGMENT_ITEM = 34;
+ OPEN_QUICK_CONTACT_FROM_SEARCH = 35;
+ OPEN_QUICK_CONTACT_FROM_VOICEMAIL = 36;
+ OPEN_QUICK_CONTACT_FROM_CALL_HISTORY = 37;
}
}
diff --git a/java/com/android/dialer/logging/reporting_location.proto b/java/com/android/dialer/logging/reporting_location.proto
index 72869489c..d436564df 100644
--- a/java/com/android/dialer/logging/reporting_location.proto
+++ b/java/com/android/dialer/logging/reporting_location.proto
@@ -5,6 +5,7 @@ option java_package = "com.android.dialer.logging";
option java_multiple_files = true;
option optimize_for = LITE_RUNTIME;
+
message ReportingLocation {
// Spam reporting location
enum Type {
diff --git a/java/com/android/dialer/logging/screen_event.proto b/java/com/android/dialer/logging/screen_event.proto
index 2430bfd5a..ca624774d 100644
--- a/java/com/android/dialer/logging/screen_event.proto
+++ b/java/com/android/dialer/logging/screen_event.proto
@@ -5,6 +5,7 @@ option java_package = "com.android.dialer.logging";
option java_multiple_files = true;
option optimize_for = LITE_RUNTIME;
+
message ScreenEvent {
enum Type {
diff --git a/java/com/android/dialer/logging/ui_action.proto b/java/com/android/dialer/logging/ui_action.proto
new file mode 100644
index 000000000..784dbed9b
--- /dev/null
+++ b/java/com/android/dialer/logging/ui_action.proto
@@ -0,0 +1,43 @@
+syntax = "proto2";
+
+package com.android.dialer.logging;
+option java_package = "com.android.dialer.logging";
+option java_multiple_files = true;
+option optimize_for = LITE_RUNTIME;
+
+
+message UiAction {
+ enum Type {
+ UNKNOWN = 0;
+
+ // General action starting from 1
+ CHANGE_TAB_TO_FAVORITE = 1;
+ CHANGE_TAB_TO_CALL_LOG = 2;
+ CHANGE_TAB_TO_CONTACTS = 3;
+ CHANGE_TAB_TO_VOICEMAIL = 4;
+ PRESS_ANDROID_BACK_BUTTON = 5;
+ TEXT_CHANGE_WITH_INPUT = 6;
+ SCROLL = 7;
+
+ // In call log, starting from 100
+ CLICK_CALL_LOG_ITEM = 100;
+ OPEN_CALL_DETAIL = 101;
+ CLOSE_CALL_DETAIL_WITH_CANCEL_BUTTON = 102;
+ COPY_NUMBER_IN_CALL_DETAIL = 103;
+ EDIT_NUMBER_BEFORE_CALL_IN_CALL_DETAIL = 104;
+
+ // In dialpad, starting from 200
+ OPEN_DIALPAD = 200;
+ CLOSE_DIALPAD = 201;
+ PRESS_CALL_BUTTON_WITHOUT_CALLING = 202;
+
+ // In search, starting from 300
+ OPEN_SEARCH = 300;
+ HIDE_KEYBOARD_IN_SEARCH = 301;
+ CLOSE_SEARCH_WITH_HIDE_BUTTON = 302;
+
+ // In call history, starting from 400
+ OPEN_CALL_HISTORY = 400;
+ CLOSE_CALL_HISTORY_WITH_CANCEL_BUTTON = 401;
+ }
+}
diff --git a/java/com/android/dialer/main/Main.java b/java/com/android/dialer/main/Main.java
new file mode 100644
index 000000000..14ac7e439
--- /dev/null
+++ b/java/com/android/dialer/main/Main.java
@@ -0,0 +1,27 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.main;
+
+import android.content.Context;
+
+/** Used to display the main activity for Dialer. This hosts favorites, dial pad, search, etc... */
+public interface Main {
+ boolean isNewUiEnabled(Context context);
+
+ // TODO(38502365): Remove this when we're ready to launch the new UI. */
+ void createNewUiLauncherShortcut(Context context);
+}
diff --git a/java/com/android/dialer/main/MainComponent.java b/java/com/android/dialer/main/MainComponent.java
new file mode 100644
index 000000000..e735457f4
--- /dev/null
+++ b/java/com/android/dialer/main/MainComponent.java
@@ -0,0 +1,39 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.main;
+
+import android.content.Context;
+import com.android.dialer.inject.HasRootComponent;
+import com.android.dialer.main.impl.MainModule;
+import dagger.Subcomponent;
+
+/** Subcomponent that can be used to access the main implementation. */
+@Subcomponent(modules = MainModule.class)
+public abstract class MainComponent {
+
+ public abstract Main getMain();
+
+ public static MainComponent get(Context context) {
+ return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component())
+ .mainComponent();
+ }
+
+ /** Used to refer to the root application component. */
+ public interface HasComponent {
+ MainComponent mainComponent();
+ }
+}
diff --git a/java/com/android/dialer/main/impl/AndroidManifest.xml b/java/com/android/dialer/main/impl/AndroidManifest.xml
new file mode 100644
index 000000000..8edde507c
--- /dev/null
+++ b/java/com/android/dialer/main/impl/AndroidManifest.xml
@@ -0,0 +1,110 @@
+<?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
+ -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.dialer.main.impl">
+
+ <application>
+
+ <activity
+ android:clearTaskOnLaunch="true"
+ android:directBootAware="true"
+ android:enabled="false"
+ android:exported="true"
+ android:icon="@drawable/nui_launcher_icon"
+ android:label="@string/main_activity_label"
+ android:launchMode="singleTask"
+ android:name="com.android.dialer.main.impl.MainActivity"
+ android:resizeableActivity="true"
+ android:theme="@style/NuiMainActivityTheme"
+ android:windowSoftInputMode="stateAlwaysHidden|adjustNothing">
+
+ <!-- LINT.IfChange -->
+ <intent-filter>
+ <action android:name="android.intent.action.DIAL"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.BROWSABLE"/>
+
+ <data android:mimeType="vnd.android.cursor.item/phone"/>
+ <data android:mimeType="vnd.android.cursor.item/person"/>
+ </intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.DIAL"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.BROWSABLE"/>
+
+ <data android:scheme="voicemail"/>
+ </intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.DIAL"/>
+ <category android:name="android.intent.category.DEFAULT"/>
+ </intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.LAUNCHER"/>
+ <category android:name="android.intent.category.BROWSABLE"/>
+ </intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.VIEW"/>
+ <action android:name="android.intent.action.DIAL"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.BROWSABLE"/>
+
+ <data android:scheme="tel"/>
+ </intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.VIEW"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.BROWSABLE"/>
+
+ <data android:mimeType="vnd.android.cursor.dir/calls"/>
+ </intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.CALL_BUTTON"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.BROWSABLE"/>
+ </intent-filter>
+ <!-- This was never intended to be public, but is here for backward
+ compatibility. Use Intent.ACTION_DIAL instead. -->
+ <intent-filter>
+ <action android:name="com.android.phone.action.TOUCH_DIALER"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.TAB"/>
+ </intent-filter>
+ <intent-filter android:label="@string/main_call_history_tab_description">
+ <action android:name="com.android.phone.action.RECENT_CALLS"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.TAB"/>
+ </intent-filter>
+ <!-- LINT.ThenChange(//depot/google3/third_party/java_src/android_app/dialer/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml) -->
+
+ <meta-data
+ android:name="com.android.keyguard.layout"
+ android:resource="@layout/keyguard_preview"/>
+ </activity>
+
+ </application>
+
+</manifest>
diff --git a/java/com/android/dialer/main/impl/MainActivity.java b/java/com/android/dialer/main/impl/MainActivity.java
new file mode 100644
index 000000000..4b2bd2e05
--- /dev/null
+++ b/java/com/android/dialer/main/impl/MainActivity.java
@@ -0,0 +1,91 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.main.impl;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.design.widget.TabLayout;
+import android.support.v4.view.ViewPager;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.Toast;
+import com.android.dialer.common.LogUtil;
+
+/** This is the main activity for dialer. It hosts favorites, call log, search, dialpad, etc... */
+public final class MainActivity extends AppCompatActivity implements View.OnClickListener {
+
+ static Intent getIntent(Context context) {
+ return new Intent(context, MainActivity.class)
+ .setAction(Intent.ACTION_VIEW)
+ .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ LogUtil.enterBlock("MainActivity.onCreate");
+ setContentView(R.layout.main_activity);
+ initLayout();
+ }
+
+ private void initLayout() {
+ findViewById(R.id.fab).setOnClickListener(this);
+
+ ViewPager pager = findViewById(R.id.pager);
+ MainPagerAdapter pagerAdapter = new MainPagerAdapter(this, getSupportFragmentManager());
+ pager.setAdapter(pagerAdapter);
+
+ TabLayout tabLayout = findViewById(R.id.tab_layout);
+ tabLayout.setupWithViewPager(pager);
+
+ Toolbar toolbar = findViewById(R.id.toolbar);
+ toolbar.setPopupTheme(android.R.style.Theme_Material_Light);
+ setSupportActionBar(toolbar);
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.main_menu, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ Toast.makeText(this, "Not yet implemented", Toast.LENGTH_SHORT).show();
+ if (item.getItemId() == R.id.search) {
+ // open search
+ return true;
+ } else if (item.getItemId() == R.id.contacts) {
+ // open contacts
+ return true;
+ } else {
+ // TODO handle other menu items
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+ @Override
+ public void onClick(View v) {
+ if (v.getId() == R.id.fab) {
+ // open dialpad search
+ }
+ }
+}
diff --git a/java/com/android/dialer/main/impl/MainImpl.java b/java/com/android/dialer/main/impl/MainImpl.java
new file mode 100644
index 000000000..d29e8c0a5
--- /dev/null
+++ b/java/com/android/dialer/main/impl/MainImpl.java
@@ -0,0 +1,90 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.main.impl;
+
+import android.annotation.TargetApi;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.Build.VERSION_CODES;
+import android.support.v4.content.pm.ShortcutInfoCompat;
+import android.support.v4.content.pm.ShortcutManagerCompat;
+import android.support.v4.graphics.drawable.IconCompat;
+import android.support.v4.os.BuildCompat;
+import com.android.dialer.buildtype.BuildType;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.main.Main;
+import javax.inject.Inject;
+
+/** The entry point for the main feature. */
+final class MainImpl implements Main {
+ private static final String SHORTCUT_KEY = "nui_launcher_shortcut";
+
+ @Inject
+ public MainImpl() {}
+
+ @Override
+ public boolean isNewUiEnabled(Context context) {
+ return BuildType.get() == BuildType.BUGFOOD || LogUtil.isDebugEnabled();
+ }
+
+ @Override
+ public void createNewUiLauncherShortcut(Context context) {
+ enableComponent(context);
+ if (BuildCompat.isAtLeastO()) {
+ createLauncherShortcutO(context);
+ } else {
+ createLauncherShortcutPreO(context);
+ }
+ }
+
+ /**
+ * Enables the NUI activity component. By default the component is disabled and can't be accessed.
+ * Once the component has been enabled the user will get an option to use the new UI to handle
+ * DIAL (and other) intents.
+ */
+ private static void enableComponent(Context context) {
+ context
+ .getPackageManager()
+ .setComponentEnabledSetting(
+ new ComponentName(context, MainActivity.class),
+ PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
+ PackageManager.DONT_KILL_APP);
+ }
+
+ @TargetApi(VERSION_CODES.O)
+ private static void createLauncherShortcutO(Context context) {
+ ShortcutInfoCompat shortcutInfo =
+ new ShortcutInfoCompat.Builder(context, SHORTCUT_KEY)
+ .setIcon(IconCompat.createWithResource(context, R.drawable.nui_launcher_icon))
+ .setIntent(MainActivity.getIntent(context))
+ .setShortLabel(context.getString(R.string.nui_shortcut_name))
+ .build();
+ ShortcutManagerCompat.requestPinShortcut(context, shortcutInfo, null);
+ }
+
+ private static void createLauncherShortcutPreO(Context context) {
+ Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
+ intent.putExtra(
+ Intent.EXTRA_SHORTCUT_ICON,
+ Intent.ShortcutIconResource.fromContext(context, R.drawable.nui_launcher_icon));
+ intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, context.getString(R.string.nui_shortcut_name));
+ intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, MainActivity.getIntent(context));
+ context.sendBroadcast(intent);
+ }
+}
diff --git a/java/com/android/dialer/app/bindings/DialerBindings.java b/java/com/android/dialer/main/impl/MainModule.java
index e1f517860..90342cf59 100644
--- a/java/com/android/dialer/app/bindings/DialerBindings.java
+++ b/java/com/android/dialer/main/impl/MainModule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Android Open Source Project
+ * 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.
@@ -14,12 +14,17 @@
* limitations under the License
*/
-package com.android.dialer.app.bindings;
+package com.android.dialer.main.impl;
-import com.android.dialer.common.ConfigProvider;
+import com.android.dialer.main.Main;
+import dagger.Module;
+import dagger.Provides;
-/** This interface allows the container application to customize the dialer. */
-public interface DialerBindings {
-
- ConfigProvider getConfigProvider();
+/** This module provides an instance of {@link Main}. */
+@Module
+public final class MainModule {
+ @Provides
+ public static Main provideMain() {
+ return new MainImpl();
+ }
}
diff --git a/java/com/android/dialer/main/impl/MainPagerAdapter.java b/java/com/android/dialer/main/impl/MainPagerAdapter.java
new file mode 100644
index 000000000..19cf4e7b1
--- /dev/null
+++ b/java/com/android/dialer/main/impl/MainPagerAdapter.java
@@ -0,0 +1,75 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.main.impl;
+
+import android.content.Context;
+import android.support.annotation.IntDef;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentStatePagerAdapter;
+import com.android.dialer.common.Assert;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/** Adapter for {@link MainActivity} ViewPager. */
+final class MainPagerAdapter extends FragmentStatePagerAdapter {
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({
+ TabIndex.SPEED_DIAL,
+ TabIndex.HISTORY,
+ TabIndex.VOICEMAIL,
+ })
+ private @interface TabIndex {
+ int SPEED_DIAL = 0;
+ int HISTORY = 1;
+ int VOICEMAIL = 2;
+ }
+
+ private final Context context;
+
+ MainPagerAdapter(Context context, FragmentManager fragmentManager) {
+ super(fragmentManager);
+ this.context = context;
+ }
+
+ @Override
+ public int getCount() {
+ // TODO: add logic to hide/show voicemail tab
+ return 3;
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ // TODO: implement tabs
+ return new StubFragment();
+ }
+
+ @Override
+ public CharSequence getPageTitle(int position) {
+ switch (position) {
+ case TabIndex.SPEED_DIAL:
+ return context.getString(R.string.tab_title_speed_dial);
+ case TabIndex.HISTORY:
+ return context.getString(R.string.tab_title_call_history);
+ case TabIndex.VOICEMAIL:
+ return context.getString(R.string.tab_title_voicemail);
+ default:
+ throw Assert.createIllegalStateFailException("Tab position with no title: " + position);
+ }
+ }
+}
diff --git a/java/com/android/dialer/notification/PackageUpdatedReceiver.java b/java/com/android/dialer/main/impl/StubFragment.java
index feed40263..8e0accf29 100644
--- a/java/com/android/dialer/notification/PackageUpdatedReceiver.java
+++ b/java/com/android/dialer/main/impl/StubFragment.java
@@ -14,24 +14,22 @@
* limitations under the License
*/
-package com.android.dialer.notification;
+package com.android.dialer.main.impl;
-import android.annotation.TargetApi;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.support.v4.os.BuildCompat;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
-/** Inits the notification channels when Dialer or OS is updated */
-public class PackageUpdatedReceiver extends BroadcastReceiver {
+/** Stub Fragment for Dialer. */
+public class StubFragment extends Fragment {
+ @Nullable
@Override
- @TargetApi(26)
- public void onReceive(Context context, Intent intent) {
- if (!BuildCompat.isAtLeastO()) {
- return;
- }
- context = context.createDeviceProtectedStorageContext();
- NotificationChannelManager.getInstance().initChannels(context);
+ public View onCreateView(
+ LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ return inflater.inflate(R.layout.stub_fragment, container, false);
}
}
diff --git a/java/com/android/dialer/main/impl/res/drawable-xxxhdpi/nui_launcher_icon.png b/java/com/android/dialer/main/impl/res/drawable-xxxhdpi/nui_launcher_icon.png
new file mode 100644
index 000000000..7845ebca4
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/drawable-xxxhdpi/nui_launcher_icon.png
Binary files differ
diff --git a/java/com/android/dialer/main/impl/res/layout/main_activity.xml b/java/com/android/dialer/main/impl/res/layout/main_activity.xml
new file mode 100644
index 000000000..73b2eae33
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/layout/main_activity.xml
@@ -0,0 +1,68 @@
+<?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
+ -->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:textColor="@android:color/secondary_text_dark_nodisable"/>
+
+ <android.support.design.widget.CoordinatorLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <android.support.design.widget.AppBarLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:theme="@style/AppBarTheme">
+
+ <android.support.v7.widget.Toolbar
+ android:id="@+id/toolbar"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:background="?android:attr/colorPrimary"/>
+
+ <android.support.design.widget.TabLayout
+ android:id="@+id/tab_layout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?android:attr/colorPrimary"
+ app:tabIndicatorColor="?android:attr/colorAccent"
+ app:layout_scrollFlags="enterAlwaysCollapsed"/>
+ </android.support.design.widget.AppBarLayout>
+
+ <android.support.v4.view.ViewPager
+ android:id="@+id/pager"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
+
+ <android.support.design.widget.FloatingActionButton
+ android:id="@+id/fab"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|end"
+ android:layout_margin="16dp"
+ android:src="@drawable/quantum_ic_dialpad_white_24"
+ app:backgroundTint="?android:attr/colorAccent"/>
+ </android.support.design.widget.CoordinatorLayout>
+</FrameLayout> \ No newline at end of file
diff --git a/java/com/android/dialer/main/impl/res/layout/stub_fragment.xml b/java/com/android/dialer/main/impl/res/layout/stub_fragment.xml
new file mode 100644
index 000000000..3bb744fbd
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/layout/stub_fragment.xml
@@ -0,0 +1,27 @@
+<?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
+ -->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <TextView
+ android:text="hello world!"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"/>
+</FrameLayout> \ No newline at end of file
diff --git a/java/com/android/dialer/main/impl/res/menu/main_menu.xml b/java/com/android/dialer/main/impl/res/menu/main_menu.xml
new file mode 100644
index 000000000..09bcbf823
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/menu/main_menu.xml
@@ -0,0 +1,47 @@
+<?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
+ -->
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item
+ android:id="@+id/search"
+ android:icon="@drawable/quantum_ic_search_white_24"
+ android:title="@string/search"
+ android:contentDescription="@string/description_search"
+ app:showAsAction="always"/>
+
+ <item
+ android:id="@+id/contacts"
+ android:icon="@drawable/quantum_ic_person_white_24"
+ android:title="@string/contacts"
+ android:contentDescription="@string/description_contacts"
+ app:showAsAction="always"/>
+
+ <item
+ android:id="@+id/call_history"
+ android:title="@string/tab_title_call_history"
+ app:showAsAction="collapseActionView"/>
+
+ <item
+ android:id="@+id/settings"
+ android:title="@string/settings"
+ app:showAsAction="collapseActionView"/>
+
+ <item
+ android:id="@+id/feedback"
+ android:title="@string/main_send_feedback"
+ app:showAsAction="collapseActionView"/>
+</menu> \ No newline at end of file
diff --git a/java/com/android/dialer/main/impl/res/values-af/strings.xml b/java/com/android/dialer/main/impl/res/values-af/strings.xml
new file mode 100644
index 000000000..fd1a85995
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-af/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Foon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Foon-NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Oproepgeskiedenis"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Deursoek kontakte en plekke"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakte"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Bekyk kontakte"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Oproepgeskiedenis"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Spoedbel"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Stemboodskap"</string>
+ <string name="settings" msgid="7614336599112169779">"Instellings"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Stuur terugvoer"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-am/strings.xml b/java/com/android/dialer/main/impl/res/values-am/strings.xml
new file mode 100644
index 000000000..e45382b45
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-am/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ስልክ"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ስልክ NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"የጥሪ ታሪክ"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"ዕውቂያዎችን እና ቦታዎችን ይፈልጉ"</string>
+ <string name="contacts" msgid="4464246185723317911">"እውቂያዎች"</string>
+ <string name="description_contacts" msgid="12768481422137448">"እውቂያዎችን ይመልከቱ"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"ቅንብሮች"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ar/strings.xml b/java/com/android/dialer/main/impl/res/values-ar/strings.xml
new file mode 100644
index 000000000..2be1289d0
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ar/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"الهاتف"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"واجهة مستخدم جديدة للهاتف"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"سجل المكالمات"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"البحث عن جهات الاتصال والأماكن"</string>
+ <string name="contacts" msgid="4464246185723317911">"جهات الاتصال"</string>
+ <string name="description_contacts" msgid="12768481422137448">"عرض جهات الاتصال"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"سجلّ المكالمات"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"اتصال سريع"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"بريد صوتي"</string>
+ <string name="settings" msgid="7614336599112169779">"الإعدادات"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"إرسال تعليقات"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-az/strings.xml b/java/com/android/dialer/main/impl/res/values-az/strings.xml
new file mode 100644
index 000000000..baa702ccc
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-az/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Telefon Yeni İİ"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Zəng tarixçəsi"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Kontakt və yer axtarın"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontaktlar"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Kontaktlara Baxın"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Ayarlar"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/main/impl/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 000000000..75be4b8dd
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Novi UI Telefona"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Istorija poziva"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Pretražite kontakte i mesta"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakti"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Pregledajte kontakte"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Ist. poziva"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Brzo poz."</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Gov. pošta"</string>
+ <string name="settings" msgid="7614336599112169779">"Podešavanja"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Pošalji povr. inform."</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-be/strings.xml b/java/com/android/dialer/main/impl/res/values-be/strings.xml
new file mode 100644
index 000000000..390eec190
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-be/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Тэлефон"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Новы карыстальніцкі інтэрфейс тэлефона"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Гісторыя выклікаў"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Пошук кантактаў і месцаў"</string>
+ <string name="contacts" msgid="4464246185723317911">"Кантакты"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Прагляд кантактаў"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Налады"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-bg/strings.xml b/java/com/android/dialer/main/impl/res/values-bg/strings.xml
new file mode 100644
index 000000000..075e3e9ce
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-bg/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Телефон"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Телефон – НПИ"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"История на обажданията"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Търсене на контакти и места"</string>
+ <string name="contacts" msgid="4464246185723317911">"Контакти"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Преглед на контактите"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"История"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Бързо наб."</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Гл. поща"</string>
+ <string name="settings" msgid="7614336599112169779">"Настройки"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Изпращане на отзиви"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-bn/strings.xml b/java/com/android/dialer/main/impl/res/values-bn/strings.xml
new file mode 100644
index 000000000..e5b56ff7f
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-bn/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ফোন"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ফোন NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"কলের ইতিহাস"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"পরিচিতি এবং স্থানগুলি অনুসন্ধান করুন"</string>
+ <string name="contacts" msgid="4464246185723317911">"পরিচিতিগুলি"</string>
+ <string name="description_contacts" msgid="12768481422137448">"পরিচিতিগুলি দেখুন"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"কলের ইতিহাস"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"দ্রুত ডায়াল"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"ভয়েসমেল"</string>
+ <string name="settings" msgid="7614336599112169779">"সেটিংস"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"প্রতিক্রিয়া পাঠান"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-bs/strings.xml b/java/com/android/dialer/main/impl/res/values-bs/strings.xml
new file mode 100644
index 000000000..989fa5cf0
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-bs/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI telefon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historija poziva"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Pretraži kontakte i mjesta"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakti"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Prikaži kontakte"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"His. pozi."</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Brzo bira."</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Govor. poš."</string>
+ <string name="settings" msgid="7614336599112169779">"Postavke"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Poša. povrat. infor."</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ca/strings.xml b/java/com/android/dialer/main/impl/res/values-ca/strings.xml
new file mode 100644
index 000000000..d8a463310
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ca/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telèfon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nova IU de telèfon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historial de trucades"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Cerca contactes i llocs"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contactes"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Mostra contactes"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Configuració"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-cs/strings.xml b/java/com/android/dialer/main/impl/res/values-cs/strings.xml
new file mode 100644
index 000000000..6bfc24d97
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-cs/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nové rozhraní Telefonu"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historie volání"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Hledat kontakty a místa"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakty"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Zobrazit kontakty"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Nastavení"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-da/strings.xml b/java/com/android/dialer/main/impl/res/values-da/strings.xml
new file mode 100644
index 000000000..1dc96da11
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-da/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Ny genvej til telefon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Opkaldshistorik"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Søg efter kontaktpersoner og steder"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontaktpersoner"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Se kontaktpersoner"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Indstillinger"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-de/strings.xml b/java/com/android/dialer/main/impl/res/values-de/strings.xml
new file mode 100644
index 000000000..a305ed4a3
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-de/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Neue Benutzeroberfläche für Telefon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Anrufliste"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Kontakte und Orte suchen"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakte"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Kontakte ansehen"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Anrufliste"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Kurzwahl"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Mailbox"</string>
+ <string name="settings" msgid="7614336599112169779">"Einstellungen"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Feedback geben"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-el/strings.xml b/java/com/android/dialer/main/impl/res/values-el/strings.xml
new file mode 100644
index 000000000..df58b08f4
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-el/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Τηλέφωνο"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Νέα διεπαφή χρήστη για το Τηλέφωνο"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Ιστορικό κλήσεων"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Αναζητήστε επαφές και μέρη"</string>
+ <string name="contacts" msgid="4464246185723317911">"Επαφές"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Προβολή επαφών"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Ρυθμίσεις"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-en-rAU/strings.xml b/java/com/android/dialer/main/impl/res/values-en-rAU/strings.xml
new file mode 100644
index 000000000..b6c139f38
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-en-rAU/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telephone"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Phone NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Call history"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Search contacts and places"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contacts"</string>
+ <string name="description_contacts" msgid="12768481422137448">"View contacts"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Call history"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Speed dial"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Voicemail"</string>
+ <string name="settings" msgid="7614336599112169779">"Settings"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Sending feedback"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-en-rGB/strings.xml b/java/com/android/dialer/main/impl/res/values-en-rGB/strings.xml
new file mode 100644
index 000000000..b6c139f38
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-en-rGB/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telephone"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Phone NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Call history"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Search contacts and places"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contacts"</string>
+ <string name="description_contacts" msgid="12768481422137448">"View contacts"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Call history"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Speed dial"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Voicemail"</string>
+ <string name="settings" msgid="7614336599112169779">"Settings"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Sending feedback"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-en-rIN/strings.xml b/java/com/android/dialer/main/impl/res/values-en-rIN/strings.xml
new file mode 100644
index 000000000..b6c139f38
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-en-rIN/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telephone"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Phone NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Call history"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Search contacts and places"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contacts"</string>
+ <string name="description_contacts" msgid="12768481422137448">"View contacts"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Call history"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Speed dial"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Voicemail"</string>
+ <string name="settings" msgid="7614336599112169779">"Settings"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Sending feedback"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-es-rUS/strings.xml b/java/com/android/dialer/main/impl/res/values-es-rUS/strings.xml
new file mode 100644
index 000000000..6ddb77571
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-es-rUS/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Teléfono"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nueva IU del teléfono"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historial de llamadas"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Buscar contactos y lugares"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contactos"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Ver contactos"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Configuración"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-es/strings.xml b/java/com/android/dialer/main/impl/res/values-es/strings.xml
new file mode 100644
index 000000000..5ccc9e980
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-es/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Teléfono"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nueva interfaz de usuario del teléfono"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historial de llamadas"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Buscar contactos y sitios"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contactos"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Ver contactos"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Historial"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Marcación"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Buzón"</string>
+ <string name="settings" msgid="7614336599112169779">"Ajustes"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Enviar comentarios"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-et/strings.xml b/java/com/android/dialer/main/impl/res/values-et/strings.xml
new file mode 100644
index 000000000..1e681a9e1
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-et/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Telefoni uus kasutajaliides"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Kõneajalugu"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Otsige kontakte ja soovitusi"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontaktid"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Vaadake kontakte"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Seaded"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-eu/strings.xml b/java/com/android/dialer/main/impl/res/values-eu/strings.xml
new file mode 100644
index 000000000..3204c43b6
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-eu/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefonoa"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Telefonoko erabiltzaile-interfaze naturala"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Deien historia"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Ikusi kontaktuak eta tokiak"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontaktuak"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Ikusi kontaktuak"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Ezarpenak"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-fa/strings.xml b/java/com/android/dialer/main/impl/res/values-fa/strings.xml
new file mode 100644
index 000000000..82ba23bd2
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-fa/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"تلفن"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"رابط کاربری جدید تلفن"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"سابقه تماس"</string>
+ <string name="search" msgid="3570654445331155513">"‎@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"جستجوی مخاطبین و مکان‌ها"</string>
+ <string name="contacts" msgid="4464246185723317911">"مخاطبین"</string>
+ <string name="description_contacts" msgid="12768481422137448">"مشاهده مخاطبین"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"تنظیمات"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-fi/strings.xml b/java/com/android/dialer/main/impl/res/values-fi/strings.xml
new file mode 100644
index 000000000..f997a30a4
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-fi/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Puhelin"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Puhelimen uusi UI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Soittohistoria"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/haku_aloita"</string>
+ <string name="description_search" msgid="3443578912463129718">"Haku yhteystiedoista ja paikoista"</string>
+ <string name="contacts" msgid="4464246185723317911">"Yhteystiedot"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Näytä yhteystiedot"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Asetukset"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-fr-rCA/strings.xml b/java/com/android/dialer/main/impl/res/values-fr-rCA/strings.xml
new file mode 100644
index 000000000..5d8197222
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-fr-rCA/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Téléphoner"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Téléphoner (nouvelle IU)"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historique des appels"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Rechercher dans les contacts et les lieux"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contacts"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Afficher les contacts"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Appels"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Comp. abr."</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Mess. voc."</string>
+ <string name="settings" msgid="7614336599112169779">"Paramètres"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Envoyer commentaires"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-fr/strings.xml b/java/com/android/dialer/main/impl/res/values-fr/strings.xml
new file mode 100644
index 000000000..613ffb2bc
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-fr/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Téléphone"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Téléphone (nouvelle version)"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historique des appels"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Recherchez des contacts et des adresses"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contacts"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Consultez vos contacts"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Historique"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Num. abrégée"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Messagerie"</string>
+ <string name="settings" msgid="7614336599112169779">"Paramètres"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Laisser un avis"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-gl/strings.xml b/java/com/android/dialer/main/impl/res/values-gl/strings.xml
new file mode 100644
index 000000000..a8b4b4e20
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-gl/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Teléfono"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nova IU do teléfono"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historial de chamadas"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Busca contactos e lugares"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contactos"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Mira os contactos"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Historial"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Marc. ráp."</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Correo voz"</string>
+ <string name="settings" msgid="7614336599112169779">"Configuración"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Enviar comentarios"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-gu/strings.xml b/java/com/android/dialer/main/impl/res/values-gu/strings.xml
new file mode 100644
index 000000000..2bf613762
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-gu/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ફોન"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ફોન NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"કૉલ ઇતિહાસ"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"સંપર્કો અને સ્થાનો શોધો"</string>
+ <string name="contacts" msgid="4464246185723317911">"સંપર્કો"</string>
+ <string name="description_contacts" msgid="12768481422137448">"સંપર્કો જુઓ"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"કૉલ ઇતિહાસ"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"સ્પીડ ડાયલ"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"વૉઇસમેઇલ"</string>
+ <string name="settings" msgid="7614336599112169779">"સેટિંગ્સ"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"પ્રતિસાદ મોકલો"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-hi/strings.xml b/java/com/android/dialer/main/impl/res/values-hi/strings.xml
new file mode 100644
index 000000000..99cc7806d
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-hi/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"फ़ोन"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"फ़ोन NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"कॉल इतिहास"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"संपर्क और स्थान खोजें"</string>
+ <string name="contacts" msgid="4464246185723317911">"संपर्क"</string>
+ <string name="description_contacts" msgid="12768481422137448">"संपर्क देखें"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"कॉल इतिहास"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"स्पीड डायल"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"वॉइसमेल"</string>
+ <string name="settings" msgid="7614336599112169779">"सेटिंग"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"फ़ीडबैक भेजें"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-hr/strings.xml b/java/com/android/dialer/main/impl/res/values-hr/strings.xml
new file mode 100644
index 000000000..037dd1247
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-hr/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI telefona"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Povijest poziva"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Pretraži kontakte i mjesta"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakti"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Prikaži kontakte"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Postavke"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-hu/strings.xml b/java/com/android/dialer/main/impl/res/values-hu/strings.xml
new file mode 100644
index 000000000..f86ed245e
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-hu/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Telefon új felhasználói felülete"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Híváslista"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Névjegyek és helyek keresése"</string>
+ <string name="contacts" msgid="4464246185723317911">"Névjegyek"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Névjegyek megtekintése"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Beállítások"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-hy/strings.xml b/java/com/android/dialer/main/impl/res/values-hy/strings.xml
new file mode 100644
index 000000000..e8334ca67
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-hy/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Հեռախոս"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Հեռախոսի նոր միջերես"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Զանգերի պատմություն"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Գտնել կոնտակտներ և վայրեր"</string>
+ <string name="contacts" msgid="4464246185723317911">"Կոնտակտներ"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Դիտել կոնտակտները"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Զանգերի պատմ."</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Արագ հավաքում"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Ձայն. փոստ"</string>
+ <string name="settings" msgid="7614336599112169779">"Կարգավորումներ"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Կարծիք հայտնել"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-in/strings.xml b/java/com/android/dialer/main/impl/res/values-in/strings.xml
new file mode 100644
index 000000000..f3effe192
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-in/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telepon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI Telepon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Histori panggilan"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Telusuri kontak dan tempat"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontak"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Lihat Kontak"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Setelan"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-is/strings.xml b/java/com/android/dialer/main/impl/res/values-is/strings.xml
new file mode 100644
index 000000000..988eef460
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-is/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Sími"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nýtt viðmót síma"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Símtalaferill"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Leita að tengiliðum og stöðum"</string>
+ <string name="contacts" msgid="4464246185723317911">"Tengiliðir"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Skoða tengiliði"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Stillingar"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-it/strings.xml b/java/com/android/dialer/main/impl/res/values-it/strings.xml
new file mode 100644
index 000000000..324359f5d
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-it/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefono"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI telefono"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Cronologia chiamate"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Cerca contatti e luoghi"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contatti"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Visualizza contatti"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Impostazioni"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-iw/strings.xml b/java/com/android/dialer/main/impl/res/values-iw/strings.xml
new file mode 100644
index 000000000..645ef200b
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-iw/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"טלפון"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ממשק משתמש חדש לטלפון"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"היסטוריית שיחות"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"חיפוש אנשי קשר ומקומות"</string>
+ <string name="contacts" msgid="4464246185723317911">"אנשי קשר"</string>
+ <string name="description_contacts" msgid="12768481422137448">"הצגת אנשי הקשר"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"היסטוריית שיחות"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"חיוג מהיר"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"דואר קולי"</string>
+ <string name="settings" msgid="7614336599112169779">"הגדרות"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"משוב"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ja/strings.xml b/java/com/android/dialer/main/impl/res/values-ja/strings.xml
new file mode 100644
index 000000000..579153884
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ja/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"電話"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"電話 NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"通話履歴"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"連絡先や場所を検索"</string>
+ <string name="contacts" msgid="4464246185723317911">"連絡先"</string>
+ <string name="description_contacts" msgid="12768481422137448">"連絡先を表示"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"設定"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ka/strings.xml b/java/com/android/dialer/main/impl/res/values-ka/strings.xml
new file mode 100644
index 000000000..e2570a198
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ka/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ტელეფონი"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ტელეფონის NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"ზარების ისტორია"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"კონტაქტებისა და ადგილების ძიება"</string>
+ <string name="contacts" msgid="4464246185723317911">"კონტაქტები"</string>
+ <string name="description_contacts" msgid="12768481422137448">"კონტაქტების ნახვა"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"პარამეტრები"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-kk/strings.xml b/java/com/android/dialer/main/impl/res/values-kk/strings.xml
new file mode 100644
index 000000000..e29f53aeb
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-kk/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Телефон"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Телефонға арналған жаңа пайдаланушы интерфейсі"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Қоңыраулар тарихы"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Контактілер мен орындарды іздеу"</string>
+ <string name="contacts" msgid="4464246185723317911">"Контактілер"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Контактілерді көру"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Параметрлер"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-km/strings.xml b/java/com/android/dialer/main/impl/res/values-km/strings.xml
new file mode 100644
index 000000000..c6c6dc5bb
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-km/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ទូរសព្ទ"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI ទូរសព្ទ"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"ប្រវត្តិហៅ"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"ទំនាក់ទំនង និង​កន្លែង​ស្វែងរក"</string>
+ <string name="contacts" msgid="4464246185723317911">"ទំនាក់ទំនង"</string>
+ <string name="description_contacts" msgid="12768481422137448">"មើលទំនាក់ទំនង"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"ការ​កំណត់"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-kn/strings.xml b/java/com/android/dialer/main/impl/res/values-kn/strings.xml
new file mode 100644
index 000000000..48b8f83f0
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-kn/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ಫೋನ್"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ಫೋನ್ NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"ಕರೆ ಇತಿಹಾಸ"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"ಸಂಪರ್ಕಗಳು ಮತ್ತು ಸ್ಥಳಗಳನ್ನು ಹುಡುಕಿ"</string>
+ <string name="contacts" msgid="4464246185723317911">"ಸಂಪರ್ಕಗಳು"</string>
+ <string name="description_contacts" msgid="12768481422137448">"ಸಂಪರ್ಕ ವೀಕ್ಷಿಸು"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ko/strings.xml b/java/com/android/dialer/main/impl/res/values-ko/strings.xml
new file mode 100644
index 000000000..1f98f7f86
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ko/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"전화"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"새 전화 UI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"통화 기록"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"연락처 및 장소 검색"</string>
+ <string name="contacts" msgid="4464246185723317911">"연락처"</string>
+ <string name="description_contacts" msgid="12768481422137448">"연락처 보기"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"통화 기록"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"단축 다이얼"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"음성사서함"</string>
+ <string name="settings" msgid="7614336599112169779">"설정"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"의견 보내기"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ky/strings.xml b/java/com/android/dialer/main/impl/res/values-ky/strings.xml
new file mode 100644
index 000000000..66f06d281
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ky/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Чалуу"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Жаы интерфейсте чалуу"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Чалуулар таржымалы"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Байланыштарды жана жерлерди издөө"</string>
+ <string name="contacts" msgid="4464246185723317911">"Байланыштар"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Байланыштарды көрүү"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Жөндөөлөр"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-lo/strings.xml b/java/com/android/dialer/main/impl/res/values-lo/strings.xml
new file mode 100644
index 000000000..8b7e54712
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-lo/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ໂທລະສັບ"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Phone NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"ປະຫວັດການໂທ"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"ຊອກຫາລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະ ສະຖານທີ່"</string>
+ <string name="contacts" msgid="4464246185723317911">"ລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
+ <string name="description_contacts" msgid="12768481422137448">"ເບິ່ງລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"ປະຫວັດການໂທ"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"ໂທດ່ວນ"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"ຂໍ້ຄວາມສຽງ"</string>
+ <string name="settings" msgid="7614336599112169779">"ການຕັ້ງຄ່າ"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"ສົ່ງຄຳຕິຊົມ"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-lt/strings.xml b/java/com/android/dialer/main/impl/res/values-lt/strings.xml
new file mode 100644
index 000000000..4b3e3b9b3
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-lt/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefonas"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nauja telefono NS"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Skambučių istorija"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Ieškoti kontaktų ir vietų"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontaktai"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Žr. kontaktus"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Sk. istor."</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Sp. rink."</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Balso p."</string>
+ <string name="settings" msgid="7614336599112169779">"Nustatymai"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Siųsti atsiliepimą"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-lv/strings.xml b/java/com/android/dialer/main/impl/res/values-lv/strings.xml
new file mode 100644
index 000000000..459950bae
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-lv/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Tālrunis"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Tālruņa jaunā lietotāja saskarne"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Zvanu vēsture"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Meklēt kontaktpersonas un vietas"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontaktpersonas"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Skatīt kontaktpersonas"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Iestatījumi"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-mk/strings.xml b/java/com/android/dialer/main/impl/res/values-mk/strings.xml
new file mode 100644
index 000000000..0543f3351
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-mk/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Телефон"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Нов интерфејс на телефон"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Историја на повици"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Пребарајте контакти и места"</string>
+ <string name="contacts" msgid="4464246185723317911">"Контакти"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Прикажи контакти"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Поставки"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ml/strings.xml b/java/com/android/dialer/main/impl/res/values-ml/strings.xml
new file mode 100644
index 000000000..d143e6c50
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ml/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ഫോണ്‍"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ഫോൺ NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"കോള്‍‌ ചരിത്രം"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"കോൺടാക്റ്റുകളും സ്ഥലങ്ങളും തിരയുക"</string>
+ <string name="contacts" msgid="4464246185723317911">"കോൺടാക്റ്റുകൾ"</string>
+ <string name="description_contacts" msgid="12768481422137448">"കോൺടാക്റ്റുകൾ കാണുക"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"ക്രമീകരണം"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-mn/strings.xml b/java/com/android/dialer/main/impl/res/values-mn/strings.xml
new file mode 100644
index 000000000..6dee1677e
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-mn/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Утас"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Утас NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Дуудлагын түүх"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Харилцагчид, газруудаас хайх"</string>
+ <string name="contacts" msgid="4464246185723317911">"Харилцагчид"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Харилцагчдыг харах"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Дуудлагын түүх"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Шуурхай залгах"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Дуут шуудан"</string>
+ <string name="settings" msgid="7614336599112169779">"Тохиргоо"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Санал хүсэл илгээх"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-mr/strings.xml b/java/com/android/dialer/main/impl/res/values-mr/strings.xml
new file mode 100644
index 000000000..4662461c6
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-mr/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"फोन"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"फोन NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"कॉल इतिहास"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"संपर्क आणि स्थाने शोधा"</string>
+ <string name="contacts" msgid="4464246185723317911">"संपर्क"</string>
+ <string name="description_contacts" msgid="12768481422137448">"संपर्क पहा"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"कॉल इतिहास"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"जलद डायल"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"व्हॉइसमेल"</string>
+ <string name="settings" msgid="7614336599112169779">"सेटिंग्ज"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"अभिप्राय पाठवा"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ms/strings.xml b/java/com/android/dialer/main/impl/res/values-ms/strings.xml
new file mode 100644
index 000000000..36cb14b93
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ms/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI Telefon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Sejarah panggilan"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Cari kenalan dan tempat"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kenalan"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Lihat Kenalan"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Sjrh Pgln"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Dail Laju"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Mel suara"</string>
+ <string name="settings" msgid="7614336599112169779">"Tetapan"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Hantar maklum balas"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-my/strings.xml b/java/com/android/dialer/main/impl/res/values-my/strings.xml
new file mode 100644
index 000000000..b71a8a578
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-my/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ဖုန်း"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI ဖုန်း"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"ခေါ်ဆိုမှုမှတ်တမ်း"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"အဆက်အသွယ်များနှင့် နေရာများကို ရှာဖွေရန်"</string>
+ <string name="contacts" msgid="4464246185723317911">"အဆက်အသွယ်များ"</string>
+ <string name="description_contacts" msgid="12768481422137448">"အဆက်အသွယ်များကို ကြည့်ရှုရန်"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"ခေါ်ဆိုမှု"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"နံပါတ်ကွက်"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"အသံမေးလ်"</string>
+ <string name="settings" msgid="7614336599112169779">"ဆက်တင်များ"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"အကြံပြုချက် ပို့ရန်"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-nb/strings.xml b/java/com/android/dialer/main/impl/res/values-nb/strings.xml
new file mode 100644
index 000000000..fa89e4ca9
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-nb/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Phone NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Anropslogg"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Søk etter kontakter og steder"</string>
+ <string name="contacts" msgid="4464246185723317911">"Google-kontakter"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Se kontakter"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Innstillinger"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ne/strings.xml b/java/com/android/dialer/main/impl/res/values-ne/strings.xml
new file mode 100644
index 000000000..794b05814
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ne/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"फोन"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI फोन"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"कलको इतिहास"</string>
+ <string name="search" msgid="3570654445331155513">"@android:स्ट्रिङ/खोज_जानुहोस्"</string>
+ <string name="description_search" msgid="3443578912463129718">"सम्पर्क र स्थानहरू खोज्‍नुहोस्"</string>
+ <string name="contacts" msgid="4464246185723317911">"सम्पर्कहरू"</string>
+ <string name="description_contacts" msgid="12768481422137448">"सम्पर्कहरू हेर्नुहोस्"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"कल इतिहास"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"स्पिड डायल"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"भ्वाइस मेल"</string>
+ <string name="settings" msgid="7614336599112169779">"सेटिङहरू"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"प्रतिक्रिया पठाउने"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-nl/strings.xml b/java/com/android/dialer/main/impl/res/values-nl/strings.xml
new file mode 100644
index 000000000..cf00e19a0
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-nl/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Bellen"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nieuwe UI van telefoon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Oproepgeschiedenis"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Contacten en plaatsen zoeken"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contacten"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Contacten bekijken"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Instellingen"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-no/strings.xml b/java/com/android/dialer/main/impl/res/values-no/strings.xml
new file mode 100644
index 000000000..fa89e4ca9
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-no/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Phone NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Anropslogg"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Søk etter kontakter og steder"</string>
+ <string name="contacts" msgid="4464246185723317911">"Google-kontakter"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Se kontakter"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Innstillinger"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-pa/strings.xml b/java/com/android/dialer/main/impl/res/values-pa/strings.xml
new file mode 100644
index 000000000..57d33340c
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-pa/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ਫ਼ੋਨ"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ਫ਼ੋਨ NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"ਕਾਲ ਇਤਿਹਾਸ"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"ਸੰਪਰਕਾਂ ਅਤੇ ਥਾਂਵਾਂ ਨੂੰ ਖੋਜੋ"</string>
+ <string name="contacts" msgid="4464246185723317911">"ਸੰਪਰਕ"</string>
+ <string name="description_contacts" msgid="12768481422137448">"ਸੰਪਰਕ ਵੇਖੋ"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"ਕਾਲ ਇਤਿਹਾਸ"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"ਸਪੀਡ ਡਾਇਲ"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"ਵੌਇਸਮੇਲ"</string>
+ <string name="settings" msgid="7614336599112169779">"ਸੈਟਿੰਗਾਂ"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"ਪ੍ਰਤੀਕਰਮ ਭੇਜੋ"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-pl/strings.xml b/java/com/android/dialer/main/impl/res/values-pl/strings.xml
new file mode 100644
index 000000000..70f535ea3
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-pl/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nowy interfejs telefonu"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historia połączeń"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Wyszukaj kontakty i miejsca"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakty"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Wyświetl kontakty"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Historia połączeń"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Szybkie wybieranie"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Poczta głosowa"</string>
+ <string name="settings" msgid="7614336599112169779">"Ustawienia"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Prześlij opinię"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-pt-rBR/strings.xml b/java/com/android/dialer/main/impl/res/values-pt-rBR/strings.xml
new file mode 100644
index 000000000..e408d6526
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-pt-rBR/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefone"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nova IU: Telefone"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Histórico de chamadas"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Pesquisar contatos e lugares"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contatos"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Ver contatos"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Configurações"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-pt-rPT/strings.xml b/java/com/android/dialer/main/impl/res/values-pt-rPT/strings.xml
new file mode 100644
index 000000000..33c14513d
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-pt-rPT/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefone"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NIU do telemóvel"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Histórico de chamadas"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Pesquisar contactos e locais"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contactos"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Ver contactos"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Definições"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-pt/strings.xml b/java/com/android/dialer/main/impl/res/values-pt/strings.xml
new file mode 100644
index 000000000..e408d6526
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-pt/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefone"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nova IU: Telefone"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Histórico de chamadas"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Pesquisar contatos e lugares"</string>
+ <string name="contacts" msgid="4464246185723317911">"Contatos"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Ver contatos"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Configurações"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ro/strings.xml b/java/com/android/dialer/main/impl/res/values-ro/strings.xml
new file mode 100644
index 000000000..674e494a4
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ro/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Noua IU pentru Telefon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Istoricul apelurilor"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Căutați persoane de contact și locuri"</string>
+ <string name="contacts" msgid="4464246185723317911">"Agendă"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Afișați Agenda"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Setări"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ru/strings.xml b/java/com/android/dialer/main/impl/res/values-ru/strings.xml
new file mode 100644
index 000000000..d6d4918d8
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ru/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Позвонить"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Позвонить в новом интерфейсе"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Журнал звонков"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Поиск контактов и мест"</string>
+ <string name="contacts" msgid="4464246185723317911">"Контакты"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Посмотреть контакты"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Настройки"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-si/strings.xml b/java/com/android/dialer/main/impl/res/values-si/strings.xml
new file mode 100644
index 000000000..c3c4b8045
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-si/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"දුරකථනය"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Phone NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"ඇමතුම් ඉතිහාසය"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"සම්බන්ධතා සහ ස්ථාන සොයන්න"</string>
+ <string name="contacts" msgid="4464246185723317911">"සම්බන්ධතා"</string>
+ <string name="description_contacts" msgid="12768481422137448">"සම්බන්ධතා බලන්න"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"සැකසීම්"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-sk/strings.xml b/java/com/android/dialer/main/impl/res/values-sk/strings.xml
new file mode 100644
index 000000000..d5ee882a9
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-sk/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefón"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nové rozhranie Telefónu"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"História hovorov"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Hľadať kontakty a miesta"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakty"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Zobraziť kontakty"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Nastavenia"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-sl/strings.xml b/java/com/android/dialer/main/impl/res/values-sl/strings.xml
new file mode 100644
index 000000000..44fb5012a
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-sl/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nov uporabniški vmesnik za telefon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Zgodovina klicev"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Iskanje po stikih in mestih"</string>
+ <string name="contacts" msgid="4464246185723317911">"Stiki"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Prikaz stikov"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Nastavitve"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-sq/strings.xml b/java/com/android/dialer/main/impl/res/values-sq/strings.xml
new file mode 100644
index 000000000..c2e36645b
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-sq/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefoni"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Ndërfaqja e re e përdoruesit e telefonit"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Historiku i telefonatave"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Kërko për kontakte dhe vende"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontaktet"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Shiko kontaktet"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Cilësimet"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-sr/strings.xml b/java/com/android/dialer/main/impl/res/values-sr/strings.xml
new file mode 100644
index 000000000..542460e84
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-sr/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Телефон"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Нови UI Телефона"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Историја позива"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Претражите контакте и места"</string>
+ <string name="contacts" msgid="4464246185723317911">"Контакти"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Прегледајте контакте"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Ист. позива"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Брзо поз."</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Гов. пошта"</string>
+ <string name="settings" msgid="7614336599112169779">"Подешавања"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Пошаљи повр. информ."</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-sv/strings.xml b/java/com/android/dialer/main/impl/res/values-sv/strings.xml
new file mode 100644
index 000000000..cefefb3e1
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-sv/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Nytt användargränssnitt för telefon"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Samtalshistorik"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Sök efter kontakter och platser"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontakter"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Visa kontakter"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Samt.hist."</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Snabbval"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Röstbrevl."</string>
+ <string name="settings" msgid="7614336599112169779">"Inställningar"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Skicka feedback"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-sw/strings.xml b/java/com/android/dialer/main/impl/res/values-sw/strings.xml
new file mode 100644
index 000000000..158afa3ad
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-sw/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Simu"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI ya Simu"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Rekodi ya simu zilizopigwa"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Tafuta anwani na mahali"</string>
+ <string name="contacts" msgid="4464246185723317911">"Anwani"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Angalia Anwani"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Mipangilio"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ta/strings.xml b/java/com/android/dialer/main/impl/res/values-ta/strings.xml
new file mode 100644
index 000000000..81e02ef8b
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ta/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ஃபோன்"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ஃபோன் NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"அழைப்பு வரலாறு"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"தொடர்புகளையும் இடங்களையும் தேடுவதற்கான பொத்தான்"</string>
+ <string name="contacts" msgid="4464246185723317911">"தொடர்புகள்"</string>
+ <string name="description_contacts" msgid="12768481422137448">"தொடர்புகளைக் காட்டுவதற்கான பொத்தான்"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"கால் தகவல்"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"ஸ்பீட்டைல்"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"குரலஞ்சல்"</string>
+ <string name="settings" msgid="7614336599112169779">"அமைப்புகள்"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"கருத்துத் தெரிவி"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-te/strings.xml b/java/com/android/dialer/main/impl/res/values-te/strings.xml
new file mode 100644
index 000000000..c337cf366
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-te/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"ఫోన్"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"ఫోన్ NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"కాల్ చరిత్ర"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"పరిచయాలు మరియు స్థలాలను శోధించు"</string>
+ <string name="contacts" msgid="4464246185723317911">"పరిచయాలు"</string>
+ <string name="description_contacts" msgid="12768481422137448">"పరిచయాలను వీక్షించండి"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"కాల్ చరిత్ర"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"స్పీడ్ డయల్"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"వాయిస్ మెయిల్"</string>
+ <string name="settings" msgid="7614336599112169779">"సెట్టింగ్‌లు"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"అభిప్రాయాన్ని పంపండి"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-th/strings.xml b/java/com/android/dialer/main/impl/res/values-th/strings.xml
new file mode 100644
index 000000000..aa83f81b9
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-th/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"โทรศัพท์"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI ของโทรศัพท์"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"ประวัติการโทร"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"ค้นหารายชื่อติดต่อและสถานที่"</string>
+ <string name="contacts" msgid="4464246185723317911">"รายชื่อติดต่อ"</string>
+ <string name="description_contacts" msgid="12768481422137448">"ดูรายชื่อติดต่อ"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"ประวัติการโทร"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"โทรด่วน"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"ข้อความเสียง"</string>
+ <string name="settings" msgid="7614336599112169779">"การตั้งค่า"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"ส่งความคิดเห็น"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-tl/strings.xml b/java/com/android/dialer/main/impl/res/values-tl/strings.xml
new file mode 100644
index 000000000..ca3bd6d86
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-tl/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telepono"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI ng telepono"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"History ng tawag"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Maghanap ng mga contact at mga lugar"</string>
+ <string name="contacts" msgid="4464246185723317911">"Mga Contact"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Tingnan ang Mga Contact"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Mga Setting"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-tr/strings.xml b/java/com/android/dialer/main/impl/res/values-tr/strings.xml
new file mode 100644
index 000000000..623c156ff
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-tr/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Telefon"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Telefonun Yeni Kullanıcı Arayüzü"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Çağrı geçmişi"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Kişileri ve yerleri ara"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kişiler"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Kişileri Göster"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Ayarlar"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-uk/strings.xml b/java/com/android/dialer/main/impl/res/values-uk/strings.xml
new file mode 100644
index 000000000..769105425
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-uk/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Телефон"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Новий елемент інтерфейсу телефону"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Історія дзвінків"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Шукати контакти й місця"</string>
+ <string name="contacts" msgid="4464246185723317911">"Контакти"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Переглянути контакти"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"Історія"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"Шв. набір"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"Гол. пошта"</string>
+ <string name="settings" msgid="7614336599112169779">"Налаштування"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"Надіслати відгук"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-ur/strings.xml b/java/com/android/dialer/main/impl/res/values-ur/strings.xml
new file mode 100644
index 000000000..5795faad7
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-ur/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"فون"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"‏فون NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"کال کی سرگزشت"</string>
+ <string name="search" msgid="3570654445331155513">"‎@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"رابطے اور مقامات تلاش کریں"</string>
+ <string name="contacts" msgid="4464246185723317911">"رابطے"</string>
+ <string name="description_contacts" msgid="12768481422137448">"رابطے دیکھیں"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"کال کی سرگزشت"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"اسپیڈ ڈائل"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"صوتی میل"</string>
+ <string name="settings" msgid="7614336599112169779">"ترتیبات"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"تاثرات بھیجیں"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-uz/strings.xml b/java/com/android/dialer/main/impl/res/values-uz/strings.xml
new file mode 100644
index 000000000..be1428678
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-uz/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Qo‘ng‘iroq qilish"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"Yangi interfeysdan foydalanib qo‘ng‘iroq qilish"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Qo‘ng‘iroqlar tarixi"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Kontakt va joylarni qidirish"</string>
+ <string name="contacts" msgid="4464246185723317911">"Kontaktlar"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Kontaktlarni ko‘rish"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Sozlamalar"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-vi/strings.xml b/java/com/android/dialer/main/impl/res/values-vi/strings.xml
new file mode 100644
index 000000000..768167a99
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-vi/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Điện thoại"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"NUI điện thoại"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Nhật ký cuộc gọi"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Tìm kiếm liên hệ và địa điểm"</string>
+ <string name="contacts" msgid="4464246185723317911">"Danh bạ"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Xem Danh bạ"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Cài đặt"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-zh-rCN/strings.xml b/java/com/android/dialer/main/impl/res/values-zh-rCN/strings.xml
new file mode 100644
index 000000000..9649748a1
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-zh-rCN/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"拨打电话"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"电话 NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"通话记录"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"搜索联系人和地点"</string>
+ <string name="contacts" msgid="4464246185723317911">"联系人"</string>
+ <string name="description_contacts" msgid="12768481422137448">"查看联系人"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"通话记录"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"快速拨号"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"语音邮件"</string>
+ <string name="settings" msgid="7614336599112169779">"设置"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"发送反馈"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-zh-rHK/strings.xml b/java/com/android/dialer/main/impl/res/values-zh-rHK/strings.xml
new file mode 100644
index 000000000..5595a9df1
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-zh-rHK/strings.xml
@@ -0,0 +1,32 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"電話"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"電話 NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"通話記錄"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"搜尋聯絡人和地點"</string>
+ <string name="contacts" msgid="4464246185723317911">"通訊錄"</string>
+ <string name="description_contacts" msgid="12768481422137448">"查看通訊錄"</string>
+ <string name="tab_title_call_history" msgid="5191872501729332994">"通話記錄"</string>
+ <string name="tab_title_speed_dial" msgid="1968484500112572774">"快速撥號"</string>
+ <string name="tab_title_voicemail" msgid="4777655983569268504">"留言"</string>
+ <string name="settings" msgid="7614336599112169779">"設定"</string>
+ <string name="main_send_feedback" msgid="2446919533981327373">"提供意見"</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-zh-rTW/strings.xml b/java/com/android/dialer/main/impl/res/values-zh-rTW/strings.xml
new file mode 100644
index 000000000..0ae532e21
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-zh-rTW/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"手機"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"手機 NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"通話紀錄"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"搜尋聯絡人和地點"</string>
+ <string name="contacts" msgid="4464246185723317911">"聯絡人"</string>
+ <string name="description_contacts" msgid="12768481422137448">"查看聯絡人"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"設定"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values-zu/strings.xml b/java/com/android/dialer/main/impl/res/values-zu/strings.xml
new file mode 100644
index 000000000..408acac33
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values-zu/strings.xml
@@ -0,0 +1,36 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="main_activity_label" msgid="3121599977875141886">"Ifoni"</string>
+ <string name="nui_shortcut_name" msgid="6370942901789984087">"I-Phone NUI"</string>
+ <string name="main_call_history_tab_description" msgid="1705569872650796265">"Umlando wekholi"</string>
+ <string name="search" msgid="3570654445331155513">"@android:string/search_go"</string>
+ <string name="description_search" msgid="3443578912463129718">"Sesha oxhumana nabo nezindawo"</string>
+ <string name="contacts" msgid="4464246185723317911">"Oxhumana nabo"</string>
+ <string name="description_contacts" msgid="12768481422137448">"Buka oxhumana nabo"</string>
+ <!-- no translation found for tab_title_call_history (5191872501729332994) -->
+ <skip />
+ <!-- no translation found for tab_title_speed_dial (1968484500112572774) -->
+ <skip />
+ <!-- no translation found for tab_title_voicemail (4777655983569268504) -->
+ <skip />
+ <string name="settings" msgid="7614336599112169779">"Izilungiselelo"</string>
+ <!-- no translation found for main_send_feedback (2446919533981327373) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values/strings.xml b/java/com/android/dialer/main/impl/res/values/strings.xml
new file mode 100644
index 000000000..ba8a20b51
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values/strings.xml
@@ -0,0 +1,49 @@
+<?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>
+ <!-- Name of the main activity. -->
+ <string name="main_activity_label">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>
+
+ <!-- Text for a toolbar button that shows the user their contacts [CHAR LIMIT=NONE] -->
+ <string name="search">@android:string/search_go</string>
+ <!-- A11y announcement to let users know a button will let them search for contacts and places [CHAR LIMIT=NONE] -->
+ <string name="description_search">Search contacts and places</string>
+
+ <!-- Text for a toolbar button that shows the user their contacts [CHAR LIMIT=NONE] -->
+ <string name="contacts">Contacts</string>
+ <!-- A11y announcement to let users know a button will let them view their contacts [CHAR LIMIT=NONE] -->
+ <string name="description_contacts">View Contacts</string>
+
+ <!-- Tab text to show users their call log/call history [CHAR LIMIT=10] -->
+ <string name="tab_title_call_history">Call History</string>
+ <!-- Tab text to show users their favorite contacts that they can call in 1 click [CHAR LIMIT=10] -->
+ <string name="tab_title_speed_dial">Speed Dial</string>
+ <!-- Tab text to show users their voicemails [CHAR LIMIT=10] -->
+ <string name="tab_title_voicemail">Voicemail</string>
+
+ <!-- Show users their settings [CHAR LIMIT=20] -->
+ <string name="settings">Settings</string>
+ <!-- Send feedback about the app [CHAR LIMIT=20] -->
+ <string name="main_send_feedback">Send feedback</string>
+</resources>
diff --git a/java/com/android/dialer/main/impl/res/values/styles.xml b/java/com/android/dialer/main/impl/res/values/styles.xml
new file mode 100644
index 000000000..38c50081b
--- /dev/null
+++ b/java/com/android/dialer/main/impl/res/values/styles.xml
@@ -0,0 +1,28 @@
+<?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>
+ <style name="NuiMainActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
+ <item name="android:colorPrimary">@color/dialtacts_theme_color</item>
+ <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
+ <item name="android:colorAccent">@color/dialer_secondary_color</item>
+ </style>
+
+ <style name="AppBarTheme" parent="Theme.AppCompat">
+ <item name="android:colorPrimary">@color/dialtacts_theme_color</item>
+ <item name="android:colorAccent">@color/dialer_secondary_color</item>
+ </style>
+</resources>
diff --git a/java/com/android/dialer/multimedia/MultimediaData.java b/java/com/android/dialer/multimedia/MultimediaData.java
index 22bb7641c..dee0cff0b 100644
--- a/java/com/android/dialer/multimedia/MultimediaData.java
+++ b/java/com/android/dialer/multimedia/MultimediaData.java
@@ -20,6 +20,7 @@ import android.location.Location;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.text.TextUtils;
import com.android.dialer.common.LogUtil;
import com.google.auto.value.AutoValue;
@@ -63,6 +64,11 @@ public abstract class MultimediaData {
/** Returns {@code true} if this data is marked as important. */
public abstract boolean isImportant();
+ /** Returns true if this has image, text or location data. */
+ public boolean hasData() {
+ return hasImageData() || !TextUtils.isEmpty(getText()) || getLocation() != null;
+ }
+
/** Returns the string form of this MultimediaData with no PII. */
@Override
public String toString() {
diff --git a/java/com/android/dialer/notification/AndroidManifest.xml b/java/com/android/dialer/notification/AndroidManifest.xml
index 741f481ca..b89d8f816 100644
--- a/java/com/android/dialer/notification/AndroidManifest.xml
+++ b/java/com/android/dialer/notification/AndroidManifest.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2017 The Android Open Source Project
~
@@ -13,19 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
-
-<manifest
- xmlns:android="http://schemas.android.com/apk/res/android"
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.dialer.notification">
-
- <uses-sdk android:minSdkVersion="23"/>
- <application>
- <receiver android:name=".PackageUpdatedReceiver"
- android:directBootAware="true">
- <intent-filter>
- <action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
- <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED"/>
- </intent-filter>
- </receiver>
- </application>
</manifest>
diff --git a/java/com/android/dialer/notification/GroupedNotificationUtil.java b/java/com/android/dialer/notification/GroupedNotificationUtil.java
deleted file mode 100644
index 3925248d5..000000000
--- a/java/com/android/dialer/notification/GroupedNotificationUtil.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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
- */
-
-package com.android.dialer.notification;
-
-import android.app.NotificationManager;
-import android.service.notification.StatusBarNotification;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import java.util.Objects;
-
-/** Utilities for dealing with grouped notifications */
-public final class GroupedNotificationUtil {
-
- /**
- * Remove notification(s) that were added as part of a group. Will ensure that if this is the last
- * notification in the group the summary will be removed.
- *
- * @param tag String tag as included in {@link NotificationManager#notify(String, int,
- * android.app.Notification)}. If null will remove all notifications under id
- * @param id notification id as included with {@link NotificationManager#notify(String, int,
- * android.app.Notification)}.
- * @param summaryTag String tag of the summary notification
- */
- public static void removeNotification(
- @NonNull NotificationManager notificationManager,
- @Nullable String tag,
- int id,
- @NonNull String summaryTag) {
- if (tag == null) {
- // Clear all grouped notifications
- for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
- if (notification.getId() == id) {
- notificationManager.cancel(notification.getTag(), id);
- }
- }
- } else {
- notificationManager.cancel(tag, id);
-
- // See if other non-summary grouped notifications exist, and if not then clear the summary
- boolean clearSummary = true;
- for (StatusBarNotification notification : notificationManager.getActiveNotifications()) {
- if (notification.getId() == id && !Objects.equals(summaryTag, notification.getTag())) {
- clearSummary = false;
- break;
- }
- }
- if (clearSummary) {
- notificationManager.cancel(summaryTag, id);
- }
- }
- }
-}
diff --git a/java/com/android/dialer/notification/NotificationChannelId.java b/java/com/android/dialer/notification/NotificationChannelId.java
new file mode 100644
index 000000000..4ab3d44f2
--- /dev/null
+++ b/java/com/android/dialer/notification/NotificationChannelId.java
@@ -0,0 +1,41 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.notification;
+
+import android.support.annotation.StringDef;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/** Centralized source of all notification channels used by Dialer. */
+@Retention(RetentionPolicy.SOURCE)
+@StringDef({
+ NotificationChannelId.INCOMING_CALL,
+ NotificationChannelId.ONGOING_CALL,
+ NotificationChannelId.MISSED_CALL,
+ NotificationChannelId.DEFAULT,
+})
+public @interface NotificationChannelId {
+ // This value is white listed in the system.
+ // See /vendor/google/nexus_overlay/common/frameworks/base/core/res/res/values/config.xml
+ String INCOMING_CALL = "phone_incoming_call";
+
+ String ONGOING_CALL = "phone_ongoing_call";
+
+ String MISSED_CALL = "phone_missed_call";
+
+ String DEFAULT = "phone_default";
+}
diff --git a/java/com/android/dialer/notification/NotificationChannelManager.java b/java/com/android/dialer/notification/NotificationChannelManager.java
index 88679066d..790aac36f 100644
--- a/java/com/android/dialer/notification/NotificationChannelManager.java
+++ b/java/com/android/dialer/notification/NotificationChannelManager.java
@@ -17,366 +17,156 @@
package com.android.dialer.notification;
import android.annotation.TargetApi;
-import android.app.Notification;
import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
import android.app.NotificationManager;
import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
import android.media.AudioAttributes;
-import android.net.Uri;
import android.os.Build.VERSION_CODES;
-import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import android.support.annotation.RequiresApi;
-import android.support.annotation.StringDef;
import android.support.v4.os.BuildCompat;
-import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.telephony.TelephonyManager;
-import com.android.contacts.common.compat.TelephonyManagerCompat;
-import com.android.dialer.buildtype.BuildType;
+import android.util.ArraySet;
+import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.common.concurrent.DialerExecutors;
-import com.android.dialer.telecom.TelecomUtil;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.List;
-import java.util.Objects;
+import java.util.Set;
-/** Contains info on how to create {@link NotificationChannel NotificationChannels} */
-public class NotificationChannelManager {
-
- private static final String PREFS_FILENAME = "NotificationChannelManager";
- private static final String PREF_NEED_FIRST_INIT = "needFirstInit";
- private static NotificationChannelManager instance;
-
- public static NotificationChannelManager getInstance() {
- if (instance == null) {
- instance = new NotificationChannelManager();
- }
- return instance;
- }
+/** Creates all notification channels for Dialer. */
+@TargetApi(VERSION_CODES.O)
+public final class NotificationChannelManager {
/**
- * Set the channel of notification appropriately. Will create the channel if it does not already
- * exist. Safe to call pre-O (will no-op).
+ * Creates all the notification channels Dialer will need. This method is called at app startup
+ * and must be fast. Currently it takes between 3 to 7 milliseconds on a Pixel XL.
+ *
+ * <p>An alternative approach would be to lazily create channels when we actualy post a
+ * notification. The advatange to precreating channels is that:
*
- * <p>phoneAccount should only be null if channelName is {@link Channel#DEFAULT} or {@link
- * Channel#MISSED_CALL} since these do not have account-specific settings.
+ * <ul>
+ * <li>channels will be available to user right away. For example, users can customize voicemail
+ * sounds when they first get their device without waiting for a voicemail to arrive first.
+ * <li>code that posts a notification can be simpler
+ * <li>channel management code is simpler and it's easier to ensure that the correct set of
+ * channels are visible.
+ * <ul>
*/
- @TargetApi(26)
- public static void applyChannel(
- @NonNull Notification.Builder notification,
- @NonNull Context context,
- @Channel String channelName,
- @Nullable PhoneAccountHandle phoneAccount) {
- checkNullity(channelName, phoneAccount);
-
- if (BuildCompat.isAtLeastO()) {
- NotificationChannel channel =
- NotificationChannelManager.getInstance().getChannel(context, channelName, phoneAccount);
- notification.setChannelId(channel.getId());
- }
- }
-
- private static void checkNullity(
- @Channel String channelName, @Nullable PhoneAccountHandle phoneAccount) {
- if (phoneAccount != null || channelAllowsNullPhoneAccountHandle(channelName)) {
- return;
- }
-
- // TODO (b/36568553): don't throw an exception once most cases have been identified
- IllegalArgumentException exception =
- new IllegalArgumentException(
- "Phone account handle must not be null on channel " + channelName);
- if (BuildType.get() == BuildType.RELEASE) {
- LogUtil.e("NotificationChannelManager.applyChannel", null, exception);
- } else {
- throw exception;
- }
- }
-
- private static boolean channelAllowsNullPhoneAccountHandle(@Channel String channelName) {
- switch (channelName) {
- case Channel.DEFAULT:
- case Channel.MISSED_CALL:
- return true;
- default:
- return false;
- }
- }
+ public static void initChannels(@NonNull Context context) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
- /** The base Channel IDs for {@link NotificationChannel} */
- @Retention(RetentionPolicy.SOURCE)
- @StringDef({
- Channel.INCOMING_CALL,
- Channel.ONGOING_CALL,
- Channel.ONGOING_CALL_OLD,
- Channel.MISSED_CALL,
- Channel.VOICEMAIL,
- Channel.EXTERNAL_CALL,
- Channel.DEFAULT
- })
- public @interface Channel {
- @Deprecated String ONGOING_CALL_OLD = "ongoingCall";
- String INCOMING_CALL = "incomingCall";
- String ONGOING_CALL = "ongoingCall2";
- String MISSED_CALL = "missedCall";
- String VOICEMAIL = "voicemail";
- String EXTERNAL_CALL = "externalCall";
- String DEFAULT = "default";
- }
-
- @Channel
- private static final String[] prepopulatedAccountChannels =
- new String[] {Channel.INCOMING_CALL, Channel.ONGOING_CALL, Channel.VOICEMAIL};
-
- @Channel
- private static final String[] prepopulatedGlobalChannels =
- new String[] {Channel.MISSED_CALL, Channel.DEFAULT};
-
- private NotificationChannelManager() {}
-
- public void firstInitIfNeeded(@NonNull Context context) {
- if (BuildCompat.isAtLeastO()) {
- DialerExecutors.createNonUiTaskBuilder(this::firstInitIfNeededSync)
- .build()
- .executeSerial(context);
- }
- }
-
- private boolean firstInitIfNeededSync(@NonNull Context context) {
- if (needsFirstInit(context)) {
- initChannels(context);
- return true;
- }
- return false;
- }
-
- public boolean needsFirstInit(@NonNull Context context) {
- return (BuildCompat.isAtLeastO()
- && getSharedPreferences(context).getBoolean(PREF_NEED_FIRST_INIT, true));
- }
-
- @RequiresApi(VERSION_CODES.N)
- private SharedPreferences getSharedPreferences(@NonNull Context context) {
- // Use device protected storage since in some cases this will need to be accessed while device
- // is locked
- context = context.createDeviceProtectedStorageContext();
- return context.getSharedPreferences(PREFS_FILENAME, Context.MODE_PRIVATE);
- }
-
- @RequiresApi(26)
- public Intent getSettingsIntentForChannel(
- @NonNull Context context, @Channel String channelName, PhoneAccountHandle accountHandle) {
- checkNullity(channelName, accountHandle);
- Intent intent = new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS);
- intent.putExtra(
- Settings.EXTRA_CHANNEL_ID, getChannel(context, channelName, accountHandle).getId());
- intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
- return intent;
- }
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ Set<String> desiredChannelIds = getAllDesiredChannelIds(context);
+ Set<String> existingChannelIds = getAllExistingChannelIds(context);
- @TargetApi(26)
- @SuppressWarnings("AndroidApiChecker")
- public void initChannels(@NonNull Context context) {
- if (!BuildCompat.isAtLeastO()) {
+ if (desiredChannelIds.equals(existingChannelIds)) {
return;
}
- LogUtil.enterBlock("NotificationChannelManager.initChannels");
- List<PhoneAccountHandle> phoneAccounts = TelecomUtil.getCallCapablePhoneAccounts(context);
-
- // Remove notification channels for PhoneAccounts that don't exist anymore
- NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
- List<NotificationChannelGroup> notificationChannelGroups =
- notificationManager.getNotificationChannelGroups();
- notificationChannelGroups
- .stream()
- .filter(group -> !idExists(group.getId(), phoneAccounts))
- .forEach(group -> deleteGroup(notificationManager, group));
-
- for (PhoneAccountHandle phoneAccountHandle : phoneAccounts) {
- for (@Channel String channel : prepopulatedAccountChannels) {
- getChannel(context, channel, phoneAccountHandle);
+ LogUtil.i(
+ "NotificationChannelManager.initChannels",
+ "doing an expensive initialization of all notification channels");
+ LogUtil.i(
+ "NotificationChannelManager.initChannels", "desired channel IDs: " + desiredChannelIds);
+ LogUtil.i(
+ "NotificationChannelManager.initChannels", "existing channel IDs: " + existingChannelIds);
+
+ // Delete any old channels that we don't use any more. This is safe because if we're recreate
+ // this later then any user settings will be restored. An example is SIM specific voicemail
+ // channel that gets deleted when the user removes the SIM and is then restored when the user
+ // re-inserts the SIM.
+ for (String existingChannelId : existingChannelIds) {
+ if (!desiredChannelIds.contains(existingChannelId)) {
+ notificationManager.deleteNotificationChannel(existingChannelId);
}
}
- for (@Channel String channel : prepopulatedGlobalChannels) {
- getChannel(context, channel, null);
- }
- getSharedPreferences(context).edit().putBoolean(PREF_NEED_FIRST_INIT, false).apply();
- }
-
- @TargetApi(26)
- private void deleteGroup(
- @NonNull NotificationManager notificationManager, @NonNull NotificationChannelGroup group) {
- for (NotificationChannel channel : group.getChannels()) {
- notificationManager.deleteNotificationChannel(channel.getId());
- }
- notificationManager.deleteNotificationChannelGroup(group.getId());
- }
-
- private boolean idExists(String id, List<PhoneAccountHandle> phoneAccountHandles) {
- for (PhoneAccountHandle handle : phoneAccountHandles) {
- if (Objects.equals(handle.getId(), id)) {
- return true;
- }
- }
- return false;
+ // Just recreate all desired channels. We won't do this often so it's ok to do this now.
+ createIncomingCallChannel(context);
+ createOngoingCallChannel(context);
+ createMissedCallChannel(context);
+ createDefaultChannel(context);
+ VoicemailChannelUtils.createAllChannels(context);
}
@NonNull
- @RequiresApi(26)
- private NotificationChannel getChannel(
- @NonNull Context context,
- @Channel String channelName,
- @Nullable PhoneAccountHandle phoneAccount) {
- String channelId = channelNameToId(channelName, phoneAccount);
- NotificationChannel channel = getNotificationManager(context).getNotificationChannel(channelId);
- if (channel == null) {
- channel = createChannel(context, channelName, phoneAccount);
- }
- return channel;
+ public static String getVoicemailChannelId(
+ @NonNull Context context, @Nullable PhoneAccountHandle handle) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
+ return VoicemailChannelUtils.getChannelId(context, handle);
}
- private static String channelNameToId(
- @Channel String name, @Nullable PhoneAccountHandle phoneAccountHandle) {
- if (phoneAccountHandle == null) {
- return name;
- } else {
- return name + ":" + phoneAccountHandle.getId();
- }
- }
-
- @RequiresApi(26)
- private NotificationChannel createChannel(
- Context context,
- @Channel String channelName,
- @Nullable PhoneAccountHandle phoneAccountHandle) {
- String channelId = channelNameToId(channelName, phoneAccountHandle);
-
- if (phoneAccountHandle != null) {
- PhoneAccount account = getTelecomManager(context).getPhoneAccount(phoneAccountHandle);
- NotificationChannelGroup group =
- new NotificationChannelGroup(
- phoneAccountHandle.getId(),
- (account == null) ? phoneAccountHandle.getId() : account.getLabel().toString());
- getNotificationManager(context)
- .createNotificationChannelGroup(group); // No-op if already exists
- } else if (!channelAllowsNullPhoneAccountHandle(channelName)) {
- LogUtil.w(
- "NotificationChannelManager.createChannel",
- "Null PhoneAccountHandle with channel " + channelName);
- }
-
- Uri silentRingtone = Uri.EMPTY;
-
- CharSequence name;
- int importance;
- boolean canShowBadge;
- boolean lights;
- boolean vibration;
- Uri sound;
- switch (channelName) {
- case Channel.INCOMING_CALL:
- name = context.getText(R.string.notification_channel_incoming_call);
- importance = NotificationManager.IMPORTANCE_MAX;
- canShowBadge = false;
- lights = true;
- vibration = false;
- sound = silentRingtone;
- break;
- case Channel.MISSED_CALL:
- name = context.getText(R.string.notification_channel_missed_call);
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- canShowBadge = true;
- lights = true;
- vibration = true;
- sound = silentRingtone;
- break;
- case Channel.ONGOING_CALL:
- name = context.getText(R.string.notification_channel_ongoing_call);
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- canShowBadge = false;
- lights = false;
- vibration = false;
- sound = silentRingtone;
- deleteOldOngoingCallChannelIfNeeded(context, phoneAccountHandle);
- break;
- case Channel.VOICEMAIL:
- name = context.getText(R.string.notification_channel_voicemail);
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- canShowBadge = true;
- lights = true;
- vibration =
- TelephonyManagerCompat.isVoicemailVibrationEnabled(
- getTelephonyManager(context), phoneAccountHandle);
- sound =
- TelephonyManagerCompat.getVoicemailRingtoneUri(
- getTelephonyManager(context), phoneAccountHandle);
- break;
- case Channel.EXTERNAL_CALL:
- name = context.getText(R.string.notification_channel_external_call);
- importance = NotificationManager.IMPORTANCE_HIGH;
- canShowBadge = false;
- lights = true;
- vibration = true;
- sound = null;
- break;
- case Channel.DEFAULT:
- name = context.getText(R.string.notification_channel_misc);
- importance = NotificationManager.IMPORTANCE_DEFAULT;
- canShowBadge = false;
- lights = true;
- vibration = true;
- sound = null;
- break;
- default:
- throw new IllegalArgumentException("Unknown channel: " + channelName);
- }
-
- NotificationChannel channel = new NotificationChannel(channelId, name, importance);
- channel.setShowBadge(canShowBadge);
- if (sound != null) {
- // silentRingtone acts as a sentinel value to indicate that setSound should still be called,
- // but with a null value to indicate no sound.
- channel.setSound(
- sound.equals(silentRingtone) ? null : sound,
- new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
- }
- channel.enableLights(lights);
- channel.enableVibration(vibration);
- getNotificationManager(context).createNotificationChannel(channel);
- return channel;
- }
-
- @RequiresApi(26)
- private void deleteOldOngoingCallChannelIfNeeded(
- @NonNull Context context, PhoneAccountHandle phoneAccountHandle) {
- String channelId = channelNameToId(Channel.ONGOING_CALL_OLD, phoneAccountHandle);
- NotificationManager notificationManager = getNotificationManager(context);
- NotificationChannel channel = notificationManager.getNotificationChannel(channelId);
- if (channel != null) {
- LogUtil.i(
- "NotificationManager.deleteOldOngoingCallChannelIfNeeded",
- "Old ongoing channel found. Deleting to create new channel");
- notificationManager.deleteNotificationChannel(channel.getId());
- }
- }
-
- private static NotificationManager getNotificationManager(@NonNull Context context) {
- return context.getSystemService(NotificationManager.class);
- }
-
- private static TelephonyManager getTelephonyManager(@NonNull Context context) {
- return context.getSystemService(TelephonyManager.class);
+ private static Set<String> getAllExistingChannelIds(@NonNull Context context) {
+ Set<String> result = new ArraySet<>();
+ NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
+ for (NotificationChannel channel : notificationManager.getNotificationChannels()) {
+ result.add(channel.getId());
+ }
+ return result;
+ }
+
+ private static Set<String> getAllDesiredChannelIds(@NonNull Context context) {
+ Set<String> result = new ArraySet<>();
+ result.add(NotificationChannelId.INCOMING_CALL);
+ result.add(NotificationChannelId.ONGOING_CALL);
+ result.add(NotificationChannelId.MISSED_CALL);
+ result.add(NotificationChannelId.DEFAULT);
+ result.addAll(VoicemailChannelUtils.getAllChannelIds(context));
+ return result;
+ }
+
+ private static void createIncomingCallChannel(@NonNull Context context) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ NotificationChannelId.INCOMING_CALL,
+ context.getText(R.string.notification_channel_incoming_call),
+ NotificationManager.IMPORTANCE_MAX);
+ channel.setShowBadge(false);
+ channel.enableLights(true);
+ channel.enableVibration(false);
+ channel.setSound(
+ null, new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static void createOngoingCallChannel(@NonNull Context context) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ NotificationChannelId.ONGOING_CALL,
+ context.getText(R.string.notification_channel_ongoing_call),
+ NotificationManager.IMPORTANCE_DEFAULT);
+ channel.setShowBadge(false);
+ channel.enableLights(false);
+ channel.enableVibration(false);
+ channel.setSound(
+ null, new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static void createMissedCallChannel(@NonNull Context context) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ NotificationChannelId.MISSED_CALL,
+ context.getText(R.string.notification_channel_missed_call),
+ NotificationManager.IMPORTANCE_DEFAULT);
+ channel.setShowBadge(true);
+ channel.enableLights(true);
+ channel.enableVibration(true);
+ channel.setSound(
+ null, new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static void createDefaultChannel(@NonNull Context context) {
+ NotificationChannel channel =
+ new NotificationChannel(
+ NotificationChannelId.DEFAULT,
+ context.getText(R.string.notification_channel_misc),
+ NotificationManager.IMPORTANCE_DEFAULT);
+ channel.setShowBadge(false);
+ channel.enableLights(true);
+ channel.enableVibration(true);
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
}
- private static TelecomManager getTelecomManager(@NonNull Context context) {
- return context.getSystemService(TelecomManager.class);
- }
+ private NotificationChannelManager() {}
}
diff --git a/java/com/android/dialer/notification/VoicemailChannelUtils.java b/java/com/android/dialer/notification/VoicemailChannelUtils.java
new file mode 100644
index 000000000..dc74799ca
--- /dev/null
+++ b/java/com/android/dialer/notification/VoicemailChannelUtils.java
@@ -0,0 +1,217 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.notification;
+
+import android.annotation.TargetApi;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.media.AudioAttributes;
+import android.os.Build.VERSION_CODES;
+import android.provider.Settings;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.v4.os.BuildCompat;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.ArraySet;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+/** Utilities for working with voicemail channels. */
+@TargetApi(VERSION_CODES.O)
+/* package */ final class VoicemailChannelUtils {
+ private static final String GLOBAL_VOICEMAIL_CHANNEL_ID = "phone_voicemail";
+ private static final String PER_ACCOUNT_VOICEMAIL_CHANNEL_ID_PREFIX = "phone_voicemail_account_";
+
+ static Set<String> getAllChannelIds(@NonNull Context context) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
+
+ Set<String> result = new ArraySet<>();
+ if (isSingleSimDevice(context)) {
+ result.add(GLOBAL_VOICEMAIL_CHANNEL_ID);
+ } else {
+ for (PhoneAccountHandle handle : getAllEligableAccounts(context)) {
+ result.add(getChannelIdForAccount(handle));
+ }
+ }
+ return result;
+ }
+
+ static void createAllChannels(@NonNull Context context) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
+
+ if (isSingleSimDevice(context)) {
+ createGlobalVoicemailChannel(context);
+ } else {
+ for (PhoneAccountHandle handle : getAllEligableAccounts(context)) {
+ createVoicemailChannelForAccount(context, handle);
+ }
+ }
+ }
+
+ @NonNull
+ static String getChannelId(@NonNull Context context, @Nullable PhoneAccountHandle handle) {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isNotNull(context);
+
+ // Most devices we deal with have a single SIM slot. No need to distinguish between phone
+ // accounts.
+ if (isSingleSimDevice(context)) {
+ return GLOBAL_VOICEMAIL_CHANNEL_ID;
+ }
+
+ // We can get a null phone account at random points (modem reboot, etc...). Gracefully degrade
+ // by using the default channel.
+ if (handle == null) {
+ LogUtil.i(
+ "VoicemailChannelUtils.getChannelId",
+ "no phone account on a multi-SIM device, using default channel");
+ return NotificationChannelId.DEFAULT;
+ }
+
+ // Voicemail notifications should always be associated with a SIM based phone account.
+ if (!isChannelAllowedForAccount(context, handle)) {
+ LogUtil.i(
+ "VoicemailChannelUtils.getChannelId",
+ "phone account is not for a SIM, using default channel");
+ return NotificationChannelId.DEFAULT;
+ }
+
+ // Now we're in the multi-SIM case.
+ String channelId = getChannelIdForAccount(handle);
+ if (!doesChannelExist(context, channelId)) {
+ LogUtil.i(
+ "VoicemailChannelUtils.getChannelId",
+ "voicemail channel not found for phone account (possible SIM swap?), creating a new one");
+ createVoicemailChannelForAccount(context, handle);
+ }
+ return channelId;
+ }
+
+ private static boolean doesChannelExist(@NonNull Context context, @NonNull String channelId) {
+ return context.getSystemService(NotificationManager.class).getNotificationChannel(channelId)
+ != null;
+ }
+
+ private static String getChannelIdForAccount(@NonNull PhoneAccountHandle handle) {
+ Assert.isNotNull(handle);
+ return PER_ACCOUNT_VOICEMAIL_CHANNEL_ID_PREFIX + ":" + handle.getId();
+ }
+
+ /**
+ * Creates a voicemail channel but doesn't associate it with a SIM. For devices with only one SIM
+ * slot this is ideal because there won't be duplication in the settings UI.
+ */
+ private static void createGlobalVoicemailChannel(@NonNull Context context) {
+ NotificationChannel channel = newChannel(context, GLOBAL_VOICEMAIL_CHANNEL_ID, null);
+
+ TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
+ PhoneAccountHandle handle =
+ telecomManager.getDefaultOutgoingPhoneAccount(PhoneAccount.SCHEME_TEL);
+ if (handle == null) {
+ LogUtil.i(
+ "VoicemailChannelUtils.createGlobalVoicemailChannel",
+ "phone account is null, not migrating sound settings");
+ } else if (!isChannelAllowedForAccount(context, handle)) {
+ LogUtil.i(
+ "VoicemailChannelUtils.createGlobalVoicemailChannel",
+ "phone account is not eligable, not migrating sound settings");
+ } else {
+ migrateVoicemailSoundSettings(context, channel, handle);
+ }
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static List<PhoneAccountHandle> getAllEligableAccounts(@NonNull Context context) {
+ List<PhoneAccountHandle> handles = new ArrayList<>();
+ TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
+ for (PhoneAccountHandle handle : telecomManager.getCallCapablePhoneAccounts()) {
+ if (isChannelAllowedForAccount(context, handle)) {
+ handles.add(handle);
+ }
+ }
+ return handles;
+ }
+
+ private static void createVoicemailChannelForAccount(
+ @NonNull Context context, @NonNull PhoneAccountHandle handle) {
+ PhoneAccount phoneAccount =
+ context.getSystemService(TelecomManager.class).getPhoneAccount(handle);
+ NotificationChannel channel =
+ newChannel(context, getChannelIdForAccount(handle), phoneAccount.getLabel());
+ migrateVoicemailSoundSettings(context, channel, handle);
+ context.getSystemService(NotificationManager.class).createNotificationChannel(channel);
+ }
+
+ private static void migrateVoicemailSoundSettings(
+ @NonNull Context context,
+ @NonNull NotificationChannel channel,
+ @NonNull PhoneAccountHandle handle) {
+ TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
+ channel.enableVibration(telephonyManager.isVoicemailVibrationEnabled(handle));
+ channel.setSound(
+ telephonyManager.getVoicemailRingtoneUri(handle),
+ new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ }
+
+ private static boolean isChannelAllowedForAccount(
+ @NonNull Context context, @NonNull PhoneAccountHandle handle) {
+ PhoneAccount phoneAccount =
+ context.getSystemService(TelecomManager.class).getPhoneAccount(handle);
+ if (phoneAccount == null) {
+ return false;
+ }
+ if (!phoneAccount.hasCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)) {
+ return false;
+ }
+ return true;
+ }
+
+ private static NotificationChannel newChannel(
+ @NonNull Context context, @NonNull String channelId, @Nullable CharSequence nameSuffix) {
+ CharSequence name = context.getText(R.string.notification_channel_voicemail);
+ // TODO: Use a string resource template after v10.
+ if (!TextUtils.isEmpty(nameSuffix)) {
+ name = TextUtils.concat(name, ": ", nameSuffix);
+ }
+
+ NotificationChannel channel =
+ new NotificationChannel(channelId, name, NotificationManager.IMPORTANCE_DEFAULT);
+ channel.setShowBadge(true);
+ channel.enableLights(true);
+ channel.enableVibration(true);
+ channel.setSound(
+ Settings.System.DEFAULT_NOTIFICATION_URI,
+ new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION).build());
+ return channel;
+ }
+
+ private static boolean isSingleSimDevice(@NonNull Context context) {
+ return context.getSystemService(TelephonyManager.class).getPhoneCount() <= 1;
+ }
+
+ private VoicemailChannelUtils() {}
+}
diff --git a/java/com/android/dialer/notification/res/values-af/strings.xml b/java/com/android/dialer/notification/res/values-af/strings.xml
index 08dd754dd..e48249b3c 100644
--- a/java/com/android/dialer/notification/res/values-af/strings.xml
+++ b/java/com/android/dialer/notification/res/values-af/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Deurlopende oproepe"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Gemiste oproepe"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Stemboodskappe"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Ekterne oproepe"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Verstek"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-am/strings.xml b/java/com/android/dialer/notification/res/values-am/strings.xml
index 56d6c2ca1..0983e0591 100644
--- a/java/com/android/dialer/notification/res/values-am/strings.xml
+++ b/java/com/android/dialer/notification/res/values-am/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"በመካሄድ ላይ ያሉ ጥሪዎች"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ያመለጡ ጥሪዎች"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"የድምፅ መልዕክቶች"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ውጫዊ ጥሪዎች"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ነባሪ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ar/strings.xml b/java/com/android/dialer/notification/res/values-ar/strings.xml
index 71857c274..ab6059ff1 100644
--- a/java/com/android/dialer/notification/res/values-ar/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ar/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"المكالمات الجارية"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"المكالمات الفائتة"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"رسائل البريد الصوتي"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"المكالمات الخارجية"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"افتراضي"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-az/strings.xml b/java/com/android/dialer/notification/res/values-az/strings.xml
index f907e554e..425f30ad7 100644
--- a/java/com/android/dialer/notification/res/values-az/strings.xml
+++ b/java/com/android/dialer/notification/res/values-az/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Gedən zənglər"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Buraxılmış zənglər"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Səsli məktublar"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"External calls"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Defolt"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml
index 4d5b5e78a..4598e7644 100644
--- a/java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/notification/res/values-b+sr+Latn/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pozivi u toku"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Propušteni pozivi"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Govorne poruke"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Spoljni pozivi"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Podrazumevano"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-be/strings.xml b/java/com/android/dialer/notification/res/values-be/strings.xml
index 70defe342..586a36c31 100644
--- a/java/com/android/dialer/notification/res/values-be/strings.xml
+++ b/java/com/android/dialer/notification/res/values-be/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Адбываючыяся выклікі"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Прапушчаныя выклікі"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Галасавая пошта"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Знешнія выклікі"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Стандартны"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-bg/strings.xml b/java/com/android/dialer/notification/res/values-bg/strings.xml
index 1ec202e6c..9bc8f8f02 100644
--- a/java/com/android/dialer/notification/res/values-bg/strings.xml
+++ b/java/com/android/dialer/notification/res/values-bg/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Текущи обаждания"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропуснати обаждания"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Гласови съобщения"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Външни обаждания"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"По подразбиране"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-bn/strings.xml b/java/com/android/dialer/notification/res/values-bn/strings.xml
index 886f8317d..1d7781797 100644
--- a/java/com/android/dialer/notification/res/values-bn/strings.xml
+++ b/java/com/android/dialer/notification/res/values-bn/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"সংযুক্ত কল"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"মিস করা কল"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ভয়েসমেল"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"বাহ্যিক কল"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ডিফল্ট"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-bs/strings.xml b/java/com/android/dialer/notification/res/values-bs/strings.xml
index e408a6468..dedbb1c2d 100644
--- a/java/com/android/dialer/notification/res/values-bs/strings.xml
+++ b/java/com/android/dialer/notification/res/values-bs/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Tekući pozivi"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Propušteni pozivi"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Poruke govorne pošte"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Vanjski pozivi"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Zadano"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ca/strings.xml b/java/com/android/dialer/notification/res/values-ca/strings.xml
index ea81b627a..1c19d0f74 100644
--- a/java/com/android/dialer/notification/res/values-ca/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ca/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Trucades en curs"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Trucades perdudes"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Missatges de veu"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Trucades externes"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predeterminat"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-cs/strings.xml b/java/com/android/dialer/notification/res/values-cs/strings.xml
index 9ea7b61ca..c428ca2f3 100644
--- a/java/com/android/dialer/notification/res/values-cs/strings.xml
+++ b/java/com/android/dialer/notification/res/values-cs/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Probíhající hovory"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Zmeškané hovory"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Hlasové zprávy"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externí hovory"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Výchozí"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-da/strings.xml b/java/com/android/dialer/notification/res/values-da/strings.xml
index e4fc4dded..7f0ce9f10 100644
--- a/java/com/android/dialer/notification/res/values-da/strings.xml
+++ b/java/com/android/dialer/notification/res/values-da/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Igangværende opkald"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Ubesvarede opkald"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Talebeskeder"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Eksterne opkald"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-de/strings.xml b/java/com/android/dialer/notification/res/values-de/strings.xml
index 7fce6bf47..86b752016 100644
--- a/java/com/android/dialer/notification/res/values-de/strings.xml
+++ b/java/com/android/dialer/notification/res/values-de/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Laufende Anrufe"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Entgangene Anrufe"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mailboxnachrichten"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externe Anrufe"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-el/strings.xml b/java/com/android/dialer/notification/res/values-el/strings.xml
index a25bb43e9..812dc2564 100644
--- a/java/com/android/dialer/notification/res/values-el/strings.xml
+++ b/java/com/android/dialer/notification/res/values-el/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Κλήσεις σε εξέλιξη"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Αναπάντητες κλήσεις"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Μηνύματα αυτόματου τηλεφωνητή"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Εξωτερικές κλήσεις"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Προεπιλογή"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-en-rAU/strings.xml b/java/com/android/dialer/notification/res/values-en-rAU/strings.xml
index 7d4bd825b..43b722beb 100644
--- a/java/com/android/dialer/notification/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/notification/res/values-en-rAU/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Ongoing calls"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Missed calls"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Voicemail"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"External calls"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-en-rGB/strings.xml b/java/com/android/dialer/notification/res/values-en-rGB/strings.xml
index 7d4bd825b..43b722beb 100644
--- a/java/com/android/dialer/notification/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/notification/res/values-en-rGB/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Ongoing calls"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Missed calls"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Voicemail"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"External calls"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-en-rIN/strings.xml b/java/com/android/dialer/notification/res/values-en-rIN/strings.xml
index 7d4bd825b..43b722beb 100644
--- a/java/com/android/dialer/notification/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/notification/res/values-en-rIN/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Ongoing calls"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Missed calls"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Voicemail"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"External calls"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-es-rUS/strings.xml b/java/com/android/dialer/notification/res/values-es-rUS/strings.xml
index fe8fe1354..c56edcfe6 100644
--- a/java/com/android/dialer/notification/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/notification/res/values-es-rUS/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Llamadas en curso"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Llamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mensajes de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Llamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predeterminado"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-es/strings.xml b/java/com/android/dialer/notification/res/values-es/strings.xml
index fe8fe1354..c56edcfe6 100644
--- a/java/com/android/dialer/notification/res/values-es/strings.xml
+++ b/java/com/android/dialer/notification/res/values-es/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Llamadas en curso"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Llamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mensajes de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Llamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predeterminado"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-et/strings.xml b/java/com/android/dialer/notification/res/values-et/strings.xml
index 41623951f..9c60a3195 100644
--- a/java/com/android/dialer/notification/res/values-et/strings.xml
+++ b/java/com/android/dialer/notification/res/values-et/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Käimasolevad kõned"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Vastamata kõned"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Kõnepostisõnumid"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Välised kõned"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Vaikeseade"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-eu/strings.xml b/java/com/android/dialer/notification/res/values-eu/strings.xml
index 326ac0ab6..d94ac0ab6 100644
--- a/java/com/android/dialer/notification/res/values-eu/strings.xml
+++ b/java/com/android/dialer/notification/res/values-eu/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Abian diren deiak"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Dei galduak"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Ahots-mezuak"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Kanpoko deiak"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Lehenetsia"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-fa/strings.xml b/java/com/android/dialer/notification/res/values-fa/strings.xml
index f1a7efc3d..edbc98336 100644
--- a/java/com/android/dialer/notification/res/values-fa/strings.xml
+++ b/java/com/android/dialer/notification/res/values-fa/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"تماس‌های درحال انجام"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"تماس‌های بی‌پاسخ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"پست‌های صوتی"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"تماس‌های خارجی"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"پیش‌فرض"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-fi/strings.xml b/java/com/android/dialer/notification/res/values-fi/strings.xml
index c88c2325a..87652f8a8 100644
--- a/java/com/android/dialer/notification/res/values-fi/strings.xml
+++ b/java/com/android/dialer/notification/res/values-fi/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Käynnissä olevat puhelut"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Vastaamattomat puhelut"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Vastaajaviestit"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Ulkopuoliset puhelut"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Oletus"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-fr-rCA/strings.xml b/java/com/android/dialer/notification/res/values-fr-rCA/strings.xml
index a21d6b28b..5a2d7dcfe 100644
--- a/java/com/android/dialer/notification/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/notification/res/values-fr-rCA/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Appels en cours"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Appels manqués"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Messages vocaux"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Appels externes"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Par défaut"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-fr/strings.xml b/java/com/android/dialer/notification/res/values-fr/strings.xml
index a21d6b28b..5a2d7dcfe 100644
--- a/java/com/android/dialer/notification/res/values-fr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-fr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Appels en cours"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Appels manqués"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Messages vocaux"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Appels externes"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Par défaut"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-gl/strings.xml b/java/com/android/dialer/notification/res/values-gl/strings.xml
index 3b57a59b3..0e7fb612b 100644
--- a/java/com/android/dialer/notification/res/values-gl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-gl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chamadas saíntes"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Correos de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predeterminado"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-gu/strings.xml b/java/com/android/dialer/notification/res/values-gu/strings.xml
index f185e5971..a4a0a7ae1 100644
--- a/java/com/android/dialer/notification/res/values-gu/strings.xml
+++ b/java/com/android/dialer/notification/res/values-gu/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ચાલુ કૉલ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"છૂટેલા કૉલ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"વૉઇસમેઇલ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"બાહ્ય કૉલ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ડિફૉલ્ટ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-hi/strings.xml b/java/com/android/dialer/notification/res/values-hi/strings.xml
index 89c8e5547..69ed9b0b2 100644
--- a/java/com/android/dialer/notification/res/values-hi/strings.xml
+++ b/java/com/android/dialer/notification/res/values-hi/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"चल रहे कॉल"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"छूटे कॉल"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"वॉइसमेल"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"बाहरी कॉल"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"डिफ़ॉल्ट"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-hr/strings.xml b/java/com/android/dialer/notification/res/values-hr/strings.xml
index 9f786d7d8..a5924c3ce 100644
--- a/java/com/android/dialer/notification/res/values-hr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-hr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pozivi u tijeku"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Propušteni pozivi"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Poruke govorne pošte"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Vanjski pozivi"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Zadano"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-hu/strings.xml b/java/com/android/dialer/notification/res/values-hu/strings.xml
index 09fa795d6..719252f0f 100644
--- a/java/com/android/dialer/notification/res/values-hu/strings.xml
+++ b/java/com/android/dialer/notification/res/values-hu/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Kimenő hívások"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Nem fogadott hívások"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Hangüzenetek"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Külső hívások"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Alapértelmezett"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-hy/strings.xml b/java/com/android/dialer/notification/res/values-hy/strings.xml
index 693898a55..6bb2c34e3 100644
--- a/java/com/android/dialer/notification/res/values-hy/strings.xml
+++ b/java/com/android/dialer/notification/res/values-hy/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Ընթացիկ զանգեր"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Բաց թողնված զանգեր"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Ձայնային փոստ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Արտաքին զանգեր"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Կանխադրված"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-in/strings.xml b/java/com/android/dialer/notification/res/values-in/strings.xml
index 405b2927d..88ef3d524 100644
--- a/java/com/android/dialer/notification/res/values-in/strings.xml
+++ b/java/com/android/dialer/notification/res/values-in/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Panggilan keluar"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Panggilan tak terjawab"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Pesan suara"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Panggilan eksternal"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-is/strings.xml b/java/com/android/dialer/notification/res/values-is/strings.xml
index be84917fc..166d97443 100644
--- a/java/com/android/dialer/notification/res/values-is/strings.xml
+++ b/java/com/android/dialer/notification/res/values-is/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Símtöl í gangi"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Ósvöruð símtöl"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Talhólfsskilaboð"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Utanaðkomandi símtöl"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Sjálfgefið"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-it/strings.xml b/java/com/android/dialer/notification/res/values-it/strings.xml
index 1ac6e2d41..7b55da991 100644
--- a/java/com/android/dialer/notification/res/values-it/strings.xml
+++ b/java/com/android/dialer/notification/res/values-it/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chiamate in uscita"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chiamate perse"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Messaggi vocali"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chiamate esterne"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predefinito"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-iw/strings.xml b/java/com/android/dialer/notification/res/values-iw/strings.xml
index ed07b8643..2b8b9df33 100644
--- a/java/com/android/dialer/notification/res/values-iw/strings.xml
+++ b/java/com/android/dialer/notification/res/values-iw/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"שיחות יוצאות"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"שיחות שלא נענו"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"הודעות קוליות"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"שיחות חיצוניות"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ברירת מחדל"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ja/strings.xml b/java/com/android/dialer/notification/res/values-ja/strings.xml
index 3265d7266..2ff8da7d0 100644
--- a/java/com/android/dialer/notification/res/values-ja/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ja/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"通話中"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"不在着信"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ボイスメール"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"外部通話"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"デフォルト"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ka/strings.xml b/java/com/android/dialer/notification/res/values-ka/strings.xml
index 6d81465e2..73394efeb 100644
--- a/java/com/android/dialer/notification/res/values-ka/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ka/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"გამავალი ზარები"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"გამოტოვებული ზარები"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ხმოვანი ფოსტა"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"გარე ზარები"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ნაგულისხმევი"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-kk/strings.xml b/java/com/android/dialer/notification/res/values-kk/strings.xml
index 35733fb04..8151c9ca9 100644
--- a/java/com/android/dialer/notification/res/values-kk/strings.xml
+++ b/java/com/android/dialer/notification/res/values-kk/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Қазіргі қоңыраулар"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Қабылданбаған қоңыраулар"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Дауыстық хабарлар"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Сыртқы қоңыраулар"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Әдепкі"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-km/strings.xml b/java/com/android/dialer/notification/res/values-km/strings.xml
index 42bc11350..22131ff39 100644
--- a/java/com/android/dialer/notification/res/values-km/strings.xml
+++ b/java/com/android/dialer/notification/res/values-km/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ការ​ហៅ​បន្ត"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ការ​ហៅ​ដែល​មិន​បាន​ទទួល"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"សារ​ជា​សំឡេង"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ការ​ហៅខាង​ក្រៅ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"លំ​នាំ​ដើម"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-kn/strings.xml b/java/com/android/dialer/notification/res/values-kn/strings.xml
index 45f26e378..d6e55bdb1 100644
--- a/java/com/android/dialer/notification/res/values-kn/strings.xml
+++ b/java/com/android/dialer/notification/res/values-kn/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಗಳು"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ಮಿಸ್ಡ್‌ ಕರೆಗಳು"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ಧ್ವನಿಮೇಲ್‌ಗಳು"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ಹೊರಗಿನ ಕರೆಗಳು"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ಡಿಫಾಲ್ಟ್"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ko/strings.xml b/java/com/android/dialer/notification/res/values-ko/strings.xml
index d806cad06..5a667176d 100644
--- a/java/com/android/dialer/notification/res/values-ko/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ko/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"진행 중인 전화"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"부재중 전화"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"음성사서함"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"외부 전화"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"기본"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ky/strings.xml b/java/com/android/dialer/notification/res/values-ky/strings.xml
index eb6adf6e7..c5259315a 100644
--- a/java/com/android/dialer/notification/res/values-ky/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ky/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Учурдагы чалуулар"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Кабыл алынбаган чалуулар"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Үнкаттар"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Тышкы чалуулар"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Демейки"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-lo/strings.xml b/java/com/android/dialer/notification/res/values-lo/strings.xml
index f439807de..a52d9df14 100644
--- a/java/com/android/dialer/notification/res/values-lo/strings.xml
+++ b/java/com/android/dialer/notification/res/values-lo/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ສາຍໂທອອກ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ສາຍບໍ່ໄດ້ຮັບ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ຂໍ້ຄວາມສຽງ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ສາຍພາຍນອກ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ຄ່າເລີ່ມຕົ້ນ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-lt/strings.xml b/java/com/android/dialer/notification/res/values-lt/strings.xml
index f08697ad6..6f26d3e66 100644
--- a/java/com/android/dialer/notification/res/values-lt/strings.xml
+++ b/java/com/android/dialer/notification/res/values-lt/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Vykstantys skambučiai"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Praleisti skambučiai"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Balso pašto pranešimai"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Išoriniai skambučiai"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Numatytasis"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-lv/strings.xml b/java/com/android/dialer/notification/res/values-lv/strings.xml
index d465b682d..1819d810a 100644
--- a/java/com/android/dialer/notification/res/values-lv/strings.xml
+++ b/java/com/android/dialer/notification/res/values-lv/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Aktīvie zvani"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Neatbildētie zvani"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Balss pasta ziņojumi"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Ārējie zvani"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Noklusējums"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-mk/strings.xml b/java/com/android/dialer/notification/res/values-mk/strings.xml
index 838065ba9..56459c479 100644
--- a/java/com/android/dialer/notification/res/values-mk/strings.xml
+++ b/java/com/android/dialer/notification/res/values-mk/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Појдовни повици"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропуштени повици"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Говорни пораки"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Надворешни повици"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Стандардно"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ml/strings.xml b/java/com/android/dialer/notification/res/values-ml/strings.xml
index 448186a36..49a64e8f5 100644
--- a/java/com/android/dialer/notification/res/values-ml/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ml/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"നിലവിലുള്ള കോളുകൾ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"മിസ്‌ഡ് കോളുകൾ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"വോയ്‌സ്മെയിലുകൾ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"എക്‌സ്റ്റേണൽ കോളുകൾ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ഡിഫോൾട്ട്"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-mn/strings.xml b/java/com/android/dialer/notification/res/values-mn/strings.xml
index 3dca52e6b..28297b3c1 100644
--- a/java/com/android/dialer/notification/res/values-mn/strings.xml
+++ b/java/com/android/dialer/notification/res/values-mn/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Үргэлжилж буй дуудлага"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Аваагүй дуудлага"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Дуут шуудан"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Гадаад дуудлага"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Өгөгдмөл"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-mr/strings.xml b/java/com/android/dialer/notification/res/values-mr/strings.xml
index 568537640..38fbd606a 100644
--- a/java/com/android/dialer/notification/res/values-mr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-mr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"सुरू असलेले कॉल"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"सुटलेले कॉल"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"व्हॉइसमेल"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"बाह्य कॉल"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"डीफॉल्ट"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ms/strings.xml b/java/com/android/dialer/notification/res/values-ms/strings.xml
index a1961c4a4..ec7be04ef 100644
--- a/java/com/android/dialer/notification/res/values-ms/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ms/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Panggilan sedang berlangsung"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Panggilan terlepas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mel suara"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Panggilan luar"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Lalai"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-my/strings.xml b/java/com/android/dialer/notification/res/values-my/strings.xml
index 26398b459..44df84798 100644
--- a/java/com/android/dialer/notification/res/values-my/strings.xml
+++ b/java/com/android/dialer/notification/res/values-my/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"လက်ရှိခေါ်ဆိုမှုများ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"လွဲသွားသော ခေါ်ဆိုမှုများ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"အသံစာပို့စနစ်များ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ပြင်ပခေါ်ဆိုမှုများ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"မူရင်း"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-nb/strings.xml b/java/com/android/dialer/notification/res/values-nb/strings.xml
index e4ccd48a0..8e63fd24b 100644
--- a/java/com/android/dialer/notification/res/values-nb/strings.xml
+++ b/java/com/android/dialer/notification/res/values-nb/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pågående samtaler"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Tapte anrop"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Talepost"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Eksterne anrop"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ne/strings.xml b/java/com/android/dialer/notification/res/values-ne/strings.xml
index 8ccd2997a..e653bb3f8 100644
--- a/java/com/android/dialer/notification/res/values-ne/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ne/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"जारी रहेका कलहरू"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"छुटेका कलहरू"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"भ्वाइस मेलहरू"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"बाह्य कलहरू"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"पूर्वनिर्धारित मान"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-nl/strings.xml b/java/com/android/dialer/notification/res/values-nl/strings.xml
index e46dd19e3..094cc357f 100644
--- a/java/com/android/dialer/notification/res/values-nl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-nl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Actieve oproepen"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Gemiste oproepen"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Voicemails"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externe oproepen"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standaard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-no/strings.xml b/java/com/android/dialer/notification/res/values-no/strings.xml
index e4ccd48a0..8e63fd24b 100644
--- a/java/com/android/dialer/notification/res/values-no/strings.xml
+++ b/java/com/android/dialer/notification/res/values-no/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pågående samtaler"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Tapte anrop"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Talepost"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Eksterne anrop"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pa/strings.xml b/java/com/android/dialer/notification/res/values-pa/strings.xml
index 40709c1ac..c4ee97b22 100644
--- a/java/com/android/dialer/notification/res/values-pa/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pa/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"ਖੁੰਝੀਆਂ ਕਾਲਾਂ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ਵੌਇਸਮੇਲਾਂ"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"ਬਾਹਰੀ ਕਾਲਾਂ"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pl/strings.xml b/java/com/android/dialer/notification/res/values-pl/strings.xml
index 73b795cff..4b3346001 100644
--- a/java/com/android/dialer/notification/res/values-pl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Połączenia trwające"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Połączenia nieodebrane"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Wiadomości głosowe"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Połączenia zewnętrzne"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Domyślny"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pt-rBR/strings.xml b/java/com/android/dialer/notification/res/values-pt-rBR/strings.xml
index f6e41cb11..4b988c3cc 100644
--- a/java/com/android/dialer/notification/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pt-rBR/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chamadas em andamento"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Correios de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Padrão"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pt-rPT/strings.xml b/java/com/android/dialer/notification/res/values-pt-rPT/strings.xml
index ec42a5bf5..45b31ebd0 100644
--- a/java/com/android/dialer/notification/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pt-rPT/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chamadas efetuadas"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chamadas não atendidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mensagens de correio de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predefinição"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-pt/strings.xml b/java/com/android/dialer/notification/res/values-pt/strings.xml
index f6e41cb11..4b988c3cc 100644
--- a/java/com/android/dialer/notification/res/values-pt/strings.xml
+++ b/java/com/android/dialer/notification/res/values-pt/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Chamadas em andamento"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Chamadas perdidas"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Correios de voz"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Chamadas externas"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Padrão"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ro/strings.xml b/java/com/android/dialer/notification/res/values-ro/strings.xml
index 7deeabba3..040c58ad2 100644
--- a/java/com/android/dialer/notification/res/values-ro/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ro/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Apeluri în desfășurare"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Apeluri nepreluate"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mesaje vocale"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Apeluri externe"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Prestabilit"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ru/strings.xml b/java/com/android/dialer/notification/res/values-ru/strings.xml
index 3a1140455..a8117990a 100644
--- a/java/com/android/dialer/notification/res/values-ru/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ru/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Текущие вызовы"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропущенные вызовы"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Голосовые сообщения"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Внешние вызовы"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"По умолчанию"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-si/strings.xml b/java/com/android/dialer/notification/res/values-si/strings.xml
index bf0a5a798..3ad0af729 100644
--- a/java/com/android/dialer/notification/res/values-si/strings.xml
+++ b/java/com/android/dialer/notification/res/values-si/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"යන ඇමතුම්"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"මඟ හැරුණු ඇමතුම්"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"හඬ තැපැල්"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"බාහිර ඇමතුම්"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"පෙරනිමි"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sk/strings.xml b/java/com/android/dialer/notification/res/values-sk/strings.xml
index 4a67e60d2..30941bcd5 100644
--- a/java/com/android/dialer/notification/res/values-sk/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sk/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Prebiehajúce hovory"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Zmeškané hovory"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Hlasové správy"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externé hovory"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Predvolené"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sl/strings.xml b/java/com/android/dialer/notification/res/values-sl/strings.xml
index e54111d12..70474b87b 100644
--- a/java/com/android/dialer/notification/res/values-sl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Aktivni klici"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Neodgovorjeni klici"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Sporočila v odzivniku"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Zunanji klici"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Privzeto"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sq/strings.xml b/java/com/android/dialer/notification/res/values-sq/strings.xml
index 42d4daac3..03bc24775 100644
--- a/java/com/android/dialer/notification/res/values-sq/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sq/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Telefonatat në vazhdim"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Telefonatat e humbura"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Postat zanore"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Telefonatat e jashtme"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"I parazgjedhur"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sr/strings.xml b/java/com/android/dialer/notification/res/values-sr/strings.xml
index 10477170f..8326c0403 100644
--- a/java/com/android/dialer/notification/res/values-sr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Позиви у току"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропуштени позиви"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Говорне поруке"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Спољни позиви"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Подразумевано"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sv/strings.xml b/java/com/android/dialer/notification/res/values-sv/strings.xml
index 6c9ff83b7..e3170d48f 100644
--- a/java/com/android/dialer/notification/res/values-sv/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sv/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Pågående samtal"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Missade samtal"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Röstmeddelanden"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Externa samtal"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standard"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-sw/strings.xml b/java/com/android/dialer/notification/res/values-sw/strings.xml
index a493f8897..d0a65b08c 100644
--- a/java/com/android/dialer/notification/res/values-sw/strings.xml
+++ b/java/com/android/dialer/notification/res/values-sw/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Simu zinazoendelea"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Simu ambazo hukujibu"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Ujumbe wa sauti"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Simu za nje"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Chaguo-msingi"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ta/strings.xml b/java/com/android/dialer/notification/res/values-ta/strings.xml
index d3000cf90..8a6ae89a8 100644
--- a/java/com/android/dialer/notification/res/values-ta/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ta/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"செயலில் உள்ள அழைப்புகள்"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"தவறிய அழைப்புகள்"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"குரலஞ்சல்கள்"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"வெளி அழைப்புகள்"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"இயல்பு"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-te/strings.xml b/java/com/android/dialer/notification/res/values-te/strings.xml
index b14b21071..b1911d34d 100644
--- a/java/com/android/dialer/notification/res/values-te/strings.xml
+++ b/java/com/android/dialer/notification/res/values-te/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"కొనసాగుతున్న కాల్‌లు"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"సమాధానమివ్వని కాల్‌లు"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"వాయిస్ మెయిల్‌లు"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"బాహ్య కాల్‌లు"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"డిఫాల్ట్"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-th/strings.xml b/java/com/android/dialer/notification/res/values-th/strings.xml
index 45248bbbe..b2949e42f 100644
--- a/java/com/android/dialer/notification/res/values-th/strings.xml
+++ b/java/com/android/dialer/notification/res/values-th/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"สายที่สนทนาอยู่"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"สายที่ไม่ได้รับ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"ข้อความเสียง"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"สายนอก"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ค่าเริ่มต้น"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-tl/strings.xml b/java/com/android/dialer/notification/res/values-tl/strings.xml
index 3e88a055f..1219ad86f 100644
--- a/java/com/android/dialer/notification/res/values-tl/strings.xml
+++ b/java/com/android/dialer/notification/res/values-tl/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Mga kasalukuyang tawag"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Mga hindi nasagot na tawag"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Mga voicemail"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Mga external na tawag"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Default"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-tr/strings.xml b/java/com/android/dialer/notification/res/values-tr/strings.xml
index d4e063bc2..71c91c806 100644
--- a/java/com/android/dialer/notification/res/values-tr/strings.xml
+++ b/java/com/android/dialer/notification/res/values-tr/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Devam eden çağrılar"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Cevapsız çağrılar"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Sesli mesajlar"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Harici çağrılar"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Varsayılan"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-uk/strings.xml b/java/com/android/dialer/notification/res/values-uk/strings.xml
index a83a58460..a002f42e1 100644
--- a/java/com/android/dialer/notification/res/values-uk/strings.xml
+++ b/java/com/android/dialer/notification/res/values-uk/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Поточні виклики"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Пропущені виклики"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Голосова пошта"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Зовнішні виклики"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"За умовчанням"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-ur/strings.xml b/java/com/android/dialer/notification/res/values-ur/strings.xml
index ba6e0d1da..805fe08f8 100644
--- a/java/com/android/dialer/notification/res/values-ur/strings.xml
+++ b/java/com/android/dialer/notification/res/values-ur/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"جاری کالیں"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"چھوٹی ہوئی کالیں"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"صوتی میلز"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"بیرونی کالیں"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"ڈیفالٹ"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-uz/strings.xml b/java/com/android/dialer/notification/res/values-uz/strings.xml
index d45ff47d2..16075b031 100644
--- a/java/com/android/dialer/notification/res/values-uz/strings.xml
+++ b/java/com/android/dialer/notification/res/values-uz/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Davom etayotgan suhbatlar"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Javobsiz chaqiruvlar"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Ovozli xabarlar"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Tashqi chaqiruvlar"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Standart"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-vi/strings.xml b/java/com/android/dialer/notification/res/values-vi/strings.xml
index 6df88721e..b6ab3d2d8 100644
--- a/java/com/android/dialer/notification/res/values-vi/strings.xml
+++ b/java/com/android/dialer/notification/res/values-vi/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Cuộc gọi đến"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Cuộc gọi nhỡ"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Thư thoại"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Cuộc gọi bên ngoài"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Mặc định"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-zh-rCN/strings.xml b/java/com/android/dialer/notification/res/values-zh-rCN/strings.xml
index fa5f0a657..1ef46c2b9 100644
--- a/java/com/android/dialer/notification/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/notification/res/values-zh-rCN/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"正在进行的通话"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"未接电话"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"语音邮件"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"外部来电"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"默认"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-zh-rHK/strings.xml b/java/com/android/dialer/notification/res/values-zh-rHK/strings.xml
index 307a7f9bf..43a6fabf6 100644
--- a/java/com/android/dialer/notification/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/notification/res/values-zh-rHK/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"進行中的通話"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"未接來電"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"留言信箱"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"外部通話"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"預設"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-zh-rTW/strings.xml b/java/com/android/dialer/notification/res/values-zh-rTW/strings.xml
index 054a2d737..35236be1d 100644
--- a/java/com/android/dialer/notification/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/notification/res/values-zh-rTW/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"進行中的通話"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"未接來電"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"語音留言"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"外部通話"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"預設"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values-zu/strings.xml b/java/com/android/dialer/notification/res/values-zu/strings.xml
index 744ffc816..f3d95531f 100644
--- a/java/com/android/dialer/notification/res/values-zu/strings.xml
+++ b/java/com/android/dialer/notification/res/values-zu/strings.xml
@@ -21,6 +21,5 @@
<string name="notification_channel_ongoing_call" msgid="5593444445363940672">"Amakholi aqhubekayo"</string>
<string name="notification_channel_missed_call" msgid="5820652855908217695">"Amakholi akuphuthile"</string>
<string name="notification_channel_voicemail" msgid="9206363659849426204">"Amavoyisimeyili"</string>
- <string name="notification_channel_external_call" msgid="2200143959948071132">"Amakholi angaphandle"</string>
<string name="notification_channel_misc" msgid="5595452227577858518">"Okuzenzakalelayo"</string>
</resources>
diff --git a/java/com/android/dialer/notification/res/values/strings.xml b/java/com/android/dialer/notification/res/values/strings.xml
index cb3119f67..a3c6935aa 100644
--- a/java/com/android/dialer/notification/res/values/strings.xml
+++ b/java/com/android/dialer/notification/res/values/strings.xml
@@ -20,7 +20,6 @@
<string name="notification_channel_ongoing_call">Ongoing calls</string>
<string name="notification_channel_missed_call">Missed calls</string>
<string name="notification_channel_voicemail">Voicemails</string>
- <string name="notification_channel_external_call">External calls</string>
<!-- [CHAR LIMIT=NONE] Catch-all channel for notifications that don't fit into one of the others -->
<string name="notification_channel_misc">Default</string>
</resources>
diff --git a/java/com/android/dialer/oem/CequintCallerIdManager.java b/java/com/android/dialer/oem/CequintCallerIdManager.java
index 095ee4e66..86097c41a 100644
--- a/java/com/android/dialer/oem/CequintCallerIdManager.java
+++ b/java/com/android/dialer/oem/CequintCallerIdManager.java
@@ -18,7 +18,6 @@ package com.android.dialer.oem;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.pm.PackageManager;
-import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build.VERSION_CODES;
@@ -29,9 +28,8 @@ import android.support.annotation.WorkerThread;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.util.PermissionsUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import java.util.concurrent.ConcurrentHashMap;
/**
@@ -73,17 +71,12 @@ public class CequintCallerIdManager {
private static final String IMAGE = "cid_pLogo";
private static final String DISPLAY_NAME = "cid_pDisplayName";
- // TODO: Revisit it and maybe remove it if it's not necessary.
- private static final ConcurrentHashMap<String, CequintCallerIdContact> callLogCache =
- new ConcurrentHashMap<>();
- private static final ConcurrentHashMap<String, CequintCallerIdContact> incallIncomingCallCache =
- new ConcurrentHashMap<>();
- private static final ConcurrentHashMap<String, CequintCallerIdContact> incallOutgoingCallCache =
- new ConcurrentHashMap<>();
- private static boolean hasRegisteredContentObserver;
private static boolean hasAlreadyCheckedCequintCallerIdPackage;
private static boolean isCequintCallerIdEnabled;
+ // TODO: Revisit it and maybe remove it if it's not necessary.
+ private final ConcurrentHashMap<String, CequintCallerIdContact> callLogCache;
+
/** Cequint caller id contact information. */
public static class CequintCallerIdContact {
public final String name;
@@ -117,27 +110,8 @@ public class CequintCallerIdManager {
return isCequintCallerIdEnabled;
}
- @WorkerThread
- @Nullable
- public static CequintCallerIdContact getCequintCallerIdContact(Context context, String number) {
- Assert.isWorkerThread();
- LogUtil.d(
- "CequintCallerIdManager.getCequintCallerIdContact",
- "number: %s",
- LogUtil.sanitizePhoneNumber(number));
- if (callLogCache.containsKey(number)) {
- return callLogCache.get(number);
- }
- CequintCallerIdContact cequintCallerIdContact =
- lookup(
- context,
- CONTENT_URI,
- PhoneNumberUtils.stripSeparators(number),
- new String[] {"system"});
- if (cequintCallerIdContact != null) {
- callLogCache.put(number, cequintCallerIdContact);
- }
- return cequintCallerIdContact;
+ public static CequintCallerIdManager createInstanceForCallLog() {
+ return new CequintCallerIdManager();
}
@WorkerThread
@@ -151,12 +125,6 @@ public class CequintCallerIdManager {
LogUtil.sanitizePhoneNumber(number),
LogUtil.sanitizePii(cnapName),
isIncoming);
- registerContentObserver(context);
- if (isIncoming && incallIncomingCallCache.containsKey(number)) {
- return incallIncomingCallCache.get(number);
- } else if (!isIncoming && incallOutgoingCallCache.containsKey(number)) {
- return incallOutgoingCallCache.get(number);
- }
int flag = 0;
if (isIncoming) {
flag |= CALLER_ID_LOOKUP_INCOMING_CALL;
@@ -165,14 +133,28 @@ public class CequintCallerIdManager {
flag |= CALLER_ID_LOOKUP_USER_PROVIDED_CID;
}
String[] flags = {cnapName, String.valueOf(flag)};
+ return lookup(context, CONTENT_URI_FOR_INCALL, number, flags);
+ }
+
+ @WorkerThread
+ @Nullable
+ public CequintCallerIdContact getCequintCallerIdContact(Context context, String number) {
+ Assert.isWorkerThread();
+ LogUtil.d(
+ "CequintCallerIdManager.getCequintCallerIdContact",
+ "number: %s",
+ LogUtil.sanitizePhoneNumber(number));
+ if (callLogCache.containsKey(number)) {
+ return callLogCache.get(number);
+ }
CequintCallerIdContact cequintCallerIdContact =
- lookup(context, CONTENT_URI_FOR_INCALL, number, flags);
+ lookup(
+ context,
+ CONTENT_URI,
+ PhoneNumberUtils.stripSeparators(number),
+ new String[] {"system"});
if (cequintCallerIdContact != null) {
- if (isIncoming) {
- incallIncomingCallCache.put(number, cequintCallerIdContact);
- } else {
- incallOutgoingCallCache.put(number, cequintCallerIdContact);
- }
+ callLogCache.put(number, cequintCallerIdContact);
}
return cequintCallerIdContact;
}
@@ -285,33 +267,7 @@ public class CequintCallerIdManager {
return geoDescription;
}
- private static synchronized void registerContentObserver(Context context) {
- if (!PermissionsUtil.hasCequintPermissions(context)) {
- LogUtil.i("CequintCallerIdManager.registerContentObserver", "no cequint permissions");
- return;
- }
-
- if (hasRegisteredContentObserver) {
- return;
- }
- ContentObserver contentObserver =
- new ContentObserver(null) {
- @Override
- public void onChange(boolean selfChange) {
- invalidateCache();
- }
- };
-
- context
- .getContentResolver()
- .registerContentObserver(CONTENT_URI_FOR_INCALL, true, contentObserver);
- hasRegisteredContentObserver = true;
- }
-
- private static void invalidateCache() {
- incallIncomingCallCache.clear();
- incallOutgoingCallCache.clear();
+ private CequintCallerIdManager() {
+ callLogCache = new ConcurrentHashMap<>();
}
-
- private CequintCallerIdManager() {}
}
diff --git a/java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java b/java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java
index 9cf145b7a..79abff08e 100644
--- a/java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java
+++ b/java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java
@@ -67,9 +67,7 @@ public class MotorolaHiddenMenuKeySequence {
}
private MotorolaHiddenMenuKeySequence(Context context) {
- featureHiddenMenuEnabled =
- MotorolaUtils.isSpnMatched(context)
- && context.getResources().getBoolean(R.bool.motorola_feature_hidden_menu);
+ featureHiddenMenuEnabled = MotorolaUtils.isSupportingHiddenMenu(context);
// In case we do have a SPN from resource we need to match from service; otherwise we are
// free to go
if (featureHiddenMenuEnabled) {
diff --git a/java/com/android/dialer/oem/MotorolaUtils.java b/java/com/android/dialer/oem/MotorolaUtils.java
index db2b8909a..ffab8ea23 100644
--- a/java/com/android/dialer/oem/MotorolaUtils.java
+++ b/java/com/android/dialer/oem/MotorolaUtils.java
@@ -18,8 +18,11 @@ package com.android.dialer.oem;
import android.content.Context;
import android.content.res.Resources;
import android.telephony.TelephonyManager;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.common.PackageUtils;
+import com.android.dialer.configprovider.ConfigProviderBindings;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
/** Util class for Motorola OEM devices. */
public class MotorolaUtils {
@@ -39,6 +42,8 @@ public class MotorolaUtils {
// This is used to check if a Motorola device supports WiFi call feature, by checking if a certain
// package is enabled.
private static final String WIFI_CALL_PACKAGE_NAME = "com.motorola.sprintwfc";
+ // Thi is used to check if a Motorola device supports hidden menu feature.
+ private static final String HIDDEN_MENU_FEATURE = "com.motorola.software.sprint.hidden_menu";
// Feature flag indicates it's a HD call, currently this is only used by Motorola system build.
// TODO(b/35359461): Use reference to android.provider.CallLog once it's in new SDK.
@@ -64,6 +69,10 @@ public class MotorolaUtils {
}
}
+ static boolean isSupportingHiddenMenu(Context context) {
+ return context.getPackageManager().hasSystemFeature(HIDDEN_MENU_FEATURE);
+ }
+
public static boolean shouldBlinkHdIconWhenConnectingCall(Context context) {
return ConfigProviderBindings.get(context)
.getBoolean(CONFIG_HD_CODEC_BLINKING_ICON_WHEN_CONNECTING_CALL_ENABLED, true)
@@ -102,6 +111,22 @@ public class MotorolaUtils {
return MotorolaHiddenMenuKeySequence.handleCharSequence(context, input);
}
+ public static boolean isWifiCallingAvailable(Context context) {
+ if (!isSupportingSprintWifiCall(context)) {
+ return false;
+ }
+ TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
+ try {
+ Method method = TelephonyManager.class.getMethod("isWifiCallingAvailable");
+ boolean isWifiCallingAvailable = (boolean) method.invoke(telephonyManager);
+ LogUtil.d("MotorolaUtils.isWifiCallingAvailable", "%b", isWifiCallingAvailable);
+ return isWifiCallingAvailable;
+ } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
+ LogUtil.e("MotorolaUtils.isWifiCallingAvailable", "", e);
+ }
+ return false;
+ }
+
private static boolean isSupportingSprintHdCodec(Context context) {
return isSpnMatched(context)
&& context.getResources().getBoolean(R.bool.motorola_sprint_hd_codec)
diff --git a/java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml
index 7f63bee75..ac3397520 100644
--- a/java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml
+++ b/java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml
@@ -1,6 +1,21 @@
<?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>
<bool name="motorola_sprint_hd_codec">true</bool>
- <bool name="motorola_feature_hidden_menu">true</bool>
<string name="motorola_enabled_spn">Sprint</string>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml
index 39b72cdd1..c5cb0d1f7 100644
--- a/java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml
+++ b/java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml
@@ -1,5 +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>
<bool name="motorola_sprint_hd_codec">true</bool>
- <bool name="motorola_feature_hidden_menu">true</bool>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml
index 39b72cdd1..c5cb0d1f7 100644
--- a/java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml
+++ b/java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml
@@ -1,5 +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>
<bool name="motorola_sprint_hd_codec">true</bool>
- <bool name="motorola_feature_hidden_menu">true</bool>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml
index 39b72cdd1..c5cb0d1f7 100644
--- a/java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml
+++ b/java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml
@@ -1,5 +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>
<bool name="motorola_sprint_hd_codec">true</bool>
- <bool name="motorola_feature_hidden_menu">true</bool>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml
index 39b72cdd1..c5cb0d1f7 100644
--- a/java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml
+++ b/java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml
@@ -1,5 +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>
<bool name="motorola_sprint_hd_codec">true</bool>
- <bool name="motorola_feature_hidden_menu">true</bool>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml
index 39b72cdd1..c5cb0d1f7 100644
--- a/java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml
+++ b/java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml
@@ -1,5 +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>
<bool name="motorola_sprint_hd_codec">true</bool>
- <bool name="motorola_feature_hidden_menu">true</bool>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/oem/res/values/motorola_config.xml b/java/com/android/dialer/oem/res/values/motorola_config.xml
index f875d573d..46e7a16b6 100644
--- a/java/com/android/dialer/oem/res/values/motorola_config.xml
+++ b/java/com/android/dialer/oem/res/values/motorola_config.xml
@@ -1,12 +1,25 @@
<?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>
<!-- Flag to control if HD codec is supported by Sprint. -->
<bool name="motorola_sprint_hd_codec">false</bool>
<!-- Hidden menu configuration for Motorola. -->
- <!-- Flag to control if the Hidden Menu sequence will be supported by Sprint. -->
- <bool name="motorola_feature_hidden_menu">false</bool>
-
<!-- This defines the specific key seuquence that will be catched in the SpecialCharSequenceMgr
such as, ##OMADM# -->
<string-array name="motorola_hidden_menu_key_sequence">
diff --git a/java/com/android/dialer/p13n/inference/P13nRanking.java b/java/com/android/dialer/p13n/inference/P13nRanking.java
index 0682e85db..79b4d7136 100644
--- a/java/com/android/dialer/p13n/inference/P13nRanking.java
+++ b/java/com/android/dialer/p13n/inference/P13nRanking.java
@@ -22,7 +22,7 @@ import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.p13n.inference.protocol.P13nRanker;
import com.android.dialer.p13n.inference.protocol.P13nRankerFactory;
import java.util.List;
diff --git a/java/com/android/dialer/performancereport/PerformanceReport.java b/java/com/android/dialer/performancereport/PerformanceReport.java
new file mode 100644
index 000000000..27fd7485b
--- /dev/null
+++ b/java/com/android/dialer/performancereport/PerformanceReport.java
@@ -0,0 +1,155 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.performancereport;
+
+import android.os.SystemClock;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.RecyclerView;
+import android.widget.AbsListView;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.UiAction;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/** Tracks UI performance for a call. */
+public final class PerformanceReport {
+
+ private static final long INVALID_TIME = -1;
+ private static final long ACTIVE_DURATION = TimeUnit.MINUTES.toMillis(5);
+
+ private static final List<UiAction.Type> actions = new ArrayList<>();
+ private static final List<Long> actionTimestamps = new ArrayList<>();
+
+ private static final RecyclerView.OnScrollListener recordOnScrollListener =
+ new RecyclerView.OnScrollListener() {
+ @Override
+ public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+ if (newState == RecyclerView.SCROLL_STATE_SETTLING) {
+ PerformanceReport.recordClick(UiAction.Type.SCROLL);
+ }
+ super.onScrollStateChanged(recyclerView, newState);
+ }
+ };
+
+ private static boolean recording = false;
+ private static long appLaunchTimeMillis = INVALID_TIME;
+ private static long firstClickTimeMillis = INVALID_TIME;
+ private static long lastActionTimeMillis = INVALID_TIME;
+
+ @Nullable private static UiAction.Type ignoreActionOnce = null;
+
+ private PerformanceReport() {}
+
+ public static void startRecording() {
+ LogUtil.enterBlock("PerformanceReport.startRecording");
+
+ appLaunchTimeMillis = SystemClock.elapsedRealtime();
+ lastActionTimeMillis = appLaunchTimeMillis;
+ if (!actions.isEmpty()) {
+ actions.clear();
+ actionTimestamps.clear();
+ }
+ recording = true;
+ }
+
+ public static void stopRecording() {
+ LogUtil.enterBlock("PerformanceReport.stopRecording");
+ recording = false;
+ }
+
+ public static void recordClick(UiAction.Type action) {
+ if (!recording) {
+ return;
+ }
+
+ if (action == ignoreActionOnce) {
+ LogUtil.i("PerformanceReport.recordClick", "%s is ignored", action.toString());
+ ignoreActionOnce = null;
+ return;
+ }
+ ignoreActionOnce = null;
+
+ LogUtil.v("PerformanceReport.recordClick", action.toString());
+
+ // Timeout
+ long currentTime = SystemClock.elapsedRealtime();
+ if (currentTime - lastActionTimeMillis > ACTIVE_DURATION) {
+ startRecording();
+ recordClick(action);
+ return;
+ }
+
+ lastActionTimeMillis = currentTime;
+ if (actions.isEmpty()) {
+ firstClickTimeMillis = currentTime;
+ }
+ actions.add(action);
+ actionTimestamps.add(currentTime - appLaunchTimeMillis);
+ }
+
+ public static void recordScrollStateChange(int scrollState) {
+ if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
+ recordClick(UiAction.Type.SCROLL);
+ }
+ }
+
+ public static void logOnScrollStateChange(RecyclerView recyclerView) {
+ // Remove the listener in case it was added before
+ recyclerView.removeOnScrollListener(recordOnScrollListener);
+ recyclerView.addOnScrollListener(recordOnScrollListener);
+ }
+
+ public static boolean isRecording() {
+ return recording;
+ }
+
+ public static long getTimeSinceAppLaunch() {
+ if (appLaunchTimeMillis == INVALID_TIME) {
+ return INVALID_TIME;
+ }
+ return SystemClock.elapsedRealtime() - appLaunchTimeMillis;
+ }
+
+ public static long getTimeSinceFirstClick() {
+ if (firstClickTimeMillis == INVALID_TIME) {
+ return INVALID_TIME;
+ }
+ return SystemClock.elapsedRealtime() - firstClickTimeMillis;
+ }
+
+ public static List<UiAction.Type> getActions() {
+ return actions;
+ }
+
+ public static List<Long> getActionTimestamps() {
+ return actionTimestamps;
+ }
+
+ @Nullable
+ public static UiAction.Type getIgnoreActionOnce() {
+ return ignoreActionOnce;
+ }
+
+ public static void setIgnoreActionOnce(@Nullable UiAction.Type ignoreActionOnce) {
+ PerformanceReport.ignoreActionOnce = ignoreActionOnce;
+ LogUtil.i(
+ "PerformanceReport.setIgnoreActionOnce",
+ "next action will be ignored once if it is %s",
+ ignoreActionOnce.toString());
+ }
+}
diff --git a/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java b/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
index 2aed9e75e..c398251e4 100644
--- a/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
+++ b/java/com/android/dialer/phonenumbercache/CachedNumberLookupService.java
@@ -49,6 +49,8 @@ public interface CachedNumberLookupService {
boolean canReportAsInvalid(ContactSource.Type sourceType, String objectId);
+ boolean reportAsInvalid(Context context, CachedContactInfo cachedContactInfo);
+
/** @return return {@link Uri} to the photo or return {@code null} when failing to add photo */
@Nullable
Uri addPhoto(Context context, String number, InputStream in);
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfo.java b/java/com/android/dialer/phonenumbercache/ContactInfo.java
index 5546553f9..aef7374e4 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfo.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfo.java
@@ -17,7 +17,7 @@
package com.android.dialer.phonenumbercache;
import android.net.Uri;
-import android.support.annotation.Nullable;
+import android.support.annotation.NonNull;
import android.text.TextUtils;
import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.util.UriUtils;
@@ -59,7 +59,7 @@ public class ContactInfo {
public boolean isBadData;
public String objectId;
public @UserType long userType;
- public @Nullable ContactSource.Type sourceType = ContactSource.Type.UNKNOWN_SOURCE_TYPE;
+ public @NonNull ContactSource.Type sourceType = ContactSource.Type.UNKNOWN_SOURCE_TYPE;
/**
* True if local contact exists. This is only used for Cequint Caller ID so it won't overwrite
* photo if local contact exists.
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
index bd4ba9764..4fa3147eb 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
@@ -203,6 +203,7 @@ public class ContactInfoHelper {
return info;
}
+ @Nullable
public ContactInfo lookupNumber(String number, String countryIso) {
return lookupNumber(number, countryIso, -1);
}
@@ -223,12 +224,14 @@ public class ContactInfoHelper {
@SuppressWarnings("ReferenceEquality")
public ContactInfo lookupNumber(String number, String countryIso, long directoryId) {
if (TextUtils.isEmpty(number)) {
+ LogUtil.d("ContactInfoHelper.lookupNumber", "number is empty");
return null;
}
ContactInfo info;
if (PhoneNumberHelper.isUriNumber(number)) {
+ LogUtil.d("ContactInfoHelper.lookupNumber", "number is sip");
// The number is a SIP address..
info = lookupContactFromUri(getContactInfoLookupUri(number, directoryId));
if (info == null || info == ContactInfo.EMPTY) {
@@ -246,6 +249,7 @@ public class ContactInfoHelper {
final ContactInfo updatedInfo;
if (info == null) {
// The lookup failed.
+ LogUtil.d("ContactInfoHelper.lookupNumber", "lookup failed");
updatedInfo = null;
} else {
// If we did not find a matching contact, generate an empty contact info for the number.
@@ -325,9 +329,11 @@ public class ContactInfoHelper {
*/
ContactInfo lookupContactFromUri(Uri uri) {
if (uri == null) {
+ LogUtil.d("ContactInfoHelper.lookupContactFromUri", "uri is null");
return null;
}
if (!PermissionsUtil.hasContactsReadPermissions(mContext)) {
+ LogUtil.d("ContactInfoHelper.lookupContactFromUri", "no contact permission, return empty");
return ContactInfo.EMPTY;
}
@@ -336,10 +342,12 @@ public class ContactInfoHelper {
String[] projection = PhoneQuery.getPhoneLookupProjection(uri);
phoneLookupCursor = mContext.getContentResolver().query(uri, projection, null, null, null);
} catch (NullPointerException e) {
+ LogUtil.e("ContactInfoHelper.lookupContactFromUri", "phone lookup", e);
// Trap NPE from pre-N CP2
return null;
}
if (phoneLookupCursor == null) {
+ LogUtil.d("ContactInfoHelper.lookupContactFromUri", "phoneLookupCursor is null");
return null;
}
@@ -408,19 +416,32 @@ public class ContactInfoHelper {
private ContactInfo queryContactInfoForPhoneNumber(
String number, String countryIso, long directoryId) {
if (TextUtils.isEmpty(number)) {
+ LogUtil.d("ContactInfoHelper.queryContactInfoForPhoneNumber", "number is empty");
return null;
}
ContactInfo info = lookupContactFromUri(getContactInfoLookupUri(number, directoryId));
+ if (info == null) {
+ LogUtil.d("ContactInfoHelper.queryContactInfoForPhoneNumber", "info looked up is null");
+ }
if (info != null && info != ContactInfo.EMPTY) {
info.formattedNumber = formatPhoneNumber(number, null, countryIso);
+ if (directoryId == -1) {
+ // Contact found in the default directory
+ info.sourceType = ContactSource.Type.SOURCE_TYPE_DIRECTORY;
+ } else {
+ // Contact found in the extended directory specified by directoryId
+ info.sourceType = ContactSource.Type.SOURCE_TYPE_EXTENDED;
+ }
} else if (mCachedNumberLookupService != null) {
CachedContactInfo cacheInfo =
mCachedNumberLookupService.lookupCachedContactFromNumber(mContext, number);
if (cacheInfo != null) {
- info = cacheInfo.getContactInfo().isBadData ? null : cacheInfo.getContactInfo();
- } else {
- info = null;
+ if (!cacheInfo.getContactInfo().isBadData) {
+ info = cacheInfo.getContactInfo();
+ } else {
+ LogUtil.i("ContactInfoHelper.queryContactInfoForPhoneNumber", "info is bad data");
+ }
}
}
return info;
@@ -601,13 +622,17 @@ public class ContactInfoHelper {
* will be updated if available.
*/
@WorkerThread
- public void updateFromCequintCallerId(ContactInfo info, String number) {
+ public void updateFromCequintCallerId(
+ @Nullable CequintCallerIdManager cequintCallerIdManager, ContactInfo info, String number) {
Assert.isWorkerThread();
if (!CequintCallerIdManager.isCequintCallerIdEnabled(mContext)) {
return;
}
+ if (cequintCallerIdManager == null) {
+ return;
+ }
CequintCallerIdContact cequintCallerIdContact =
- CequintCallerIdManager.getCequintCallerIdContact(mContext, number);
+ cequintCallerIdManager.getCequintCallerIdContact(mContext, number);
if (cequintCallerIdContact == null) {
return;
}
diff --git a/java/com/android/dialer/phonenumberproto/Converter.java b/java/com/android/dialer/phonenumberproto/Converter.java
new file mode 100644
index 000000000..453b98844
--- /dev/null
+++ b/java/com/android/dialer/phonenumberproto/Converter.java
@@ -0,0 +1,120 @@
+/*
+ * 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.
+ */
+package com.android.dialer.phonenumberproto;
+
+import com.android.dialer.DialerInternalPhoneNumber;
+import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
+
+/**
+ * Methods for converting from {@link PhoneNumber} POJOs to {@link DialerInternalPhoneNumber} protos
+ * and back.
+ */
+class Converter {
+
+ static DialerInternalPhoneNumber pojoToProto(PhoneNumber pojo) {
+ DialerInternalPhoneNumber.Builder proto = DialerInternalPhoneNumber.newBuilder();
+ if (pojo.hasCountryCode()) {
+ proto.setCountryCode(pojo.getCountryCode());
+ }
+ if (pojo.hasCountryCodeSource()) {
+ switch (pojo.getCountryCodeSource()) {
+ case FROM_NUMBER_WITH_PLUS_SIGN:
+ proto.setCountryCodeSource(
+ DialerInternalPhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN);
+ break;
+ case FROM_NUMBER_WITH_IDD:
+ proto.setCountryCodeSource(
+ DialerInternalPhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_IDD);
+ break;
+ case FROM_NUMBER_WITHOUT_PLUS_SIGN:
+ proto.setCountryCodeSource(
+ DialerInternalPhoneNumber.CountryCodeSource.FROM_NUMBER_WITHOUT_PLUS_SIGN);
+ break;
+ case FROM_DEFAULT_COUNTRY:
+ proto.setCountryCodeSource(
+ DialerInternalPhoneNumber.CountryCodeSource.FROM_DEFAULT_COUNTRY);
+ break;
+ default:
+ throw new IllegalArgumentException(
+ "unsupported country code source: " + pojo.getCountryCodeSource());
+ }
+ }
+ if (pojo.hasExtension()) {
+ proto.setExtension(pojo.getExtension());
+ }
+ if (pojo.hasItalianLeadingZero()) {
+ proto.setItalianLeadingZero(pojo.isItalianLeadingZero());
+ }
+ if (pojo.hasNationalNumber()) {
+ proto.setNationalNumber(pojo.getNationalNumber());
+ }
+ if (pojo.hasNumberOfLeadingZeros()) {
+ proto.setNumberOfLeadingZeros(pojo.getNumberOfLeadingZeros());
+ }
+ if (pojo.hasPreferredDomesticCarrierCode()) {
+ proto.setPreferredDomesticCarrierCode(pojo.getPreferredDomesticCarrierCode());
+ }
+ if (pojo.hasRawInput()) {
+ proto.setRawInput(pojo.getRawInput());
+ }
+ return proto.build();
+ }
+
+ static PhoneNumber protoToPojo(DialerInternalPhoneNumber proto) {
+ PhoneNumber pojo = new PhoneNumber();
+ if (proto.hasCountryCode()) {
+ pojo.setCountryCode(proto.getCountryCode());
+ }
+ if (proto.hasCountryCodeSource()) {
+ switch (proto.getCountryCodeSource()) {
+ case FROM_NUMBER_WITH_PLUS_SIGN:
+ pojo.setCountryCodeSource(PhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN);
+ break;
+ case FROM_NUMBER_WITH_IDD:
+ pojo.setCountryCodeSource(PhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_IDD);
+ break;
+ case FROM_NUMBER_WITHOUT_PLUS_SIGN:
+ pojo.setCountryCodeSource(PhoneNumber.CountryCodeSource.FROM_NUMBER_WITHOUT_PLUS_SIGN);
+ break;
+ case FROM_DEFAULT_COUNTRY:
+ pojo.setCountryCodeSource(PhoneNumber.CountryCodeSource.FROM_DEFAULT_COUNTRY);
+ break;
+ default:
+ throw new IllegalArgumentException(
+ "unsupported country code source: " + proto.getCountryCodeSource());
+ }
+ }
+ if (proto.hasExtension()) {
+ pojo.setExtension(proto.getExtension());
+ }
+ if (proto.hasItalianLeadingZero()) {
+ pojo.setItalianLeadingZero(proto.getItalianLeadingZero());
+ }
+ if (proto.hasNationalNumber()) {
+ pojo.setNationalNumber(proto.getNationalNumber());
+ }
+ if (proto.hasNumberOfLeadingZeros()) {
+ pojo.setNumberOfLeadingZeros(proto.getNumberOfLeadingZeros());
+ }
+ if (proto.hasPreferredDomesticCarrierCode()) {
+ pojo.setPreferredDomesticCarrierCode(proto.getPreferredDomesticCarrierCode());
+ }
+ if (proto.hasRawInput()) {
+ pojo.setRawInput(proto.getRawInput());
+ }
+ return pojo;
+ }
+}
diff --git a/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java b/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java
new file mode 100644
index 000000000..cc509f41b
--- /dev/null
+++ b/java/com/android/dialer/phonenumberproto/DialerPhoneNumberUtil.java
@@ -0,0 +1,108 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.phonenumberproto;
+
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.annotation.WorkerThread;
+import com.android.dialer.DialerInternalPhoneNumber;
+import com.android.dialer.DialerPhoneNumber;
+import com.android.dialer.DialerPhoneNumber.RawInput;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import com.google.i18n.phonenumbers.NumberParseException;
+import com.google.i18n.phonenumbers.PhoneNumberUtil;
+import com.google.i18n.phonenumbers.PhoneNumberUtil.MatchType;
+
+/**
+ * Wrapper for selected methods in {@link PhoneNumberUtil} which uses the {@link DialerPhoneNumber}
+ * lite proto instead of the {@link com.google.i18n.phonenumbers.Phonenumber.PhoneNumber} POJO.
+ *
+ * <p>All methods should be called on a worker thread.
+ */
+public class DialerPhoneNumberUtil {
+ private final PhoneNumberUtil phoneNumberUtil;
+
+ @WorkerThread
+ public DialerPhoneNumberUtil(@NonNull PhoneNumberUtil phoneNumberUtil) {
+ Assert.isWorkerThread();
+ this.phoneNumberUtil = Assert.isNotNull(phoneNumberUtil);
+ }
+
+ /**
+ * Parses the provided raw phone number into a {@link DialerPhoneNumber}.
+ *
+ * @see PhoneNumberUtil#parse(String, String)
+ */
+ @WorkerThread
+ public DialerPhoneNumber parse(@Nullable String numberToParse, @Nullable String defaultRegion) {
+ Assert.isWorkerThread();
+
+ DialerPhoneNumber.Builder dialerPhoneNumber = DialerPhoneNumber.newBuilder();
+ RawInput.Builder rawInput = RawInput.newBuilder();
+ // Numbers can be null or empty for incoming "unknown" calls.
+ if (numberToParse != null) {
+ rawInput.setNumber(numberToParse);
+ }
+ if (defaultRegion != null) {
+ rawInput.setCountryIso(defaultRegion);
+ }
+ dialerPhoneNumber.setRawInput(rawInput.build());
+
+ try {
+ dialerPhoneNumber.setDialerInternalPhoneNumber(
+ Converter.pojoToProto(phoneNumberUtil.parse(numberToParse, defaultRegion)));
+ } catch (NumberParseException e) {
+ LogUtil.w("DialerPhoneNumberUtil.parse", "couldn't parse phone number", e);
+ }
+ return dialerPhoneNumber.build();
+ }
+
+ /**
+ * Returns true if the two numbers were parseable by libphonenumber and are an {@link
+ * MatchType#EXACT_MATCH} or if they have the same raw input.
+ */
+ @WorkerThread
+ public boolean isExactMatch(
+ @NonNull DialerPhoneNumber firstNumberIn, @NonNull DialerPhoneNumber secondNumberIn) {
+ Assert.isWorkerThread();
+ if (!Assert.isNotNull(firstNumberIn).hasDialerInternalPhoneNumber()
+ || !Assert.isNotNull(secondNumberIn).hasDialerInternalPhoneNumber()) {
+ return firstNumberIn.getRawInput().equals(secondNumberIn.getRawInput());
+ }
+ return isNumberMatch(
+ firstNumberIn.getDialerInternalPhoneNumber(),
+ secondNumberIn.getDialerInternalPhoneNumber())
+ == MatchType.EXACT_MATCH;
+ }
+
+ /**
+ * Compares the provided phone numbers.
+ *
+ * @see PhoneNumberUtil#isNumberMatch(com.google.i18n.phonenumbers.Phonenumber.PhoneNumber,
+ * com.google.i18n.phonenumbers.Phonenumber.PhoneNumber)
+ */
+ @WorkerThread
+ private MatchType isNumberMatch(
+ @NonNull DialerInternalPhoneNumber firstNumberIn,
+ @NonNull DialerInternalPhoneNumber secondNumberIn) {
+ Assert.isWorkerThread();
+ return phoneNumberUtil.isNumberMatch(
+ Converter.protoToPojo(Assert.isNotNull(firstNumberIn)),
+ Converter.protoToPojo(Assert.isNotNull(secondNumberIn)));
+ }
+}
diff --git a/java/com/android/dialer/phonenumberproto/dialer_phone_number.proto b/java/com/android/dialer/phonenumberproto/dialer_phone_number.proto
new file mode 100644
index 000000000..a0f362631
--- /dev/null
+++ b/java/com/android/dialer/phonenumberproto/dialer_phone_number.proto
@@ -0,0 +1,172 @@
+// 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
+
+syntax = "proto2";
+
+option java_package = "com.android.dialer";
+option java_multiple_files = true;
+option optimize_for = LITE_RUNTIME;
+
+package com.android.dialer;
+
+// A phone number for use in the dialer application. It consists of a
+// DialerInternalPhoneNumber, which is a copy of libphonenumber's PhoneNumber
+// proto, and the raw input used to create it.
+message DialerPhoneNumber {
+ // libphonenumber representation of the phone number. May be empty if the raw
+ // input failed to parse, in which case raw_input should be used.
+ optional DialerInternalPhoneNumber dialer_internal_phone_number = 1;
+
+ // The raw input which was used to create a DialerPhoneNumber.
+ message RawInput {
+ // The phone number as it was entered or received.
+ optional string number = 1;
+ // The ISO 3166-1 two letter country code of the country where the user made
+ // or received the call.
+ optional string country_iso = 2;
+ }
+ // Prefer to use dialer_internal_phone_number if present.
+ optional RawInput raw_input = 2;
+}
+
+// This is a copy of libphonenumber proto file for use in the dialer codebase.
+// We cannot depend on the real libphonenumber proto because it is not exposed
+// in any open source library. As such, this file could fall out of sync with
+// that proto over time.
+//
+// The only difference between this proto and the libphonenumber proto (as of
+// when this file was created) is the package name and proto name.
+//
+// If the libphonenumber proto becomes accessible some day, it may be possible
+// to remove this proto and use the real libphonenumber proto assuming this
+// proto is kept wire-compatible with it.
+message DialerInternalPhoneNumber {
+ // The country calling code for this number, as defined by the International
+ // Telecommunication Union (ITU). For example, this would be 1 for NANPA
+ // countries, and 33 for France.
+ required int32 country_code = 1;
+
+ // The National (significant) Number, as defined in International
+ // Telecommunication Union (ITU) Recommendation E.164, without any leading
+ // zero. The leading-zero is stored separately if required, since this is an
+ // uint64 and hence cannot store such information. Do not use this field
+ // directly: if you want the national significant number, call the
+ // getNationalSignificantNumber method of PhoneNumberUtil.
+ //
+ // For countries which have the concept of an "area code" or "national
+ // destination code", this is included in the National (significant) Number.
+ // Although the ITU says the maximum length should be 15, we have found longer
+ // numbers in some countries e.g. Germany.
+ // Note that the National (significant) Number does not contain the National
+ // (trunk) prefix. Obviously, as a uint64, it will never contain any
+ // formatting (hyphens, spaces, parentheses), nor any alphanumeric spellings.
+ required uint64 national_number = 2 [jstype = JS_NUMBER];
+
+ // Extension is not standardized in ITU recommendations, except for being
+ // defined as a series of numbers with a maximum length of 40 digits. It is
+ // defined as a string here to accommodate for the possible use of a leading
+ // zero in the extension (organizations have complete freedom to do so, as
+ // there is no standard defined). Other than digits, some other dialling
+ // characters such as "," (indicating a wait) may be stored here.
+ optional string extension = 3;
+
+ // In some countries, the national (significant) number starts with one or
+ // more "0"s without this being a national prefix or trunk code of some kind.
+ // For example, the leading zero in the national (significant) number of an
+ // Italian phone number indicates the number is a fixed-line number. There
+ // have been plans to migrate fixed-line numbers to start with the digit two
+ // since December 2000, but it has not happened yet. See
+ // http://en.wikipedia.org/wiki/%2B39 for more details.
+ //
+ // These fields can be safely ignored (there is no need to set them) for most
+ // countries. Some limited number of countries behave like Italy - for these
+ // cases, if the leading zero(s) of a number would be retained even when
+ // dialling internationally, set this flag to true, and also set the number of
+ // leading zeros.
+ //
+ // Clients who use the parsing or conversion functionality of the i18n phone
+ // number libraries (go/phonenumbers) will have these fields set if necessary
+ // automatically.
+ optional bool italian_leading_zero = 4;
+ optional int32 number_of_leading_zeros = 8 [default = 1];
+
+ // The next few fields are non-essential fields for a phone number. They
+ // retain extra information about the form the phone number was in when it was
+ // provided to us to parse. They can be safely ignored by most clients. To
+ // populate them, call parseAndKeepRawInput on PhoneNumberUtil.
+
+ // This field is used to store the raw input string containing phone numbers
+ // before it was canonicalized by the library. For example, it could be used
+ // to store alphanumerical numbers such as "1-800-GOOG-411".
+ optional string raw_input = 5;
+
+ // The source from which the country_code is derived. This is not set in the
+ // general parsing method, but in the method that parses and keeps raw_input.
+ // New fields could be added upon request.
+ enum CountryCodeSource {
+ // The country_code is derived based on a phone number with a leading "+",
+ // e.g. the French number "+33 1 42 68 53 00".
+ FROM_NUMBER_WITH_PLUS_SIGN = 1;
+
+ // The country_code is derived based on a phone number with a leading IDD,
+ // e.g. the French number "011 33 1 42 68 53 00", as it is dialled from US.
+ FROM_NUMBER_WITH_IDD = 5;
+
+ // The country_code is derived based on a phone number without a leading
+ // "+", e.g. the French number "33 1 42 68 53 00" when defaultCountry is
+ // supplied as France.
+ FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;
+
+ // The country_code is derived NOT based on the phone number itself, but
+ // from the defaultCountry parameter provided in the parsing function by the
+ // clients. This happens mostly for numbers written in the national format
+ // (without country code). For example, this would be set when parsing the
+ // French number "01 42 68 53 00", when defaultCountry is supplied as
+ // France.
+ FROM_DEFAULT_COUNTRY = 20;
+ }
+
+ // The source from which the country_code is derived.
+ optional CountryCodeSource country_code_source = 6;
+
+ // The carrier selection code that is preferred when calling this phone number
+ // domestically. This also includes codes that need to be dialed in some
+ // countries when calling from landlines to mobiles or vice versa. For
+ // example, in Columbia, a "3" needs to be dialed before the phone number
+ // itself when calling from a mobile phone to a domestic landline phone and
+ // vice versa.
+ //
+ // Note this is the "preferred" code, which means other codes may work as
+ // well.
+ optional string preferred_domestic_carrier_code = 7;
+}
+
+// Examples:
+//
+// Google MTV, +1 650-253-0000, (650) 253-0000
+// country_code: 1
+// national_number: 6502530000
+//
+// Google Paris, +33 (0)1 42 68 53 00, 01 42 68 53 00
+// country_code: 33
+// national_number: 142685300
+//
+// Google Beijing, +86-10-62503000, (010) 62503000
+// country_code: 86
+// national_number: 1062503000
+//
+// Google Italy, +39 02-36618 300, 02-36618 300
+// country_code: 39
+// national_number: 236618300
+// italian_leading_zero: true \ No newline at end of file
diff --git a/java/com/android/dialer/postcall/AndroidManifest.xml b/java/com/android/dialer/postcall/AndroidManifest.xml
index 79ca5d5eb..22c77dd93 100644
--- a/java/com/android/dialer/postcall/AndroidManifest.xml
+++ b/java/com/android/dialer/postcall/AndroidManifest.xml
@@ -21,7 +21,7 @@
<activity
android:name="com.android.dialer.postcall.PostCallActivity"
android:exported="false"
- android:theme="@style/Theme.AppCompat.NoActionBar"
+ android:theme="@style/DialerThemeBase.NoActionBar"
android:windowSoftInputMode="adjustResize"
android:screenOrientation="portrait"/>
</application>
diff --git a/java/com/android/dialer/postcall/PostCall.java b/java/com/android/dialer/postcall/PostCall.java
index 586b47395..b17a9b66d 100644
--- a/java/com/android/dialer/postcall/PostCall.java
+++ b/java/com/android/dialer/postcall/PostCall.java
@@ -26,24 +26,23 @@ import android.support.design.widget.Snackbar;
import android.telephony.TelephonyManager;
import android.view.View;
import android.view.View.OnClickListener;
-import com.android.dialer.buildtype.BuildType;
-import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProvider;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProvider;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.enrichedcall.EnrichedCallCapabilities;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
+import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.util.DialerUtils;
import com.android.dialer.util.IntentUtil;
/** Helper class to handle all post call actions. */
public class PostCall {
- private static final String KEY_POST_CALL_CALL_CONNECT_TIME = "post_call_call_connect_time";
private static final String KEY_POST_CALL_CALL_DISCONNECT_TIME = "post_call_call_disconnect_time";
+ private static final String KEY_POST_CALL_CALL_CONNECT_TIME = "post_call_call_connect_time";
private static final String KEY_POST_CALL_CALL_NUMBER = "post_call_call_number";
private static final String KEY_POST_CALL_MESSAGE_SENT = "post_call_message_sent";
@@ -55,6 +54,8 @@ public class PostCall {
promptUserToViewSentMessage(activity, rootView);
} else if (shouldPromptUserToSendMessage(activity)) {
promptUserToSendMessage(activity, rootView);
+ } else {
+ clear(activity);
}
}
}
@@ -160,6 +161,19 @@ public class PostCall {
.apply();
}
+ /**
+ * Restart performance recording if there is a recent call (disconnect time to now is under
+ * threshold)
+ */
+ public static void restartPerformanceRecordingIfARecentCallExist(Context context) {
+ long disconnectTimeMillis =
+ DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(context)
+ .getLong(PostCall.KEY_POST_CALL_CALL_DISCONNECT_TIME, -1);
+ if (disconnectTimeMillis != -1 && PerformanceReport.isRecording()) {
+ PerformanceReport.startRecording();
+ }
+ }
+
private static void clear(Context context) {
activeSnackbar = null;
@@ -203,19 +217,7 @@ public class PostCall {
}
private static boolean isEnabled(Context context) {
- @BuildType.Type int type = BuildType.get();
- switch (type) {
- case BuildType.BUGFOOD:
- case BuildType.DOGFOOD:
- case BuildType.FISHFOOD:
- case BuildType.TEST:
- return ConfigProviderBindings.get(context).getBoolean("enable_post_call", true);
- case BuildType.RELEASE:
- return ConfigProviderBindings.get(context).getBoolean("enable_post_call_prod", true);
- default:
- Assert.fail();
- return false;
- }
+ return ConfigProviderBindings.get(context).getBoolean("enable_post_call_prod", true);
}
private static boolean isSimReady(Context context) {
diff --git a/java/com/android/dialer/protos/ProtoParsers.java b/java/com/android/dialer/protos/ProtoParsers.java
index b77c0699b..5a60799bc 100644
--- a/java/com/android/dialer/protos/ProtoParsers.java
+++ b/java/com/android/dialer/protos/ProtoParsers.java
@@ -18,13 +18,10 @@ package com.android.dialer.protos;
import android.content.Intent;
import android.os.Bundle;
-import android.os.Parcel;
-import android.os.Parcelable;
+import android.support.annotation.NonNull;
import com.android.dialer.common.Assert;
-import com.google.protobuf.CodedOutputStream;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.MessageLite;
-import java.io.IOException;
/** Useful methods for using Protocol Buffers with Android. */
public final class ProtoParsers {
@@ -35,11 +32,8 @@ public final class ProtoParsers {
@SuppressWarnings("unchecked") // We want to eventually optimize away parser classes, so cast
public static <T extends MessageLite> T get(Bundle bundle, String key, T defaultInstance)
throws InvalidProtocolBufferException {
- // Class loaders are unique to each Class instance, so we need to specify how to decode
- // the information again, even though we set the class loaders when serializing the data.
- bundle.setClassLoader(ProtoParsers.class.getClassLoader());
- InternalDontUse parcelable = bundle.getParcelable(key);
- return (T) parcelable.getMessageUnsafe(defaultInstance.getDefaultInstanceForType());
+ byte[] bytes = bundle.getByteArray(key);
+ return (T) mergeFrom(bytes, defaultInstance.getDefaultInstanceForType());
}
/**
@@ -51,7 +45,7 @@ public final class ProtoParsers {
try {
return get(bundle, key, defaultInstance);
} catch (InvalidProtocolBufferException e) {
- throw new RuntimeException(e);
+ throw Assert.createIllegalStateFailException(e.toString());
}
}
@@ -68,121 +62,28 @@ public final class ProtoParsers {
* Stores a proto in a Bundle, for later retrieval by {@link #get(Bundle, String, MessageLite)} or
* {@link #getFromInstanceState(Bundle, String, MessageLite)}.
*/
- public static void put(Bundle bundle, String key, MessageLite message) {
- bundle.putParcelable(key, new InternalDontUse<>(null, message));
+ public static void put(
+ @NonNull Bundle bundle, @NonNull String key, @NonNull MessageLite message) {
+ Assert.checkState(message != null);
+ bundle.putByteArray(key, message.toByteArray());
}
/**
* Stores a proto in an Intent, for later retrieval by {@link #get(Bundle, String, MessageLite)}.
* Needs separate method because Intent has similar to but different API than Bundle.
*/
- public static void put(Intent intent, String key, MessageLite message) {
- intent.putExtra(key, new InternalDontUse<>(null, message));
- }
-
- /** Returns a {@linkplain Parcelable} representation of this protobuf message. */
- public static <T extends MessageLite> ParcelableProto<T> asParcelable(T message) {
- return new InternalDontUse<>(null, message);
- }
-
- /**
- * A protobuf message that can be stored in a {@link Parcel}.
- *
- * <p><b>Note:</b> This <code>Parcelable</code> can only be used in single app. Attempting to send
- * it to another app through an <code>Intent</code> will result in an exception due to Proguard
- * obfusation when the target application attempts to load the <code>ParcelableProto</code> class.
- */
- public interface ParcelableProto<T extends MessageLite> extends Parcelable {
- /**
- * @throws IllegalStateException if the parceled data does not correspond to the defaultInstance
- * type.
- */
- T getMessage(T defaultInstance);
- }
-
- /** Public because of Parcelable requirements. Do not use. */
- public static final class InternalDontUse<T extends MessageLite> implements ParcelableProto<T> {
- /* One of these two fields is always populated - since the bytes field never escapes this
- * object, there is no risk of concurrent modification by multiple threads, and volatile
- * is sufficient to be thread-safe. */
- private volatile byte[] bytes;
- private volatile T message;
-
- /**
- * Ideally, we would have type safety here. However, a static field {@link Creator} is required
- * by {@link Parcelable}. Static fields are inherently not type safe, since only 1 exists per
- * class (rather than 1 per type).
- */
- public static final Parcelable.Creator<InternalDontUse<?>> CREATOR =
- new Creator<InternalDontUse<?>>() {
- @Override
- public InternalDontUse<?> createFromParcel(Parcel parcel) {
- int serializedSize = parcel.readInt();
- byte[] array = new byte[serializedSize];
- parcel.readByteArray(array);
- return new InternalDontUse<>(array, null);
- }
-
- @Override
- public InternalDontUse<?>[] newArray(int i) {
- return new InternalDontUse[i];
- }
- };
-
- private InternalDontUse(byte[] bytes, T message) {
- Assert.checkArgument(bytes != null || message != null, "Must have a message or bytes");
- this.bytes = bytes;
- this.message = message;
- }
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(Parcel parcel, int i) {
- if (bytes == null) {
- final byte[] flatArray = new byte[message.getSerializedSize()];
- try {
- message.writeTo(CodedOutputStream.newInstance(flatArray));
- bytes = flatArray;
- } catch (IOException impossible) {
- throw new AssertionError(impossible);
- }
- }
- parcel.writeInt(bytes.length);
- parcel.writeByteArray(bytes);
- }
-
- @Override
- public T getMessage(T defaultInstance) {
- try {
- // The proto should never be invalid if it came from our application, so if it is, throw.
- return getMessageUnsafe(defaultInstance);
- } catch (InvalidProtocolBufferException e) {
- throw new IllegalStateException(e);
- }
- }
-
- @SuppressWarnings("unchecked") // We're being deserialized, so there's no real type safety
- T getMessageUnsafe(T defaultInstance) throws InvalidProtocolBufferException {
- // There's a risk that we'll double-parse the bytes, but that's OK, because it'll end up
- // as the same immutable object anyway.
- if (message == null) {
- message = (T) defaultInstance.toBuilder().mergeFrom(bytes).build();
- }
- return message;
- }
+ public static void put(@NonNull Intent intent, @NonNull String key, MessageLite message) {
+ Assert.checkState(message != null);
+ intent.putExtra(key, message.toByteArray());
}
/** Parses a proto, throwing parser errors as runtime exceptions. */
@SuppressWarnings("unchecked") // We want to eventually optimize away parser classes
- public static <T extends MessageLite> T mergeFrom(byte[] bytes, T defaultInstance) {
+ private static <T extends MessageLite> T mergeFrom(byte[] bytes, T defaultInstance) {
try {
return (T) defaultInstance.toBuilder().mergeFrom(bytes).build();
} catch (InvalidProtocolBufferException e) {
- throw new RuntimeException(e);
+ throw Assert.createIllegalStateFailException(e.toString());
}
}
}
diff --git a/java/com/android/dialer/searchfragment/README.md b/java/com/android/dialer/searchfragment/README.md
new file mode 100644
index 000000000..b3b9135e5
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/README.md
@@ -0,0 +1,62 @@
+# Dialer Search Ui
+
+searchfragment/ contains all code relevant to loading, rendering and filtering
+search results in both dialpad search and regular search.
+
+## Loading
+
+### On Device Contacts
+
+On device contacts loading happens in SearchContactsCursorLoader. It is used in
+conjunction with NewSearchFragment and Loader Callbacks to return a cursor from
+cp2 containing all of the relevant info needed to rendering.
+
+### Business Search
+
+// TODO(calderwoodra)
+
+### Google Directory Search
+
+// TODO(calderwoodra)
+
+## Rendering
+
+NewSearchFragment, SearchAdapter, SearchContactViewHolder and
+SearchCursorManager are used to render contact information. The fragment's
+recyclerview, adapter and viewholder work as expected like a normal recyclerview
+paradigm.
+
+The are three things to note about rendering:
+
+* There are three data sources rendered: On device contacts, business search
+ results and google directory results.
+* SearchContactsCursorLoader returns its cursor from cp2 and we filter/wrap it
+ with SearchContactCursor to render useful results (see below).
+* SearchCursorManager is used to coalesce all three data sources to help with
+ determining row count, row type and returning the correct data source for
+ each position.
+
+## Filtering
+
+On device contacts are filtered using SearchContactCursor. We wrap the cursor
+returned from SearchContactsCursorLoader in NewSearchFragment#onLoadFinished in
+order to abstract away the filtering logic from the recyclerview adapter and
+viewholders.
+
+SearchContactCursor applies filtering in SearchContactCursor#filter to remove
+duplicate phone numbers returned from cp2 and phone numbers that do not match
+the given search query.
+
+Filtering methods used are:
+
+* T9/dialpad search methods
+ * Initial match (957 matches [W]illiam [J]ohn [S]mith)
+ * Number + name match (1800946 matches [1800-Win]-A-Prize)
+* Numeric/dialpad search methods
+ * Simple number match (510333 matches [510-333]-7596)
+ * Country-code agnostic matching for E164 normalized numbers (9177 matches
+ +65[9177]6930)
+ * Country-code agnostic matching (510333 matches 1-[510-333]-7596)
+ * Area-code agnostic matching (333 matches 510-[333]-7596)
+* Name/keyboard search methods:
+ * Simple name match (564 matches [Joh]n)
diff --git a/java/com/android/dialer/searchfragment/common/AndroidManifest.xml b/java/com/android/dialer/searchfragment/common/AndroidManifest.xml
new file mode 100644
index 000000000..178cd83c3
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/common/AndroidManifest.xml
@@ -0,0 +1,16 @@
+<!--
+ ~ 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
+ -->
+<manifest package="com.android.dialer.searchfragment.common"/> \ No newline at end of file
diff --git a/java/com/android/dialer/searchfragment/common/Projections.java b/java/com/android/dialer/searchfragment/common/Projections.java
new file mode 100644
index 000000000..37e20d195
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/common/Projections.java
@@ -0,0 +1,50 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.common;
+
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+
+/** Class containing relevant projections for searching contacts. */
+public class Projections {
+
+ public static final int PHONE_ID = 0;
+ public static final int PHONE_TYPE = 1;
+ public static final int PHONE_LABEL = 2;
+ public static final int PHONE_NUMBER = 3;
+ public static final int PHONE_DISPLAY_NAME = 4;
+ public static final int PHONE_PHOTO_ID = 5;
+ public static final int PHONE_PHOTO_URI = 6;
+ public static final int PHONE_LOOKUP_KEY = 7;
+ public static final int PHONE_CARRIER_PRESENCE = 8;
+
+ @SuppressWarnings("unused")
+ public static final int PHONE_SORT_KEY = 9;
+
+ public static final String[] PHONE_PROJECTION =
+ new String[] {
+ Phone._ID, // 0
+ Phone.TYPE, // 1
+ Phone.LABEL, // 2
+ Phone.NUMBER, // 3
+ Phone.DISPLAY_NAME_PRIMARY, // 4
+ Phone.PHOTO_ID, // 5
+ Phone.PHOTO_THUMBNAIL_URI, // 6
+ Phone.LOOKUP_KEY, // 7
+ Phone.CARRIER_PRESENCE, // 8
+ Phone.SORT_KEY_PRIMARY // 9
+ };
+}
diff --git a/java/com/android/dialer/searchfragment/common/QueryBoldingUtil.java b/java/com/android/dialer/searchfragment/common/QueryBoldingUtil.java
new file mode 100644
index 000000000..7bdd69567
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/common/QueryBoldingUtil.java
@@ -0,0 +1,154 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.common;
+
+import android.graphics.Typeface;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.TextUtils;
+import android.text.style.StyleSpan;
+
+/** Utility class for handling bolding queries contained in string. */
+public class QueryBoldingUtil {
+
+ /**
+ * Compares a name and query and returns a {@link CharSequence} with bolded characters.
+ *
+ * <p>Some example:
+ *
+ * <ul>
+ * <li>"query" would bold "John [query] Smith"
+ * <li>"222" would bold "[AAA] Mom"
+ * <li>"222" would bold "[A]llen [A]lex [A]aron"
+ * </ul>
+ *
+ * @param query containing any characters
+ * @param name of a contact/string that query will compare to
+ * @return name with query bolded if query can be found in the name.
+ */
+ public static CharSequence getNameWithQueryBolded(@Nullable String query, @NonNull String name) {
+ if (TextUtils.isEmpty(query)) {
+ return name;
+ }
+
+ int index = -1;
+ int numberOfBoldedCharacters = 0;
+
+ if (QueryFilteringUtil.nameMatchesT9Query(query, name)) {
+ // Bold the characters that match the t9 query
+ String t9 = QueryFilteringUtil.getT9Representation(name);
+ index = QueryFilteringUtil.indexOfQueryNonDigitsIgnored(query, t9);
+ if (index == -1) {
+ return getNameWithInitialsBolded(query, name);
+ }
+ numberOfBoldedCharacters = query.length();
+
+ for (int i = 0; i < query.length(); i++) {
+ char c = query.charAt(i);
+ if (!Character.isDigit(c)) {
+ numberOfBoldedCharacters--;
+ }
+ }
+
+ for (int i = 0; i < index + numberOfBoldedCharacters; i++) {
+ if (!Character.isLetterOrDigit(name.charAt(i))) {
+ if (i < index) {
+ index++;
+ } else {
+ numberOfBoldedCharacters++;
+ }
+ }
+ }
+ }
+
+ if (index == -1) {
+ // Bold the query as an exact match in the name
+ index = name.toLowerCase().indexOf(query);
+ numberOfBoldedCharacters = query.length();
+ }
+
+ return index == -1 ? name : getBoldedString(name, index, numberOfBoldedCharacters);
+ }
+
+ private static CharSequence getNameWithInitialsBolded(String query, String name) {
+ SpannableString boldedInitials = new SpannableString(name);
+ name = name.toLowerCase();
+ int initialsBolded = 0;
+ int nameIndex = -1;
+
+ while (++nameIndex < name.length() && initialsBolded < query.length()) {
+ if ((nameIndex == 0 || name.charAt(nameIndex - 1) == ' ')
+ && QueryFilteringUtil.getDigit(name.charAt(nameIndex)) == query.charAt(initialsBolded)) {
+ boldedInitials.setSpan(
+ new StyleSpan(Typeface.BOLD),
+ nameIndex,
+ nameIndex + 1,
+ Spanned.SPAN_INCLUSIVE_INCLUSIVE);
+ initialsBolded++;
+ }
+ }
+ return boldedInitials;
+ }
+
+ /**
+ * Compares a number and a query and returns a {@link CharSequence} with bolded characters.
+ *
+ * <ul>
+ * <li>"123" would bold "(650)34[1-23]24"
+ * <li>"123" would bold "+1([123])111-2222
+ * </ul>
+ *
+ * @param query containing only numbers and phone number related characters "(", ")", "-", "+"
+ * @param number phone number of a contact that the query will compare to.
+ * @return number with query bolded if query can be found in the number.
+ */
+ public static CharSequence getNumberWithQueryBolded(
+ @Nullable String query, @NonNull String number) {
+ if (TextUtils.isEmpty(query) || !QueryFilteringUtil.numberMatchesNumberQuery(query, number)) {
+ return number;
+ }
+
+ int index = QueryFilteringUtil.indexOfQueryNonDigitsIgnored(query, number);
+ int boldedCharacters = query.length();
+
+ for (char c : query.toCharArray()) {
+ if (!Character.isDigit(c)) {
+ boldedCharacters--;
+ }
+ }
+
+ for (int i = 0; i < index + boldedCharacters; i++) {
+ if (!Character.isDigit(number.charAt(i))) {
+ if (i <= index) {
+ index++;
+ } else {
+ boldedCharacters++;
+ }
+ }
+ }
+ return getBoldedString(number, index, boldedCharacters);
+ }
+
+ private static SpannableString getBoldedString(String s, int index, int numBolded) {
+ SpannableString span = new SpannableString(s);
+ span.setSpan(
+ new StyleSpan(Typeface.BOLD), index, index + numBolded, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ return span;
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/common/QueryFilteringUtil.java b/java/com/android/dialer/searchfragment/common/QueryFilteringUtil.java
new file mode 100644
index 000000000..b23315b15
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/common/QueryFilteringUtil.java
@@ -0,0 +1,141 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.common;
+
+import android.support.annotation.NonNull;
+import android.telephony.PhoneNumberUtils;
+import android.text.TextUtils;
+import java.util.regex.Pattern;
+
+/** Utility class for filtering, comparing and handling strings and queries. */
+public class QueryFilteringUtil {
+
+ /** Matches strings with "-", "(", ")", 2-9 of at least length one. */
+ static final Pattern T9_PATTERN = Pattern.compile("[\\-()2-9]+");
+
+ /**
+ * @return true if the query is of T9 format and the name's T9 representation belongs to the
+ * query; false otherwise.
+ */
+ public static boolean nameMatchesT9Query(String query, String name) {
+ if (!T9_PATTERN.matcher(query).matches()) {
+ return false;
+ }
+
+ // Substring
+ if (indexOfQueryNonDigitsIgnored(query, getT9Representation(name)) != -1) {
+ return true;
+ }
+
+ // Check matches initials
+ // TODO investigate faster implementation
+ query = digitsOnly(query);
+ int queryIndex = 0;
+
+ String[] names = name.toLowerCase().split("\\s");
+ for (int i = 0; i < names.length && queryIndex < query.length(); i++) {
+ if (TextUtils.isEmpty(names[i])) {
+ continue;
+ }
+
+ if (getDigit(names[i].charAt(0)) == query.charAt(queryIndex)) {
+ queryIndex++;
+ }
+ }
+
+ return queryIndex == query.length();
+ }
+
+ /** @return true if the number belongs to the query. */
+ public static boolean numberMatchesNumberQuery(String query, String number) {
+ return PhoneNumberUtils.isGlobalPhoneNumber(query)
+ && indexOfQueryNonDigitsIgnored(query, number) != -1;
+ }
+
+ /**
+ * Checks if query is contained in number while ignoring all characters in both that are not
+ * digits (i.e. {@link Character#isDigit(char)} returns false).
+ *
+ * @return index where query is found with all non-digits removed, -1 if it's not found.
+ */
+ static int indexOfQueryNonDigitsIgnored(@NonNull String query, @NonNull String number) {
+ return digitsOnly(number).indexOf(digitsOnly(query));
+ }
+
+ // Returns string with letters replaced with their T9 representation.
+ static String getT9Representation(String s) {
+ StringBuilder builder = new StringBuilder(s.length());
+ for (char c : s.toLowerCase().toCharArray()) {
+ builder.append(getDigit(c));
+ }
+ return builder.toString();
+ }
+
+ /** @return String s with only digits recognized by Character#isDigit() remaining */
+ public static String digitsOnly(String s) {
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < s.length(); i++) {
+ char c = s.charAt(i);
+ if (Character.isDigit(c)) {
+ sb.append(c);
+ }
+ }
+ return sb.toString();
+ }
+
+ // Returns the T9 representation of a lower case character, otherwise returns the character.
+ static char getDigit(char c) {
+ switch (c) {
+ case 'a':
+ case 'b':
+ case 'c':
+ return '2';
+ case 'd':
+ case 'e':
+ case 'f':
+ return '3';
+ case 'g':
+ case 'h':
+ case 'i':
+ return '4';
+ case 'j':
+ case 'k':
+ case 'l':
+ return '5';
+ case 'm':
+ case 'n':
+ case 'o':
+ return '6';
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ return '7';
+ case 't':
+ case 'u':
+ case 'v':
+ return '8';
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ return '9';
+ default:
+ return c;
+ }
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/common/res/layout/search_contact_row.xml b/java/com/android/dialer/searchfragment/common/res/layout/search_contact_row.xml
new file mode 100644
index 000000000..dd871af70
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/common/res/layout/search_contact_row.xml
@@ -0,0 +1,69 @@
+<?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
+ -->
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/search_row_height"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
+ android:background="?android:attr/selectableItemBackground">
+
+ <QuickContactBadge
+ android:id="@+id/photo"
+ android:layout_width="@dimen/search_row_height"
+ android:layout_height="@dimen/search_row_height"
+ android:padding="@dimen/search_photo_padding"
+ android:clickable="false"/>
+
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toEndOf="@+id/photo"
+ android:layout_toStartOf="@+id/call_to_action"
+ android:layout_centerVertical="true">
+
+ <TextView
+ android:id="@+id/primary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingStart="@dimen/search_text_padding_start"
+ android:gravity="center_vertical|start"
+ android:fontFamily="sans-serif"
+ style="@style/PrimaryText"/>
+
+ <TextView
+ android:id="@+id/secondary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingStart="@dimen/search_text_padding_start"
+ android:gravity="center_vertical|start"
+ android:fontFamily="sans-serif"
+ style="@style/SecondaryText"/>
+ </LinearLayout>
+
+ <ImageView
+ android:id="@+id/call_to_action"
+ android:layout_width="@dimen/search_row_height"
+ android:layout_height="@dimen/search_row_height"
+ android:layout_alignParentEnd="true"
+ android:padding="@dimen/call_to_action_padding"
+ android:tint="@color/dialer_secondary_text_color"
+ android:visibility="gone"
+ android:scaleType="center"/>
+</RelativeLayout> \ No newline at end of file
diff --git a/java/com/android/contacts/common/res/drawable/ic_call_and_share.xml b/java/com/android/dialer/searchfragment/common/res/values/dimens.xml
index be0cdd358..d5459ddb3 100644
--- a/java/com/android/contacts/common/res/drawable/ic_call_and_share.xml
+++ b/java/com/android/dialer/searchfragment/common/res/values/dimens.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- ~ Copyright (C) 2015 The Android Open Source Project
+ ~ 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.
@@ -14,9 +14,10 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
-
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
- android:src="@drawable/ic_phone_attach"
- android:tint="@color/search_video_call_icon_tint"
- android:background="?attr/selectableItemBackgroundBorderless"/> \ No newline at end of file
+<resources>
+ <dimen name="search_row_height">56dp</dimen>
+ <dimen name="search_photo_padding">8dp</dimen>
+ <dimen name="call_to_action_padding">8dp</dimen>
+ <dimen name="search_text_padding_start">16dp</dimen>
+ <dimen name="new_search_text_size">16sp</dimen>
+</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/searchfragment/cp2/SearchContactCursor.java b/java/com/android/dialer/searchfragment/cp2/SearchContactCursor.java
new file mode 100644
index 000000000..a2ef58c3c
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/cp2/SearchContactCursor.java
@@ -0,0 +1,392 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.cp2;
+
+import android.content.ContentResolver;
+import android.database.CharArrayBuffer;
+import android.database.ContentObserver;
+import android.database.Cursor;
+import android.database.DataSetObserver;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.annotation.IntDef;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+import com.android.dialer.searchfragment.common.Projections;
+import com.android.dialer.searchfragment.common.QueryFilteringUtil;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Wrapper for a cursor returned by {@link SearchContactsCursorLoader}.
+ *
+ * <p>This cursor removes duplicate phone numbers associated with the same contact and can filter
+ * contacts based on a query by calling {@link #filter(String)}.
+ */
+public final class SearchContactCursor implements Cursor {
+
+ private final Cursor cursor;
+ // List of cursor ids that are valid for displaying after filtering.
+ private final List<Integer> queryFilteredPositions = new ArrayList<>();
+
+ private int currentPosition = 0;
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({
+ Qualification.NUMBERS_ARE_NOT_DUPLICATES,
+ Qualification.NEW_NUMBER_IS_MORE_QUALIFIED,
+ Qualification.CURRENT_MORE_QUALIFIED
+ })
+ private @interface Qualification {
+ /** Numbers are not duplicates (i.e. neither is more qualified than the other). */
+ int NUMBERS_ARE_NOT_DUPLICATES = 0;
+ /** Number are duplicates and new number is more qualified than the existing number. */
+ int NEW_NUMBER_IS_MORE_QUALIFIED = 1;
+ /** Numbers are duplicates but current/existing number is more qualified than new number. */
+ int CURRENT_MORE_QUALIFIED = 2;
+ }
+
+ /**
+ * @param cursor with projection {@link Projections#PHONE_PROJECTION}.
+ * @param query to filter cursor results.
+ */
+ public SearchContactCursor(Cursor cursor, @Nullable String query) {
+ // TODO investigate copying this into a MatrixCursor and holding in memory
+ this.cursor = cursor;
+ filter(query);
+ }
+
+ /**
+ * Filters out contacts that do not match the query.
+ *
+ * <p>The query can have at least 1 of 3 forms:
+ *
+ * <ul>
+ * <li>A phone number
+ * <li>A T9 representation of a name (matches {@link QueryFilteringUtil#T9_PATTERN}).
+ * <li>A name
+ * </ul>
+ *
+ * <p>A contact is considered a match if:
+ *
+ * <ul>
+ * <li>Its phone number contains the phone number query
+ * <li>Its name represented in T9 contains the T9 query
+ * <li>Its name contains the query
+ * </ul>
+ */
+ public void filter(@Nullable String query) {
+ if (query == null) {
+ query = "";
+ }
+ queryFilteredPositions.clear();
+
+ // On some devices, contacts have multiple rows with identical phone numbers. These numbers are
+ // considered duplicates. Since the order might not be guaranteed, we compare all of the numbers
+ // and hold onto the most qualified one as the one we want to display to the user.
+ // See #getQualification for details on how qualification is determined.
+ int previousMostQualifiedPosition = 0;
+ String previousName = "";
+ String previousMostQualifiedNumber = "";
+
+ query = query.toLowerCase();
+ cursor.moveToPosition(-1);
+
+ while (cursor.moveToNext()) {
+ int position = cursor.getPosition();
+ String currentNumber = cursor.getString(Projections.PHONE_NUMBER);
+ String currentName = cursor.getString(Projections.PHONE_DISPLAY_NAME);
+
+ if (!previousName.equals(currentName)) {
+ previousName = currentName;
+ previousMostQualifiedNumber = currentNumber;
+ previousMostQualifiedPosition = position;
+ } else {
+ // Since the contact name is the same, check if this number is a duplicate
+ switch (getQualification(currentNumber, previousMostQualifiedNumber)) {
+ case Qualification.CURRENT_MORE_QUALIFIED:
+ // Number is a less qualified duplicate, ignore it.
+ continue;
+ case Qualification.NEW_NUMBER_IS_MORE_QUALIFIED:
+ // If number wasn't filtered out before, remove it and add it's more qualified version.
+ if (queryFilteredPositions.contains(previousMostQualifiedPosition)) {
+ queryFilteredPositions.remove(previousMostQualifiedPosition);
+ queryFilteredPositions.add(position);
+ }
+ previousMostQualifiedNumber = currentNumber;
+ previousMostQualifiedPosition = position;
+ continue;
+ case Qualification.NUMBERS_ARE_NOT_DUPLICATES:
+ default:
+ previousMostQualifiedNumber = currentNumber;
+ previousMostQualifiedPosition = position;
+ }
+ }
+
+ if (TextUtils.isEmpty(query)
+ || QueryFilteringUtil.nameMatchesT9Query(query, previousName)
+ || QueryFilteringUtil.numberMatchesNumberQuery(query, previousMostQualifiedNumber)
+ || previousName.contains(query)) {
+ queryFilteredPositions.add(previousMostQualifiedPosition);
+ }
+ }
+ currentPosition = 0;
+ cursor.moveToFirst();
+ }
+
+ /**
+ * @param number that may or may not be more qualified than the existing most qualified number
+ * @param mostQualifiedNumber currently most qualified number associated with same contact
+ * @return {@link Qualification} where the more qualified number is the number with the most
+ * digits. If the digits are the same, the number with the most formatting is more qualified.
+ */
+ private @Qualification int getQualification(String number, String mostQualifiedNumber) {
+ // Ignore formatting
+ String numberDigits = QueryFilteringUtil.digitsOnly(number);
+ String qualifiedNumberDigits = QueryFilteringUtil.digitsOnly(mostQualifiedNumber);
+
+ // If the numbers are identical, return version with more formatting
+ if (qualifiedNumberDigits.equals(numberDigits)) {
+ if (mostQualifiedNumber.length() >= number.length()) {
+ return Qualification.CURRENT_MORE_QUALIFIED;
+ } else {
+ return Qualification.NEW_NUMBER_IS_MORE_QUALIFIED;
+ }
+ }
+
+ // If one number is a suffix of another, then return the longer one.
+ // If they are equal, then return the current most qualified number.
+ if (qualifiedNumberDigits.endsWith(numberDigits)) {
+ return Qualification.CURRENT_MORE_QUALIFIED;
+ }
+ if (numberDigits.endsWith(qualifiedNumberDigits)) {
+ return Qualification.NEW_NUMBER_IS_MORE_QUALIFIED;
+ }
+ return Qualification.NUMBERS_ARE_NOT_DUPLICATES;
+ }
+
+ @Override
+ public boolean moveToPosition(int position) {
+ currentPosition = position;
+ return currentPosition < getCount()
+ && cursor.moveToPosition(queryFilteredPositions.get(currentPosition));
+ }
+
+ @Override
+ public boolean move(int offset) {
+ currentPosition += offset;
+ return moveToPosition(currentPosition);
+ }
+
+ @Override
+ public int getCount() {
+ return queryFilteredPositions.size();
+ }
+
+ @Override
+ public boolean isFirst() {
+ return currentPosition == 0;
+ }
+
+ @Override
+ public boolean isLast() {
+ return currentPosition == getCount() - 1;
+ }
+
+ @Override
+ public int getPosition() {
+ return currentPosition;
+ }
+
+ @Override
+ public boolean moveToFirst() {
+ return moveToPosition(0);
+ }
+
+ @Override
+ public boolean moveToLast() {
+ return moveToPosition(getCount() - 1);
+ }
+
+ @Override
+ public boolean moveToNext() {
+ return moveToPosition(++currentPosition);
+ }
+
+ @Override
+ public boolean moveToPrevious() {
+ return moveToPosition(--currentPosition);
+ }
+
+ // Methods below simply call the corresponding method in cursor.
+ @Override
+ public boolean isBeforeFirst() {
+ return cursor.isBeforeFirst();
+ }
+
+ @Override
+ public boolean isAfterLast() {
+ return cursor.isAfterLast();
+ }
+
+ @Override
+ public int getColumnIndex(String columnName) {
+ return cursor.getColumnIndex(columnName);
+ }
+
+ @Override
+ public int getColumnIndexOrThrow(String columnName) {
+ return cursor.getColumnIndexOrThrow(columnName);
+ }
+
+ @Override
+ public String getColumnName(int columnIndex) {
+ return cursor.getColumnName(columnIndex);
+ }
+
+ @Override
+ public String[] getColumnNames() {
+ return cursor.getColumnNames();
+ }
+
+ @Override
+ public int getColumnCount() {
+ return cursor.getColumnCount();
+ }
+
+ @Override
+ public byte[] getBlob(int columnIndex) {
+ return cursor.getBlob(columnIndex);
+ }
+
+ @Override
+ public String getString(int columnIndex) {
+ return cursor.getString(columnIndex);
+ }
+
+ @Override
+ public void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) {
+ cursor.copyStringToBuffer(columnIndex, buffer);
+ }
+
+ @Override
+ public short getShort(int columnIndex) {
+ return cursor.getShort(columnIndex);
+ }
+
+ @Override
+ public int getInt(int columnIndex) {
+ return cursor.getInt(columnIndex);
+ }
+
+ @Override
+ public long getLong(int columnIndex) {
+ return cursor.getLong(columnIndex);
+ }
+
+ @Override
+ public float getFloat(int columnIndex) {
+ return cursor.getFloat(columnIndex);
+ }
+
+ @Override
+ public double getDouble(int columnIndex) {
+ return cursor.getDouble(columnIndex);
+ }
+
+ @Override
+ public int getType(int columnIndex) {
+ return cursor.getType(columnIndex);
+ }
+
+ @Override
+ public boolean isNull(int columnIndex) {
+ return cursor.isNull(columnIndex);
+ }
+
+ @Override
+ public void deactivate() {
+ cursor.deactivate();
+ }
+
+ @Override
+ public boolean requery() {
+ return cursor.requery();
+ }
+
+ @Override
+ public void close() {
+ cursor.close();
+ }
+
+ @Override
+ public boolean isClosed() {
+ return cursor.isClosed();
+ }
+
+ @Override
+ public void registerContentObserver(ContentObserver observer) {
+ cursor.registerContentObserver(observer);
+ }
+
+ @Override
+ public void unregisterContentObserver(ContentObserver observer) {
+ cursor.unregisterContentObserver(observer);
+ }
+
+ @Override
+ public void registerDataSetObserver(DataSetObserver observer) {
+ cursor.registerDataSetObserver(observer);
+ }
+
+ @Override
+ public void unregisterDataSetObserver(DataSetObserver observer) {
+ cursor.unregisterDataSetObserver(observer);
+ }
+
+ @Override
+ public void setNotificationUri(ContentResolver cr, Uri uri) {
+ cursor.setNotificationUri(cr, uri);
+ }
+
+ @Override
+ public Uri getNotificationUri() {
+ return cursor.getNotificationUri();
+ }
+
+ @Override
+ public boolean getWantsAllOnMoveCalls() {
+ return cursor.getWantsAllOnMoveCalls();
+ }
+
+ @Override
+ public void setExtras(Bundle extras) {
+ cursor.setExtras(extras);
+ }
+
+ @Override
+ public Bundle getExtras() {
+ return cursor.getExtras();
+ }
+
+ @Override
+ public Bundle respond(Bundle extras) {
+ return cursor.respond(extras);
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java b/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java
new file mode 100644
index 000000000..5f06b5991
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/cp2/SearchContactViewHolder.java
@@ -0,0 +1,204 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.cp2;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+import android.provider.ContactsContract.Contacts;
+import android.support.annotation.IntDef;
+import android.support.v7.widget.RecyclerView.ViewHolder;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.ImageView;
+import android.widget.QuickContactBadge;
+import android.widget.TextView;
+import com.android.contacts.common.ContactPhotoManager;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
+import com.android.dialer.callintent.CallInitiationType.Type;
+import com.android.dialer.callintent.CallIntentBuilder;
+import com.android.dialer.common.Assert;
+import com.android.dialer.searchfragment.common.Projections;
+import com.android.dialer.searchfragment.common.QueryBoldingUtil;
+import com.android.dialer.searchfragment.common.R;
+import com.android.dialer.telecom.TelecomUtil;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/** ViewHolder for a contact row. */
+public final class SearchContactViewHolder extends ViewHolder implements OnClickListener {
+
+ /** IntDef for the different types of actions that can be shown. */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({CallToAction.NONE, CallToAction.VIDEO_CALL, CallToAction.SHARE_AND_CALL})
+ @interface CallToAction {
+ int NONE = 0;
+ int VIDEO_CALL = 1;
+ int SHARE_AND_CALL = 2;
+ }
+
+ private final QuickContactBadge photo;
+ private final TextView nameOrNumberView;
+ private final TextView numberView;
+ private final ImageView callToActionView;
+ private final Context context;
+
+ private String number;
+ private @CallToAction int currentAction;
+
+ public SearchContactViewHolder(View view) {
+ super(view);
+ view.setOnClickListener(this);
+ photo = view.findViewById(R.id.photo);
+ nameOrNumberView = view.findViewById(R.id.primary);
+ numberView = view.findViewById(R.id.secondary);
+ callToActionView = view.findViewById(R.id.call_to_action);
+ context = view.getContext();
+ }
+
+ /**
+ * Binds the ViewHolder with a cursor from {@link SearchContactsCursorLoader} with the data found
+ * at the cursors set position.
+ */
+ public void bind(Cursor cursor, String query) {
+ number = cursor.getString(Projections.PHONE_NUMBER);
+ String name = cursor.getString(Projections.PHONE_DISPLAY_NAME);
+ String label = getLabel(context.getResources(), cursor);
+ String secondaryInfo =
+ TextUtils.isEmpty(label)
+ ? number
+ : context.getString(
+ com.android.contacts.common.R.string.call_subject_type_and_number, label, number);
+
+ nameOrNumberView.setText(QueryBoldingUtil.getNameWithQueryBolded(query, name));
+ numberView.setText(QueryBoldingUtil.getNumberWithQueryBolded(query, secondaryInfo));
+ setCallToAction(cursor);
+
+ if (shouldShowPhoto(cursor, name)) {
+ nameOrNumberView.setVisibility(View.VISIBLE);
+ photo.setVisibility(View.VISIBLE);
+ String photoUri = cursor.getString(Projections.PHONE_PHOTO_URI);
+ ContactPhotoManager.getInstance(context)
+ .loadDialerThumbnailOrPhoto(
+ photo,
+ getContactUri(cursor),
+ cursor.getLong(Projections.PHONE_PHOTO_ID),
+ photoUri == null ? null : Uri.parse(photoUri),
+ name,
+ LetterTileDrawable.TYPE_DEFAULT);
+ } else {
+ nameOrNumberView.setVisibility(View.GONE);
+ photo.setVisibility(View.INVISIBLE);
+ }
+ }
+
+ private boolean shouldShowPhoto(Cursor cursor, String currentName) {
+ int currentPosition = cursor.getPosition();
+ if (currentPosition == 0) {
+ return true;
+ } else {
+ cursor.moveToPosition(currentPosition - 1);
+ String previousName = cursor.getString(Projections.PHONE_DISPLAY_NAME);
+ cursor.moveToPosition(currentPosition);
+ return !currentName.equals(previousName);
+ }
+ }
+
+ private static Uri getContactUri(Cursor cursor) {
+ long contactId = cursor.getLong(Projections.PHONE_ID);
+ String lookupKey = cursor.getString(Projections.PHONE_LOOKUP_KEY);
+ return Contacts.getLookupUri(contactId, lookupKey);
+ }
+
+ // TODO: handle CNAP and cequint types.
+ // TODO: unify this into a utility method with CallLogAdapter#getNumberType
+ private static String getLabel(Resources resources, Cursor cursor) {
+ int numberType = cursor.getInt(Projections.PHONE_TYPE);
+ String numberLabel = cursor.getString(Projections.PHONE_LABEL);
+
+ // Returns empty label instead of "custom" if the custom label is empty.
+ if (numberType == Phone.TYPE_CUSTOM && TextUtils.isEmpty(numberLabel)) {
+ return "";
+ }
+ return (String) Phone.getTypeLabel(resources, numberType, numberLabel);
+ }
+
+ private void setCallToAction(Cursor cursor) {
+ currentAction = getCallToAction(cursor);
+ switch (currentAction) {
+ case CallToAction.NONE:
+ callToActionView.setVisibility(View.GONE);
+ callToActionView.setOnClickListener(null);
+ break;
+ case CallToAction.SHARE_AND_CALL:
+ callToActionView.setVisibility(View.VISIBLE);
+ callToActionView.setImageDrawable(
+ context.getDrawable(com.android.contacts.common.R.drawable.ic_phone_attach));
+ callToActionView.setOnClickListener(this);
+ break;
+ case CallToAction.VIDEO_CALL:
+ callToActionView.setVisibility(View.VISIBLE);
+ callToActionView.setImageDrawable(
+ context.getDrawable(R.drawable.quantum_ic_videocam_white_24));
+ callToActionView.setOnClickListener(this);
+ break;
+ default:
+ throw Assert.createIllegalStateFailException(
+ "Invalid Call to action type: " + currentAction);
+ }
+ }
+
+ private static @CallToAction int getCallToAction(Cursor cursor) {
+ int carrierPresence = cursor.getInt(Projections.PHONE_CARRIER_PRESENCE);
+ if ((carrierPresence & Phone.CARRIER_PRESENCE_VT_CAPABLE) == 1) {
+ return CallToAction.VIDEO_CALL;
+ }
+
+ // TODO: enriched calling
+ return CallToAction.NONE;
+ }
+
+ @Override
+ public void onClick(View view) {
+ if (view == callToActionView) {
+ switch (currentAction) {
+ case CallToAction.SHARE_AND_CALL:
+ callToActionView.setVisibility(View.VISIBLE);
+ callToActionView.setImageDrawable(
+ context.getDrawable(com.android.contacts.common.R.drawable.ic_phone_attach));
+ // TODO: open call composer.
+ break;
+ case CallToAction.VIDEO_CALL:
+ callToActionView.setVisibility(View.VISIBLE);
+ callToActionView.setImageDrawable(
+ context.getDrawable(R.drawable.quantum_ic_videocam_white_24));
+ // TODO: place a video call
+ break;
+ case CallToAction.NONE:
+ default:
+ throw Assert.createIllegalStateFailException(
+ "Invalid Call to action type: " + currentAction);
+ }
+ } else {
+ // TODO: set the correct call initiation type.
+ TelecomUtil.placeCall(context, new CallIntentBuilder(number, Type.REGULAR_SEARCH).build());
+ }
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/cp2/SearchContactsCursorLoader.java b/java/com/android/dialer/searchfragment/cp2/SearchContactsCursorLoader.java
new file mode 100644
index 000000000..c72f28b25
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/cp2/SearchContactsCursorLoader.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.searchfragment.cp2;
+
+import android.content.Context;
+import android.content.CursorLoader;
+import android.database.Cursor;
+import android.provider.ContactsContract.CommonDataKinds.Phone;
+import com.android.dialer.searchfragment.common.Projections;
+
+/** Cursor Loader for CP2 contacts. */
+public final class SearchContactsCursorLoader extends CursorLoader {
+
+ public SearchContactsCursorLoader(Context context) {
+ super(
+ context,
+ Phone.CONTENT_URI,
+ Projections.PHONE_PROJECTION,
+ null,
+ null,
+ Phone.SORT_KEY_PRIMARY + " ASC");
+ }
+
+ @Override
+ public Cursor loadInBackground() {
+ return new SearchContactCursor(super.loadInBackground(), null);
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/list/AndroidManifest.xml b/java/com/android/dialer/searchfragment/list/AndroidManifest.xml
new file mode 100644
index 000000000..e0890cc2c
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/list/AndroidManifest.xml
@@ -0,0 +1,16 @@
+<!--
+ ~ 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
+ -->
+<manifest package="com.android.dialer.searchfragment.list"/> \ No newline at end of file
diff --git a/java/com/android/dialer/searchfragment/list/HeaderViewHolder.java b/java/com/android/dialer/searchfragment/list/HeaderViewHolder.java
new file mode 100644
index 000000000..dd35b13ee
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/list/HeaderViewHolder.java
@@ -0,0 +1,36 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.list;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.TextView;
+
+/** ViewHolder for header rows in {@link NewSearchFragment}. */
+final class HeaderViewHolder extends RecyclerView.ViewHolder {
+
+ private final TextView header;
+
+ HeaderViewHolder(View view) {
+ super(view);
+ header = view.findViewById(R.id.header);
+ }
+
+ public void setHeader(String header) {
+ this.header.setText(header);
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
new file mode 100644
index 000000000..fcc87c386
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
@@ -0,0 +1,125 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.list;
+
+import android.app.Fragment;
+import android.app.LoaderManager.LoaderCallbacks;
+import android.content.Loader;
+import android.database.Cursor;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import com.android.contacts.common.extensions.PhoneDirectoryExtenderAccessor;
+import com.android.dialer.common.concurrent.ThreadUtil;
+import com.android.dialer.searchfragment.cp2.SearchContactsCursorLoader;
+import com.android.dialer.searchfragment.nearbyplaces.NearbyPlacesCursorLoader;
+
+/** Fragment used for searching contacts. */
+public final class NewSearchFragment extends Fragment implements LoaderCallbacks<Cursor> {
+
+ // Since some of our queries can generate network requests, we should delay them until the user
+ // stops typing to prevent generating too much network traffic.
+ private static final int NETWORK_SEARCH_DELAY_MILLIS = 300;
+
+ private static final int CONTACTS_LOADER_ID = 0;
+ private static final int NEARBY_PLACES_ID = 1;
+
+ private RecyclerView recyclerView;
+ private SearchAdapter adapter;
+ private String query;
+
+ private final Runnable loadNearbyPlacesRunnable =
+ () -> getLoaderManager().restartLoader(NEARBY_PLACES_ID, null, this);
+
+ @Nullable
+ @Override
+ public View onCreateView(
+ LayoutInflater inflater, @Nullable ViewGroup parent, @Nullable Bundle bundle) {
+ getLoaderManager().initLoader(0, null, this);
+ View view = inflater.inflate(R.layout.fragment_search, parent, false);
+ adapter = new SearchAdapter(getContext());
+ recyclerView = view.findViewById(R.id.recycler_view);
+ recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
+ recyclerView.setAdapter(adapter);
+
+ getLoaderManager().initLoader(CONTACTS_LOADER_ID, null, this);
+ loadNearbyPlacesCursor();
+ return view;
+ }
+
+ @Override
+ public Loader<Cursor> onCreateLoader(int id, Bundle bundle) {
+ // TODO add enterprise loader
+ if (id == CONTACTS_LOADER_ID) {
+ return new SearchContactsCursorLoader(getContext());
+ } else if (id == NEARBY_PLACES_ID) {
+ return new NearbyPlacesCursorLoader(getContext(), query);
+ } else {
+ throw new IllegalStateException("Invalid loader id: " + id);
+ }
+ }
+
+ @Override
+ public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
+ if (loader instanceof SearchContactsCursorLoader) {
+ adapter.setContactsCursor(cursor);
+ } else if (loader instanceof NearbyPlacesCursorLoader) {
+ adapter.setNearbyPlacesCursor(cursor);
+ } else {
+ throw new IllegalStateException("Invalid loader: " + loader);
+ }
+ }
+
+ @Override
+ public void onLoaderReset(Loader<Cursor> loader) {
+ adapter.clear();
+ recyclerView.setAdapter(null);
+ }
+
+ public void setQuery(String query) {
+ this.query = query;
+ if (adapter != null) {
+ adapter.setQuery(query);
+ loadNearbyPlacesCursor();
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ // close adapters
+ adapter.setNearbyPlacesCursor(null);
+ adapter.setContactsCursor(null);
+ ThreadUtil.getUiThreadHandler().removeCallbacks(loadNearbyPlacesRunnable);
+ }
+
+ private void loadNearbyPlacesCursor() {
+ // Cancel existing load if one exists.
+ ThreadUtil.getUiThreadHandler().removeCallbacks(loadNearbyPlacesRunnable);
+
+ // If nearby places is not enabled, do not try to load them.
+ if (!PhoneDirectoryExtenderAccessor.get(getContext()).isEnabled(getContext())) {
+ return;
+ }
+ ThreadUtil.getUiThreadHandler()
+ .postDelayed(loadNearbyPlacesRunnable, NETWORK_SEARCH_DELAY_MILLIS);
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/list/SearchAdapter.java b/java/com/android/dialer/searchfragment/list/SearchAdapter.java
new file mode 100644
index 000000000..023513e47
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/list/SearchAdapter.java
@@ -0,0 +1,108 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.list;
+
+import android.content.Context;
+import android.database.Cursor;
+import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.RecyclerView.ViewHolder;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+import com.android.dialer.common.Assert;
+import com.android.dialer.searchfragment.cp2.SearchContactViewHolder;
+import com.android.dialer.searchfragment.list.SearchCursorManager.RowType;
+import com.android.dialer.searchfragment.nearbyplaces.NearbyPlaceViewHolder;
+
+/** RecyclerView adapter for {@link NewSearchFragment}. */
+class SearchAdapter extends RecyclerView.Adapter<ViewHolder> {
+
+ private final SearchCursorManager searchCursorManager;
+ private final Context context;
+
+ private String query;
+
+ SearchAdapter(Context context) {
+ searchCursorManager = new SearchCursorManager();
+ this.context = context;
+ }
+
+ @Override
+ public ViewHolder onCreateViewHolder(ViewGroup root, @RowType int rowType) {
+ switch (rowType) {
+ case RowType.CONTACT_ROW:
+ return new SearchContactViewHolder(
+ LayoutInflater.from(context).inflate(R.layout.search_contact_row, root, false));
+ case RowType.NEARBY_PLACES_ROW:
+ return new NearbyPlaceViewHolder(
+ LayoutInflater.from(context).inflate(R.layout.search_contact_row, root, false));
+ case RowType.DIRECTORY_HEADER:
+ case RowType.NEARBY_PLACES_HEADER:
+ return new HeaderViewHolder(
+ LayoutInflater.from(context).inflate(R.layout.header_layout, root, false));
+ case RowType.DIRECTORY_ROW: // TODO: add directory rows to search
+ case RowType.INVALID:
+ default:
+ throw Assert.createIllegalStateFailException("Invalid RowType: " + rowType);
+ }
+ }
+
+ @Override
+ public @RowType int getItemViewType(int position) {
+ return searchCursorManager.getRowType(position);
+ }
+
+ @Override
+ public void onBindViewHolder(ViewHolder holder, int position) {
+ if (holder instanceof SearchContactViewHolder) {
+ Cursor cursor = searchCursorManager.getCursor(position);
+ ((SearchContactViewHolder) holder).bind(cursor, query);
+ } else if (holder instanceof NearbyPlaceViewHolder) {
+ Cursor cursor = searchCursorManager.getCursor(position);
+ ((NearbyPlaceViewHolder) holder).bind(cursor, query);
+ } else if (holder instanceof HeaderViewHolder) {
+ String header = context.getString(searchCursorManager.getHeaderText(position));
+ ((HeaderViewHolder) holder).setHeader(header);
+ } else {
+ throw Assert.createIllegalStateFailException("Invalid ViewHolder: " + holder);
+ }
+ }
+
+ void setContactsCursor(Cursor cursor) {
+ searchCursorManager.setContactsCursor(cursor);
+ notifyDataSetChanged();
+ }
+
+ void clear() {
+ searchCursorManager.clear();
+ }
+
+ @Override
+ public int getItemCount() {
+ return searchCursorManager.getCount();
+ }
+
+ public void setQuery(String query) {
+ this.query = query;
+ searchCursorManager.setQuery(query);
+ notifyDataSetChanged();
+ }
+
+ public void setNearbyPlacesCursor(Cursor nearbyPlacesCursor) {
+ searchCursorManager.setNearbyPlacesCursor(nearbyPlacesCursor);
+ notifyDataSetChanged();
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/list/SearchCursorManager.java b/java/com/android/dialer/searchfragment/list/SearchCursorManager.java
new file mode 100644
index 000000000..216a9ada9
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/list/SearchCursorManager.java
@@ -0,0 +1,273 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.list;
+
+import android.database.Cursor;
+import android.support.annotation.IntDef;
+import android.support.annotation.StringRes;
+import com.android.dialer.common.Assert;
+import com.android.dialer.searchfragment.cp2.SearchContactCursor;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Manages all of the cursors needed for {@link SearchAdapter}.
+ *
+ * <p>This class accepts three cursors:
+ *
+ * <ul>
+ * <li>A contacts cursor {@link #setContactsCursor(Cursor)}
+ * <li>A google search results cursor {@link #setNearbyPlacesCursor(Cursor)}
+ * <li>A work directory cursor {@link #setCorpDirectoryCursor(Cursor)}
+ * </ul>
+ *
+ * <p>The key purpose of this class is to compose three aforementioned cursors together to function
+ * as one cursor. The key methods needed to utilize this class as a cursor are:
+ *
+ * <ul>
+ * <li>{@link #getCursor(int)}
+ * <li>{@link #getCount()}
+ * <li>{@link #getRowType(int)}
+ * </ul>
+ */
+final class SearchCursorManager {
+
+ /** IntDef for the different types of rows that can be shown when searching. */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({
+ SearchCursorManager.RowType.INVALID,
+ SearchCursorManager.RowType.CONTACT_ROW,
+ SearchCursorManager.RowType.NEARBY_PLACES_HEADER,
+ SearchCursorManager.RowType.NEARBY_PLACES_ROW,
+ SearchCursorManager.RowType.DIRECTORY_HEADER,
+ SearchCursorManager.RowType.DIRECTORY_ROW
+ })
+ @interface RowType {
+ int INVALID = 0;
+ /** A row containing contact information for contacts stored locally on device. */
+ int CONTACT_ROW = 1;
+ /** Header to mark the end of contact rows and start of nearby places rows. */
+ int NEARBY_PLACES_HEADER = 2;
+ /** A row containing nearby places information/search results. */
+ int NEARBY_PLACES_ROW = 3;
+ /** Header to mark the end of the previous row set and start of directory rows. */
+ int DIRECTORY_HEADER = 4;
+ /** A row containing contact information for contacts stored externally in corp directories. */
+ int DIRECTORY_ROW = 5;
+ }
+
+ private Cursor contactsCursor = null;
+ private Cursor nearbyPlacesCursor = null;
+ private Cursor corpDirectoryCursor = null;
+
+ void setContactsCursor(Cursor cursor) {
+ if (cursor == contactsCursor) {
+ return;
+ }
+
+ if (contactsCursor != null && !contactsCursor.isClosed()) {
+ contactsCursor.close();
+ }
+
+ if (cursor != null && cursor.getCount() > 0) {
+ contactsCursor = cursor;
+ } else {
+ contactsCursor = null;
+ }
+ }
+
+ void setNearbyPlacesCursor(Cursor cursor) {
+ if (cursor == nearbyPlacesCursor) {
+ return;
+ }
+
+ if (nearbyPlacesCursor != null && !nearbyPlacesCursor.isClosed()) {
+ nearbyPlacesCursor.close();
+ }
+
+ if (cursor != null && cursor.getCount() > 0) {
+ nearbyPlacesCursor = cursor;
+ } else {
+ nearbyPlacesCursor = null;
+ }
+ }
+
+ void setCorpDirectoryCursor(Cursor cursor) {
+ if (cursor == corpDirectoryCursor) {
+ return;
+ }
+
+ if (corpDirectoryCursor != null && !corpDirectoryCursor.isClosed()) {
+ corpDirectoryCursor.close();
+ }
+
+ if (cursor != null && cursor.getCount() > 0) {
+ corpDirectoryCursor = cursor;
+ } else {
+ corpDirectoryCursor = null;
+ }
+ }
+
+ void setQuery(String query) {
+ if (contactsCursor != null) {
+ // TODO: abstract this
+ ((SearchContactCursor) contactsCursor).filter(query);
+ }
+ }
+
+ /** @return the sum of counts of all cursors, including headers. */
+ int getCount() {
+ int count = 0;
+ if (contactsCursor != null) {
+ count += contactsCursor.getCount();
+ }
+
+ if (nearbyPlacesCursor != null) {
+ count++; // header
+ count += nearbyPlacesCursor.getCount();
+ }
+
+ if (corpDirectoryCursor != null) {
+ count++; // header
+ count += corpDirectoryCursor.getCount();
+ }
+
+ return count;
+ }
+
+ @RowType
+ int getRowType(int position) {
+ if (contactsCursor != null) {
+ position -= contactsCursor.getCount();
+
+ if (position < 0) {
+ return SearchCursorManager.RowType.CONTACT_ROW;
+ }
+ }
+
+ if (nearbyPlacesCursor != null) {
+ if (position == 0) {
+ return SearchCursorManager.RowType.NEARBY_PLACES_HEADER;
+ } else {
+ position--; // header
+ }
+
+ position -= nearbyPlacesCursor.getCount();
+
+ if (position < 0) {
+ return SearchCursorManager.RowType.NEARBY_PLACES_ROW;
+ }
+ }
+
+ if (corpDirectoryCursor != null) {
+ if (position == 0) {
+ return SearchCursorManager.RowType.DIRECTORY_HEADER;
+ } else {
+ position--; // header
+ }
+
+ position -= corpDirectoryCursor.getCount();
+
+ if (position < 0) {
+ return SearchCursorManager.RowType.DIRECTORY_ROW;
+ }
+ }
+
+ throw Assert.createIllegalStateFailException("No valid row type.");
+ }
+
+ /**
+ * Gets cursor corresponding to position in coelesced list of search cursors. Callers should
+ * ensure that {@link #getRowType(int)} doesn't correspond to header position, otherwise an
+ * exception will be thrown.
+ *
+ * @param position in coalecsed list of search cursors
+ * @return Cursor moved to position specific to passed in position.
+ */
+ Cursor getCursor(int position) {
+ if (contactsCursor != null) {
+ int count = contactsCursor.getCount();
+
+ if (position - count < 0) {
+ contactsCursor.moveToPosition(position);
+ return contactsCursor;
+ }
+ position -= count;
+ }
+
+ if (nearbyPlacesCursor != null) {
+ Assert.checkArgument(position != 0, "No valid cursor, position is nearby places header.");
+ position--; // header
+ int count = nearbyPlacesCursor.getCount();
+
+ if (position - count < 0) {
+ nearbyPlacesCursor.moveToPosition(position);
+ return nearbyPlacesCursor;
+ }
+ position -= count;
+ }
+
+ if (corpDirectoryCursor != null) {
+ Assert.checkArgument(position != 0, "No valid cursor, position is directory search header.");
+ position--; // header
+ int count = corpDirectoryCursor.getCount();
+
+ if (position - count < 0) {
+ corpDirectoryCursor.moveToPosition(position);
+ return corpDirectoryCursor;
+ }
+ position -= count;
+ }
+
+ throw Assert.createIllegalStateFailException("No valid cursor.");
+ }
+
+ @StringRes
+ int getHeaderText(int position) {
+ @RowType int rowType = getRowType(position);
+ switch (rowType) {
+ case RowType.NEARBY_PLACES_HEADER:
+ return R.string.nearby_places;
+ case RowType.DIRECTORY_HEADER: // TODO
+ case RowType.DIRECTORY_ROW:
+ case RowType.CONTACT_ROW:
+ case RowType.NEARBY_PLACES_ROW:
+ case RowType.INVALID:
+ default:
+ throw Assert.createIllegalStateFailException(
+ "Invalid row type, position " + position + " is rowtype " + rowType);
+ }
+ }
+
+ /** removes all cursors. */
+ void clear() {
+ if (contactsCursor != null) {
+ contactsCursor.close();
+ contactsCursor = null;
+ }
+
+ if (nearbyPlacesCursor != null) {
+ nearbyPlacesCursor.close();
+ nearbyPlacesCursor = null;
+ }
+
+ if (corpDirectoryCursor != null) {
+ corpDirectoryCursor.close();
+ corpDirectoryCursor = null;
+ }
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/list/res/layout/fragment_search.xml b/java/com/android/dialer/searchfragment/list/res/layout/fragment_search.xml
new file mode 100644
index 000000000..06f234889
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/list/res/layout/fragment_search.xml
@@ -0,0 +1,21 @@
+<?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
+ -->
+<android.support.v7.widget.RecyclerView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/recycler_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
diff --git a/java/com/android/dialer/searchfragment/list/res/layout/header_layout.xml b/java/com/android/dialer/searchfragment/list/res/layout/header_layout.xml
new file mode 100644
index 000000000..36af42ed9
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/list/res/layout/header_layout.xml
@@ -0,0 +1,22 @@
+<?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
+ -->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/header"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingStart="16dp"
+ style="@style/SecondaryText"/>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/AndroidManifest.xml b/java/com/android/dialer/searchfragment/nearbyplaces/AndroidManifest.xml
new file mode 100644
index 000000000..178cd83c3
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/AndroidManifest.xml
@@ -0,0 +1,16 @@
+<!--
+ ~ 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
+ -->
+<manifest package="com.android.dialer.searchfragment.common"/> \ No newline at end of file
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlaceViewHolder.java b/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlaceViewHolder.java
new file mode 100644
index 000000000..b6e5a9013
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlaceViewHolder.java
@@ -0,0 +1,90 @@
+/*
+ * 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
+ */
+
+package com.android.dialer.searchfragment.nearbyplaces;
+
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.QuickContactBadge;
+import android.widget.TextView;
+import com.android.contacts.common.ContactPhotoManager;
+import com.android.contacts.common.lettertiles.LetterTileDrawable;
+import com.android.dialer.callintent.CallInitiationType;
+import com.android.dialer.callintent.CallIntentBuilder;
+import com.android.dialer.searchfragment.common.Projections;
+import com.android.dialer.searchfragment.common.QueryBoldingUtil;
+import com.android.dialer.searchfragment.common.R;
+import com.android.dialer.telecom.TelecomUtil;
+
+/** ViewHolder for a nearby place row. */
+public final class NearbyPlaceViewHolder extends RecyclerView.ViewHolder
+ implements View.OnClickListener {
+
+ private final Context context;
+ private final TextView placeName;
+ private final TextView placeAddress;
+ private final QuickContactBadge photo;
+
+ private String number;
+
+ public NearbyPlaceViewHolder(View view) {
+ super(view);
+ view.setOnClickListener(this);
+ photo = view.findViewById(R.id.photo);
+ placeName = view.findViewById(R.id.primary);
+ placeAddress = view.findViewById(R.id.secondary);
+ context = view.getContext();
+ }
+
+ /**
+ * Binds the ViewHolder with a cursor from {@link NearbyPlacesCursorLoader} with the data found at
+ * the cursors set position.
+ */
+ public void bind(Cursor cursor, String query) {
+ number = cursor.getString(Projections.PHONE_NUMBER);
+ String name = cursor.getString(Projections.PHONE_DISPLAY_NAME);
+ String address = cursor.getString(Projections.PHONE_LABEL);
+
+ placeName.setText(QueryBoldingUtil.getNameWithQueryBolded(query, name));
+ placeAddress.setText(QueryBoldingUtil.getNameWithQueryBolded(query, address));
+
+ String photoUri = cursor.getString(Projections.PHONE_PHOTO_URI);
+ ContactPhotoManager.getInstance(context)
+ .loadDialerThumbnailOrPhoto(
+ photo,
+ getContactUri(cursor),
+ cursor.getLong(Projections.PHONE_PHOTO_ID),
+ photoUri == null ? null : Uri.parse(photoUri),
+ name,
+ LetterTileDrawable.TYPE_DEFAULT);
+ }
+
+ private static Uri getContactUri(Cursor cursor) {
+ long contactId = cursor.getLong(Projections.PHONE_ID);
+ String lookupKey = cursor.getString(Projections.PHONE_LOOKUP_KEY);
+ return ContactsContract.Contacts.getLookupUri(contactId, lookupKey);
+ }
+
+ @Override
+ public void onClick(View v) {
+ TelecomUtil.placeCall(
+ context, new CallIntentBuilder(number, CallInitiationType.Type.REGULAR_SEARCH).build());
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlacesCursorLoader.java b/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlacesCursorLoader.java
new file mode 100644
index 000000000..9f3193e92
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/NearbyPlacesCursorLoader.java
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+package com.android.dialer.searchfragment.nearbyplaces;
+
+import android.content.Context;
+import android.content.CursorLoader;
+import android.net.Uri;
+import android.provider.ContactsContract;
+import com.android.contacts.common.extensions.PhoneDirectoryExtenderAccessor;
+import com.android.dialer.searchfragment.common.Projections;
+
+/** Cursor loader for nearby places search results. */
+public final class NearbyPlacesCursorLoader extends CursorLoader {
+
+ private static final String MAX_RESULTS = "3";
+
+ public NearbyPlacesCursorLoader(Context context, String query) {
+ super(context, getContentUri(context, query), Projections.PHONE_PROJECTION, null, null, null);
+ }
+
+ private static Uri getContentUri(Context context, String query) {
+ return PhoneDirectoryExtenderAccessor.get(context)
+ .getContentUri()
+ .buildUpon()
+ .appendPath(query)
+ .appendQueryParameter(ContactsContract.LIMIT_PARAM_KEY, MAX_RESULTS)
+ .build();
+ }
+}
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-af/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-af/strings.xml
new file mode 100644
index 000000000..21eb4b11d
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-af/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Nabygeleë plekke"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-am/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-am/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-am/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ar/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ar/strings.xml
new file mode 100644
index 000000000..d68b4d1ee
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ar/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"الأماكن المجاورة"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-az/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-az/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-az/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 000000000..bb9f06fe7
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Obližnja mesta"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-be/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-be/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-be/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bg/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bg/strings.xml
new file mode 100644
index 000000000..e8839532a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bg/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Места в района"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bn/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bn/strings.xml
new file mode 100644
index 000000000..4bc3fedb4
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bn/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"আশপাশের জায়গাগুলি"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bs/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bs/strings.xml
new file mode 100644
index 000000000..f3fb92187
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-bs/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Mjesta u blizini"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ca/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ca/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ca/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-cs/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-cs/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-cs/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-da/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-da/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-da/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-de/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-de/strings.xml
new file mode 100644
index 000000000..9e2db4a32
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-de/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Orte in der Nähe"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-el/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-el/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-el/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rAU/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rAU/strings.xml
new file mode 100644
index 000000000..077827315
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rAU/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Places nearby"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rGB/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rGB/strings.xml
new file mode 100644
index 000000000..077827315
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rGB/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Places nearby"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rIN/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rIN/strings.xml
new file mode 100644
index 000000000..077827315
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-en-rIN/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Places nearby"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-es-rUS/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-es-rUS/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-es-rUS/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-es/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-es/strings.xml
new file mode 100644
index 000000000..fada6bcaf
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-es/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Sitios cercanos"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-et/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-et/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-et/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-eu/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-eu/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-eu/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fa/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fa/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fa/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fi/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fi/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fi/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fr-rCA/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fr-rCA/strings.xml
new file mode 100644
index 000000000..d65e7bd55
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fr-rCA/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Adresses à proximité"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fr/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fr/strings.xml
new file mode 100644
index 000000000..d65e7bd55
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-fr/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Adresses à proximité"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-gl/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-gl/strings.xml
new file mode 100644
index 000000000..5a4cce7e0
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-gl/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Lugares próximos"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-gu/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-gu/strings.xml
new file mode 100644
index 000000000..ee32e466f
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-gu/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"નજીકના સ્થળો"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hi/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hi/strings.xml
new file mode 100644
index 000000000..079c03e04
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hi/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"आस-पास के स्थल"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hr/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hr/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hr/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hu/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hu/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hu/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hy/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hy/strings.xml
new file mode 100644
index 000000000..3a2ba3938
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-hy/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Մոտակա վայրեր"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-in/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-in/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-in/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-is/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-is/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-is/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-it/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-it/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-it/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-iw/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-iw/strings.xml
new file mode 100644
index 000000000..0f07995f3
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-iw/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"מקומות קרובים"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ja/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ja/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ja/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ka/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ka/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ka/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-kk/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-kk/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-kk/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-km/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-km/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-km/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-kn/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-kn/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-kn/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ko/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ko/strings.xml
new file mode 100644
index 000000000..f05a33289
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ko/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"주변 장소"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ky/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ky/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ky/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lo/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lo/strings.xml
new file mode 100644
index 000000000..2ff0e8548
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lo/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"ສະຖານທີ່ໃກ້ຄຽງ"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lt/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lt/strings.xml
new file mode 100644
index 000000000..9baf54044
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lt/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Netoliese esančios vietos"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lv/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lv/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-lv/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mk/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mk/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mk/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ml/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ml/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ml/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mn/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mn/strings.xml
new file mode 100644
index 000000000..707a6c955
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mn/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Ойролцоох газрууд"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mr/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mr/strings.xml
new file mode 100644
index 000000000..862cd0419
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-mr/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"जवळपासची ठिकाणे"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ms/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ms/strings.xml
new file mode 100644
index 000000000..aed0bbb4d
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ms/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Tempat berdekatan"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-my/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-my/strings.xml
new file mode 100644
index 000000000..74e60a089
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-my/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"အနီးတဝိုက်ရှိ နေရာများ"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-nb/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-nb/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-nb/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ne/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ne/strings.xml
new file mode 100644
index 000000000..29b6854fe
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ne/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"नजिकका स्थानहरू"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-nl/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-nl/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-nl/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-no/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-no/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-no/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pa/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pa/strings.xml
new file mode 100644
index 000000000..1d4d472a3
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pa/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"ਨਜ਼ਦੀਕੀ ਸਥਾਨ"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pl/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pl/strings.xml
new file mode 100644
index 000000000..c00b6081a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pl/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Miejsca w pobliżu"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt-rBR/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt-rBR/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt-rBR/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt-rPT/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt-rPT/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt-rPT/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-pt/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ro/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ro/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ro/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ru/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ru/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ru/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-si/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-si/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-si/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sk/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sk/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sk/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sl/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sl/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sl/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sq/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sq/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sq/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sr/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sr/strings.xml
new file mode 100644
index 000000000..21af04328
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sr/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Оближња места"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sv/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sv/strings.xml
new file mode 100644
index 000000000..c309b8df4
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sv/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Platser i närheten"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sw/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sw/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-sw/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ta/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ta/strings.xml
new file mode 100644
index 000000000..ce7496e53
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ta/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"அருகிலுள்ள இடங்கள்"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-te/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-te/strings.xml
new file mode 100644
index 000000000..c8229fb64
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-te/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"సమీప స్థలాలు"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-th/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-th/strings.xml
new file mode 100644
index 000000000..1167d2f57
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-th/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"สถานที่ใกล้เคียง"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-tl/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-tl/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-tl/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-tr/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-tr/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-tr/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-uk/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-uk/strings.xml
new file mode 100644
index 000000000..a3936be25
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-uk/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"Місця поблизу"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ur/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ur/strings.xml
new file mode 100644
index 000000000..1a220b3c2
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-ur/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"قریبی مقامات"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-uz/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-uz/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-uz/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-vi/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-vi/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-vi/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rCN/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rCN/strings.xml
new file mode 100644
index 000000000..e060cb589
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rCN/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"附近的地点"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rHK/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rHK/strings.xml
new file mode 100644
index 000000000..5cdf5b9a7
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rHK/strings.xml
@@ -0,0 +1,21 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="nearby_places" msgid="275117539511113867">"附近地點"</string>
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rTW/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rTW/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zh-rTW/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zu/strings.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zu/strings.xml
new file mode 100644
index 000000000..8039ea04a
--- /dev/null
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values-zu/strings.xml
@@ -0,0 +1,22 @@
+<?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 xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- no translation found for nearby_places (275117539511113867) -->
+ <skip />
+</resources>
diff --git a/java/com/android/contacts/common/res/drawable/ic_back_arrow.xml b/java/com/android/dialer/searchfragment/nearbyplaces/res/values/strings.xml
index ecf704e8e..ed8068018 100644
--- a/java/com/android/contacts/common/res/drawable/ic_back_arrow.xml
+++ b/java/com/android/dialer/searchfragment/nearbyplaces/res/values/strings.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- ~ Copyright (C) 2014 The Android Open Source Project
+ ~ 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.
@@ -14,7 +14,7 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
- android:src="@drawable/quantum_ic_arrow_back_white_24"
- android:tint="@color/actionbar_icon_color"/> \ No newline at end of file
+<resources>
+ <!-- Label for a list of local search results [CHAR LIMIT=30]-->
+ <string name="nearby_places">Nearby places</string>
+</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/shortcuts/AndroidManifest.xml b/java/com/android/dialer/shortcuts/AndroidManifest.xml
index 71320517d..15f77944e 100644
--- a/java/com/android/dialer/shortcuts/AndroidManifest.xml
+++ b/java/com/android/dialer/shortcuts/AndroidManifest.xml
@@ -20,7 +20,7 @@
android:minSdkVersion="23"
android:targetSdkVersion="26"/>
- <application>
+ <application android:theme="@style/Theme.AppCompat">
<service
android:exported="false"
diff --git a/java/com/android/dialer/shortcuts/Shortcuts.java b/java/com/android/dialer/shortcuts/Shortcuts.java
index b6a7fa82a..c2bbb4dde 100644
--- a/java/com/android/dialer/shortcuts/Shortcuts.java
+++ b/java/com/android/dialer/shortcuts/Shortcuts.java
@@ -18,7 +18,7 @@ package com.android.dialer.shortcuts;
import android.content.Context;
import android.support.annotation.NonNull;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
/** Checks if dynamic shortcuts should be enabled. */
public class Shortcuts {
diff --git a/java/com/android/dialer/simulator/impl/SimulatorContacts.java b/java/com/android/dialer/simulator/impl/SimulatorContacts.java
index c5e25b357..e77788f02 100644
--- a/java/com/android/dialer/simulator/impl/SimulatorContacts.java
+++ b/java/com/android/dialer/simulator/impl/SimulatorContacts.java
@@ -134,7 +134,7 @@ final class SimulatorContacts {
ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, contact.getAccountType())
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, contact.getAccountName())
- .withValue(ContactsContract.RawContacts.STARRED, contact.getIsStarred())
+ .withValue(ContactsContract.RawContacts.STARRED, contact.getIsStarred() ? 1 : 0)
.withYieldAllowed(true)
.build());
diff --git a/java/com/android/dialer/telecom/TelecomUtil.java b/java/com/android/dialer/telecom/TelecomUtil.java
index 87ddda58b..573bfe2d9 100644
--- a/java/com/android/dialer/telecom/TelecomUtil.java
+++ b/java/com/android/dialer/telecom/TelecomUtil.java
@@ -29,21 +29,37 @@ import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
import android.text.TextUtils;
+import android.util.Pair;
import com.android.dialer.common.LogUtil;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
/**
* Performs permission checks before calling into TelecomManager. Each method is self-explanatory -
* perform the required check and return the fallback default if the permission is missing,
* otherwise return the value from TelecomManager.
*/
-public class TelecomUtil {
+public abstract class TelecomUtil {
private static final String TAG = "TelecomUtil";
private static boolean sWarningLogged = false;
- private static Boolean isDefaultDialerForTesting;
- private static Boolean hasPermissionForTesting;
+
+ private static TelecomUtilImpl instance = new TelecomUtilImpl();
+
+ /**
+ * Cache for {@link #isVoicemailNumber(Context, PhoneAccountHandle, String)}. Both
+ * PhoneAccountHandle and number are cached because multiple numbers might be mapped to true, and
+ * comparing with {@link #getVoicemailNumber(Context, PhoneAccountHandle)} will not suffice.
+ */
+ private static final Map<Pair<PhoneAccountHandle, String>, Boolean> isVoicemailNumberCache =
+ new ConcurrentHashMap<>();
+
+ @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+ public static void setInstanceForTesting(TelecomUtilImpl instanceForTesting) {
+ instance = instanceForTesting;
+ }
public static void showInCallScreen(Context context, boolean showDialpad) {
if (hasReadPhoneStatePermission(context)) {
@@ -125,18 +141,30 @@ public class TelecomUtil {
}
public static boolean isInCall(Context context) {
- if (hasReadPhoneStatePermission(context)) {
- return getTelecomManager(context).isInCall();
- }
- return false;
+ return instance.isInCall(context);
}
+ /**
+ * {@link TelecomManager#isVoiceMailNumber(PhoneAccountHandle, String)} takes about 10ms, which is
+ * way too slow for regular purposes. This method will cache the result for the life time of the
+ * process. The cache will not be invalidated, for example, if the voicemail number is changed by
+ * setting up apps like Google Voicemail, the result will be wrong. These events are rare.
+ */
public static boolean isVoicemailNumber(
Context context, PhoneAccountHandle accountHandle, String number) {
+ if (TextUtils.isEmpty(number)) {
+ return false;
+ }
+ Pair<PhoneAccountHandle, String> cacheKey = new Pair<>(accountHandle, number);
+ if (isVoicemailNumberCache.containsKey(cacheKey)) {
+ return isVoicemailNumberCache.get(cacheKey);
+ }
+ boolean result = false;
if (hasReadPhoneStatePermission(context)) {
- return getTelecomManager(context).isVoiceMailNumber(accountHandle, number);
+ result = getTelecomManager(context).isVoiceMailNumber(accountHandle, number);
}
- return false;
+ isVoicemailNumberCache.put(cacheKey, result);
+ return result;
}
@Nullable
@@ -189,43 +217,47 @@ public class TelecomUtil {
}
private static boolean hasPermission(Context context, String permission) {
- if (hasPermissionForTesting != null) {
- return hasPermissionForTesting;
- }
- return ContextCompat.checkSelfPermission(context, permission)
- == PackageManager.PERMISSION_GRANTED;
- }
-
- public static boolean isDefaultDialer(Context context) {
- if (isDefaultDialerForTesting != null) {
- return isDefaultDialerForTesting;
- }
- final boolean result =
- TextUtils.equals(
- context.getPackageName(), getTelecomManager(context).getDefaultDialerPackage());
- if (result) {
- sWarningLogged = false;
- } else {
- if (!sWarningLogged) {
- // Log only once to prevent spam.
- LogUtil.w(TAG, "Dialer is not currently set to be default dialer");
- sWarningLogged = true;
- }
- }
- return result;
+ return instance.hasPermission(context, permission);
}
private static TelecomManager getTelecomManager(Context context) {
return (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);
}
- @VisibleForTesting(otherwise = VisibleForTesting.NONE)
- public static void setIsDefaultDialerForTesting(Boolean defaultDialer) {
- isDefaultDialerForTesting = defaultDialer;
+ public static boolean isDefaultDialer(Context context) {
+ return instance.isDefaultDialer(context);
}
- @VisibleForTesting(otherwise = VisibleForTesting.NONE)
- public static void setHasPermissionForTesting(Boolean hasPermission) {
- hasPermissionForTesting = hasPermission;
+ /** Contains an implementation for {@link TelecomUtil} methods */
+ @VisibleForTesting()
+ public static class TelecomUtilImpl {
+
+ public boolean isInCall(Context context) {
+ if (hasReadPhoneStatePermission(context)) {
+ return getTelecomManager(context).isInCall();
+ }
+ return false;
+ }
+
+ public boolean hasPermission(Context context, String permission) {
+ return ContextCompat.checkSelfPermission(context, permission)
+ == PackageManager.PERMISSION_GRANTED;
+ }
+
+ public boolean isDefaultDialer(Context context) {
+ final boolean result =
+ TextUtils.equals(
+ context.getPackageName(), getTelecomManager(context).getDefaultDialerPackage());
+ if (result) {
+ sWarningLogged = false;
+ } else {
+ if (!sWarningLogged) {
+ // Log only once to prevent spam.
+ LogUtil.w(TAG, "Dialer is not currently set to be default dialer");
+ sWarningLogged = true;
+ }
+ }
+ return result;
+ }
}
}
diff --git a/java/com/android/dialer/theme/res/values-af/strings.xml b/java/com/android/dialer/theme/res/values-af/strings.xml
index f263a8186..17e6ceac4 100644
--- a/java/com/android/dialer/theme/res/values-af/strings.xml
+++ b/java/com/android/dialer/theme/res/values-af/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefoonhokkie"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Foon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratoestemming is geaktiveer"</string>
+ <string name="video_call" msgid="8914878391104612532">"Video-oproep"</string>
<string name="call" msgid="3699617769606114168">"Bel"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-am/strings.xml b/java/com/android/dialer/theme/res/values-am/strings.xml
index 4f3624428..5b0b2fd1f 100644
--- a/java/com/android/dialer/theme/res/values-am/strings.xml
+++ b/java/com/android/dialer/theme/res/values-am/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"የሕዝብ ስልክ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ስልክ"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"የካሜራ ፈቃድ ነቅቷል"</string>
+ <string name="video_call" msgid="8914878391104612532">"የቪዲዮ ጥሪ"</string>
<string name="call" msgid="3699617769606114168">"ደውል"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ar/strings.xml b/java/com/android/dialer/theme/res/values-ar/strings.xml
index 951bde2c0..ea3468e61 100644
--- a/java/com/android/dialer/theme/res/values-ar/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ar/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"هاتف يعمل بالعملة"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"الهاتف"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"تم تمكين إذن الكاميرا"</string>
+ <string name="video_call" msgid="8914878391104612532">"مكالمة فيديو"</string>
<string name="call" msgid="3699617769606114168">"اتصال"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-az/strings.xml b/java/com/android/dialer/theme/res/values-az/strings.xml
index 08eaf337b..91ead1b68 100644
--- a/java/com/android/dialer/theme/res/values-az/strings.xml
+++ b/java/com/android/dialer/theme/res/values-az/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Taksofon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera icazəsi aktiv edildi"</string>
+ <string name="video_call" msgid="8914878391104612532">"Video zəng"</string>
<string name="call" msgid="3699617769606114168">"Zəng edin"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml
index 01cdb4722..a1e59654f 100644
--- a/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonska govornica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Omogućena je dozvola za kameru"</string>
+ <string name="video_call" msgid="8914878391104612532">"Uputi video poziv"</string>
<string name="call" msgid="3699617769606114168">"Pozovi"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-be/strings.xml b/java/com/android/dialer/theme/res/values-be/strings.xml
index 49be019bf..881aa7f20 100644
--- a/java/com/android/dialer/theme/res/values-be/strings.xml
+++ b/java/com/android/dialer/theme/res/values-be/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Таксафон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Тэлефон"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Уключаны дазвол на выкарыстанне камеры"</string>
+ <string name="video_call" msgid="8914878391104612532">"Відэавыклік"</string>
<string name="call" msgid="3699617769606114168">"Выклікаць"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-bg/strings.xml b/java/com/android/dialer/theme/res/values-bg/strings.xml
index 87af9f0fd..debc23803 100644
--- a/java/com/android/dialer/theme/res/values-bg/strings.xml
+++ b/java/com/android/dialer/theme/res/values-bg/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Обществен телефон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Активирано бе разрешението за камерата"</string>
+ <string name="video_call" msgid="8914878391104612532">"Видеообаждане"</string>
<string name="call" msgid="3699617769606114168">"Обаждане"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-bn/strings.xml b/java/com/android/dialer/theme/res/values-bn/strings.xml
index ab1c65b5d..806ee8e02 100644
--- a/java/com/android/dialer/theme/res/values-bn/strings.xml
+++ b/java/com/android/dialer/theme/res/values-bn/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"পে ফোন"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ফোন"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"ক্যামেরার অনুমতি সক্ষম করা হয়েছে"</string>
+ <string name="video_call" msgid="8914878391104612532">"ভিডিও কল"</string>
<string name="call" msgid="3699617769606114168">"কল করুন"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-bs/strings.xml b/java/com/android/dialer/theme/res/values-bs/strings.xml
index 01cdb4722..bed71a230 100644
--- a/java/com/android/dialer/theme/res/values-bs/strings.xml
+++ b/java/com/android/dialer/theme/res/values-bs/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonska govornica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Dozvola za kameru je omogućena"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videopoziv"</string>
<string name="call" msgid="3699617769606114168">"Pozovi"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ca/strings.xml b/java/com/android/dialer/theme/res/values-ca/strings.xml
index 1e21a1f76..5140ca574 100644
--- a/java/com/android/dialer/theme/res/values-ca/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ca/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telèfon públic"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telèfon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"S\'ha activat el permís d\'accés a la càmera"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videotrucada"</string>
<string name="call" msgid="3699617769606114168">"Truca"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-cs/strings.xml b/java/com/android/dialer/theme/res/values-cs/strings.xml
index ca7bad9bb..a951fe7a8 100644
--- a/java/com/android/dialer/theme/res/values-cs/strings.xml
+++ b/java/com/android/dialer/theme/res/values-cs/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonní automat"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Byl povolen přístup k fotoaparátu"</string>
+ <string name="video_call" msgid="8914878391104612532">"Zahájit videohovor"</string>
<string name="call" msgid="3699617769606114168">"Volat"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-da/strings.xml b/java/com/android/dialer/theme/res/values-da/strings.xml
index c606b281e..54f185041 100644
--- a/java/com/android/dialer/theme/res/values-da/strings.xml
+++ b/java/com/android/dialer/theme/res/values-da/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Mønttelefon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Opkald"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratilladelse er aktiveret"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videoopkald"</string>
<string name="call" msgid="3699617769606114168">"Ring op"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-de/strings.xml b/java/com/android/dialer/theme/res/values-de/strings.xml
index d214287c2..0c97581cb 100644
--- a/java/com/android/dialer/theme/res/values-de/strings.xml
+++ b/java/com/android/dialer/theme/res/values-de/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Münztelefon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Berechtigung für Kamera aktiviert"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videoanruf"</string>
<string name="call" msgid="3699617769606114168">"Anrufen"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-el/strings.xml b/java/com/android/dialer/theme/res/values-el/strings.xml
index abe1d3f18..1c34a69c7 100644
--- a/java/com/android/dialer/theme/res/values-el/strings.xml
+++ b/java/com/android/dialer/theme/res/values-el/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Τηλέφωνο με χρέωση"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Τηλέφωνο"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Το δικαίωμα χρήσης της κάμερας έχει ενεργοποιηθεί"</string>
+ <string name="video_call" msgid="8914878391104612532">"Βιντεοκλήση"</string>
<string name="call" msgid="3699617769606114168">"Κλήση"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-en-rAU/strings.xml b/java/com/android/dialer/theme/res/values-en-rAU/strings.xml
index b086b4ca5..136d7df33 100644
--- a/java/com/android/dialer/theme/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/theme/res/values-en-rAU/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string>
+ <string name="video_call" msgid="8914878391104612532">"Video call"</string>
<string name="call" msgid="3699617769606114168">"Call"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-en-rGB/strings.xml b/java/com/android/dialer/theme/res/values-en-rGB/strings.xml
index b086b4ca5..136d7df33 100644
--- a/java/com/android/dialer/theme/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/theme/res/values-en-rGB/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string>
+ <string name="video_call" msgid="8914878391104612532">"Video call"</string>
<string name="call" msgid="3699617769606114168">"Call"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-en-rIN/strings.xml b/java/com/android/dialer/theme/res/values-en-rIN/strings.xml
index b086b4ca5..136d7df33 100644
--- a/java/com/android/dialer/theme/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/theme/res/values-en-rIN/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string>
+ <string name="video_call" msgid="8914878391104612532">"Video call"</string>
<string name="call" msgid="3699617769606114168">"Call"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-es-rUS/strings.xml b/java/com/android/dialer/theme/res/values-es-rUS/strings.xml
index aee2d0a9d..90837b76a 100644
--- a/java/com/android/dialer/theme/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/theme/res/values-es-rUS/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Teléfono público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Se activó el permiso de la cámara"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videollamada"</string>
<string name="call" msgid="3699617769606114168">"Llamar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-es/strings.xml b/java/com/android/dialer/theme/res/values-es/strings.xml
index 343ac2158..c2d3ee3d4 100644
--- a/java/com/android/dialer/theme/res/values-es/strings.xml
+++ b/java/com/android/dialer/theme/res/values-es/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Teléfono público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Se ha habilitado el acceso a la cámara"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videollamada"</string>
<string name="call" msgid="3699617769606114168">"Llamar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-et/strings.xml b/java/com/android/dialer/theme/res/values-et/strings.xml
index 5b1e6c044..269fa6403 100644
--- a/java/com/android/dialer/theme/res/values-et/strings.xml
+++ b/java/com/android/dialer/theme/res/values-et/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefoniautomaat"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kaameraluba on antud"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videokõne"</string>
<string name="call" msgid="3699617769606114168">"Helista"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-eu/strings.xml b/java/com/android/dialer/theme/res/values-eu/strings.xml
index dbb4f703c..14345f05f 100644
--- a/java/com/android/dialer/theme/res/values-eu/strings.xml
+++ b/java/com/android/dialer/theme/res/values-eu/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefono publikoa"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefonoa"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera atzitzeko baimena eman da"</string>
+ <string name="video_call" msgid="8914878391104612532">"Bideo-deia"</string>
<string name="call" msgid="3699617769606114168">"Deitu"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-fa/strings.xml b/java/com/android/dialer/theme/res/values-fa/strings.xml
index 99bed5f22..f751f3404 100644
--- a/java/com/android/dialer/theme/res/values-fa/strings.xml
+++ b/java/com/android/dialer/theme/res/values-fa/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="ID">%d</xliff:g> <xliff:g id="UNKNOWN">%s</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"تلفن عمومی"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"تلفن"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"مجوز دوربین فعال شد"</string>
+ <string name="video_call" msgid="8914878391104612532">"تماس ویدیویی"</string>
<string name="call" msgid="3699617769606114168">"تماس"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-fi/strings.xml b/java/com/android/dialer/theme/res/values-fi/strings.xml
index a180be565..0c09d7f43 100644
--- a/java/com/android/dialer/theme/res/values-fi/strings.xml
+++ b/java/com/android/dialer/theme/res/values-fi/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Maksupuhelin"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Puhelin"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kameran käyttöoikeus myönnettiin"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videopuhelu"</string>
<string name="call" msgid="3699617769606114168">"Soita"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml b/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml
index 18a70bbe8..7d901ca39 100644
--- a/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Cabine téléphonique"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Téléphone"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Autorisation d\'accès à l\'appareil photo activée"</string>
+ <string name="video_call" msgid="8914878391104612532">"Appel vidéo"</string>
<string name="call" msgid="3699617769606114168">"Appeler"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-fr/strings.xml b/java/com/android/dialer/theme/res/values-fr/strings.xml
index 18a70bbe8..1c30ef1e7 100644
--- a/java/com/android/dialer/theme/res/values-fr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-fr/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Cabine téléphonique"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Téléphone"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Autorisation d\'accès à l\'appareil photo accordée"</string>
+ <string name="video_call" msgid="8914878391104612532">"Appel vidéo"</string>
<string name="call" msgid="3699617769606114168">"Appeler"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-gl/strings.xml b/java/com/android/dialer/theme/res/values-gl/strings.xml
index fbbad6c07..083d395ad 100644
--- a/java/com/android/dialer/theme/res/values-gl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-gl/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Teléfono público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Activouse o permiso de acceso á cámara"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videochamada"</string>
<string name="call" msgid="3699617769606114168">"Chamar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-gu/strings.xml b/java/com/android/dialer/theme/res/values-gu/strings.xml
index 9b38dcd3f..4baba6971 100644
--- a/java/com/android/dialer/theme/res/values-gu/strings.xml
+++ b/java/com/android/dialer/theme/res/values-gu/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"પેફોન"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ફોન"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"કૅમેરાની પરવાનગી સક્ષમ કરી"</string>
+ <string name="video_call" msgid="8914878391104612532">"વિડિઓ કૉલ"</string>
<string name="call" msgid="3699617769606114168">"કૉલ કરો"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-hi/strings.xml b/java/com/android/dialer/theme/res/values-hi/strings.xml
index ee360b404..758be5d22 100644
--- a/java/com/android/dialer/theme/res/values-hi/strings.xml
+++ b/java/com/android/dialer/theme/res/values-hi/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"पे-फ़ोन"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"फ़ोन"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"कैमरे की अनुमति सक्षम की गई"</string>
+ <string name="video_call" msgid="8914878391104612532">"वीडियो कॉल"</string>
<string name="call" msgid="3699617769606114168">"कॉल करें"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-hr/strings.xml b/java/com/android/dialer/theme/res/values-hr/strings.xml
index 92e19567d..89a5aeec2 100644
--- a/java/com/android/dialer/theme/res/values-hr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-hr/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Javna telefonska govornica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Omogućen je pristup kameri"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videopoziv"</string>
<string name="call" msgid="3699617769606114168">"Pozovi"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-hu/strings.xml b/java/com/android/dialer/theme/res/values-hu/strings.xml
index dfcc876e4..30051d430 100644
--- a/java/com/android/dialer/theme/res/values-hu/strings.xml
+++ b/java/com/android/dialer/theme/res/values-hu/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Nyilvános telefon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kameraengedély megadva"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videohívás"</string>
<string name="call" msgid="3699617769606114168">"Hívás"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-hy/strings.xml b/java/com/android/dialer/theme/res/values-hy/strings.xml
index 3b4e862b3..6577dab16 100644
--- a/java/com/android/dialer/theme/res/values-hy/strings.xml
+++ b/java/com/android/dialer/theme/res/values-hy/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Բջջային տերմինալ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Հեռախոս"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Տեսախցիկից օգտվելու թույլտվությունը տրամադրված է"</string>
+ <string name="video_call" msgid="8914878391104612532">"Տեսազանգ"</string>
<string name="call" msgid="3699617769606114168">"Զանգել"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-in/strings.xml b/java/com/android/dialer/theme/res/values-in/strings.xml
index eda15a299..d2d72b832 100644
--- a/java/com/android/dialer/theme/res/values-in/strings.xml
+++ b/java/com/android/dialer/theme/res/values-in/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telepon Umum"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telepon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Izin kamera diaktifkan"</string>
+ <string name="video_call" msgid="8914878391104612532">"Video call"</string>
<string name="call" msgid="3699617769606114168">"Telepon"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-is/strings.xml b/java/com/android/dialer/theme/res/values-is/strings.xml
index cda7fc8fe..ff3faf836 100644
--- a/java/com/android/dialer/theme/res/values-is/strings.xml
+++ b/java/com/android/dialer/theme/res/values-is/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Símasjálfsali"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Sími"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Myndavélarheimild virk"</string>
+ <string name="video_call" msgid="8914878391104612532">"Hringja myndsímtal"</string>
<string name="call" msgid="3699617769606114168">"Hringja"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-it/strings.xml b/java/com/android/dialer/theme/res/values-it/strings.xml
index fa2caa6bb..4b26288ac 100644
--- a/java/com/android/dialer/theme/res/values-it/strings.xml
+++ b/java/com/android/dialer/theme/res/values-it/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Cabina telefonica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefono"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Autorizzazioni della fotocamera attivate"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videochiamata"</string>
<string name="call" msgid="3699617769606114168">"Chiama"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-iw/strings.xml b/java/com/android/dialer/theme/res/values-iw/strings.xml
index 18d87eaf7..09abf2ed1 100644
--- a/java/com/android/dialer/theme/res/values-iw/strings.xml
+++ b/java/com/android/dialer/theme/res/values-iw/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"טלפון ציבורי"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"טלפון"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"הרשאת הגישה למצלמה הופעלה"</string>
+ <string name="video_call" msgid="8914878391104612532">"שיחת וידאו"</string>
<string name="call" msgid="3699617769606114168">"התקשר"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ja/strings.xml b/java/com/android/dialer/theme/res/values-ja/strings.xml
index 39215598c..551d67983 100644
--- a/java/com/android/dialer/theme/res/values-ja/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ja/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g>(<xliff:g id="ID">%d</xliff:g>)"</string>
<string name="payphone" msgid="7106361320283710387">"公衆電話"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"カメラへのアクセスを自動で許可しました"</string>
+ <string name="video_call" msgid="8914878391104612532">"ビデオハングアウト"</string>
<string name="call" msgid="3699617769606114168">"発信"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ka/strings.xml b/java/com/android/dialer/theme/res/values-ka/strings.xml
index 18e7cb34d..ab225954e 100644
--- a/java/com/android/dialer/theme/res/values-ka/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ka/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"გადახდის ტელეფონი"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ტელეფონი"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"კამერაზე წვდომის ნებართვა ჩართულია"</string>
+ <string name="video_call" msgid="8914878391104612532">"ვიდეოზარი"</string>
<string name="call" msgid="3699617769606114168">"დარეკვა"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-kk/strings.xml b/java/com/android/dialer/theme/res/values-kk/strings.xml
index f9c62d32e..d3a1b7bb9 100644
--- a/java/com/android/dialer/theme/res/values-kk/strings.xml
+++ b/java/com/android/dialer/theme/res/values-kk/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Автомат-телефон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Камера рұқсаты қосылды"</string>
+ <string name="video_call" msgid="8914878391104612532">"Бейне қоңырау"</string>
<string name="call" msgid="3699617769606114168">"Қоңырау шалу"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-km/strings.xml b/java/com/android/dialer/theme/res/values-km/strings.xml
index 7e375cf99..900f1d690 100644
--- a/java/com/android/dialer/theme/res/values-km/strings.xml
+++ b/java/com/android/dialer/theme/res/values-km/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ទូរស័ព្ទសាធារណៈ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ទូរស័ព្ទ"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"បានបើក​ការអនុញ្ញាត​កាមេរ៉ា"</string>
+ <string name="video_call" msgid="8914878391104612532">"ការ​ហៅវីដេអូ"</string>
<string name="call" msgid="3699617769606114168">"ហៅ​ទូរសព្ទ"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-kn/strings.xml b/java/com/android/dialer/theme/res/values-kn/strings.xml
index 718fea0d4..ab9f816db 100644
--- a/java/com/android/dialer/theme/res/values-kn/strings.xml
+++ b/java/com/android/dialer/theme/res/values-kn/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ಪೇಫೋನ್"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ಫೋನ್"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"ಕ್ಯಾಮರಾ ಅನುಮತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
+ <string name="video_call" msgid="8914878391104612532">"ವೀಡಿಯೊ ಕರೆ"</string>
<string name="call" msgid="3699617769606114168">"ಕರೆಮಾಡಿ"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ko/strings.xml b/java/com/android/dialer/theme/res/values-ko/strings.xml
index 29f608c6e..b5ac55695 100644
--- a/java/com/android/dialer/theme/res/values-ko/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ko/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"공중전화"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"휴대전화"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"카메라 권한 사용 가능"</string>
+ <string name="video_call" msgid="8914878391104612532">"화상 통화"</string>
<string name="call" msgid="3699617769606114168">"전화"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ky/strings.xml b/java/com/android/dialer/theme/res/values-ky/strings.xml
index 905b8c5ff..0a9bec294 100644
--- a/java/com/android/dialer/theme/res/values-ky/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ky/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Таксофон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Камеранын уруксаты иштетилди"</string>
+ <string name="video_call" msgid="8914878391104612532">"Видео чалуу"</string>
<string name="call" msgid="3699617769606114168">"Чалуу"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-lo/strings.xml b/java/com/android/dialer/theme/res/values-lo/strings.xml
index 6826a753f..d33d43e5b 100644
--- a/java/com/android/dialer/theme/res/values-lo/strings.xml
+++ b/java/com/android/dialer/theme/res/values-lo/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ຕູ້​ໂທ​ລະ​ສັບ​ສາ​ທາ​ລະ​ນະ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ໂທລະສັບ"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"ເປີດໃຊ້ສິດອະນຸຍາດກ້ອງຖ່າຍຮູບແລ້ວ"</string>
+ <string name="video_call" msgid="8914878391104612532">"ໂທວິດີໂອ"</string>
<string name="call" msgid="3699617769606114168">"ໂທ"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-lt/strings.xml b/java/com/android/dialer/theme/res/values-lt/strings.xml
index 43469a1fd..fdf31e227 100644
--- a/java/com/android/dialer/theme/res/values-lt/strings.xml
+++ b/java/com/android/dialer/theme/res/values-lt/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="ID">%d</xliff:g> <xliff:g id="UNKNOWN">%s</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Taksofonas"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefonas"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Fotoaparato leidimas įgalintas"</string>
+ <string name="video_call" msgid="8914878391104612532">"Vaizdo skambutis"</string>
<string name="call" msgid="3699617769606114168">"Skambinti"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-lv/strings.xml b/java/com/android/dialer/theme/res/values-lv/strings.xml
index f9a6deca8..031c5bdea 100644
--- a/java/com/android/dialer/theme/res/values-lv/strings.xml
+++ b/java/com/android/dialer/theme/res/values-lv/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Maksas tālrunis"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Tālrunis"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kameras atļauja iespējota"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videozvans"</string>
<string name="call" msgid="3699617769606114168">"Zvanīt"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-mk/strings.xml b/java/com/android/dialer/theme/res/values-mk/strings.xml
index 1328edbb2..d89d12e90 100644
--- a/java/com/android/dialer/theme/res/values-mk/strings.xml
+++ b/java/com/android/dialer/theme/res/values-mk/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Говорница"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Дозволата за камера е овозможена"</string>
+ <string name="video_call" msgid="8914878391104612532">"Воспоставете видеоповик"</string>
<string name="call" msgid="3699617769606114168">"Повикајте"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ml/strings.xml b/java/com/android/dialer/theme/res/values-ml/strings.xml
index 03f9533ff..f02ceeb06 100644
--- a/java/com/android/dialer/theme/res/values-ml/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ml/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"പണം നൽകി ഉപയോഗിക്കുന്ന ഫോൺ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ഫോണ്‍"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"ക്യാമറ അനുമതി നൽകി"</string>
+ <string name="video_call" msgid="8914878391104612532">"വീഡിയോ കോള്‍"</string>
<string name="call" msgid="3699617769606114168">"വിളിക്കുക"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-mn/strings.xml b/java/com/android/dialer/theme/res/values-mn/strings.xml
index c47f08324..7a07e5d4d 100644
--- a/java/com/android/dialer/theme/res/values-mn/strings.xml
+++ b/java/com/android/dialer/theme/res/values-mn/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Утас"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Камерын зөвшөөрөл идэвхжсэн"</string>
+ <string name="video_call" msgid="8914878391104612532">"Видео дуудлага"</string>
<string name="call" msgid="3699617769606114168">"Залгах"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-mr/strings.xml b/java/com/android/dialer/theme/res/values-mr/strings.xml
index 41a9c96e0..eeb9afa1e 100644
--- a/java/com/android/dialer/theme/res/values-mr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-mr/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"सार्वजनिक फोन"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"फोन"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"कॅमेरा परवानगी सक्षम केली"</string>
+ <string name="video_call" msgid="8914878391104612532">"व्हिडिओ कॉल"</string>
<string name="call" msgid="3699617769606114168">"कॉल करा"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ms/strings.xml b/java/com/android/dialer/theme/res/values-ms/strings.xml
index b28fe26ac..2e424fdf7 100644
--- a/java/com/android/dialer/theme/res/values-ms/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ms/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefon Awam"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kebenaran kamera didayakan"</string>
+ <string name="video_call" msgid="8914878391104612532">"Panggilan video"</string>
<string name="call" msgid="3699617769606114168">"Panggil"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-my/strings.xml b/java/com/android/dialer/theme/res/values-my/strings.xml
index eb21b6ef2..97b871b30 100644
--- a/java/com/android/dialer/theme/res/values-my/strings.xml
+++ b/java/com/android/dialer/theme/res/values-my/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ငွေပေးရသည့်ဖုန်း"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ဖုန်း"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"ကင်မရာအသုံးပြုခွင့် ဖွင့်ထားပါသည်"</string>
+ <string name="video_call" msgid="8914878391104612532">"ဗီဒီယိုခေါ်ဆိုမှု"</string>
<string name="call" msgid="3699617769606114168">"ခေါ်ဆိုရန်"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-nb/strings.xml b/java/com/android/dialer/theme/res/values-nb/strings.xml
index dcd9b17ad..7587b7e30 100644
--- a/java/com/android/dialer/theme/res/values-nb/strings.xml
+++ b/java/com/android/dialer/theme/res/values-nb/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonkiosk"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratillatelsen er aktivert"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videosamtale"</string>
<string name="call" msgid="3699617769606114168">"Ring"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ne/strings.xml b/java/com/android/dialer/theme/res/values-ne/strings.xml
index 383ac2c8d..af1ad5e24 100644
--- a/java/com/android/dialer/theme/res/values-ne/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ne/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"पेफोन"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"फोन"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"क्यामेरा सम्बन्धी अनुमतिहरूलाई सक्षम पारियो"</string>
+ <string name="video_call" msgid="8914878391104612532">"भिडियो कल"</string>
<string name="call" msgid="3699617769606114168">"कल गर्नुहोस्"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-nl/strings.xml b/java/com/android/dialer/theme/res/values-nl/strings.xml
index 96357081d..ab51c97ae 100644
--- a/java/com/android/dialer/theme/res/values-nl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-nl/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefooncel"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefoon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Camerarechten ingeschakeld"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videogesprek"</string>
<string name="call" msgid="3699617769606114168">"Bellen"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-no/strings.xml b/java/com/android/dialer/theme/res/values-no/strings.xml
index dcd9b17ad..7587b7e30 100644
--- a/java/com/android/dialer/theme/res/values-no/strings.xml
+++ b/java/com/android/dialer/theme/res/values-no/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonkiosk"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratillatelsen er aktivert"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videosamtale"</string>
<string name="call" msgid="3699617769606114168">"Ring"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pa/strings.xml b/java/com/android/dialer/theme/res/values-pa/strings.xml
index dc23b7a69..8784bcae1 100644
--- a/java/com/android/dialer/theme/res/values-pa/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pa/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"ਪੇਫੋਨ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ਫੋਨ"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"ਕੈਮਰਾ ਇਜਾਜ਼ਤ ਨੂੰ ਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
+ <string name="video_call" msgid="8914878391104612532">"ਵੀਡੀਓ ਕਾਲ"</string>
<string name="call" msgid="3699617769606114168">"ਕਾਲ ਕਰੋ"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pl/strings.xml b/java/com/android/dialer/theme/res/values-pl/strings.xml
index 1ebaad2cc..246261e97 100644
--- a/java/com/android/dialer/theme/res/values-pl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pl/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Automat telefoniczny"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Uprawnienia do korzystania z aparatu zostały włączone"</string>
+ <string name="video_call" msgid="8914878391104612532">"Rozmowa wideo"</string>
<string name="call" msgid="3699617769606114168">"Zadzwoń"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml b/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml
index 6caf87cb8..c1356d9b3 100644
--- a/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefone público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Permissão de câmera ativada"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videochamada"</string>
<string name="call" msgid="3699617769606114168">"Ligar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml b/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml
index ef7c7d6c6..2b46e44a1 100644
--- a/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefone público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Autorização da câmara ativada"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videochamada"</string>
<string name="call" msgid="3699617769606114168">"Telefonar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-pt/strings.xml b/java/com/android/dialer/theme/res/values-pt/strings.xml
index 6caf87cb8..c1356d9b3 100644
--- a/java/com/android/dialer/theme/res/values-pt/strings.xml
+++ b/java/com/android/dialer/theme/res/values-pt/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefone público"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Permissão de câmera ativada"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videochamada"</string>
<string name="call" msgid="3699617769606114168">"Ligar"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ro/strings.xml b/java/com/android/dialer/theme/res/values-ro/strings.xml
index 4d0c09baf..8978e9240 100644
--- a/java/com/android/dialer/theme/res/values-ro/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ro/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefon public"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Permisiunea pentru cameră a fost activată."</string>
+ <string name="video_call" msgid="8914878391104612532">"Apel video"</string>
<string name="call" msgid="3699617769606114168">"Apelați"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ru/strings.xml b/java/com/android/dialer/theme/res/values-ru/strings.xml
index aeab13624..a155052be 100644
--- a/java/com/android/dialer/theme/res/values-ru/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ru/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Телефон-автомат"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Доступ к камере разрешен"</string>
+ <string name="video_call" msgid="8914878391104612532">"Видеовызов"</string>
<string name="call" msgid="3699617769606114168">"Позвонить"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-si/strings.xml b/java/com/android/dialer/theme/res/values-si/strings.xml
index ba3bb0577..424a11255 100644
--- a/java/com/android/dialer/theme/res/values-si/strings.xml
+++ b/java/com/android/dialer/theme/res/values-si/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"පේෆෝනය"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"දුරකථනය"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"කැමරා අවසර සබල කර ඇත"</string>
+ <string name="video_call" msgid="8914878391104612532">"වීඩියෝ ඇමතුම"</string>
<string name="call" msgid="3699617769606114168">"ඇමතුම"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sk/strings.xml b/java/com/android/dialer/theme/res/values-sk/strings.xml
index 6863463ae..411b85edc 100644
--- a/java/com/android/dialer/theme/res/values-sk/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sk/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefónny automat"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefón"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Povolenie pre fotoaparát je aktivované"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videohovor"</string>
<string name="call" msgid="3699617769606114168">"Volať"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sl/strings.xml b/java/com/android/dialer/theme/res/values-sl/strings.xml
index 1b1776abc..85a3e2b8e 100644
--- a/java/com/android/dialer/theme/res/values-sl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sl/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonska govorilnica"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Dovoljenje za dostop do fotoaparata je omogočeno"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videoklic"</string>
<string name="call" msgid="3699617769606114168">"Pokliči"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sq/strings.xml b/java/com/android/dialer/theme/res/values-sq/strings.xml
index 0d7084af6..5cbd587d3 100644
--- a/java/com/android/dialer/theme/res/values-sq/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sq/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefon me pagesë"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefoni"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Leja e kamerës është aktivizuar"</string>
+ <string name="video_call" msgid="8914878391104612532">"Telefonatë me video"</string>
<string name="call" msgid="3699617769606114168">"Telefono"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sr/strings.xml b/java/com/android/dialer/theme/res/values-sr/strings.xml
index a744e9530..310da735d 100644
--- a/java/com/android/dialer/theme/res/values-sr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sr/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Телефонска говорница"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Омогућена је дозвола за камеру"</string>
+ <string name="video_call" msgid="8914878391104612532">"Упути видео позив"</string>
<string name="call" msgid="3699617769606114168">"Позови"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sv/strings.xml b/java/com/android/dialer/theme/res/values-sv/strings.xml
index f409807ef..af8e5f7b1 100644
--- a/java/com/android/dialer/theme/res/values-sv/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sv/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Telefonautomat"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kamerabehörighet har aktiverats"</string>
+ <string name="video_call" msgid="8914878391104612532">"Videosamtal"</string>
<string name="call" msgid="3699617769606114168">"Ring"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-sw/strings.xml b/java/com/android/dialer/theme/res/values-sw/strings.xml
index a2f98888d..31615febb 100644
--- a/java/com/android/dialer/theme/res/values-sw/strings.xml
+++ b/java/com/android/dialer/theme/res/values-sw/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Simu ya kulipia"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Simu"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Imewasha ruhusa ya kamera"</string>
+ <string name="video_call" msgid="8914878391104612532">"Simu ya video"</string>
<string name="call" msgid="3699617769606114168">"Piga simu"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ta/strings.xml b/java/com/android/dialer/theme/res/values-ta/strings.xml
index a4f55f5c7..ab15f0b0c 100644
--- a/java/com/android/dialer/theme/res/values-ta/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ta/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"கட்டணத் தொலைபேசி"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"மொபைல்"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"கேமராவிற்கான அனுமதி இயக்கப்பட்டது"</string>
+ <string name="video_call" msgid="8914878391104612532">"வீடியோ அழைப்பு"</string>
<string name="call" msgid="3699617769606114168">"அழை"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-te/strings.xml b/java/com/android/dialer/theme/res/values-te/strings.xml
index 59f00ca1f..4a6fca1fb 100644
--- a/java/com/android/dialer/theme/res/values-te/strings.xml
+++ b/java/com/android/dialer/theme/res/values-te/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"పే ఫోన్"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"ఫోన్"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"కెమెరా అనుమతిని ప్రారంభించాము"</string>
+ <string name="video_call" msgid="8914878391104612532">"వీడియో కాల్"</string>
<string name="call" msgid="3699617769606114168">"కాల్ చేయి"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-th/strings.xml b/java/com/android/dialer/theme/res/values-th/strings.xml
index 3870b4da6..51db053fa 100644
--- a/java/com/android/dialer/theme/res/values-th/strings.xml
+++ b/java/com/android/dialer/theme/res/values-th/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"โทรศัพท์สาธารณะ"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"โทรศัพท์"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"ให้สิทธิ์เข้าถึงกล้องถ่ายรูปแล้ว"</string>
+ <string name="video_call" msgid="8914878391104612532">"แฮงเอาท์วิดีโอ"</string>
<string name="call" msgid="3699617769606114168">"โทร"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-tl/strings.xml b/java/com/android/dialer/theme/res/values-tl/strings.xml
index 81692789f..97f69ec1c 100644
--- a/java/com/android/dialer/theme/res/values-tl/strings.xml
+++ b/java/com/android/dialer/theme/res/values-tl/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Payphone"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telepono"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Na-enable ang pahintulot sa camera"</string>
+ <string name="video_call" msgid="8914878391104612532">"Mag-video call"</string>
<string name="call" msgid="3699617769606114168">"Tawag"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-tr/strings.xml b/java/com/android/dialer/theme/res/values-tr/strings.xml
index c11cd1375..b38f0674d 100644
--- a/java/com/android/dialer/theme/res/values-tr/strings.xml
+++ b/java/com/android/dialer/theme/res/values-tr/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Ankesörlü telefon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera izni etkinleştirildi"</string>
+ <string name="video_call" msgid="8914878391104612532">"Görüntülü görüşme"</string>
<string name="call" msgid="3699617769606114168">"Telefon et"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-uk/strings.xml b/java/com/android/dialer/theme/res/values-uk/strings.xml
index c87fe89b7..f0702770a 100644
--- a/java/com/android/dialer/theme/res/values-uk/strings.xml
+++ b/java/com/android/dialer/theme/res/values-uk/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Таксофон"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Камері надано дозвіл"</string>
+ <string name="video_call" msgid="8914878391104612532">"Відеодзвінок"</string>
<string name="call" msgid="3699617769606114168">"Виклик"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-ur/strings.xml b/java/com/android/dialer/theme/res/values-ur/strings.xml
index abc0d6d6b..e9a4b44bb 100644
--- a/java/com/android/dialer/theme/res/values-ur/strings.xml
+++ b/java/com/android/dialer/theme/res/values-ur/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"پے فون"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"فون"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"کیمرا کی اجازت فعال ہے"</string>
+ <string name="video_call" msgid="8914878391104612532">"ویڈیو کال"</string>
<string name="call" msgid="3699617769606114168">"کال کریں"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-uz/strings.xml b/java/com/android/dialer/theme/res/values-uz/strings.xml
index 2889f3f12..2bbaf2080 100644
--- a/java/com/android/dialer/theme/res/values-uz/strings.xml
+++ b/java/com/android/dialer/theme/res/values-uz/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Taksofon"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Kameraga kirishga ruxsat berildi"</string>
+ <string name="video_call" msgid="8914878391104612532">"Video suhbat"</string>
<string name="call" msgid="3699617769606114168">"Chaqirish"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-vi/strings.xml b/java/com/android/dialer/theme/res/values-vi/strings.xml
index b014516be..fae318091 100644
--- a/java/com/android/dialer/theme/res/values-vi/strings.xml
+++ b/java/com/android/dialer/theme/res/values-vi/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Điện thoại công cộng"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Điện thoại"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Đã bật quyền sử dụng máy ảnh"</string>
+ <string name="video_call" msgid="8914878391104612532">"Gọi điện video"</string>
<string name="call" msgid="3699617769606114168">"Gọi"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml b/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml
index baff75258..2e6096296 100644
--- a/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"公用电话"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"电话"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"已启用相机使用权限"</string>
+ <string name="video_call" msgid="8914878391104612532">"视频通话"</string>
<string name="call" msgid="3699617769606114168">"拨打电话"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml b/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml
index 8b26663d1..7b08024ac 100644
--- a/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"公共電話"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"已啟用相機權限"</string>
+ <string name="video_call" msgid="8914878391104612532">"視像通話"</string>
<string name="call" msgid="3699617769606114168">"通話"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml b/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml
index 24a5c10d1..57d7fe2b1 100644
--- a/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"公用電話"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"已啟用相機權限"</string>
+ <string name="video_call" msgid="8914878391104612532">"視訊通話"</string>
<string name="call" msgid="3699617769606114168">"撥號"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values-zu/strings.xml b/java/com/android/dialer/theme/res/values-zu/strings.xml
index 96cd79873..d0dd7288b 100644
--- a/java/com/android/dialer/theme/res/values-zu/strings.xml
+++ b/java/com/android/dialer/theme/res/values-zu/strings.xml
@@ -21,5 +21,7 @@
<string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string>
<string name="payphone" msgid="7106361320283710387">"Ucingo olufakwa imali"</string>
<string name="launcherActivityLabel" msgid="9034868428899993166">"Ifoni"</string>
+ <string name="camera_privacy_text" msgid="1318954032109938588">"Imvume yekhamera inikwe amandla"</string>
+ <string name="video_call" msgid="8914878391104612532">"Ikholi yevidiyo"</string>
<string name="call" msgid="3699617769606114168">"Shaya"</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values/strings.xml b/java/com/android/dialer/theme/res/values/strings.xml
index a14693f51..af61d3596 100644
--- a/java/com/android/dialer/theme/res/values/strings.xml
+++ b/java/com/android/dialer/theme/res/values/strings.xml
@@ -30,6 +30,12 @@
used in the Launcher icon. -->
<string name="launcherActivityLabel">Phone</string>
+ <!-- Text presented to the user explaining that we have enabled the camera permission automatically -->
+ <string name="camera_privacy_text">Camera permission enabled</string>
+
+ <!-- text on a button, Video call, as in to place a video call. -->
+ <string name="video_call">Video call</string>
+
<!-- Label shown on the 'positive' button for the dialog. Indicates that the call will proceed -->
<string name="call">Call</string>
</resources>
diff --git a/java/com/android/dialer/theme/res/values/themes.xml b/java/com/android/dialer/theme/res/values/themes.xml
index 0d0c45f90..124682692 100644
--- a/java/com/android/dialer/theme/res/values/themes.xml
+++ b/java/com/android/dialer/theme/res/values/themes.xml
@@ -1,4 +1,19 @@
<?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>
<style name="DialerThemeBase" parent="@style/Theme.AppCompat.Light.DarkActionBar">
@@ -19,6 +34,20 @@
<item name="actionBarSize">@dimen/action_bar_height</item>
</style>
+ <!-- Should be kept in sync with the theme above (minus anything related to actionbars -->
+ <style name="DialerThemeBase.NoActionBar" parent="@style/Theme.AppCompat.Light.NoActionBar">
+ <item name="android:textColorPrimary">@color/dialer_primary_text_color</item>
+ <item name="android:textColorSecondary">@color/dialer_secondary_text_color</item>
+ <!-- This is used for title bar color in recents -->
+ <item name="android:colorPrimary">@color/titlebar_in_recents_background_color</item>
+ <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
+ <item name="android:colorControlActivated">@color/dialer_theme_color</item>
+ <item name="android:colorButtonNormal">@color/dialer_theme_color</item>
+ <item name="android:colorAccent">@color/dialtacts_theme_color</item>
+ <item name="android:alertDialogTheme">@style/AlertDialogTheme</item>
+ <item name="android:textAppearanceButton">@style/DialerButtonTextStyle</item>
+ </style>
+
<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
@@ -26,4 +55,18 @@
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
+
+ <style name="PrimaryText">
+ <item name="android:textColor">#DE000000</item>
+ <item name="android:textSize">16sp</item>
+ <item name="android:ellipsize">end</item>
+ <item name="android:maxLines">1</item>
+ </style>
+
+ <style name="SecondaryText">
+ <item name="android:textColor">#8A000000</item>
+ <item name="android:textSize">14sp</item>
+ <item name="android:ellipsize">end</item>
+ <item name="android:maxLines">1</item>
+ </style>
</resources>
diff --git a/java/com/android/dialer/util/CallUtil.java b/java/com/android/dialer/util/CallUtil.java
index 81a4bb21e..0afe930c9 100644
--- a/java/com/android/dialer/util/CallUtil.java
+++ b/java/com/android/dialer/util/CallUtil.java
@@ -21,6 +21,7 @@ import android.net.Uri;
import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.CompatUtils;
import com.android.dialer.phonenumberutil.PhoneNumberHelper;
import java.util.List;
@@ -40,6 +41,9 @@ public class CallUtil {
*/
public static final int VIDEO_CALLING_PRESENCE = 2;
+ private static boolean hasInitializedIsVideoEnabledState;
+ private static boolean cachedIsVideoEnabledState;
+
/** Return Uri with an appropriate scheme, accepting both SIP and usual phone call numbers. */
public static Uri getCallUri(String number) {
if (PhoneNumberHelper.isUriNumber(number)) {
@@ -102,7 +106,23 @@ public class CallUtil {
* false} otherwise.
*/
public static boolean isVideoEnabled(Context context) {
- return (getVideoCallingAvailability(context) & VIDEO_CALLING_ENABLED) != 0;
+ boolean isVideoEnabled = (getVideoCallingAvailability(context) & VIDEO_CALLING_ENABLED) != 0;
+
+ // Log everytime the video enabled state changes.
+ if (!hasInitializedIsVideoEnabledState) {
+ LogUtil.i("CallUtil.isVideoEnabled", "isVideoEnabled: " + isVideoEnabled);
+ hasInitializedIsVideoEnabledState = true;
+ cachedIsVideoEnabledState = isVideoEnabled;
+ } else if (cachedIsVideoEnabledState != isVideoEnabled) {
+ LogUtil.i(
+ "CallUtil.isVideoEnabled",
+ "isVideoEnabled changed from %b to %b",
+ cachedIsVideoEnabledState,
+ isVideoEnabled);
+ cachedIsVideoEnabledState = isVideoEnabled;
+ }
+
+ return isVideoEnabled;
}
/**
diff --git a/java/com/android/dialer/util/PermissionsUtil.java b/java/com/android/dialer/util/PermissionsUtil.java
index 466e86204..34828317d 100644
--- a/java/com/android/dialer/util/PermissionsUtil.java
+++ b/java/com/android/dialer/util/PermissionsUtil.java
@@ -16,15 +16,33 @@
package com.android.dialer.util;
+import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
+import static android.Manifest.permission.ACCESS_FINE_LOCATION;
+import static android.Manifest.permission.ADD_VOICEMAIL;
+import static android.Manifest.permission.CALL_PHONE;
+import static android.Manifest.permission.MODIFY_PHONE_STATE;
+import static android.Manifest.permission.READ_CALL_LOG;
+import static android.Manifest.permission.READ_CONTACTS;
+import static android.Manifest.permission.READ_PHONE_STATE;
+import static android.Manifest.permission.READ_VOICEMAIL;
+import static android.Manifest.permission.WRITE_CALL_LOG;
+import static android.Manifest.permission.WRITE_CONTACTS;
+import static android.Manifest.permission.WRITE_VOICEMAIL;
+
import android.Manifest.permission;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
+import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.support.v4.content.LocalBroadcastManager;
import com.android.dialer.common.LogUtil;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
/** Utility class to help with runtime permissions. */
public class PermissionsUtil {
@@ -32,6 +50,27 @@ public class PermissionsUtil {
private static final String PERMISSION_PREFERENCE = "dialer_permissions";
private static final String CEQUINT_PERMISSION = "com.cequint.ecid.CALLER_ID_LOOKUP";
+ // Permissions list retrieved from application manifest.
+ // Starting in Android O Permissions must be explicitly enumerated:
+ // https://developer.android.com/preview/behavior-changes.html#rmp
+ public static final List<String> allPhoneGroupPermissionsUsedInDialer =
+ Collections.unmodifiableList(
+ Arrays.asList(
+ READ_CALL_LOG,
+ WRITE_CALL_LOG,
+ READ_PHONE_STATE,
+ MODIFY_PHONE_STATE,
+ CALL_PHONE,
+ ADD_VOICEMAIL,
+ WRITE_VOICEMAIL,
+ READ_VOICEMAIL));
+
+ public static final List<String> allContactsGroupPermissionsUsedInDialer =
+ Collections.unmodifiableList(Arrays.asList(READ_CONTACTS, WRITE_CONTACTS));
+
+ public static final List<String> allLocationGroupPermissionsUsedInDialer =
+ Collections.unmodifiableList(Arrays.asList(ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION));
+
public static boolean hasPhonePermissions(Context context) {
return hasPermission(context, permission.CALL_PHONE);
}
@@ -147,4 +186,25 @@ public class PermissionsUtil {
final Intent intent = new Intent(permission);
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
+
+ /**
+ * Returns a list of permissions currently not granted to the application from the supplied list.
+ *
+ * @param context - The Application context.
+ * @param permissionsList - A list of permissions to check if the current application has been
+ * granted.
+ * @return An array of permissions that are currently DENIED to the application; a subset of
+ * permissionsList.
+ */
+ @NonNull
+ public static String[] getPermissionsCurrentlyDenied(
+ @NonNull Context context, @NonNull List<String> permissionsList) {
+ List<String> permissionsCurrentlyDenied = new ArrayList<>();
+ for (String permission : permissionsList) {
+ if (!hasPermission(context, permission)) {
+ permissionsCurrentlyDenied.add(permission);
+ }
+ }
+ return permissionsCurrentlyDenied.toArray(new String[permissionsCurrentlyDenied.size()]);
+ }
}
diff --git a/java/com/android/dialer/widget/DialerToolbar.java b/java/com/android/dialer/widget/DialerToolbar.java
index 9e1058383..fe0e86110 100644
--- a/java/com/android/dialer/widget/DialerToolbar.java
+++ b/java/com/android/dialer/widget/DialerToolbar.java
@@ -41,6 +41,11 @@ public class DialerToolbar extends Toolbar {
setNavigationIcon(R.drawable.quantum_ic_close_white_24);
setNavigationContentDescription(R.string.toolbar_close);
setNavigationOnClickListener(v -> ((Activity) context).finish());
+ setPaddingRelative(
+ getPaddingStart(),
+ getPaddingTop(),
+ getResources().getDimensionPixelSize(R.dimen.toolbar_end_padding),
+ getPaddingBottom());
}
@Override
diff --git a/java/com/android/dialer/app/widget/EmptyContentView.java b/java/com/android/dialer/widget/EmptyContentView.java
index cfc8665a2..a76ab98d6 100644
--- a/java/com/android/dialer/app/widget/EmptyContentView.java
+++ b/java/com/android/dialer/widget/EmptyContentView.java
@@ -14,16 +14,16 @@
* limitations under the License.
*/
-package com.android.dialer.app.widget;
+package com.android.dialer.widget;
import android.content.Context;
+import android.support.annotation.StringRes;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
-import com.android.dialer.app.R;
public class EmptyContentView extends LinearLayout implements View.OnClickListener {
@@ -40,6 +40,8 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen
private TextView mActionView;
private OnEmptyViewActionButtonClickedListener mOnActionButtonClickedListener;
+ private @StringRes int actionLabel;
+
public EmptyContentView(Context context) {
this(context, null);
}
@@ -58,9 +60,9 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen
// Don't let touches fall through the empty view.
setClickable(true);
- mImageView = (ImageView) findViewById(R.id.emptyListViewImage);
- mDescriptionView = (TextView) findViewById(R.id.emptyListViewMessage);
- mActionView = (TextView) findViewById(R.id.emptyListViewAction);
+ mImageView = (ImageView) findViewById(R.id.empty_list_view_image);
+ mDescriptionView = (TextView) findViewById(R.id.empty_list_view_message);
+ mActionView = (TextView) findViewById(R.id.empty_list_view_action);
mActionView.setOnClickListener(this);
}
@@ -84,7 +86,8 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen
}
}
- public void setActionLabel(int resourceId) {
+ public void setActionLabel(@StringRes int resourceId) {
+ actionLabel = resourceId;
if (resourceId == NO_LABEL) {
mActionView.setText(null);
mActionView.setVisibility(View.GONE);
@@ -94,6 +97,10 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen
}
}
+ public @StringRes int getActionLabel() {
+ return actionLabel;
+ }
+
public boolean isShowingContent() {
return mImageView.getVisibility() == View.VISIBLE
|| mDescriptionView.getVisibility() == View.VISIBLE
@@ -117,5 +124,4 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen
(LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.empty_content_view, this);
}
-
}
diff --git a/java/com/android/incallui/incall/impl/LockableViewPager.java b/java/com/android/dialer/widget/LockableViewPager.java
index 5b8b12609..b5d4022e7 100644
--- a/java/com/android/incallui/incall/impl/LockableViewPager.java
+++ b/java/com/android/dialer/widget/LockableViewPager.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.incallui.incall.impl;
+package com.android.dialer.widget;
import android.content.Context;
import android.support.v4.view.ViewPager;
@@ -34,6 +34,10 @@ public class LockableViewPager extends ViewPager {
this.swipingLocked = swipingLocked;
}
+ public boolean isSwipingLocked() {
+ return swipingLocked;
+ }
+
@Override
public boolean onInterceptTouchEvent(MotionEvent motionEvent) {
return !swipingLocked && super.onInterceptTouchEvent(motionEvent);
diff --git a/java/com/android/dialer/widget/MessageFragment.java b/java/com/android/dialer/widget/MessageFragment.java
index b136f47eb..615ad3b77 100644
--- a/java/com/android/dialer/widget/MessageFragment.java
+++ b/java/com/android/dialer/widget/MessageFragment.java
@@ -23,6 +23,7 @@ import android.text.Editable;
import android.text.InputFilter;
import android.text.TextUtils;
import android.text.TextWatcher;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -31,11 +32,13 @@ import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
+import android.widget.TextView.OnEditorActionListener;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
/** Fragment used to compose call with message fragment. */
-public class MessageFragment extends Fragment implements OnClickListener, TextWatcher {
+public class MessageFragment extends Fragment
+ implements OnClickListener, TextWatcher, OnEditorActionListener {
private static final String CHAR_LIMIT_KEY = "char_limit";
private static final String SHOW_SEND_ICON_KEY = "show_send_icon";
private static final String MESSAGE_LIST_KEY = "message_list";
@@ -69,7 +72,7 @@ public class MessageFragment extends Fragment implements OnClickListener, TextWa
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_message, container, false);
- sendMessage = (ImageView) view.findViewById(R.id.send_message);
+ sendMessage = view.findViewById(R.id.send_message);
sendMessageContainer = view.findViewById(R.id.count_and_send_container);
if (getArguments().getBoolean(SHOW_SEND_ICON_KEY, false)) {
sendMessage.setVisibility(View.VISIBLE);
@@ -77,18 +80,19 @@ public class MessageFragment extends Fragment implements OnClickListener, TextWa
sendMessageContainer.setOnClickListener(this);
}
- customMessage = (EditText) view.findViewById(R.id.custom_message);
+ customMessage = view.findViewById(R.id.custom_message);
customMessage.addTextChangedListener(this);
+ customMessage.setOnEditorActionListener(this);
charLimit = getArguments().getInt(CHAR_LIMIT_KEY, NO_CHAR_LIMIT);
if (charLimit != NO_CHAR_LIMIT) {
- remainingChar = (TextView) view.findViewById(R.id.remaining_characters);
+ remainingChar = view.findViewById(R.id.remaining_characters);
remainingChar.setVisibility(View.VISIBLE);
- remainingChar = (TextView) view.findViewById(R.id.remaining_characters);
- remainingChar.setText("" + charLimit);
+ remainingChar = view.findViewById(R.id.remaining_characters);
+ remainingChar.setText(Integer.toString(charLimit));
customMessage.setFilters(new InputFilter[] {new InputFilter.LengthFilter(charLimit)});
}
- LinearLayout messageContainer = (LinearLayout) view.findViewById(R.id.message_container);
+ LinearLayout messageContainer = view.findViewById(R.id.message_container);
for (String message : getArguments().getStringArray(MESSAGE_LIST_KEY)) {
TextView textView = (TextView) inflater.inflate(R.layout.selectable_text_view, null);
textView.setOnClickListener(this);
@@ -123,11 +127,20 @@ public class MessageFragment extends Fragment implements OnClickListener, TextWa
@Override
public void afterTextChanged(Editable s) {
if (charLimit != NO_CHAR_LIMIT) {
- remainingChar.setText("" + (charLimit - s.length()));
+ remainingChar.setText(Integer.toString(charLimit - s.length()));
}
getListener().onMessageFragmentAfterTextChange(s.toString());
}
+ @Override
+ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+ if (getMessage() == null) {
+ return false;
+ }
+ getListener().onMessageFragmentSendMessage(getMessage());
+ return true;
+ }
+
private Listener getListener() {
return FragmentUtils.getParentUnsafe(this, Listener.class);
}
diff --git a/java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-hdpi/empty_contacts.png
index d3c0378f5..d3c0378f5 100644
--- a/java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.png
+++ b/java/com/android/dialer/widget/res/drawable-hdpi/empty_contacts.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-mdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-mdpi/empty_contacts.png
index 2ce7eae37..2ce7eae37 100644
--- a/java/com/android/dialer/app/res/drawable-mdpi/empty_contacts.png
+++ b/java/com/android/dialer/widget/res/drawable-mdpi/empty_contacts.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-xhdpi/empty_contacts.png
index 65b1de333..65b1de333 100644
--- a/java/com/android/dialer/app/res/drawable-xhdpi/empty_contacts.png
+++ b/java/com/android/dialer/widget/res/drawable-xhdpi/empty_contacts.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-xxhdpi/empty_contacts.png
index 407d78c9c..407d78c9c 100644
--- a/java/com/android/dialer/app/res/drawable-xxhdpi/empty_contacts.png
+++ b/java/com/android/dialer/widget/res/drawable-xxhdpi/empty_contacts.png
Binary files differ
diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-xxxhdpi/empty_contacts.png
index 5893965e9..5893965e9 100644
--- a/java/com/android/dialer/app/res/drawable-xxxhdpi/empty_contacts.png
+++ b/java/com/android/dialer/widget/res/drawable-xxxhdpi/empty_contacts.png
Binary files differ
diff --git a/java/com/android/dialer/widget/res/layout-land/empty_content_view.xml b/java/com/android/dialer/widget/res/layout-land/empty_content_view.xml
new file mode 100644
index 000000000..00344bf44
--- /dev/null
+++ b/java/com/android/dialer/widget/res/layout-land/empty_content_view.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+ <ImageView
+ android:id="@+id/empty_list_view_image"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:maxHeight="126dp"
+ android:gravity="center_horizontal"/>
+
+ <TextView
+ android:id="@+id/empty_list_view_message"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:gravity="center_horizontal|top"
+ android:textColor="@color/empty_list_text_color"
+ android:textSize="@dimen/empty_list_message_text_size"/>
+
+ <TextView
+ android:id="@+id/empty_list_view_action"
+ style="@style/TextActionStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:background="?android:attr/selectableItemBackground"
+ android:clickable="true"
+ android:gravity="center_horizontal"/>
+
+ <Space
+ android:layout_width="match_parent"
+ android:layout_height="40dp"/>
+
+</merge>
diff --git a/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml b/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml
index c4aac65fb..023b0ffe2 100644
--- a/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml
+++ b/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml
@@ -29,7 +29,9 @@
android:gravity="top"
android:textSize="@dimen/toolbar_title_text_size"
android:textColor="@color/background_dialer_white"
- android:fontFamily="sans-serif-medium"/>
+ android:fontFamily="sans-serif-medium"
+ android:maxLines="1"
+ android:ellipsize="end"/>
<TextView
android:id="@+id/subtitle"
@@ -37,6 +39,8 @@
android:layout_height="wrap_content"
android:textSize="@dimen/toolbar_subtitle_text_size"
android:textColor="@color/background_dialer_white"
- android:visibility="gone"/>
+ android:visibility="gone"
+ android:maxLines="1"
+ android:ellipsize="end"/>
</LinearLayout>
</merge> \ No newline at end of file
diff --git a/java/com/android/dialer/app/res/layout/empty_content_view.xml b/java/com/android/dialer/widget/res/layout/empty_content_view.xml
index 96a6a0262..177744385 100644
--- a/java/com/android/dialer/app/res/layout/empty_content_view.xml
+++ b/java/com/android/dialer/widget/res/layout/empty_content_view.xml
@@ -16,13 +16,13 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
- android:id="@+id/emptyListViewImage"
+ android:id="@+id/empty_list_view_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"/>
<TextView
- android:id="@+id/emptyListViewMessage"
+ android:id="@+id/empty_list_view_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
@@ -34,7 +34,7 @@
android:textSize="@dimen/empty_list_message_text_size"/>
<TextView
- android:id="@+id/emptyListViewAction"
+ android:id="@+id/empty_list_view_action"
style="@style/TextActionStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/java/com/android/dialer/widget/res/layout/fragment_message.xml b/java/com/android/dialer/widget/res/layout/fragment_message.xml
index e39e03aee..5b0bab536 100644
--- a/java/com/android/dialer/widget/res/layout/fragment_message.xml
+++ b/java/com/android/dialer/widget/res/layout/fragment_message.xml
@@ -48,7 +48,9 @@
android:textColorHint="@color/dialer_edit_text_hint_color"
android:background="@color/background_dialer_white"
android:textCursorDrawable="@drawable/searchedittext_custom_cursor"
- android:layout_toStartOf="@+id/count_and_send_container"/>
+ android:layout_toStartOf="@+id/count_and_send_container"
+ android:inputType="textShortMessage|textCapSentences"
+ android:imeOptions="actionSend"/>
<LinearLayout
android:id="@+id/count_and_send_container"
diff --git a/java/com/android/dialer/widget/res/values-af/strings.xml b/java/com/android/dialer/widget/res/values-af/strings.xml
index 7c5e83a93..0c21ae9af 100644
--- a/java/com/android/dialer/widget/res/values-af/strings.xml
+++ b/java/com/android/dialer/widget/res/values-af/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Skryf \'n gepasmaakte boodskap"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Maak toe"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Jy het nog nie enige kontakte nie"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Skep nuwe kontak"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Skakel aan"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Skakel die kontaktetoestemming aan om jou kontakte te sien."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Geen kontakte-program beskikbaar nie"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-am/strings.xml b/java/com/android/dialer/widget/res/values-am/strings.xml
index f11b46835..3952e83cc 100644
--- a/java/com/android/dialer/widget/res/values-am/strings.xml
+++ b/java/com/android/dialer/widget/res/values-am/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"ብጁ መልዕክት ይጻፉ"</string>
<string name="toolbar_close" msgid="1081308076149879833">"ዝጋ"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"ገና ምንም እውቂያዎች የሉዎትም"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"አብራ"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"የእርስዎን እውቂያዎች ለማየት፣ የእውቂያዎች ፍቃዱን ያብሩ።"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"ምንም የእውቂያዎች መተግበሪያ አይገኝም"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ar/strings.xml b/java/com/android/dialer/widget/res/values-ar/strings.xml
index cb2e73378..26ed748f0 100644
--- a/java/com/android/dialer/widget/res/values-ar/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ar/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"كتابة رسالة مخصصة"</string>
<string name="toolbar_close" msgid="1081308076149879833">"إغلاق"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"ليست لديك أية جهات اتصال حتى الآن"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"إنشاء جهة اتصال"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"تشغيل"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"للاطلاع على جهات الاتصال، شغِّل إذن جهات الاتصال."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"لا يتوفر تطبيق لجهات الاتصال"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-az/strings.xml b/java/com/android/dialer/widget/res/values-az/strings.xml
index 3860a5846..cb40af6d7 100644
--- a/java/com/android/dialer/widget/res/values-az/strings.xml
+++ b/java/com/android/dialer/widget/res/values-az/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Fərdi mesaj yazın"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Bağlayın"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Hələ heç bir kontakt yoxdur"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktiv edin"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Kontaktları görmək üçün Kontakt icazəsini aktiv edin."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Kontakt tətbiqi əlçatan deyil"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml
index daefd9020..fea3cb0ef 100644
--- a/java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Napišite prilagođenu poruku"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Zatvorite"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Još uvek nemate nijedan kontakt"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Napravi novi kontakt"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Uključi"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Da biste videli kontakte, uključite dozvolu za Kontakte."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nema dostupne aplikacije za kontakte"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-be/strings.xml b/java/com/android/dialer/widget/res/values-be/strings.xml
index 87861321f..6805984c3 100644
--- a/java/com/android/dialer/widget/res/values-be/strings.xml
+++ b/java/com/android/dialer/widget/res/values-be/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Напісаць карыстальніцкае паведамленне"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Закрыць"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"У вас пакуль няма ніякіх кантактаў"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Уключыць"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Каб бачыць свае кантакты, уключыце дазвол для Кантактаў."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Праграмы для аперацый з кантактамі няма"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-bg/strings.xml b/java/com/android/dialer/widget/res/values-bg/strings.xml
index 35e980c5f..fbb87d031 100644
--- a/java/com/android/dialer/widget/res/values-bg/strings.xml
+++ b/java/com/android/dialer/widget/res/values-bg/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Напишете свое съобщение"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Затваряне"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Още нямате контакти"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Създаване на нов контакт"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Включване"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"За да видите контактите си, включете разрешението за Контакти."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Няма налично приложение за контакти"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-bn/strings.xml b/java/com/android/dialer/widget/res/values-bn/strings.xml
index 9e1707114..58bf44c6a 100644
--- a/java/com/android/dialer/widget/res/values-bn/strings.xml
+++ b/java/com/android/dialer/widget/res/values-bn/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"একটি কাস্টম বার্তা লিখুন"</string>
<string name="toolbar_close" msgid="1081308076149879833">"বন্ধ করুন"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"আপনার এখনও পর্যন্ত কোনো পরিচিতি নেই"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"নতুন পরিচিতি তৈরি করুন"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"চালু করুন"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"আপনার পরিচিতিগুলি দেখতে, পরিচিতিগুলির অনুমতি চালু করুন।"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"কোনো পরিচিতি অ্যাপ্লিকেশান উপলব্ধ নয়"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-bs/strings.xml b/java/com/android/dialer/widget/res/values-bs/strings.xml
index 0bc1a9c15..239c07412 100644
--- a/java/com/android/dialer/widget/res/values-bs/strings.xml
+++ b/java/com/android/dialer/widget/res/values-bs/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Napišite prilagođenu poruku"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Zatvori"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Još nemate nijedan kontakt"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Kreirajte novi kontakt"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Uključi"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Da vidite kontakte, uključite dozvolu za Kontakte."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nije dostupna nijedna aplikacija za kontakte"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ca/strings.xml b/java/com/android/dialer/widget/res/values-ca/strings.xml
index 863930039..8f01cb53e 100644
--- a/java/com/android/dialer/widget/res/values-ca/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ca/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Escriu un miss. personalitzat"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Tanca"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Encara no tens cap contacte"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Activa"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Activa el permís Contactes per veure els teus contactes."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"No hi ha cap contacte disponible"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-cs/strings.xml b/java/com/android/dialer/widget/res/values-cs/strings.xml
index 829aab8dd..ee8d14022 100644
--- a/java/com/android/dialer/widget/res/values-cs/strings.xml
+++ b/java/com/android/dialer/widget/res/values-cs/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Napište vlastní zprávu"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Zavřít"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Zatím nemáte žádné kontakty"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Povolit"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Pokud chcete zobrazit kontakty, povolte aplikaci přístup ke Kontaktům."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Není k dispozici žádná aplikace pro práci s kontakty"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-da/strings.xml b/java/com/android/dialer/widget/res/values-da/strings.xml
index 9381f36f5..0e449489d 100644
--- a/java/com/android/dialer/widget/res/values-da/strings.xml
+++ b/java/com/android/dialer/widget/res/values-da/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Skriv en tilpasset besked"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Luk"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Du har endnu ikke nogen kontaktpersoner"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Slå til"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Slå tilladelsen Kontaktpersoner til for at se dine kontaktpersoner."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Der er ingen tilgængelig app til kontaktpersoner"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-de/strings.xml b/java/com/android/dialer/widget/res/values-de/strings.xml
index 949fe9e49..f650df9f0 100644
--- a/java/com/android/dialer/widget/res/values-de/strings.xml
+++ b/java/com/android/dialer/widget/res/values-de/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Eigene Nachricht schreiben"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Schließen"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Du hast noch keine Kontakte"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Neuen Kontakt erstellen"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktivieren"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Aktiviere die Berechtigung \"Kontakte\", um deine Kontakte abzurufen."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Keine Kontakte-App verfügbar"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-el/strings.xml b/java/com/android/dialer/widget/res/values-el/strings.xml
index 21e049bf7..849fd6a8a 100644
--- a/java/com/android/dialer/widget/res/values-el/strings.xml
+++ b/java/com/android/dialer/widget/res/values-el/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Γράψτε ένα προσαρμ. μήνυμα"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Κλείσιμο"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Δεν έχετε επαφές ακόμη"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Ενεργοποίηση"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Για να δείτε τις επαφές σας, ενεργοποιήστε την άδεια πρόσβασης στις Επαφές."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Δεν υπάρχει διαθέσιμη εφαρμογή επαφών"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-en-rAU/strings.xml b/java/com/android/dialer/widget/res/values-en-rAU/strings.xml
index 7f22b46da..33cba3337 100644
--- a/java/com/android/dialer/widget/res/values-en-rAU/strings.xml
+++ b/java/com/android/dialer/widget/res/values-en-rAU/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Write a custom message"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Close"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"You don\'t have any contacts yet"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Create new contact"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Turn on"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"To see your contacts, turn on the Contacts permission."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"No contacts app available"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-en-rGB/strings.xml b/java/com/android/dialer/widget/res/values-en-rGB/strings.xml
index 7f22b46da..33cba3337 100644
--- a/java/com/android/dialer/widget/res/values-en-rGB/strings.xml
+++ b/java/com/android/dialer/widget/res/values-en-rGB/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Write a custom message"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Close"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"You don\'t have any contacts yet"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Create new contact"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Turn on"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"To see your contacts, turn on the Contacts permission."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"No contacts app available"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-en-rIN/strings.xml b/java/com/android/dialer/widget/res/values-en-rIN/strings.xml
index 7f22b46da..33cba3337 100644
--- a/java/com/android/dialer/widget/res/values-en-rIN/strings.xml
+++ b/java/com/android/dialer/widget/res/values-en-rIN/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Write a custom message"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Close"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"You don\'t have any contacts yet"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Create new contact"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Turn on"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"To see your contacts, turn on the Contacts permission."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"No contacts app available"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-es-rUS/strings.xml b/java/com/android/dialer/widget/res/values-es-rUS/strings.xml
index c7fbdaa58..8c257b2d0 100644
--- a/java/com/android/dialer/widget/res/values-es-rUS/strings.xml
+++ b/java/com/android/dialer/widget/res/values-es-rUS/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Escribe tu propio mensaje"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Cerrar"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Aún no tienes contactos"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Activar"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver los contactos, activa el permiso Contactos."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"No hay ninguna app de contactos disponible"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-es/strings.xml b/java/com/android/dialer/widget/res/values-es/strings.xml
index 507e8af0d..dcb695e20 100644
--- a/java/com/android/dialer/widget/res/values-es/strings.xml
+++ b/java/com/android/dialer/widget/res/values-es/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Mensaje personalizado"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Cerrar"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Aún no tienes contactos"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Crear un contacto"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Activar"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver tus contactos, activa el permiso de Contactos."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"No hay aplicaciones de contactos disponibles"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-et/strings.xml b/java/com/android/dialer/widget/res/values-et/strings.xml
index 71dab4276..f7357c279 100644
--- a/java/com/android/dialer/widget/res/values-et/strings.xml
+++ b/java/com/android/dialer/widget/res/values-et/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Kirjutage kohandatud sõnum"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Sule"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Teil pole veel kontakte"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Lülita sisse"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Kontaktide vaatamiseks lülitage sisse kontaktide luba."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Kontaktide rakendus pole saadaval"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-eu/strings.xml b/java/com/android/dialer/widget/res/values-eu/strings.xml
index b8e4085a0..f4d0d1d7a 100644
--- a/java/com/android/dialer/widget/res/values-eu/strings.xml
+++ b/java/com/android/dialer/widget/res/values-eu/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Idatzi mezu bat"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Itxi"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Oraindik ez duzu kontakturik"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktibatu"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Kontaktuak ikusteko, aktibatu Kontaktuak atzitzeko baimena."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Ez dago kontaktu-aplikaziorik erabilgarri"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-fa/strings.xml b/java/com/android/dialer/widget/res/values-fa/strings.xml
index 0c3b1d4f5..9168ac293 100644
--- a/java/com/android/dialer/widget/res/values-fa/strings.xml
+++ b/java/com/android/dialer/widget/res/values-fa/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"پیام سفارشی بنویسید"</string>
<string name="toolbar_close" msgid="1081308076149879833">"بستن"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"هنوز هیچ مخاطبی ندارید"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"فعال‌سازی"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"برای دیدن مخاطبینتان، مجوز «مخاطبین» را روشن کنید."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"هیچ برنامه مخاطبی در دسترس نیست"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-fi/strings.xml b/java/com/android/dialer/widget/res/values-fi/strings.xml
index e0e971cd8..80f190253 100644
--- a/java/com/android/dialer/widget/res/values-fi/strings.xml
+++ b/java/com/android/dialer/widget/res/values-fi/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Kirjoita oma viesti"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Sulje"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Sinulla ei ole vielä yhteystietoja."</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Ota käyttöön"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Jos haluat katsella yhteystietojasi, ota Yhteystiedot-käyttöoikeus käyttöön."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Yhteystietosovellusta ei ole käytettävissä."</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-fr-rCA/strings.xml b/java/com/android/dialer/widget/res/values-fr-rCA/strings.xml
index 9776385b4..778550997 100644
--- a/java/com/android/dialer/widget/res/values-fr-rCA/strings.xml
+++ b/java/com/android/dialer/widget/res/values-fr-rCA/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Rédiger message personnalisé"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Fermer"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Vous n\'avez pas encore de contacts"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Créer un contact"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Activer"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Pour consulter vos contacts, activez l\'autorisation Contacts."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Aucune application Contacts n\'est disponible"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-fr/strings.xml b/java/com/android/dialer/widget/res/values-fr/strings.xml
index fececd84a..be8810fd9 100644
--- a/java/com/android/dialer/widget/res/values-fr/strings.xml
+++ b/java/com/android/dialer/widget/res/values-fr/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Écrire mon propre message"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Fermer"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Vous n\'avez pas encore de contacts."</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Créer un contact"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Activer"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Pour consulter vos contacts, activez l\'autorisation Contacts."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Aucune application de gestion des contacts n\'est disponible"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-gl/strings.xml b/java/com/android/dialer/widget/res/values-gl/strings.xml
index 6a756810b..a519e68b6 100644
--- a/java/com/android/dialer/widget/res/values-gl/strings.xml
+++ b/java/com/android/dialer/widget/res/values-gl/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Escribe unha mensaxe personalizada"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Pechar"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Aínda non tes ningún contacto"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Crear novo contacto"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Activar"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver os teus contactos, activa o permiso de Contactos."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Non hai ningunha aplicación de contactos dispoñible"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-gu/strings.xml b/java/com/android/dialer/widget/res/values-gu/strings.xml
index c2f8cf0e1..81e6f1011 100644
--- a/java/com/android/dialer/widget/res/values-gu/strings.xml
+++ b/java/com/android/dialer/widget/res/values-gu/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"એક કસ્ટમ સંદેશ લખો"</string>
<string name="toolbar_close" msgid="1081308076149879833">"બંધ કરો"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"તમે હજી સુધી કોઇપણ સંપર્કો ધરાવતાં નથી"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"નવો સંપર્ક બનાવો"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ચાલુ કરો"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"તમારા સંપર્કો જોવા માટે, સંપર્કોની પરવાનગી ચાલુ કરો."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"કોઈ સંપર્કો ઍપ્લિકેશન ઉપલબ્ધ નથી"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-hi/strings.xml b/java/com/android/dialer/widget/res/values-hi/strings.xml
index 63c94e7f6..622cdca06 100644
--- a/java/com/android/dialer/widget/res/values-hi/strings.xml
+++ b/java/com/android/dialer/widget/res/values-hi/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"कोई कस्टम संदेश लिखें"</string>
<string name="toolbar_close" msgid="1081308076149879833">"बंद करें"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"आपके पास अभी कोई भी संपर्क नहीं है"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"नया संपर्क बनाएं"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"चालू करें"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"अपने संपर्क देखने के लिए, संपर्क अनुमति चालू करें."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"कोई भी संपर्क ऐप उपलब्‍ध नहीं है"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-hr/strings.xml b/java/com/android/dialer/widget/res/values-hr/strings.xml
index 28a58d453..7254bc062 100644
--- a/java/com/android/dialer/widget/res/values-hr/strings.xml
+++ b/java/com/android/dialer/widget/res/values-hr/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Napišite prilagođenu poruku"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Zatvaranje"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Još nemate nijedan kontakt"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Uključi"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Da biste vidjeli svoje kontakte, uključite dopuštenje za kontakte."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nije dostupna nijedna aplikacija za kontakte"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-hu/strings.xml b/java/com/android/dialer/widget/res/values-hu/strings.xml
index dcd2b36ea..5301d6970 100644
--- a/java/com/android/dialer/widget/res/values-hu/strings.xml
+++ b/java/com/android/dialer/widget/res/values-hu/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Egyéni üzenet írása"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Bezárás"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Még nem rendelkezik egyetlen névjeggyel sem"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Bekapcsolás"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"A névjegyek megtekintéséhez kapcsolja be a Névjegyek engedélyt."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nincs elérhető névjegykezelő alkalmazás"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-hy/strings.xml b/java/com/android/dialer/widget/res/values-hy/strings.xml
index 7b78bb23e..95d0b7303 100644
--- a/java/com/android/dialer/widget/res/values-hy/strings.xml
+++ b/java/com/android/dialer/widget/res/values-hy/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Գրել տեքստն ինքնուրույն"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Փակել"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Դեռ կոնտակտներ չունեք"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Ստեղծել նոր կոնտակտ"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Միացնել"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Ձեր կոնտակտները տեսնելու համար միացրեք Կոնտակտների թույլտվությունը:"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Կոնտակտների հավելված չկա"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-in/strings.xml b/java/com/android/dialer/widget/res/values-in/strings.xml
index b4b65504b..98dfe7be2 100644
--- a/java/com/android/dialer/widget/res/values-in/strings.xml
+++ b/java/com/android/dialer/widget/res/values-in/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Tulis pesan khusus"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Tutup"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Anda belum memiliki kontak"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktifkan"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Untuk melihat kontak, aktifkan izin Kontak."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Aplikasi kontak tidak tersedia"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-is/strings.xml b/java/com/android/dialer/widget/res/values-is/strings.xml
index fd844197e..22485aa46 100644
--- a/java/com/android/dialer/widget/res/values-is/strings.xml
+++ b/java/com/android/dialer/widget/res/values-is/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Skrifa sérsniðin skilaboð"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Loka"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Þú ert ekki með neina tengiliði enn sem komið er"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Kveikja"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Kveiktu á tengiliðaheimildinni til að sjá tengiliðina þína."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Ekkert tengiliðaforrit í boði"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-it/strings.xml b/java/com/android/dialer/widget/res/values-it/strings.xml
index 0af3fd2eb..059a7d644 100644
--- a/java/com/android/dialer/widget/res/values-it/strings.xml
+++ b/java/com/android/dialer/widget/res/values-it/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Scrivi un messaggio personalizzato"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Chiudi"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Nessun contatto disponibile"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Attiva"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Per accedere ai tuoi contatti, attiva l\'autorizzazione Contatti."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nessuna app di contatti disponibile"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-iw/strings.xml b/java/com/android/dialer/widget/res/values-iw/strings.xml
index a485888ae..48bf21911 100644
--- a/java/com/android/dialer/widget/res/values-iw/strings.xml
+++ b/java/com/android/dialer/widget/res/values-iw/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"כתוב הודעה מותאמת אישית"</string>
<string name="toolbar_close" msgid="1081308076149879833">"סגירה"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"עדיין אין לך אנשי קשר"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"איש קשר חדש"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"הפעלה"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"עליך להפעיל את ההרשאה \'אנשי קשר\' כדי להציג את אנשי הקשר שלך."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"אין אף אפליקציה לניהול אנשי קשר"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ja/strings.xml b/java/com/android/dialer/widget/res/values-ja/strings.xml
index 9fd65a806..969ffbac0 100644
--- a/java/com/android/dialer/widget/res/values-ja/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ja/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"カスタム メッセージを入力"</string>
<string name="toolbar_close" msgid="1081308076149879833">"閉じる"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"連絡先はまだありません"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ON にする"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"連絡先を表示するには、連絡先へのアクセスを許可する設定を ON にしてください。"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"利用できる連絡先アプリがありません"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ka/strings.xml b/java/com/android/dialer/widget/res/values-ka/strings.xml
index 6dde04430..fcd45439e 100644
--- a/java/com/android/dialer/widget/res/values-ka/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ka/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"დაწერეთ მორგებ. შეტყობინება"</string>
<string name="toolbar_close" msgid="1081308076149879833">"დახურვა"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"კონტაქტები ჯერ არ გაქვთ"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ჩართვა"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"კონტაქტების სანახავად ჩართეთ კონტაქტების ნებართვა."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"კონტაქტების აპი მიუწვდომელია"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-kk/strings.xml b/java/com/android/dialer/widget/res/values-kk/strings.xml
index 334d915e2..cab827192 100644
--- a/java/com/android/dialer/widget/res/values-kk/strings.xml
+++ b/java/com/android/dialer/widget/res/values-kk/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Арнаулы хабар жазу"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Жабу"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Әлі ешқандай контактілер жоқ"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Қосу"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Контактілерді көру үшін \"Контактілер\" рұқсатын қосыңыз."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Контактілер қолданбасы қолжетімді емес"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-km/strings.xml b/java/com/android/dialer/widget/res/values-km/strings.xml
index d0f5633e4..2d6f2f25d 100644
--- a/java/com/android/dialer/widget/res/values-km/strings.xml
+++ b/java/com/android/dialer/widget/res/values-km/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"សរសេរ​សារ​ផ្ទាល់ខ្លួន"</string>
<string name="toolbar_close" msgid="1081308076149879833">"បិទ"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"អ្នកមិនទាន់មានទំនាក់ទំនងនៅឡើយទេ"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"បើក"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"ដើម្បីមើលទំនាក់ទំនងរបស់អ្នក សូមបើកការ​អនុញ្ញាតកម្មវិធីទំនាក់ទំនង។"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"មិនមានកម្មវិធីទំនាក់ទំនងទេ"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-kn/strings.xml b/java/com/android/dialer/widget/res/values-kn/strings.xml
index 3535bfcb7..d449cb8b7 100644
--- a/java/com/android/dialer/widget/res/values-kn/strings.xml
+++ b/java/com/android/dialer/widget/res/values-kn/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"ಕಸ್ಟಮ್ ಸಂದೇಶವನ್ನು ಬರೆಯಿರಿ"</string>
<string name="toolbar_close" msgid="1081308076149879833">"ಮುಚ್ಚಿ"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"ನಿಮ್ಮ ಬಳಿ ಇನ್ನೂ ಯಾವುದೇ ಸಂಪರ್ಕಗಳಿಲ್ಲ"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ಆನ್ ಮಾಡಿ"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ವೀಕ್ಷಿಸಲು, ಸಂಪರ್ಕಗಳ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"ಯಾವುದೇ ಸಂಪರ್ಕಗಳ ಅಪ್ಲಿಕೇಶನ್‌ ಲಭ್ಯವಿಲ್ಲ"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ko/strings.xml b/java/com/android/dialer/widget/res/values-ko/strings.xml
index 8c00cea8b..0827d3648 100644
--- a/java/com/android/dialer/widget/res/values-ko/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ko/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"맞춤 메시지를 작성하세요."</string>
<string name="toolbar_close" msgid="1081308076149879833">"닫기"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"아직 연락처가 없습니다."</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"새 연락처 만들기"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"사용"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"연락처를 보려면 연락처에 액세스할 권한을 부여하세요."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"사용할 수 있는 연락처 앱이 없습니다."</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ky/strings.xml b/java/com/android/dialer/widget/res/values-ky/strings.xml
index 46ea8514c..62bd08851 100644
--- a/java/com/android/dialer/widget/res/values-ky/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ky/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Башка билдирүүнү жазыңыз"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Жабуу"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Азырынча эч байланышыңыз жок"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Күйгүзүү"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Байланыштарыңызды көрүү үчүн, \"Байланыштар\" уруксатын күйгүзүңүз."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Жеткиликтүү байланыштар колдонмосу жок"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-lo/strings.xml b/java/com/android/dialer/widget/res/values-lo/strings.xml
index 0db64a78a..8b7e476d9 100644
--- a/java/com/android/dialer/widget/res/values-lo/strings.xml
+++ b/java/com/android/dialer/widget/res/values-lo/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"ຂຽນຂໍ້ຄວາມດ້ວຍຕົນເອງ"</string>
<string name="toolbar_close" msgid="1081308076149879833">"ປິດ"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"ທ່ານຍັງບໍ່ມີລາຍຊື່ຜູ້ຕິດຕໍ່ເທື່ອ"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"ສ້າງລາຍຊື່ຜູ້ຕິດຕໍ່ໃໝ່"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ເປີດໃຊ້"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"ເພື່ອເບິ່ງລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານ, ໃຫ້ເປີດການອະນຸຍາດລາຍຊື່ຜູ້ຕິດຕໍ່ກ່ອນ"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"ບໍ່ມີແອັບລາຍຊື່ຜູ້ຕິດຕໍ່ທີ່ສາມາດໃຊ້ໄດ້"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-lt/strings.xml b/java/com/android/dialer/widget/res/values-lt/strings.xml
index a10b91ef6..30cc0adeb 100644
--- a/java/com/android/dialer/widget/res/values-lt/strings.xml
+++ b/java/com/android/dialer/widget/res/values-lt/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Parašykite tinkintą praneš."</string>
<string name="toolbar_close" msgid="1081308076149879833">"Uždaryti"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Dar neturite jokių kontaktų"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Sukurti naują kontaktą"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Įjungti"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Jei norite peržiūrėti kontaktus, įjunkite Kontaktų leidimą."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nepasiekiama jokia kontaktų programa"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-lv/strings.xml b/java/com/android/dialer/widget/res/values-lv/strings.xml
index 8ff079390..87464c576 100644
--- a/java/com/android/dialer/widget/res/values-lv/strings.xml
+++ b/java/com/android/dialer/widget/res/values-lv/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Rakstīt pielāgotu ziņojumu"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Aizvērt"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Jums vēl nav nevienas kontaktpersonas."</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Ieslēgt"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Lai skatītu savas kontaktpersonas, ieslēdziet atļauju Kontaktpersonas."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nav pieejama neviena kontaktpersonu lietotne."</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-mk/strings.xml b/java/com/android/dialer/widget/res/values-mk/strings.xml
index aa9be3055..cd2f86b7c 100644
--- a/java/com/android/dialer/widget/res/values-mk/strings.xml
+++ b/java/com/android/dialer/widget/res/values-mk/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Напиши приспособена порака"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Затвори"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Сè уште немате контакти"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Вклучи"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"За да ги видите контактите, вклучете ја дозволата за контакти."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Нема достапна апликација за контакти"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ml/strings.xml b/java/com/android/dialer/widget/res/values-ml/strings.xml
index b52ee401c..1799755d1 100644
--- a/java/com/android/dialer/widget/res/values-ml/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ml/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"ഒരു ഇ‌ഷ്‌ടാനുസൃത സന്ദേശം രചിക്കൂ"</string>
<string name="toolbar_close" msgid="1081308076149879833">"അടയ്‌ക്കുക"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"നിങ്ങൾക്ക് ഇതുവരെയും കോൺടാക്റ്റുകൾ ഒന്നുമില്ല."</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ഓൺ ചെയ്യുക"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ കാണുന്നതിന്, \'കോൺടാക്റ്റുകൾ\' അനുമതി ഓണാക്കുക."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"കോൺടാക്റ്റ് അപ്ലിക്കേഷനൊന്നും ലഭ്യമല്ല"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-mn/strings.xml b/java/com/android/dialer/widget/res/values-mn/strings.xml
index 6bdad8983..e5f5c2162 100644
--- a/java/com/android/dialer/widget/res/values-mn/strings.xml
+++ b/java/com/android/dialer/widget/res/values-mn/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Тусгай зурвас бичих"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Хаах"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Танд одоогоор харилцагч байхгүй байна"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Шинэ харилцагч үүсгэх"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Асаах"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Харилцагчдаа харахын тулд Харилцагчдын зөвшөөрлийг идэвхжүүлнэ үү."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Ямар ч харилцагчдын апликейшн байхгүй байна"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-mr/strings.xml b/java/com/android/dialer/widget/res/values-mr/strings.xml
index 5661fa8b9..63239d21d 100644
--- a/java/com/android/dialer/widget/res/values-mr/strings.xml
+++ b/java/com/android/dialer/widget/res/values-mr/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"एक सानुकूल संदेश लिहा"</string>
<string name="toolbar_close" msgid="1081308076149879833">"बंद करा"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"आपल्‍याकडे अद्याप कोणतेही संपर्क नाहीत"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"नवीन संपर्क तयार करा"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"चालू करा"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"आपले संपर्क पाहण्‍यासाठी, संपर्क परवानगी चालू करा."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"कोणताही संपर्क अॅप उपलब्ध नाही"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ms/strings.xml b/java/com/android/dialer/widget/res/values-ms/strings.xml
index 8889ccc8d..cf61fc171 100644
--- a/java/com/android/dialer/widget/res/values-ms/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ms/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Tulis mesej tersuai"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Tutup"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Anda belum mempunyai sebarang kenalan"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Buat kenalan baharu"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Hidupkan"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Untuk melihat kenalan anda, hidupkan kebenaran Kenalan."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Tiada apl kenalan yang tersedia"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-my/strings.xml b/java/com/android/dialer/widget/res/values-my/strings.xml
index 9a69f29eb..5d3d9ebff 100644
--- a/java/com/android/dialer/widget/res/values-my/strings.xml
+++ b/java/com/android/dialer/widget/res/values-my/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"စိတ်ကြိုက် မက်ဆေ့ဂျ်တစ်ခု ရေးပါ"</string>
<string name="toolbar_close" msgid="1081308076149879833">"ပိတ်ရန်"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"သင့်တွင် မည်သည့်အဆက်အသွယ်မျှ မရှိသေးပါ"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"အဆက်အသွယ်အသစ် ပြုလုပ်ရန်"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ဖွင့်ရန်"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"အဆက်အသွယ်များကိုကြည့်ရန်၊ အဆက်အသွယ်ခွင့်ပြုချက်ကို ဖွင့်ပါ။"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"အဆက်အသွယ်များ app မရှိပါ"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-nb/strings.xml b/java/com/android/dialer/widget/res/values-nb/strings.xml
index 100156bd1..441218267 100644
--- a/java/com/android/dialer/widget/res/values-nb/strings.xml
+++ b/java/com/android/dialer/widget/res/values-nb/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Skriv egendefinert melding"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Lukk"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Du har ingen kontakter ennå"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Slå på"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"For å se kontaktene dine må du slå på Kontakter-tillatelsen."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Ingen kontaktapper er tilgjengelige"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ne/strings.xml b/java/com/android/dialer/widget/res/values-ne/strings.xml
index abb8bb04b..e1f6e959b 100644
--- a/java/com/android/dialer/widget/res/values-ne/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ne/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"आफू अनुकूल सन्देश लेख्‍ने"</string>
<string name="toolbar_close" msgid="1081308076149879833">"बन्द गर्नुहोस्"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"अहिलेसम्म तपाईंसँग कुनै सम्पर्कहरू छैनन्"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"नयाँ सम्पर्क सिर्जना गर्नुहोस्"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"सक्रिय गर्नुहोस्"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"आफ्ना सम्पर्कहरू हेर्न सम्पर्क सम्बन्धी अनुमतिलाई सक्रिय गर्नुहोस्।"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"सम्पर्क सम्बन्धी कुनै अनुप्रयोग उपलब्ध छैन"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-nl/strings.xml b/java/com/android/dialer/widget/res/values-nl/strings.xml
index 556028893..1fb5f5ed3 100644
--- a/java/com/android/dialer/widget/res/values-nl/strings.xml
+++ b/java/com/android/dialer/widget/res/values-nl/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Schrijf zelf een bericht"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Sluiten"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Je hebt nog geen contacten"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Inschakelen"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Als je je contacten wilt bekijken, schakel je de machtiging voor Contacten in."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Geen app voor contacten beschikbaar"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-no/strings.xml b/java/com/android/dialer/widget/res/values-no/strings.xml
index 100156bd1..441218267 100644
--- a/java/com/android/dialer/widget/res/values-no/strings.xml
+++ b/java/com/android/dialer/widget/res/values-no/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Skriv egendefinert melding"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Lukk"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Du har ingen kontakter ennå"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Slå på"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"For å se kontaktene dine må du slå på Kontakter-tillatelsen."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Ingen kontaktapper er tilgjengelige"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-pa/strings.xml b/java/com/android/dialer/widget/res/values-pa/strings.xml
index 4c69c2c6e..14b7b416b 100644
--- a/java/com/android/dialer/widget/res/values-pa/strings.xml
+++ b/java/com/android/dialer/widget/res/values-pa/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ ਸੰਦੇਸ਼ ਲਿਖੋ"</string>
<string name="toolbar_close" msgid="1081308076149879833">"ਬੰਦ ਕਰੋ"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"ਤੁਹਾਡੇ ਕੋਲ ਹਾਲੇ ਕੋਈ ਸੰਪਰਕ ਨਹੀਂ ਹਨ"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"ਨਵਾਂ ਸੰਪਰਕ ਬਣਾਓ"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ਚਾਲੂ ਕਰੋ"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਨੂੰ ਵੇਖਣ ਲਈ, ਸੰਪਰਕ ਇਜਾਜ਼ਤ ਚਾਲੂ ਕਰੋ।"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"ਕੋਈ ਸੰਪਰਕ ਐਪ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-pl/strings.xml b/java/com/android/dialer/widget/res/values-pl/strings.xml
index cec7a4045..3f0668c98 100644
--- a/java/com/android/dialer/widget/res/values-pl/strings.xml
+++ b/java/com/android/dialer/widget/res/values-pl/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Wpisz wiadomość"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Zamknij"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Nie masz jeszcze żadnych kontaktów"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Utwórz nowy kontakt"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Włącz"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Aby zobaczyć swoje kontakty, włącz uprawnienia Kontakty."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nie jest dostępna żadna aplikacja do obsługi kontaktów"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-pt-rBR/strings.xml b/java/com/android/dialer/widget/res/values-pt-rBR/strings.xml
index b15bfac8d..7bc501e4f 100644
--- a/java/com/android/dialer/widget/res/values-pt-rBR/strings.xml
+++ b/java/com/android/dialer/widget/res/values-pt-rBR/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Escreva sua mensagem"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Fechar"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Você ainda não tem contatos"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Ativar"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver seus contatos, ative a permissão para o app Contatos."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nenhum app de contatos disponível"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-pt-rPT/strings.xml b/java/com/android/dialer/widget/res/values-pt-rPT/strings.xml
index ece2ef2c3..459ba5790 100644
--- a/java/com/android/dialer/widget/res/values-pt-rPT/strings.xml
+++ b/java/com/android/dialer/widget/res/values-pt-rPT/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Escreva uma mensagem"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Fechar"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Ainda não tem nenhum contacto"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Ativar"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver os seus contactos, ative a autorização Contactos."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Não existe nenhuma aplicação de contactos disponível"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-pt/strings.xml b/java/com/android/dialer/widget/res/values-pt/strings.xml
index b15bfac8d..7bc501e4f 100644
--- a/java/com/android/dialer/widget/res/values-pt/strings.xml
+++ b/java/com/android/dialer/widget/res/values-pt/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Escreva sua mensagem"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Fechar"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Você ainda não tem contatos"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Ativar"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver seus contatos, ative a permissão para o app Contatos."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nenhum app de contatos disponível"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ro/strings.xml b/java/com/android/dialer/widget/res/values-ro/strings.xml
index 753b920b4..6138eb1b6 100644
--- a/java/com/android/dialer/widget/res/values-ro/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ro/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Scrieți mesaj personalizat"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Închideți"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Nu aveți încă persoane de contact."</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Activați"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Pentru a vedea persoanele de contact, activați permisiunea pentru Agendă."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nu este disponibilă nicio aplicație pentru agendă"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ru/strings.xml b/java/com/android/dialer/widget/res/values-ru/strings.xml
index bdebd3ce4..7eb9f1de1 100644
--- a/java/com/android/dialer/widget/res/values-ru/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ru/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Добавьте свой текст"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Закрыть"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Контактов нет"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Предоставить разрешение"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Чтобы открыть список контактов, предоставьте приложению разрешение \"Контакты\"."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Нет приложения для работы с контактами"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-si/strings.xml b/java/com/android/dialer/widget/res/values-si/strings.xml
index 4988259d4..fb5742576 100644
--- a/java/com/android/dialer/widget/res/values-si/strings.xml
+++ b/java/com/android/dialer/widget/res/values-si/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"අභිරුචි පණිවිඩයක් ලියන්න"</string>
<string name="toolbar_close" msgid="1081308076149879833">"වසන්න"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"ඔබට තවම කිසිදු සම්බන්ධතාවක් නැත"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ක්‍රියාත්මක කරන්න"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"ඔබේ සම්බන්ධතා බැලීමට, සම්බන්ධතා අවසරය ක්‍රියාත්මක කරන්න."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"සබඳතා යෙදුම ලබා ගැනීමට නොහැකිය"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-sk/strings.xml b/java/com/android/dialer/widget/res/values-sk/strings.xml
index 5dc1bd505..5912b574a 100644
--- a/java/com/android/dialer/widget/res/values-sk/strings.xml
+++ b/java/com/android/dialer/widget/res/values-sk/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Napíšte vlastnú správu"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Zavrieť"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Zatiaľ nemáte žiadne kontakty"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Zapnúť"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Ak si chcete zobraziť kontakty, zapnite povolenie Kontakty."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nie je k dispozícii žiadna aplikácia na prácu s kontaktmi"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-sl/strings.xml b/java/com/android/dialer/widget/res/values-sl/strings.xml
index 0ba965b2e..1ee87d13d 100644
--- a/java/com/android/dialer/widget/res/values-sl/strings.xml
+++ b/java/com/android/dialer/widget/res/values-sl/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Napišite sporočilo po meri"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Zapri"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Nimate še nobenega stika"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Vklopi"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Če si želite ogledati stike, vklopite dovoljenje za stike."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Na voljo ni nobene aplikacije za stike"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-sq/strings.xml b/java/com/android/dialer/widget/res/values-sq/strings.xml
index 7f5e0f285..b55e47c89 100644
--- a/java/com/android/dialer/widget/res/values-sq/strings.xml
+++ b/java/com/android/dialer/widget/res/values-sq/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Shkruaj mesazh të person."</string>
<string name="toolbar_close" msgid="1081308076149879833">"Mbyll"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Nuk ke ende kontakte"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktivizo"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Për të parë kontaktet, aktivizo lejen e Kontakteve."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Nuk ka asnjë aplikacion për kontaktet"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-sr/strings.xml b/java/com/android/dialer/widget/res/values-sr/strings.xml
index 446c27363..c2f269d3f 100644
--- a/java/com/android/dialer/widget/res/values-sr/strings.xml
+++ b/java/com/android/dialer/widget/res/values-sr/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Напишите прилагођену поруку"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Затворите"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Још увек немате ниједан контакт"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Направи нови контакт"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Укључи"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Да бисте видели контакте, укључите дозволу за Контакте."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Нема доступне апликације за контакте"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-sv/strings.xml b/java/com/android/dialer/widget/res/values-sv/strings.xml
index 7d2f44c45..75add78ac 100644
--- a/java/com/android/dialer/widget/res/values-sv/strings.xml
+++ b/java/com/android/dialer/widget/res/values-sv/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Skriv anpassat meddelande"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Stäng"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Du har inga kontakter ännu"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Skapa ny kontakt"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktivera"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Du måste aktivera behörigheten Kontakter för att visa kontakterna."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Det finns inga appar för kontakter"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-sw/strings.xml b/java/com/android/dialer/widget/res/values-sw/strings.xml
index d2c2a9721..a9139809f 100644
--- a/java/com/android/dialer/widget/res/values-sw/strings.xml
+++ b/java/com/android/dialer/widget/res/values-sw/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Andika ujumbe maalum"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Funga"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Bado huna anwani zozote"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Washa"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Ili uone anwani zako, washa ruhusa ya Anwani."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Hakuna programu ya anwani iliyopatikana"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ta/strings.xml b/java/com/android/dialer/widget/res/values-ta/strings.xml
index 4061c169f..17333304f 100644
--- a/java/com/android/dialer/widget/res/values-ta/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ta/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"தனிப்பயன் செய்தியை எழுதவும்"</string>
<string name="toolbar_close" msgid="1081308076149879833">"மூடு"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"இதுவரை தொடர்புகள் எதுவுமில்லை"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"புதிய தொடர்பை உருவாக்கு"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"இயக்கு"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"தொடர்புகளைப் பார்க்க, தொடர்புகள் அனுமதியை இயக்கவும்."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"தொடர்புகள் பயன்பாடு எதுவுமில்லை"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-te/strings.xml b/java/com/android/dialer/widget/res/values-te/strings.xml
index c2474b7ce..27e6b0536 100644
--- a/java/com/android/dialer/widget/res/values-te/strings.xml
+++ b/java/com/android/dialer/widget/res/values-te/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"అనుకూల సందేశాన్ని వ్రాయండి"</string>
<string name="toolbar_close" msgid="1081308076149879833">"మూసివేయి"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"మీకు ఇప్పటికీ పరిచయాలేవీ లేవు"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"కొత్త పరిచయాన్ని సృష్టించండి"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"ఆన్ చేయి"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"మీ పరిచయాలను చూడటానికి, పరిచయాల అనుమతిని ఆన్ చేయండి."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"పరిచయాల అనువర్తనం ఏదీ అందుబాటులో లేదు"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-th/strings.xml b/java/com/android/dialer/widget/res/values-th/strings.xml
index d450b4b13..40134c84d 100644
--- a/java/com/android/dialer/widget/res/values-th/strings.xml
+++ b/java/com/android/dialer/widget/res/values-th/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"เขียนข้อความที่กำหนดเอง"</string>
<string name="toolbar_close" msgid="1081308076149879833">"ปิด"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"คุณยังไม่มีรายชื่อติดต่อ"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"สร้างรายชื่อติดต่อใหม่"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"เปิด"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"หากต้องการดูรายชื่อติดต่อ ให้เปิดสิทธิ์เข้าถึงรายชื่อติดต่อ"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"ไม่มีแอปรายชื่อติดต่อที่พร้อมใช้งาน"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-tl/strings.xml b/java/com/android/dialer/widget/res/values-tl/strings.xml
index ee7c52f7b..406f18b5e 100644
--- a/java/com/android/dialer/widget/res/values-tl/strings.xml
+++ b/java/com/android/dialer/widget/res/values-tl/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Sumulat ng custom na mensahe"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Isara"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Wala ka pang sinumang contact"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"I-on"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Upang makita ang iyong mga contact, i-on ang pahintulot ng Mga Contact."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Walang available na app ng mga contact"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-tr/strings.xml b/java/com/android/dialer/widget/res/values-tr/strings.xml
index 64e2ea535..e1dcabd48 100644
--- a/java/com/android/dialer/widget/res/values-tr/strings.xml
+++ b/java/com/android/dialer/widget/res/values-tr/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Özel bir mesaj yazın"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Kapat"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Henüz hiç kişiniz yok"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Etkinleştir"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Kişilerinizi görmek için Kişiler iznini etkinleştirin."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Kullanılabilir kişi uygulaması yok"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-uk/strings.xml b/java/com/android/dialer/widget/res/values-uk/strings.xml
index f8d9bb871..d1a281c64 100644
--- a/java/com/android/dialer/widget/res/values-uk/strings.xml
+++ b/java/com/android/dialer/widget/res/values-uk/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Ваше власне повідомлення"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Закрити"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Ще немає контактів"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"Створити контакт"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Увімкнути"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Щоб переглянути контакти, увімкніть дозвіл \"Контакти\"."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Немає додатка з контактами"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-ur/strings.xml b/java/com/android/dialer/widget/res/values-ur/strings.xml
index 6edeb5c95..d5dcad0bd 100644
--- a/java/com/android/dialer/widget/res/values-ur/strings.xml
+++ b/java/com/android/dialer/widget/res/values-ur/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"ایک حسب ضرورت پیغام لکھیں"</string>
<string name="toolbar_close" msgid="1081308076149879833">"بند کریں"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"آپ کے پاس ابھی تک کوئی رابطے نہیں ہیں"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"نیا رابطہ بنائیں"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"آن کریں"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"اپنے رابطے دیکھنے کیلئے رابطوں کی اجازت آن کریں۔"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"رابطوں کی کوئی ایپ دستیاب نہیں ہے"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-uz/strings.xml b/java/com/android/dialer/widget/res/values-uz/strings.xml
index 434464aef..b3003be16 100644
--- a/java/com/android/dialer/widget/res/values-uz/strings.xml
+++ b/java/com/android/dialer/widget/res/values-uz/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Boshqa xabar yozing"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Yopish"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Kontaktlar yo‘q"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Ruxsat berish"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Kontaktlar ro‘yxatini ko‘rish uchun ilovaga Kontaktlarga kirishga ruxsat bering."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Kontaktlarni ochadigan ilova yo‘q"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-vi/strings.xml b/java/com/android/dialer/widget/res/values-vi/strings.xml
index 1a30f7c96..68669ec67 100644
--- a/java/com/android/dialer/widget/res/values-vi/strings.xml
+++ b/java/com/android/dialer/widget/res/values-vi/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Viết tin nhắn tùy chỉnh"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Đóng"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Bạn chưa có bất kỳ liên hệ nào"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Bật"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Để xem danh bạ của bạn, bật quyền đối với Danh bạ."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Không có ứng dụng danh bạ"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-zh-rCN/strings.xml b/java/com/android/dialer/widget/res/values-zh-rCN/strings.xml
index 799972393..4a5e45801 100644
--- a/java/com/android/dialer/widget/res/values-zh-rCN/strings.xml
+++ b/java/com/android/dialer/widget/res/values-zh-rCN/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"自行撰写信息"</string>
<string name="toolbar_close" msgid="1081308076149879833">"关闭"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"您还没有任何联系人"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"创建新联系人"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"开启"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"要查看您的联系人,请开启“通讯录”权限。"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"没有可用的通讯录应用"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-zh-rHK/strings.xml b/java/com/android/dialer/widget/res/values-zh-rHK/strings.xml
index b0bfcc8d9..3d5fe6ebb 100644
--- a/java/com/android/dialer/widget/res/values-zh-rHK/strings.xml
+++ b/java/com/android/dialer/widget/res/values-zh-rHK/strings.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"撰寫自訂訊息"</string>
<string name="toolbar_close" msgid="1081308076149879833">"關閉"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"您尚無任何聯絡人"</string>
+ <string name="all_contacts_empty_add_contact_action" msgid="7850060327481179533">"建立新聯絡人"</string>
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"開放"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"如要查看聯絡人,請開放「通訊錄」權限。"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"沒有可用的聯絡人應用程式"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-zh-rTW/strings.xml b/java/com/android/dialer/widget/res/values-zh-rTW/strings.xml
index b0bfcc8d9..0cb8d152d 100644
--- a/java/com/android/dialer/widget/res/values-zh-rTW/strings.xml
+++ b/java/com/android/dialer/widget/res/values-zh-rTW/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"撰寫自訂訊息"</string>
<string name="toolbar_close" msgid="1081308076149879833">"關閉"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"你還沒有任何聯絡人"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"開啟"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"如要查看你的聯絡人,請開啟「聯絡人」存取權限。"</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"沒有可用的聯絡人應用程式"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values-zu/strings.xml b/java/com/android/dialer/widget/res/values-zu/strings.xml
index 074aa5822..ca5898341 100644
--- a/java/com/android/dialer/widget/res/values-zu/strings.xml
+++ b/java/com/android/dialer/widget/res/values-zu/strings.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="custom_message_hint" msgid="2179012696339457461">"Bhala umlayezo wangokwezifiso"</string>
<string name="toolbar_close" msgid="1081308076149879833">"Vala"</string>
+ <string name="all_contacts_empty" msgid="4260556610403994011">"Awunabo oxhumana nabo okwamanje"</string>
+ <!-- no translation found for all_contacts_empty_add_contact_action (7850060327481179533) -->
+ <skip />
+ <string name="permission_single_turn_on" msgid="1306416016676232584">"Vula"</string>
+ <string name="permission_no_contacts" msgid="2388204904477299207">"Ukuze ubone oxhumana nabo, vula imvume yoxhumana nabo."</string>
+ <string name="add_contact_not_available" msgid="3083256438899321502">"Alukho uhlelo lokusebenza loxhumana nabo olutholakalayo"</string>
</resources>
diff --git a/java/com/android/dialer/widget/res/values/colors.xml b/java/com/android/dialer/widget/res/values/colors.xml
new file mode 100644
index 000000000..c974609ef
--- /dev/null
+++ b/java/com/android/dialer/widget/res/values/colors.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <color name="empty_list_text_color">#b2b2b2</color>
+</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/widget/res/values/dimens.xml b/java/com/android/dialer/widget/res/values/dimens.xml
index 20393a842..537ad7bd7 100644
--- a/java/com/android/dialer/widget/res/values/dimens.xml
+++ b/java/com/android/dialer/widget/res/values/dimens.xml
@@ -26,4 +26,9 @@
<dimen name="toolbar_title_small_text_size">14sp</dimen>
<dimen name="toolbar_subtitle_text_size">12sp</dimen>
<dimen name="toolbar_elevation">4dp</dimen>
+ <dimen name="toolbar_end_padding">4dp</dimen>
+
+ <!-- Empty List -->
+ <dimen name="empty_list_message_top_padding">20dp</dimen>
+ <dimen name="empty_list_message_text_size">16sp</dimen>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialer/widget/res/values/strings.xml b/java/com/android/dialer/widget/res/values/strings.xml
index a5829bb0b..74a5f0f21 100644
--- a/java/com/android/dialer/widget/res/values/strings.xml
+++ b/java/com/android/dialer/widget/res/values/strings.xml
@@ -1,8 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2016 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>
<!-- Hint in a text field to compose a custom message to send with a phone call [CHAR LIMIT=27] -->
<string name="custom_message_hint">Write a custom message</string>
<!-- Accessibility string for close/navigation icon in DialerToolbar -->
<string name="toolbar_close">Close</string>
+
+ <!-- [CHAR LIMIT=NONE] Shown when there are no contacts in the all contacts list. -->
+ <string name="all_contacts_empty">You don\'t have any contacts yet</string>
+
+ <!-- [CHAR LIMIT=NONE] Shown as an action when the all contacts list is empty -->
+ <string name="all_contacts_empty_add_contact_action">Create new contact</string>
+
+ <!-- The label of the button used to turn on a single permission [CHAR LIMIT=30]-->
+ <string name="permission_single_turn_on">Turn on</string>
+
+ <!-- Shown as a prompt to turn on the contacts permission to show all contacts [CHAR LIMIT=NONE]-->
+ <string name="permission_no_contacts">To see your contacts, turn on the Contacts permission.</string>
+
+ <!-- Message displayed when there is no application available to handle the add contact menu option. [CHAR LIMIT=NONE] -->
+ <string name="add_contact_not_available">No contacts app available</string>
</resources> \ No newline at end of file
diff --git a/java/com/android/dialershared/bubble/AndroidManifest.xml b/java/com/android/dialershared/bubble/AndroidManifest.xml
new file mode 100644
index 000000000..1a94aafc1
--- /dev/null
+++ b/java/com/android/dialershared/bubble/AndroidManifest.xml
@@ -0,0 +1,22 @@
+<!--
+ ~ 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
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.dialershared.bubble">
+
+ <uses-sdk android:minSdkVersion="21"/>
+ <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
+</manifest>
diff --git a/java/com/android/dialershared/bubble/Bubble.java b/java/com/android/dialershared/bubble/Bubble.java
new file mode 100644
index 000000000..dbb5ea759
--- /dev/null
+++ b/java/com/android/dialershared/bubble/Bubble.java
@@ -0,0 +1,767 @@
+/*
+ * 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
+ */
+
+package com.android.dialershared.bubble;
+
+import android.animation.Animator;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.PropertyValuesHolder;
+import android.annotation.SuppressLint;
+import android.app.PendingIntent.CanceledException;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.ColorStateList;
+import android.graphics.PixelFormat;
+import android.graphics.drawable.Animatable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.RippleDrawable;
+import android.net.Uri;
+import android.os.Build.VERSION;
+import android.os.Build.VERSION_CODES;
+import android.os.Handler;
+import android.provider.Settings;
+import android.support.annotation.ColorInt;
+import android.support.annotation.IntDef;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
+import android.support.v4.graphics.ColorUtils;
+import android.support.v4.os.BuildCompat;
+import android.support.v4.view.animation.FastOutLinearInInterpolator;
+import android.support.v4.view.animation.LinearOutSlowInInterpolator;
+import android.transition.TransitionManager;
+import android.transition.TransitionValues;
+import android.view.ContextThemeWrapper;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewGroup.MarginLayoutParams;
+import android.view.ViewPropertyAnimator;
+import android.view.ViewTreeObserver.OnPreDrawListener;
+import android.view.WindowManager;
+import android.view.WindowManager.LayoutParams;
+import android.view.animation.AnticipateInterpolator;
+import android.view.animation.OvershootInterpolator;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.ViewAnimator;
+import com.android.dialershared.bubble.BubbleInfo.Action;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.List;
+
+/**
+ * Creates and manages a bubble window from information in a {@link BubbleInfo}. Before creating, be
+ * sure to check whether bubbles may be shown using {@link #canShowBubbles(Context)} and request
+ * permission if necessary ({@link #getRequestPermissionIntent(Context)} is provided for
+ * convenience)
+ */
+public class Bubble {
+ // This class has some odd behavior that is not immediately obvious in order to avoid jank when
+ // resizing. See http://go/bubble-resize for details.
+
+ // How long text should show after showText(CharSequence) is called
+ private static final int SHOW_TEXT_DURATION_MILLIS = 3000;
+ // How long the new window should show before destroying the old one during resize operations.
+ // This ensures the new window has had time to draw first.
+ private static final int WINDOW_REDRAW_DELAY_MILLIS = 50;
+
+ private static Boolean canShowBubblesForTesting = null;
+
+ private final Context context;
+ private final WindowManager windowManager;
+
+ private LayoutParams windowParams;
+
+ // Initialized in factory method
+ @SuppressWarnings("NullableProblems")
+ @NonNull
+ private BubbleInfo currentInfo;
+
+ private boolean isShowing;
+ private boolean expanded;
+ private boolean textShowing;
+ private boolean hideAfterText;
+
+ private final Handler handler = new Handler();
+
+ private ViewHolder viewHolder;
+ private ViewPropertyAnimator collapseAnimation;
+ private Integer overrideGravity;
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({CollapseEnd.NOTHING, CollapseEnd.HIDE})
+ private @interface CollapseEnd {
+ int NOTHING = 0;
+ int HIDE = 1;
+ }
+
+ /**
+ * Determines whether bubbles can be shown based on permissions obtained. This should be checked
+ * before attempting to create a Bubble.
+ *
+ * @return true iff bubbles are able to be shown.
+ * @see Settings#canDrawOverlays(Context)
+ */
+ public static boolean canShowBubbles(@NonNull Context context) {
+ return canShowBubblesForTesting != null
+ ? canShowBubblesForTesting
+ : VERSION.SDK_INT < VERSION_CODES.M || Settings.canDrawOverlays(context);
+ }
+
+ @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+ public static void setCanShowBubblesForTesting(boolean canShowBubbles) {
+ canShowBubblesForTesting = canShowBubbles;
+ }
+
+ /** Returns an Intent to request permission to show overlays */
+ @NonNull
+ public static Intent getRequestPermissionIntent(@NonNull Context context) {
+ return new Intent(
+ Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
+ Uri.fromParts("package", context.getPackageName(), null));
+ }
+
+ /** Creates instances of Bubble. The default implementation just calls the constructor. */
+ @VisibleForTesting
+ public interface BubbleFactory {
+ Bubble createBubble(@NonNull Context context);
+ }
+
+ private static BubbleFactory bubbleFactory = Bubble::new;
+
+ public static Bubble createBubble(@NonNull Context context, @NonNull BubbleInfo info) {
+ Bubble bubble = bubbleFactory.createBubble(context);
+ bubble.setBubbleInfo(info);
+ return bubble;
+ }
+
+ @VisibleForTesting
+ public static void setBubbleFactory(@NonNull BubbleFactory bubbleFactory) {
+ Bubble.bubbleFactory = bubbleFactory;
+ }
+
+ @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+ Bubble(@NonNull Context context) {
+ context = new ContextThemeWrapper(context, R.style.Theme_AppCompat);
+ this.context = context;
+ windowManager = context.getSystemService(WindowManager.class);
+
+ viewHolder = new ViewHolder(context);
+ }
+
+ /**
+ * Make the bubble visible. Will show a short entrance animation as it enters. If the bubble is
+ * already showing this method does nothing.
+ */
+ public void show() {
+ if (isShowing) {
+ return;
+ }
+
+ hideAfterText = false;
+
+ if (windowParams == null) {
+ // Apps targeting O+ must use TYPE_APPLICATION_OVERLAY, which is not available prior to O.
+ @SuppressWarnings("deprecation")
+ @SuppressLint("InlinedApi")
+ int type =
+ BuildCompat.isAtLeastO()
+ ? LayoutParams.TYPE_APPLICATION_OVERLAY
+ : LayoutParams.TYPE_PHONE;
+
+ windowParams =
+ new LayoutParams(
+ type,
+ LayoutParams.FLAG_NOT_TOUCH_MODAL
+ | LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
+ | LayoutParams.FLAG_NOT_FOCUSABLE
+ | LayoutParams.FLAG_LAYOUT_NO_LIMITS,
+ PixelFormat.TRANSLUCENT);
+ windowParams.gravity = Gravity.TOP | Gravity.LEFT;
+ windowParams.x = context.getResources().getDimensionPixelOffset(R.dimen.bubble_safe_margin_x);
+ windowParams.y = currentInfo.getStartingYPosition();
+ windowParams.height = LayoutParams.WRAP_CONTENT;
+ windowParams.width = LayoutParams.WRAP_CONTENT;
+ }
+
+ windowManager.addView(viewHolder.getRoot(), windowParams);
+ ObjectAnimator showAnimator =
+ ObjectAnimator.ofPropertyValuesHolder(
+ viewHolder.getPrimaryButton(),
+ PropertyValuesHolder.ofFloat(View.SCALE_X, 0, 1),
+ PropertyValuesHolder.ofFloat(View.SCALE_Y, 0, 1));
+ showAnimator.setInterpolator(new OvershootInterpolator());
+ showAnimator.start();
+ isShowing = true;
+ updatePrimaryIconAnimation();
+ }
+
+ /**
+ * Hide the button if visible. Will run a short exit animation before hiding. If the bubble is
+ * currently showing text, will hide after the text is done displaying. If the bubble is not
+ * visible this method does nothing.
+ */
+ public void hide() {
+ if (!isShowing) {
+ return;
+ }
+
+ if (textShowing) {
+ hideAfterText = true;
+ return;
+ }
+
+ if (expanded) {
+ startCollapse(CollapseEnd.HIDE);
+ return;
+ }
+
+ viewHolder
+ .getPrimaryButton()
+ .animate()
+ .setInterpolator(new AnticipateInterpolator())
+ .scaleX(0)
+ .scaleY(0)
+ .withEndAction(
+ () -> {
+ windowManager.removeView(viewHolder.getRoot());
+ isShowing = false;
+ updatePrimaryIconAnimation();
+ })
+ .start();
+ }
+
+ /** Returns whether the bubble is currently visible */
+ public boolean isShowing() {
+ return isShowing;
+ }
+
+ /**
+ * Set the info for this Bubble to display
+ *
+ * @param bubbleInfo the BubbleInfo to display in this Bubble.
+ */
+ public void setBubbleInfo(@NonNull BubbleInfo bubbleInfo) {
+ currentInfo = bubbleInfo;
+ update();
+ }
+
+ /**
+ * Update the state and behavior of actions.
+ *
+ * @param actions the new state of the bubble's actions
+ */
+ public void updateActions(@NonNull List<Action> actions) {
+ currentInfo = BubbleInfo.from(currentInfo).setActions(actions).build();
+ updateButtonStates();
+ }
+
+ /** Returns the currently displayed BubbleInfo */
+ public BubbleInfo getBubbleInfo() {
+ return currentInfo;
+ }
+
+ /**
+ * Display text in the main bubble. The bubble's drawer is not expandable while text is showing,
+ * and the drawer will be closed if already open.
+ *
+ * @param text the text to display to the user
+ */
+ public void showText(@NonNull CharSequence text) {
+ textShowing = true;
+ if (expanded) {
+ startCollapse(CollapseEnd.NOTHING);
+ doShowText(text);
+ } else {
+ // Need to transition from old bounds to new bounds manually
+ ChangeOnScreenBounds transition = new ChangeOnScreenBounds();
+ // Prepare and capture start values
+ TransitionValues startValues = new TransitionValues();
+ startValues.view = viewHolder.getPrimaryButton();
+ transition.addTarget(startValues.view);
+ transition.captureStartValues(startValues);
+
+ doResize(
+ () -> {
+ doShowText(text);
+ // Hide the text so we can animate it in
+ viewHolder.getPrimaryText().setAlpha(0);
+
+ ViewAnimator primaryButton = viewHolder.getPrimaryButton();
+ // Cancel the automatic transition scheduled in doShowText
+ TransitionManager.endTransitions((ViewGroup) primaryButton.getParent());
+ primaryButton
+ .getViewTreeObserver()
+ .addOnPreDrawListener(
+ new OnPreDrawListener() {
+ @Override
+ public boolean onPreDraw() {
+ primaryButton.getViewTreeObserver().removeOnPreDrawListener(this);
+
+ // Prepare and capture end values
+ TransitionValues endValues = new TransitionValues();
+ endValues.view = primaryButton;
+ transition.addTarget(endValues.view);
+ transition.captureEndValues(endValues);
+
+ // animate the primary button bounds change
+ Animator bounds =
+ transition.createAnimator(primaryButton, startValues, endValues);
+
+ // Animate the text in
+ Animator alpha =
+ ObjectAnimator.ofFloat(viewHolder.getPrimaryText(), View.ALPHA, 1f);
+
+ AnimatorSet set = new AnimatorSet();
+ set.play(bounds).before(alpha);
+ set.start();
+ return false;
+ }
+ });
+ });
+ }
+ handler.removeCallbacks(null);
+ handler.postDelayed(
+ () -> {
+ textShowing = false;
+ if (hideAfterText) {
+ hide();
+ } else {
+ doResize(
+ () -> viewHolder.getPrimaryButton().setDisplayedChild(ViewHolder.CHILD_INDEX_ICON));
+ }
+ },
+ SHOW_TEXT_DURATION_MILLIS);
+ }
+
+ @Nullable
+ Integer getGravityOverride() {
+ return overrideGravity;
+ }
+
+ void onMoveStart() {
+ startCollapse(CollapseEnd.NOTHING);
+ viewHolder
+ .getPrimaryButton()
+ .animate()
+ .translationZ(
+ context.getResources().getDimensionPixelOffset(R.dimen.bubble_move_elevation_change));
+ }
+
+ void onMoveFinish() {
+ viewHolder.getPrimaryButton().animate().translationZ(0);
+ // If it's GONE, no resize is necessary. If it's VISIBLE, it will get cleaned up when the
+ // collapse animation finishes
+ if (viewHolder.getExpandedView().getVisibility() == View.INVISIBLE) {
+ doResize(null);
+ }
+ }
+
+ void primaryButtonClick() {
+ if (expanded || textShowing || currentInfo.getActions().isEmpty()) {
+ try {
+ currentInfo.getPrimaryIntent().send();
+ } catch (CanceledException e) {
+ throw new RuntimeException(e);
+ }
+ return;
+ }
+
+ doResize(
+ () -> {
+ onLeftRightSwitch(isDrawingFromRight());
+ viewHolder.setDrawerVisibility(View.VISIBLE);
+ });
+ View expandedView = viewHolder.getExpandedView();
+ expandedView
+ .getViewTreeObserver()
+ .addOnPreDrawListener(
+ new OnPreDrawListener() {
+ @Override
+ public boolean onPreDraw() {
+ expandedView.getViewTreeObserver().removeOnPreDrawListener(this);
+ expandedView.setTranslationX(
+ isDrawingFromRight() ? expandedView.getWidth() : -expandedView.getWidth());
+ expandedView
+ .animate()
+ .setInterpolator(new LinearOutSlowInInterpolator())
+ .translationX(0);
+ return false;
+ }
+ });
+ setFocused(true);
+ expanded = true;
+ }
+
+ void onLeftRightSwitch(boolean onRight) {
+ if (viewHolder.isMoving()) {
+ if (viewHolder.getExpandedView().getVisibility() == View.GONE) {
+ // If the drawer is not part of the layout we don't need to do anything. Layout flips will
+ // happen if necessary when opening the drawer.
+ return;
+ }
+ }
+
+ viewHolder
+ .getRoot()
+ .setLayoutDirection(onRight ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR);
+ View primaryContainer = viewHolder.getRoot().findViewById(R.id.bubble_primary_container);
+ ViewGroup.LayoutParams layoutParams = primaryContainer.getLayoutParams();
+ ((FrameLayout.LayoutParams) layoutParams).gravity = onRight ? Gravity.RIGHT : Gravity.LEFT;
+ primaryContainer.setLayoutParams(layoutParams);
+
+ viewHolder
+ .getExpandedView()
+ .setBackgroundResource(
+ onRight
+ ? R.drawable.bubble_background_pill_rtl
+ : R.drawable.bubble_background_pill_ltr);
+ }
+
+ LayoutParams getWindowParams() {
+ return windowParams;
+ }
+
+ View getRootView() {
+ return viewHolder.getRoot();
+ }
+
+ private void update() {
+ RippleDrawable backgroundRipple =
+ (RippleDrawable)
+ context.getResources().getDrawable(R.drawable.bubble_ripple_circle, context.getTheme());
+ int primaryTint =
+ ColorUtils.compositeColors(
+ context.getColor(R.color.bubble_primary_background_darken),
+ currentInfo.getPrimaryColor());
+ backgroundRipple.getDrawable(0).setTint(primaryTint);
+ viewHolder.getPrimaryButton().setBackground(backgroundRipple);
+
+ setBackgroundDrawable(viewHolder.getFirstButton(), primaryTint);
+ setBackgroundDrawable(viewHolder.getSecondButton(), primaryTint);
+ setBackgroundDrawable(viewHolder.getThirdButton(), primaryTint);
+
+ int numButtons = currentInfo.getActions().size();
+ viewHolder.getThirdButton().setVisibility(numButtons < 3 ? View.GONE : View.VISIBLE);
+ viewHolder.getSecondButton().setVisibility(numButtons < 2 ? View.GONE : View.VISIBLE);
+
+ viewHolder.getPrimaryIcon().setImageIcon(currentInfo.getPrimaryIcon());
+ updatePrimaryIconAnimation();
+
+ viewHolder
+ .getExpandedView()
+ .setBackgroundTintList(ColorStateList.valueOf(currentInfo.getPrimaryColor()));
+
+ updateButtonStates();
+ }
+
+ private void updatePrimaryIconAnimation() {
+ Drawable drawable = viewHolder.getPrimaryIcon().getDrawable();
+ if (drawable instanceof Animatable) {
+ if (isShowing) {
+ ((Animatable) drawable).start();
+ } else {
+ ((Animatable) drawable).stop();
+ }
+ }
+ }
+
+ private void setBackgroundDrawable(CheckableImageButton view, @ColorInt int color) {
+ RippleDrawable itemRipple =
+ (RippleDrawable)
+ context
+ .getResources()
+ .getDrawable(R.drawable.bubble_ripple_checkable_circle, context.getTheme());
+ itemRipple.getDrawable(0).setTint(color);
+ view.setBackground(itemRipple);
+ }
+
+ private void updateButtonStates() {
+ int numButtons = currentInfo.getActions().size();
+
+ if (numButtons >= 1) {
+ configureButton(currentInfo.getActions().get(0), viewHolder.getFirstButton());
+ if (numButtons >= 2) {
+ configureButton(currentInfo.getActions().get(1), viewHolder.getSecondButton());
+ if (numButtons >= 3) {
+ configureButton(currentInfo.getActions().get(2), viewHolder.getThirdButton());
+ }
+ }
+ }
+ }
+
+ private void doShowText(@NonNull CharSequence text) {
+ TransitionManager.beginDelayedTransition((ViewGroup) viewHolder.getPrimaryButton().getParent());
+ viewHolder.getPrimaryText().setText(text);
+ viewHolder.getPrimaryButton().setDisplayedChild(ViewHolder.CHILD_INDEX_TEXT);
+ }
+
+ private void configureButton(Action action, CheckableImageButton button) {
+ action
+ .getIcon()
+ .loadDrawableAsync(
+ context,
+ d -> {
+ button.setImageIcon(action.getIcon());
+ button.setContentDescription(action.getName());
+ button.setChecked(action.isChecked());
+ button.setEnabled(action.isEnabled());
+ },
+ handler);
+ button.setOnClickListener(v -> doAction(action));
+ }
+
+ private void doAction(Action action) {
+ try {
+ action.getIntent().send();
+ } catch (CanceledException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private void doResize(@Nullable Runnable operation) {
+ // If we're resizing on the right side of the screen, there is an implicit move operation
+ // necessary. The WindowManager does not sync the move and resize operations, so serious jank
+ // would occur. To fix this, instead of resizing the window, we create a new one and destroy
+ // the old one. There is a short delay before destroying the old view to ensure the new one has
+ // had time to draw.
+ ViewHolder oldViewHolder = viewHolder;
+ if (isDrawingFromRight()) {
+ viewHolder = new ViewHolder(oldViewHolder.getRoot().getContext());
+ update();
+ viewHolder
+ .getPrimaryButton()
+ .setDisplayedChild(oldViewHolder.getPrimaryButton().getDisplayedChild());
+ viewHolder.getPrimaryText().setText(oldViewHolder.getPrimaryText().getText());
+ }
+
+ if (operation != null) {
+ operation.run();
+ }
+
+ if (isDrawingFromRight()) {
+ swapViewHolders(oldViewHolder);
+ }
+ }
+
+ private void swapViewHolders(ViewHolder oldViewHolder) {
+ oldViewHolder.getShadowProvider().setVisibility(View.GONE);
+ ViewGroup root = viewHolder.getRoot();
+ windowManager.addView(root, windowParams);
+ root.getViewTreeObserver()
+ .addOnPreDrawListener(
+ new OnPreDrawListener() {
+ @Override
+ public boolean onPreDraw() {
+ root.getViewTreeObserver().removeOnPreDrawListener(this);
+ // Wait a bit before removing the old view; make sure the new one has drawn over it.
+ handler.postDelayed(
+ () -> windowManager.removeView(oldViewHolder.getRoot()),
+ WINDOW_REDRAW_DELAY_MILLIS);
+ return true;
+ }
+ });
+ }
+
+ private void startCollapse(@CollapseEnd int collapseEndAction) {
+ View expandedView = viewHolder.getExpandedView();
+ if (expandedView.getVisibility() != View.VISIBLE || collapseAnimation != null) {
+ // Drawer is already collapsed or animation is running.
+ return;
+ }
+
+ overrideGravity = isDrawingFromRight() ? Gravity.RIGHT : Gravity.LEFT;
+ setFocused(false);
+ collapseAnimation =
+ expandedView
+ .animate()
+ .translationX(isDrawingFromRight() ? expandedView.getWidth() : -expandedView.getWidth())
+ .setInterpolator(new FastOutLinearInInterpolator())
+ .withEndAction(
+ () -> {
+ collapseAnimation = null;
+ expanded = false;
+
+ if (textShowing) {
+ // Will do resize once the text is done.
+ return;
+ }
+
+ // Hide the drawer and resize if possible.
+ viewHolder.setDrawerVisibility(View.INVISIBLE);
+ if (!viewHolder.isMoving() || !isDrawingFromRight()) {
+ doResize(() -> viewHolder.setDrawerVisibility(View.GONE));
+ }
+
+ // If this collapse was to come before a hide, do it now.
+ if (collapseEndAction == CollapseEnd.HIDE) {
+ hide();
+ }
+
+ // Resume normal gravity after any resizing is done.
+ handler.postDelayed(
+ () -> {
+ overrideGravity = null;
+ if (!viewHolder.isMoving()) {
+ viewHolder.undoGravityOverride();
+ }
+ },
+ // Need to wait twice as long for resize and layout
+ WINDOW_REDRAW_DELAY_MILLIS * 2);
+ });
+ }
+
+ private boolean isDrawingFromRight() {
+ return (windowParams.gravity & Gravity.RIGHT) == Gravity.RIGHT;
+ }
+
+ private void setFocused(boolean focused) {
+ if (focused) {
+ windowParams.flags &= ~LayoutParams.FLAG_NOT_FOCUSABLE;
+ } else {
+ windowParams.flags |= LayoutParams.FLAG_NOT_FOCUSABLE;
+ }
+ windowManager.updateViewLayout(getRootView(), windowParams);
+ }
+
+ private class ViewHolder {
+
+ public static final int CHILD_INDEX_ICON = 0;
+ public static final int CHILD_INDEX_TEXT = 1;
+
+ private final MoveHandler moveHandler;
+ private final WindowRoot root;
+ private final ViewAnimator primaryButton;
+ private final ImageView primaryIcon;
+ private final TextView primaryText;
+
+ private final CheckableImageButton firstButton;
+ private final CheckableImageButton secondButton;
+ private final CheckableImageButton thirdButton;
+ private final View expandedView;
+ private final View shadowProvider;
+
+ public ViewHolder(Context context) {
+ // Window root is not in the layout file so that the inflater has a view to inflate into
+ this.root = new WindowRoot(context);
+ LayoutInflater inflater = LayoutInflater.from(root.getContext());
+ View contentView = inflater.inflate(R.layout.bubble_base, root, true);
+ expandedView = contentView.findViewById(R.id.bubble_expanded_layout);
+ primaryButton = contentView.findViewById(R.id.bubble_button_primary);
+ primaryIcon = contentView.findViewById(R.id.bubble_icon_primary);
+ primaryText = contentView.findViewById(R.id.bubble_text);
+ shadowProvider = contentView.findViewById(R.id.bubble_drawer_shadow_provider);
+
+ firstButton = contentView.findViewById(R.id.bubble_icon_first);
+ secondButton = contentView.findViewById(R.id.bubble_icon_second);
+ thirdButton = contentView.findViewById(R.id.bubble_icon_third);
+
+ root.setOnBackPressedListener(
+ () -> {
+ if (isShowing && expanded) {
+ startCollapse(CollapseEnd.NOTHING);
+ return true;
+ }
+ return false;
+ });
+ root.setOnTouchListener(
+ (v, event) -> {
+ if (expanded && event.getActionMasked() == MotionEvent.ACTION_OUTSIDE) {
+ startCollapse(CollapseEnd.NOTHING);
+ return true;
+ }
+ return false;
+ });
+ expandedView
+ .getViewTreeObserver()
+ .addOnDrawListener(
+ () -> {
+ int translationX = (int) expandedView.getTranslationX();
+ int parentOffset =
+ ((MarginLayoutParams) ((ViewGroup) expandedView.getParent()).getLayoutParams())
+ .leftMargin;
+ if (isDrawingFromRight()) {
+ int maxLeft =
+ shadowProvider.getRight()
+ - context.getResources().getDimensionPixelSize(R.dimen.bubble_size);
+ shadowProvider.setLeft(
+ Math.min(maxLeft, expandedView.getLeft() + translationX + parentOffset));
+ } else {
+ int minRight =
+ shadowProvider.getLeft()
+ + context.getResources().getDimensionPixelSize(R.dimen.bubble_size);
+ shadowProvider.setRight(
+ Math.max(minRight, expandedView.getRight() + translationX + parentOffset));
+ }
+ });
+ moveHandler = new MoveHandler(primaryButton, Bubble.this);
+ }
+
+ public ViewGroup getRoot() {
+ return root;
+ }
+
+ public ViewAnimator getPrimaryButton() {
+ return primaryButton;
+ }
+
+ public ImageView getPrimaryIcon() {
+ return primaryIcon;
+ }
+
+ public TextView getPrimaryText() {
+ return primaryText;
+ }
+
+ public CheckableImageButton getFirstButton() {
+ return firstButton;
+ }
+
+ public CheckableImageButton getSecondButton() {
+ return secondButton;
+ }
+
+ public CheckableImageButton getThirdButton() {
+ return thirdButton;
+ }
+
+ public View getExpandedView() {
+ return expandedView;
+ }
+
+ public View getShadowProvider() {
+ return shadowProvider;
+ }
+
+ public void setDrawerVisibility(int visibility) {
+ expandedView.setVisibility(visibility);
+ shadowProvider.setVisibility(visibility);
+ }
+
+ public boolean isMoving() {
+ return moveHandler.isMoving();
+ }
+
+ public void undoGravityOverride() {
+ moveHandler.undoGravityOverride();
+ }
+ }
+}
diff --git a/java/com/android/dialershared/bubble/BubbleInfo.java b/java/com/android/dialershared/bubble/BubbleInfo.java
new file mode 100644
index 000000000..eb9abd059
--- /dev/null
+++ b/java/com/android/dialershared/bubble/BubbleInfo.java
@@ -0,0 +1,123 @@
+/*
+ * 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
+ */
+
+package com.android.dialershared.bubble;
+
+import android.app.PendingIntent;
+import android.graphics.drawable.Icon;
+import android.support.annotation.ColorInt;
+import android.support.annotation.NonNull;
+import android.support.annotation.Px;
+import com.google.auto.value.AutoValue;
+import java.util.Collections;
+import java.util.List;
+
+/** Info for displaying a {@link Bubble} */
+@AutoValue
+public abstract class BubbleInfo {
+ @ColorInt
+ public abstract int getPrimaryColor();
+
+ @NonNull
+ public abstract Icon getPrimaryIcon();
+
+ @NonNull
+ public abstract PendingIntent getPrimaryIntent();
+
+ @Px
+ public abstract int getStartingYPosition();
+
+ @NonNull
+ public abstract List<Action> getActions();
+
+ public static Builder builder() {
+ return new AutoValue_BubbleInfo.Builder().setActions(Collections.emptyList());
+ }
+
+ public static Builder from(@NonNull BubbleInfo bubbleInfo) {
+ return builder()
+ .setPrimaryIntent(bubbleInfo.getPrimaryIntent())
+ .setPrimaryColor(bubbleInfo.getPrimaryColor())
+ .setPrimaryIcon(bubbleInfo.getPrimaryIcon())
+ .setStartingYPosition(bubbleInfo.getStartingYPosition())
+ .setActions(bubbleInfo.getActions());
+ }
+
+ /** Builder for {@link BubbleInfo} */
+ @AutoValue.Builder
+ public abstract static class Builder {
+
+ public abstract Builder setPrimaryColor(@ColorInt int primaryColor);
+
+ public abstract Builder setPrimaryIcon(@NonNull Icon primaryIcon);
+
+ public abstract Builder setPrimaryIntent(@NonNull PendingIntent primaryIntent);
+
+ public abstract Builder setStartingYPosition(@Px int startingYPosition);
+
+ public abstract Builder setActions(List<Action> actions);
+
+ public abstract BubbleInfo build();
+ }
+
+ /** Represents actions to be shown in the bubble when expanded */
+ @AutoValue
+ public abstract static class Action {
+
+ @NonNull
+ public abstract Icon getIcon();
+
+ @NonNull
+ public abstract CharSequence getName();
+
+ @NonNull
+ public abstract PendingIntent getIntent();
+
+ public abstract boolean isEnabled();
+
+ public abstract boolean isChecked();
+
+ public static Builder builder() {
+ return new AutoValue_BubbleInfo_Action.Builder().setEnabled(true).setChecked(false);
+ }
+
+ public static Builder from(@NonNull Action action) {
+ return builder()
+ .setIntent(action.getIntent())
+ .setChecked(action.isChecked())
+ .setEnabled(action.isEnabled())
+ .setName(action.getName())
+ .setIcon(action.getIcon());
+ }
+
+ /** Builder for {@link Action} */
+ @AutoValue.Builder
+ public abstract static class Builder {
+
+ public abstract Builder setIcon(@NonNull Icon icon);
+
+ public abstract Builder setName(@NonNull CharSequence name);
+
+ public abstract Builder setIntent(@NonNull PendingIntent intent);
+
+ public abstract Builder setEnabled(boolean enabled);
+
+ public abstract Builder setChecked(boolean checked);
+
+ public abstract Action build();
+ }
+ }
+}
diff --git a/java/com/android/dialershared/bubble/ChangeOnScreenBounds.java b/java/com/android/dialershared/bubble/ChangeOnScreenBounds.java
new file mode 100644
index 000000000..4da6a3561
--- /dev/null
+++ b/java/com/android/dialershared/bubble/ChangeOnScreenBounds.java
@@ -0,0 +1,166 @@
+/*
+ * 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
+ */
+
+package com.android.dialershared.bubble;
+
+import android.animation.Animator;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.graphics.Path;
+import android.graphics.PointF;
+import android.graphics.Rect;
+import android.transition.Transition;
+import android.transition.TransitionValues;
+import android.util.Property;
+import android.view.View;
+import android.view.ViewGroup;
+
+/** Similar to {@link android.transition.ChangeBounds ChangeBounds} but works across windows */
+public class ChangeOnScreenBounds extends Transition {
+
+ private static final String PROPNAME_BOUNDS = "bubble:changeScreenBounds:bounds";
+ private static final String PROPNAME_SCREEN_X = "bubble:changeScreenBounds:screenX";
+ private static final String PROPNAME_SCREEN_Y = "bubble:changeScreenBounds:screenY";
+
+ private static final Property<ViewBounds, PointF> TOP_LEFT_PROPERTY =
+ new Property<ViewBounds, PointF>(PointF.class, "topLeft") {
+ @Override
+ public void set(ViewBounds viewBounds, PointF topLeft) {
+ viewBounds.setTopLeft(topLeft);
+ }
+
+ @Override
+ public PointF get(ViewBounds viewBounds) {
+ return null;
+ }
+ };
+
+ private static final Property<ViewBounds, PointF> BOTTOM_RIGHT_PROPERTY =
+ new Property<ViewBounds, PointF>(PointF.class, "bottomRight") {
+ @Override
+ public void set(ViewBounds viewBounds, PointF bottomRight) {
+ viewBounds.setBottomRight(bottomRight);
+ }
+
+ @Override
+ public PointF get(ViewBounds viewBounds) {
+ return null;
+ }
+ };
+ private final int[] tempLocation = new int[2];
+
+ @Override
+ public void captureStartValues(TransitionValues transitionValues) {
+ captureValues(transitionValues);
+ }
+
+ @Override
+ public void captureEndValues(TransitionValues transitionValues) {
+ captureValues(transitionValues);
+ }
+
+ private void captureValues(TransitionValues values) {
+ View view = values.view;
+
+ if (view.isLaidOut() || view.getWidth() != 0 || view.getHeight() != 0) {
+ values.values.put(
+ PROPNAME_BOUNDS,
+ new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom()));
+ values.view.getLocationOnScreen(tempLocation);
+ values.values.put(PROPNAME_SCREEN_X, tempLocation[0]);
+ values.values.put(PROPNAME_SCREEN_Y, tempLocation[1]);
+ }
+ }
+
+ @Override
+ public Animator createAnimator(
+ ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues) {
+ Rect startBounds = (Rect) startValues.values.get(PROPNAME_BOUNDS);
+
+ // Offset the startBounds by the difference in screen position
+ int startScreenX = (Integer) startValues.values.get(PROPNAME_SCREEN_X);
+ int startScreenY = (Integer) startValues.values.get(PROPNAME_SCREEN_Y);
+ int endScreenX = (Integer) endValues.values.get(PROPNAME_SCREEN_X);
+ int endScreenY = (Integer) endValues.values.get(PROPNAME_SCREEN_Y);
+ startBounds.offset(startScreenX - endScreenX, startScreenY - endScreenY);
+
+ Rect endBounds = (Rect) endValues.values.get(PROPNAME_BOUNDS);
+ final int startLeft = startBounds.left;
+ final int endLeft = endBounds.left;
+ final int startTop = startBounds.top;
+ final int endTop = endBounds.top;
+ final int startRight = startBounds.right;
+ final int endRight = endBounds.right;
+ final int startBottom = startBounds.bottom;
+ final int endBottom = endBounds.bottom;
+ ViewBounds viewBounds = new ViewBounds(endValues.view);
+ viewBounds.setTopLeft(new PointF(startLeft, startTop));
+ viewBounds.setBottomRight(new PointF(startRight, startBottom));
+
+ // Animate the top left and bottom right corners along a path
+ Path topLeftPath = getPathMotion().getPath(startLeft, startTop, endLeft, endTop);
+ ObjectAnimator topLeftAnimator =
+ ObjectAnimator.ofObject(viewBounds, TOP_LEFT_PROPERTY, null, topLeftPath);
+
+ Path bottomRightPath = getPathMotion().getPath(startRight, startBottom, endRight, endBottom);
+ ObjectAnimator bottomRightAnimator =
+ ObjectAnimator.ofObject(viewBounds, BOTTOM_RIGHT_PROPERTY, null, bottomRightPath);
+ AnimatorSet set = new AnimatorSet();
+ set.playTogether(topLeftAnimator, bottomRightAnimator);
+ return set;
+ }
+
+ private static class ViewBounds {
+ private int left;
+ private int top;
+ private int right;
+ private int bottom;
+ private final View view;
+ private int topLeftCalls;
+ private int bottomRightCalls;
+
+ public ViewBounds(View view) {
+ this.view = view;
+ }
+
+ public void setTopLeft(PointF topLeft) {
+ left = Math.round(topLeft.x);
+ top = Math.round(topLeft.y);
+ topLeftCalls++;
+ if (topLeftCalls == bottomRightCalls) {
+ updateLeftTopRightBottom();
+ }
+ }
+
+ public void setBottomRight(PointF bottomRight) {
+ right = Math.round(bottomRight.x);
+ bottom = Math.round(bottomRight.y);
+ bottomRightCalls++;
+ if (topLeftCalls == bottomRightCalls) {
+ updateLeftTopRightBottom();
+ }
+ }
+
+ private void updateLeftTopRightBottom() {
+ view.setLeft(left);
+ view.setTop(top);
+ view.setRight(right);
+ view.setBottom(bottom);
+ topLeftCalls = 0;
+ bottomRightCalls = 0;
+ }
+ }
+}
diff --git a/java/com/android/dialershared/bubble/CheckableImageButton.java b/java/com/android/dialershared/bubble/CheckableImageButton.java
new file mode 100644
index 000000000..7a5a432a6
--- /dev/null
+++ b/java/com/android/dialershared/bubble/CheckableImageButton.java
@@ -0,0 +1,101 @@
+/*
+ * 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
+ */
+
+package com.android.dialershared.bubble;
+
+import android.content.Context;
+import android.support.v4.view.AccessibilityDelegateCompat;
+import android.support.v4.view.ViewCompat;
+import android.support.v4.view.accessibility.AccessibilityEventCompat;
+import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat;
+import android.support.v7.widget.AppCompatImageButton;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.accessibility.AccessibilityEvent;
+import android.widget.Checkable;
+
+/**
+ * An {@link android.widget.ImageButton ImageButton} that implements {@link Checkable} and
+ * propagates the checkable state
+ */
+public class CheckableImageButton extends AppCompatImageButton implements Checkable {
+
+ // Copied without modification from AppCompat library
+
+ private static final int[] DRAWABLE_STATE_CHECKED = new int[] {android.R.attr.state_checked};
+
+ private boolean mChecked;
+
+ public CheckableImageButton(Context context) {
+ this(context, null);
+ }
+
+ public CheckableImageButton(Context context, AttributeSet attrs) {
+ this(context, attrs, android.R.attr.imageButtonStyle);
+ }
+
+ public CheckableImageButton(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+
+ ViewCompat.setAccessibilityDelegate(
+ this,
+ new AccessibilityDelegateCompat() {
+ @Override
+ public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
+ super.onInitializeAccessibilityEvent(host, event);
+ event.setChecked(isChecked());
+ }
+
+ @Override
+ public void onInitializeAccessibilityNodeInfo(
+ View host, AccessibilityNodeInfoCompat info) {
+ super.onInitializeAccessibilityNodeInfo(host, info);
+ info.setCheckable(true);
+ info.setChecked(isChecked());
+ }
+ });
+ }
+
+ @Override
+ public void setChecked(boolean checked) {
+ if (mChecked != checked) {
+ mChecked = checked;
+ refreshDrawableState();
+ sendAccessibilityEvent(AccessibilityEventCompat.TYPE_WINDOW_CONTENT_CHANGED);
+ }
+ }
+
+ @Override
+ public boolean isChecked() {
+ return mChecked;
+ }
+
+ @Override
+ public void toggle() {
+ setChecked(!mChecked);
+ }
+
+ @Override
+ public int[] onCreateDrawableState(int extraSpace) {
+ if (mChecked) {
+ return mergeDrawableStates(
+ super.onCreateDrawableState(extraSpace + DRAWABLE_STATE_CHECKED.length),
+ DRAWABLE_STATE_CHECKED);
+ } else {
+ return super.onCreateDrawableState(extraSpace);
+ }
+ }
+}
diff --git a/java/com/android/dialershared/bubble/MoveHandler.java b/java/com/android/dialershared/bubble/MoveHandler.java
new file mode 100644
index 000000000..bc6db64bc
--- /dev/null
+++ b/java/com/android/dialershared/bubble/MoveHandler.java
@@ -0,0 +1,264 @@
+/*
+ * 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
+ */
+
+package com.android.dialershared.bubble;
+
+import android.content.Context;
+import android.graphics.Point;
+import android.support.animation.FloatPropertyCompat;
+import android.support.animation.SpringAnimation;
+import android.support.animation.SpringForce;
+import android.support.annotation.NonNull;
+import android.support.v4.math.MathUtils;
+import android.view.Gravity;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+import android.view.View;
+import android.view.View.OnTouchListener;
+import android.view.ViewConfiguration;
+import android.view.WindowManager;
+import android.view.WindowManager.LayoutParams;
+import android.widget.Scroller;
+
+/** Handles touches and manages moving the bubble in response */
+class MoveHandler implements OnTouchListener {
+
+ // Amount the ViewConfiguration's minFlingVelocity will be scaled by for our own minVelocity
+ private static final int MIN_FLING_VELOCITY_FACTOR = 8;
+ // The friction multiplier to control how slippery the bubble is when flung
+ private static final float SCROLL_FRICTION_MULTIPLIER = 4f;
+
+ private final Context context;
+ private final WindowManager windowManager;
+ private final Bubble bubble;
+ private final int minX;
+ private final int minY;
+ private final int maxX;
+ private final int maxY;
+ private final int bubbleSize;
+ private final int shadowPaddingSize;
+ private final float touchSlopSquared;
+
+ private boolean isMoving;
+ private float firstX;
+ private float firstY;
+
+ private SpringAnimation moveXAnimation;
+ private SpringAnimation moveYAnimation;
+ private VelocityTracker velocityTracker;
+ private Scroller scroller;
+
+ // Handles the left/right gravity conversion and centering
+ private final FloatPropertyCompat<WindowManager.LayoutParams> xProperty =
+ new FloatPropertyCompat<LayoutParams>("xProperty") {
+ @Override
+ public float getValue(LayoutParams windowParams) {
+ int realX = windowParams.x;
+ realX = realX + bubbleSize / 2;
+ realX = realX + shadowPaddingSize;
+ if (relativeToRight(windowParams)) {
+ int displayWidth = context.getResources().getDisplayMetrics().widthPixels;
+ realX = displayWidth - realX;
+ }
+ return MathUtils.clamp(realX, minX, maxX);
+ }
+
+ @Override
+ public void setValue(LayoutParams windowParams, float value) {
+ boolean wasOnRight = (windowParams.gravity & Gravity.RIGHT) == Gravity.RIGHT;
+ int displayWidth = context.getResources().getDisplayMetrics().widthPixels;
+ boolean onRight;
+ Integer gravityOverride = bubble.getGravityOverride();
+ if (gravityOverride == null) {
+ onRight = value > displayWidth / 2;
+ } else {
+ onRight = (gravityOverride & Gravity.RIGHT) == Gravity.RIGHT;
+ }
+ int centeringOffset = bubbleSize / 2 + shadowPaddingSize;
+ windowParams.x =
+ (int) (onRight ? (displayWidth - value - centeringOffset) : value - centeringOffset);
+ windowParams.gravity = Gravity.TOP | (onRight ? Gravity.RIGHT : Gravity.LEFT);
+ if (wasOnRight != onRight) {
+ bubble.onLeftRightSwitch(onRight);
+ }
+ if (bubble.isShowing()) {
+ windowManager.updateViewLayout(bubble.getRootView(), windowParams);
+ }
+ }
+ };
+
+ private final FloatPropertyCompat<WindowManager.LayoutParams> yProperty =
+ new FloatPropertyCompat<LayoutParams>("yProperty") {
+ @Override
+ public float getValue(LayoutParams object) {
+ return MathUtils.clamp(object.y + bubbleSize + shadowPaddingSize, minY, maxY);
+ }
+
+ @Override
+ public void setValue(LayoutParams object, float value) {
+ object.y = (int) value - bubbleSize - shadowPaddingSize;
+ if (bubble.isShowing()) {
+ windowManager.updateViewLayout(bubble.getRootView(), object);
+ }
+ }
+ };
+
+ public MoveHandler(@NonNull View targetView, @NonNull Bubble bubble) {
+ this.bubble = bubble;
+ context = targetView.getContext();
+ windowManager = context.getSystemService(WindowManager.class);
+
+ bubbleSize = context.getResources().getDimensionPixelSize(R.dimen.bubble_size);
+ shadowPaddingSize =
+ context.getResources().getDimensionPixelOffset(R.dimen.bubble_shadow_padding_size);
+ minX =
+ context.getResources().getDimensionPixelOffset(R.dimen.bubble_safe_margin_x)
+ + bubbleSize / 2;
+ minY =
+ context.getResources().getDimensionPixelOffset(R.dimen.bubble_safe_margin_y)
+ + bubbleSize / 2;
+ maxX = context.getResources().getDisplayMetrics().widthPixels - minX;
+ maxY = context.getResources().getDisplayMetrics().heightPixels - minY;
+
+ // Squared because it will be compared against the square of the touch delta. This is more
+ // efficient than needing to take a square root.
+ touchSlopSquared = (float) Math.pow(ViewConfiguration.get(context).getScaledTouchSlop(), 2);
+
+ targetView.setOnTouchListener(this);
+ }
+
+ public boolean isMoving() {
+ return isMoving;
+ }
+
+ public void undoGravityOverride() {
+ LayoutParams windowParams = bubble.getWindowParams();
+ xProperty.setValue(windowParams, xProperty.getValue(windowParams));
+ }
+
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ float eventX = event.getRawX();
+ float eventY = event.getRawY();
+ switch (event.getActionMasked()) {
+ case MotionEvent.ACTION_DOWN:
+ firstX = eventX;
+ firstY = eventY;
+ velocityTracker = VelocityTracker.obtain();
+ break;
+ case MotionEvent.ACTION_MOVE:
+ if (isMoving || hasExceededTouchSlop(event)) {
+ if (!isMoving) {
+ isMoving = true;
+ bubble.onMoveStart();
+ }
+
+ if (moveXAnimation == null) {
+ moveXAnimation = new SpringAnimation(bubble.getWindowParams(), xProperty);
+ moveXAnimation.setSpring(new SpringForce());
+ moveXAnimation.getSpring().setDampingRatio(SpringForce.DAMPING_RATIO_NO_BOUNCY);
+ }
+ if (moveYAnimation == null) {
+ moveYAnimation = new SpringAnimation(bubble.getWindowParams(), yProperty);
+ moveYAnimation.setSpring(new SpringForce());
+ moveYAnimation.getSpring().setDampingRatio(SpringForce.DAMPING_RATIO_NO_BOUNCY);
+ }
+
+ moveXAnimation.animateToFinalPosition(MathUtils.clamp(eventX, minX, maxX));
+ moveYAnimation.animateToFinalPosition(MathUtils.clamp(eventY, minY, maxY));
+ }
+
+ velocityTracker.addMovement(event);
+ break;
+ case MotionEvent.ACTION_UP:
+ if (isMoving) {
+ ViewConfiguration viewConfiguration = ViewConfiguration.get(context);
+ velocityTracker.computeCurrentVelocity(
+ 1000, viewConfiguration.getScaledMaximumFlingVelocity());
+ float xVelocity = velocityTracker.getXVelocity();
+ float yVelocity = velocityTracker.getYVelocity();
+ boolean isFling = isFling(xVelocity, yVelocity);
+
+ if (isFling) {
+ Point target =
+ findTarget(
+ xVelocity,
+ yVelocity,
+ (int) xProperty.getValue(bubble.getWindowParams()),
+ (int) yProperty.getValue(bubble.getWindowParams()));
+
+ moveXAnimation.animateToFinalPosition(target.x);
+ moveYAnimation.animateToFinalPosition(target.y);
+ } else {
+ snapX();
+ }
+ isMoving = false;
+ bubble.onMoveFinish();
+ } else {
+ v.performClick();
+ bubble.primaryButtonClick();
+ }
+ break;
+ }
+ return true;
+ }
+
+ private Point findTarget(float xVelocity, float yVelocity, int startX, int startY) {
+ if (scroller == null) {
+ scroller = new Scroller(context);
+ scroller.setFriction(ViewConfiguration.getScrollFriction() * SCROLL_FRICTION_MULTIPLIER);
+ }
+
+ // Find where a fling would end vertically
+ scroller.fling(startX, startY, (int) xVelocity, (int) yVelocity, minX, maxX, minY, maxY);
+ int targetY = scroller.getFinalY();
+ scroller.abortAnimation();
+
+ // If the x component of the velocity is above the minimum fling velocity, use velocity to
+ // determine edge. Otherwise use its starting position
+ boolean pullRight = isFling(xVelocity, 0) ? xVelocity > 0 : isOnRightHalf(startX);
+ return new Point(pullRight ? maxX : minX, targetY);
+ }
+
+ private boolean isFling(float xVelocity, float yVelocity) {
+ int minFlingVelocity =
+ ViewConfiguration.get(context).getScaledMinimumFlingVelocity() * MIN_FLING_VELOCITY_FACTOR;
+ return getMagnitudeSquared(xVelocity, yVelocity) > minFlingVelocity * minFlingVelocity;
+ }
+
+ private boolean isOnRightHalf(float currentX) {
+ return currentX > (minX + maxX) / 2;
+ }
+
+ private void snapX() {
+ // Check if x value is closer to min or max
+ boolean pullRight = isOnRightHalf(xProperty.getValue(bubble.getWindowParams()));
+ moveXAnimation.animateToFinalPosition(pullRight ? maxX : minX);
+ }
+
+ private boolean relativeToRight(LayoutParams windowParams) {
+ return (windowParams.gravity & Gravity.RIGHT) == Gravity.RIGHT;
+ }
+
+ private boolean hasExceededTouchSlop(MotionEvent event) {
+ return getMagnitudeSquared(event.getRawX() - firstX, event.getRawY() - firstY)
+ > touchSlopSquared;
+ }
+
+ private float getMagnitudeSquared(float deltaX, float deltaY) {
+ return deltaX * deltaX + deltaY * deltaY;
+ }
+}
diff --git a/java/com/android/dialershared/bubble/WindowRoot.java b/java/com/android/dialershared/bubble/WindowRoot.java
new file mode 100644
index 000000000..2c176662e
--- /dev/null
+++ b/java/com/android/dialershared/bubble/WindowRoot.java
@@ -0,0 +1,55 @@
+/*
+ * 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
+ */
+
+package com.android.dialershared.bubble;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.view.KeyEvent;
+import android.widget.FrameLayout;
+
+/**
+ * ViewGroup that handles some overlay window concerns. Allows back button events to be listened for
+ * via an interface.
+ */
+public class WindowRoot extends FrameLayout {
+
+ private OnBackPressedListener backPressedListener;
+
+ /** Callback for when the back button is pressed while this window is in focus */
+ public interface OnBackPressedListener {
+ boolean onBackPressed();
+ }
+
+ public WindowRoot(@NonNull Context context) {
+ super(context);
+ }
+
+ public void setOnBackPressedListener(OnBackPressedListener listener) {
+ backPressedListener = listener;
+ }
+
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent event) {
+ if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && backPressedListener != null) {
+ if (event.getAction() == KeyEvent.ACTION_UP) {
+ return backPressedListener.onBackPressed();
+ }
+ return true;
+ }
+ return super.dispatchKeyEvent(event);
+ }
+}
diff --git a/java/com/android/dialershared/bubble/g3doc/INTEGRATION.md b/java/com/android/dialershared/bubble/g3doc/INTEGRATION.md
new file mode 100644
index 000000000..a13a6053b
--- /dev/null
+++ b/java/com/android/dialershared/bubble/g3doc/INTEGRATION.md
@@ -0,0 +1,69 @@
+# Floating Bubble Integration
+
+go/bubble-integration
+
+Author: keyboardr@
+
+Last Updated: 2017-06-06
+
+Floating bubbles provide a lightweight means of providing interactive UI while
+the user is away from the app. This document details the steps necessary to
+integrate these bubbles into your app.
+
+[TOC]
+
+![Floating bubble](images/bubble_collapsed.png){height=400}
+
+## Ensure Bubbles can be shown
+
+Add the `android.permission.SYSTEM_ALERT_WINDOW` permission to your manifest.
+Before you show the bubble, call `Bubble.canShowBubbles(Context)` to see if the
+user has granted you permission. If not, you can start an Activity from
+`Bubble.getRequestPermissionIntent(Context)` to navigate the user to the system
+settings to enable drawing over other apps. This is more than just a simple
+runtime permission; the user must explicitly allow you to draw over other apps
+via this system setting. System apps may have this allowed by default, but be
+sure to test.
+
+## Create your initial `BubbleInfo`
+
+Use `BubbleInfo.builder()` to populate a `BubbleInfo` with your color, main
+icon, main Intent (which should navigate back to your app), starting Y position,
+and a list of `Actions` to put in the drawer. Each `Action` will define its
+icon, user-displayable name (used for content description), Intent to perform
+when clicked, whether it is enabled (optional, default true), and whether it is
+checked (optional, default false).
+
+![Floating bubble expanded](images/bubble_expanded.png){height=400}
+
+## Create, show, and hide the Bubble
+
+Create the bubble using `Bubble.createBubble(Context, BubbleInfo)`. The `show()`
+method is safe to call at any time. If the Bubble is already showing, it is a
+no-op. `hide()` may also be called at any time and will collapse the drawer
+before hiding if already open. While `show()` will show immediately, `hide()`
+may need to wait for other operations or animations before the bubble is hidden.
+It is unlikely you will need to keep track of this, however. The bubble will be
+hidden at its next opportunity, and `hide()` will not block.
+
+![Floating bubble with state](images/bubble_state.png){height=400}
+
+## Update the Bubble's state
+
+Call `Bubble.setBubbleInfo(BubbleInfo)` to update all displayed state.
+`BubbleInfo`s are immutable, so to make a new one using an existing
+`BubbleInfo`, use `BubbleInfo.from(BubbleInfo)` to get a `Builder` with
+prepopulated info. If only the `Action` state has changed, it is more efficient
+to just call `Bubble.updateActions(List<Action>)`
+
+![Floating bubble with text](images/bubble_text.png){height=400}
+
+## Show text
+
+To temporarily replace the icon with a textual message, call
+`Bubble.showText(CharSequence)`. The text will be displayed for several seconds
+before transitioning back to the primary icon. The drawer will be closed if open
+and cannot be reopened while the text is displayed. Any calls to `hide()` will
+be deferred until after the text is done being displayed, so if you wish to show
+an ending message of some sort you may call `hide()` immediately after
+`showText(CharSequence)`.
diff --git a/java/com/android/dialershared/bubble/g3doc/images/bubble_collapsed.png b/java/com/android/dialershared/bubble/g3doc/images/bubble_collapsed.png
new file mode 100644
index 000000000..7ecc0675b
--- /dev/null
+++ b/java/com/android/dialershared/bubble/g3doc/images/bubble_collapsed.png
Binary files differ
diff --git a/java/com/android/dialershared/bubble/g3doc/images/bubble_expanded.png b/java/com/android/dialershared/bubble/g3doc/images/bubble_expanded.png
new file mode 100644
index 000000000..cd477f334
--- /dev/null
+++ b/java/com/android/dialershared/bubble/g3doc/images/bubble_expanded.png
Binary files differ
diff --git a/java/com/android/dialershared/bubble/g3doc/images/bubble_state.png b/java/com/android/dialershared/bubble/g3doc/images/bubble_state.png
new file mode 100644
index 000000000..21ca8a8b5
--- /dev/null
+++ b/java/com/android/dialershared/bubble/g3doc/images/bubble_state.png
Binary files differ
diff --git a/java/com/android/dialershared/bubble/g3doc/images/bubble_text.png b/java/com/android/dialershared/bubble/g3doc/images/bubble_text.png
new file mode 100644
index 000000000..9c476dca6
--- /dev/null
+++ b/java/com/android/dialershared/bubble/g3doc/images/bubble_text.png
Binary files differ
diff --git a/java/com/android/dialershared/bubble/res/color/bubble_checkable_mask.xml b/java/com/android/dialershared/bubble/res/color/bubble_checkable_mask.xml
new file mode 100644
index 000000000..f9416ab57
--- /dev/null
+++ b/java/com/android/dialershared/bubble/res/color/bubble_checkable_mask.xml
@@ -0,0 +1,21 @@
+<?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
+ -->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="@android:color/white" android:state_checked="true"/>
+ <item android:color="@android:color/transparent"/>
+</selector>
diff --git a/java/com/android/dialershared/bubble/res/color/bubble_icon_tint_states.xml b/java/com/android/dialershared/bubble/res/color/bubble_icon_tint_states.xml
new file mode 100644
index 000000000..33ca1fdc5
--- /dev/null
+++ b/java/com/android/dialershared/bubble/res/color/bubble_icon_tint_states.xml
@@ -0,0 +1,21 @@
+<?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
+ -->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:color="#80FFFFFF" android:state_enabled="false"/>
+ <item android:color="@android:color/white"/>
+</selector>
diff --git a/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_ltr.xml b/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_ltr.xml
new file mode 100644
index 000000000..77c813a75
--- /dev/null
+++ b/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_ltr.xml
@@ -0,0 +1,23 @@
+<?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
+ -->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <corners
+ android:bottomRightRadius="@dimen/bubble_size"
+ android:topRightRadius="@dimen/bubble_size"/>
+ <solid android:color="@android:color/white"/>
+</shape>
diff --git a/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_rtl.xml b/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_rtl.xml
new file mode 100644
index 000000000..9e2542154
--- /dev/null
+++ b/java/com/android/dialershared/bubble/res/drawable/bubble_background_pill_rtl.xml
@@ -0,0 +1,23 @@
+<?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
+ -->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <corners
+ android:bottomLeftRadius="@dimen/bubble_size"
+ android:topLeftRadius="@dimen/bubble_size"/>
+ <solid android:color="@android:color/white"/>
+</shape>
diff --git a/java/com/android/dialer/notification/res/values/ids.xml b/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_checkable_circle.xml
index c965f319d..85e0b24f3 100644
--- a/java/com/android/dialer/notification/res/values/ids.xml
+++ b/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_checkable_circle.xml
@@ -15,13 +15,16 @@
~ limitations under the License
-->
-<resources>
- <item name="notification_ongoing_call" type="id"/>
- <item name="notification_missed_call" type="id"/>
- <item name="notification_visual_voicemail" type="id"/>
- <item name="notification_legacy_voicemail" type="id"/>
- <item name="notification_external_call" type="id"/>
- <item name="notification_call_blocking_disabled_by_emergency_call" type="id"/>
- <item name="notification_spam_call" type="id"/>
- <item name="notification_feedback" type="id"/>
-</resources>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="?android:colorControlHighlight">
+ <item>
+ <shape android:shape="oval">
+ <solid android:color="@color/bubble_checkable_mask"/>
+ </shape>
+ </item>
+ <item android:id="@android:id/mask">
+ <shape android:shape="oval">
+ <solid android:color="@android:color/white"/>
+ </shape>
+ </item>
+</ripple>
diff --git a/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml b/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_circle.xml
index 0fe0367e1..8d5cf0bb5 100644
--- a/java/com/android/contacts/common/res/drawable/ic_search_video_call.xml
+++ b/java/com/android/dialershared/bubble/res/drawable/bubble_ripple_circle.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- ~ Copyright (C) 2015 The Android Open Source Project
+ ~ 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.
@@ -15,8 +15,12 @@
~ limitations under the License
-->
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
- android:src="@drawable/quantum_ic_videocam_white_24"
- android:tint="@color/search_video_call_icon_tint"
- android:background="?attr/selectableItemBackgroundBorderless"/>
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="?android:colorControlHighlight">
+ <item>
+ <shape>
+ <corners android:radius="@dimen/bubble_size"/>
+ <solid android:color="@android:color/white"/>
+ </shape>
+ </item>
+</ripple>
diff --git a/java/com/android/dialershared/bubble/res/layout/bubble_base.xml b/java/com/android/dialershared/bubble/res/layout/bubble_base.xml
new file mode 100644
index 000000000..76970f020
--- /dev/null
+++ b/java/com/android/dialershared/bubble/res/layout/bubble_base.xml
@@ -0,0 +1,127 @@
+<?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
+ -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:clipToPadding="false"
+ tools:theme="@style/Theme.AppCompat">
+ <View
+ android:id="@+id/bubble_drawer_shadow_provider"
+ android:layout_width="@dimen/bubble_size"
+ android:layout_height="@dimen/bubble_size"
+ android:layout_marginTop="@dimen/bubble_shadow_padding_size"
+ android:layout_marginBottom="@dimen/bubble_shadow_padding_size"
+ android:layout_marginStart="@dimen/bubble_shadow_padding_size"
+ android:background="@drawable/bubble_ripple_circle"
+ android:backgroundTint="@android:color/transparent"
+ android:elevation="10dp"
+ android:visibility="invisible"
+ />
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="48dp"
+ android:elevation="10dp"
+ android:paddingTop="@dimen/bubble_shadow_padding_size"
+ android:paddingBottom="@dimen/bubble_shadow_padding_size"
+ android:paddingEnd="@dimen/bubble_shadow_padding_size">
+
+ <LinearLayout
+ android:id="@+id/bubble_expanded_layout"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingStart="32dp"
+ android:paddingEnd="8dp"
+ android:background="@drawable/bubble_background_pill_ltr"
+ android:layoutDirection="inherit"
+ android:orientation="horizontal"
+ android:visibility="gone"
+ tools:backgroundTint="#FF0000FF"
+ tools:visibility="visible">
+ <com.android.dialershared.bubble.CheckableImageButton
+ android:id="@+id/bubble_icon_first"
+ android:layout_width="@dimen/bubble_size"
+ android:layout_height="@dimen/bubble_size"
+ android:layout_marginStart="4dp"
+ android:padding="@dimen/bubble_icon_padding"
+ android:tint="@color/bubble_icon_tint_states"
+ android:tintMode="src_in"
+ tools:background="@drawable/bubble_ripple_checkable_circle"
+ tools:src="@android:drawable/ic_lock_idle_lock"/>
+ <com.android.dialershared.bubble.CheckableImageButton
+ android:id="@+id/bubble_icon_second"
+ android:layout_width="@dimen/bubble_size"
+ android:layout_height="@dimen/bubble_size"
+ android:layout_marginStart="4dp"
+ android:padding="@dimen/bubble_icon_padding"
+ android:tint="@color/bubble_icon_tint_states"
+ android:tintMode="src_in"
+ tools:background="@drawable/bubble_ripple_checkable_circle"
+ tools:src="@android:drawable/ic_input_add"/>
+ <com.android.dialershared.bubble.CheckableImageButton
+ android:id="@+id/bubble_icon_third"
+ android:layout_width="@dimen/bubble_size"
+ android:layout_height="@dimen/bubble_size"
+ android:layout_marginStart="4dp"
+ android:padding="@dimen/bubble_icon_padding"
+ android:tint="@color/bubble_icon_tint_states"
+ android:tintMode="src_in"
+ tools:background="@drawable/bubble_ripple_checkable_circle"
+ tools:src="@android:drawable/ic_menu_call"/>
+ </LinearLayout>
+ </FrameLayout>
+ <FrameLayout
+ android:id="@+id/bubble_primary_container"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="start"
+ android:animateLayoutChanges="true"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:elevation="12dp">
+ <ViewAnimator
+ android:id="@+id/bubble_button_primary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="@dimen/bubble_shadow_padding_size"
+ android:background="@drawable/bubble_ripple_circle"
+ android:measureAllChildren="false"
+ tools:backgroundTint="#FF0000AA">
+ <ImageView
+ android:id="@+id/bubble_icon_primary"
+ android:layout_width="@dimen/bubble_size"
+ android:layout_height="@dimen/bubble_size"
+ android:padding="@dimen/bubble_icon_padding"
+ android:tint="@android:color/white"
+ android:tintMode="src_in"
+ tools:src="@android:drawable/ic_btn_speak_now"/>
+ <TextView
+ android:id="@+id/bubble_text"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/bubble_size"
+ android:paddingStart="@dimen/bubble_icon_padding"
+ android:paddingEnd="@dimen/bubble_icon_padding"
+ android:gravity="center"
+ android:minWidth="@dimen/bubble_size"
+ android:textAppearance="@style/TextAppearance.AppCompat"
+ tools:text="Call ended"/>
+ </ViewAnimator>
+ </FrameLayout>
+
+</FrameLayout>
diff --git a/java/com/android/incallui/res/drawable/img_conference_automirrored.xml b/java/com/android/dialershared/bubble/res/values/colors.xml
index 78b2876bc..97545faf3 100644
--- a/java/com/android/incallui/res/drawable/img_conference_automirrored.xml
+++ b/java/com/android/dialershared/bubble/res/values/colors.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-
<!--
- ~ Copyright (C) 2014 The Android Open Source Project
+ ~ 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.
@@ -16,6 +15,6 @@
~ limitations under the License
-->
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:autoMirrored="true"
- android:src="@drawable/img_conference"/> \ No newline at end of file
+<resources>
+ <color name="bubble_primary_background_darken">#33000000</color>
+</resources>
diff --git a/java/com/android/dialershared/bubble/res/values/values.xml b/java/com/android/dialershared/bubble/res/values/values.xml
new file mode 100644
index 000000000..f5816172d
--- /dev/null
+++ b/java/com/android/dialershared/bubble/res/values/values.xml
@@ -0,0 +1,25 @@
+<?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>
+ <dimen name="bubble_safe_margin_x">16dp</dimen>
+ <dimen name="bubble_safe_margin_y">64dp</dimen>
+ <dimen name="bubble_size">56dp</dimen>
+ <dimen name="bubble_icon_padding">16dp</dimen>
+ <dimen name="bubble_move_elevation_change">4dp</dimen>
+ <dimen name="bubble_shadow_padding_size">16dp</dimen>
+</resources>
diff --git a/java/com/android/incallui/AndroidManifest.xml b/java/com/android/incallui/AndroidManifest.xml
index 8539bd0cf..703e5b509 100644
--- a/java/com/android/incallui/AndroidManifest.xml
+++ b/java/com/android/incallui/AndroidManifest.xml
@@ -15,11 +15,11 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.incallui">
+ package="com.android.incallui">
<uses-sdk
- android:minSdkVersion="23"
- android:targetSdkVersion="26"/>
+ android:minSdkVersion="23"
+ android:targetSdkVersion="26"/>
<uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
<!-- We use this to disable the status bar buttons of home, back and recent
@@ -31,8 +31,8 @@
<!-- Warning: setting the required boolean to true would prevent installation of Dialer on
devices which do not support a camera. -->
<uses-feature
- android:name="android.hardware.camera.any"
- android:required="false"/>
+ android:name="android.hardware.camera.any"
+ android:required="false"/>
<!-- Testing location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
@@ -43,47 +43,49 @@
Set taskAffinity for application is not working because it will be merged and the result is
that all activities here still have same taskAffinity as activities under dialer. -->
<application>
- <meta-data android:name="android.telephony.hide_voicemail_settings_menu"
- android:value="true"/>
+ <meta-data
+ android:name="android.telephony.hide_voicemail_settings_menu"
+ android:value="true"/>
+
<activity
- android:directBootAware="true"
- android:excludeFromRecents="true"
- android:exported="false"
- android:label="@string/phoneAppLabel"
- android:taskAffinity="com.android.incallui"
- android:launchMode="singleInstance"
- android:name="com.android.incallui.InCallActivity"
- android:resizeableActivity="true"
- android:screenOrientation="nosensor"
- android:theme="@style/Theme.InCallScreen">
+ android:directBootAware="true"
+ android:excludeFromRecents="true"
+ android:exported="false"
+ android:label="@string/phoneAppLabel"
+ android:launchMode="singleInstance"
+ android:name="com.android.incallui.InCallActivity"
+ android:resizeableActivity="true"
+ android:screenOrientation="nosensor"
+ android:taskAffinity="com.android.incallui"
+ android:theme="@style/Theme.InCallScreen">
</activity>
<activity
- android:directBootAware="true"
- android:excludeFromRecents="true"
- android:noHistory="true"
- android:exported="false"
- android:label="@string/manageConferenceLabel"
- android:taskAffinity="com.android.incallui"
- android:launchMode="singleTask"
- android:name="com.android.incallui.ManageConferenceActivity"
- android:resizeableActivity="true"
- android:theme="@style/Theme.InCallScreen.ManageConference"/>
+ android:directBootAware="true"
+ android:excludeFromRecents="true"
+ android:exported="false"
+ android:label="@string/manageConferenceLabel"
+ android:launchMode="singleTask"
+ android:name="com.android.incallui.ManageConferenceActivity"
+ android:noHistory="true"
+ android:resizeableActivity="true"
+ android:taskAffinity="com.android.incallui"
+ android:theme="@style/Theme.InCallScreen.ManageConference"/>
<service
- android:directBootAware="true"
- android:exported="true"
- android:name="com.android.incallui.InCallServiceImpl"
- android:permission="android.permission.BIND_INCALL_SERVICE">
+ android:directBootAware="true"
+ android:exported="true"
+ android:name="com.android.incallui.InCallServiceImpl"
+ android:permission="android.permission.BIND_INCALL_SERVICE">
<meta-data
- android:name="android.telecom.IN_CALL_SERVICE_UI"
- android:value="true"/>
+ android:name="android.telecom.IN_CALL_SERVICE_UI"
+ android:value="true"/>
<meta-data
- android:name="android.telecom.IN_CALL_SERVICE_RINGING"
- android:value="false"/>
+ android:name="android.telecom.IN_CALL_SERVICE_RINGING"
+ android:value="false"/>
<meta-data
- android:name="android.telecom.INCLUDE_EXTERNAL_CALLS"
- android:value="true"/>
+ android:name="android.telecom.INCLUDE_EXTERNAL_CALLS"
+ android:value="true"/>
<intent-filter>
<action android:name="android.telecom.InCallService"/>
@@ -97,23 +99,35 @@
excludeFromRecents="true" -> Don't show in "recent apps" screen
-->
<activity
- android:excludeFromRecents="true"
- android:exported="false"
- android:name="com.android.incallui.spam.SpamNotificationActivity"
- android:noHistory="true"
- android:taskAffinity=""
- android:theme="@style/AfterCallNotificationTheme">
+ android:excludeFromRecents="true"
+ android:exported="false"
+ android:name="com.android.incallui.spam.SpamNotificationActivity"
+ android:noHistory="true"
+ android:taskAffinity=""
+ android:theme="@style/AfterCallNotificationTheme">
</activity>
+ <activity
+ android:excludeFromRecents="true"
+ android:exported="false"
+ android:name=".AudioRouteSelectorActivity"
+ android:noHistory="true"
+ android:theme="@style/Theme.Incall.DialogHolder"
+ />
+
<service
- android:exported="false"
- android:name="com.android.incallui.spam.SpamNotificationService"/>
+ android:exported="false"
+ android:name="com.android.incallui.spam.SpamNotificationService"/>
<!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
<receiver
- android:directBootAware="true"
- android:exported="false"
- android:name="com.android.incallui.NotificationBroadcastReceiver"/>
+ android:directBootAware="true"
+ android:exported="false"
+ android:name="com.android.incallui.NotificationBroadcastReceiver"/>
+
+ <receiver
+ android:exported="false"
+ android:name=".ReturnToCallActionReceiver"/>
</application>
diff --git a/java/com/android/incallui/AnswerScreenPresenter.java b/java/com/android/incallui/AnswerScreenPresenter.java
index ca34aa6aa..d53040145 100644
--- a/java/com/android/incallui/AnswerScreenPresenter.java
+++ b/java/com/android/incallui/AnswerScreenPresenter.java
@@ -17,12 +17,14 @@
package com.android.incallui;
import android.content.Context;
+import android.os.SystemClock;
import android.support.annotation.FloatRange;
import android.support.annotation.NonNull;
import android.support.v4.os.UserManagerCompat;
import android.telecom.VideoProfile;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.incallui.answer.protocol.AnswerScreen;
@@ -36,11 +38,14 @@ import com.android.incallui.call.DialerCallListener;
/** Manages changes for an incoming call screen. */
public class AnswerScreenPresenter
implements AnswerScreenDelegate, DialerCall.CannedTextResponsesLoadedListener {
+ private static final int ACCEPT_REJECT_CALL_TIME_OUT_IN_MILLIS = 5000;
+
@NonNull private final Context context;
@NonNull private final AnswerScreen answerScreen;
@NonNull private final DialerCall call;
+ private long actionPerformedTimeMillis;
- public AnswerScreenPresenter(
+ AnswerScreenPresenter(
@NonNull Context context, @NonNull AnswerScreen answerScreen, @NonNull DialerCall call) {
LogUtil.i("AnswerScreenPresenter.constructor", null);
this.context = Assert.isNotNull(context);
@@ -60,6 +65,13 @@ public class AnswerScreenPresenter
}
@Override
+ public boolean isActionTimeout() {
+ return actionPerformedTimeMillis != 0
+ && SystemClock.elapsedRealtime() - actionPerformedTimeMillis
+ >= ACCEPT_REJECT_CALL_TIME_OUT_IN_MILLIS;
+ }
+
+ @Override
public void onAnswerScreenUnready() {
call.removeCannedTextResponsesLoadedListener(this);
}
@@ -73,6 +85,7 @@ public class AnswerScreenPresenter
public void onRejectCallWithMessage(String message) {
call.reject(true /* rejectWithMessage */, message);
onDismissDialog();
+ addTimeoutCheck();
}
@Override
@@ -100,6 +113,7 @@ public class AnswerScreenPresenter
call.answer();
}
}
+ addTimeoutCheck();
}
@Override
@@ -114,6 +128,7 @@ public class AnswerScreenPresenter
} else {
call.reject(false /* rejectWithMessage */, null);
}
+ addTimeoutCheck();
}
@Override
@@ -124,9 +139,27 @@ public class AnswerScreenPresenter
LogUtil.i("AnswerScreenPresenter.onAnswerAndReleaseCall", "activeCall == null");
onAnswer(false);
} else {
+ activeCall.setReleasedByAnsweringSecondCall(true);
activeCall.addListener(new AnswerOnDisconnected(activeCall));
activeCall.disconnect();
}
+ addTimeoutCheck();
+ }
+
+ @Override
+ public void onAnswerAndReleaseButtonDisabled() {
+ DialerCall activeCall = CallList.getInstance().getActiveCall();
+ if (activeCall != null) {
+ activeCall.increaseSecondCallWithoutAnswerAndReleasedButtonTimes();
+ }
+ }
+
+ @Override
+ public void onAnswerAndReleaseButtonEnabled() {
+ DialerCall activeCall = CallList.getInstance().getActiveCall();
+ if (activeCall != null) {
+ activeCall.increaseAnswerAndReleaseButtonDisplayedTimes();
+ }
}
@Override
@@ -148,7 +181,7 @@ public class AnswerScreenPresenter
private final DialerCall disconnectingCall;
- public AnswerOnDisconnected(DialerCall disconnectingCall) {
+ AnswerOnDisconnected(DialerCall disconnectingCall) {
this.disconnectingCall = disconnectingCall;
}
@@ -183,10 +216,32 @@ public class AnswerScreenPresenter
@Override
public void onInternationalCallOnWifi() {}
+
+ @Override
+ public void onEnrichedCallSessionUpdate() {}
}
private boolean isSmsResponseAllowed(DialerCall call) {
return UserManagerCompat.isUserUnlocked(context)
&& call.can(android.telecom.Call.Details.CAPABILITY_RESPOND_VIA_TEXT);
}
+
+ private void addTimeoutCheck() {
+ actionPerformedTimeMillis = SystemClock.elapsedRealtime();
+ if (answerScreen.getAnswerScreenFragment().isVisible()) {
+ ThreadUtil.postDelayedOnUiThread(
+ () -> {
+ if (!answerScreen.getAnswerScreenFragment().isVisible()) {
+ LogUtil.d(
+ "AnswerScreenPresenter.addTimeoutCheck",
+ "accept/reject call timed out, do nothing");
+ return;
+ }
+ LogUtil.i("AnswerScreenPresenter.addTimeoutCheck", "accept/reject call timed out");
+ // Force re-evaluate which fragment to show.
+ InCallPresenter.getInstance().refreshUi();
+ },
+ ACCEPT_REJECT_CALL_TIME_OUT_IN_MILLIS);
+ }
+ }
}
diff --git a/java/com/android/incallui/AnswerScreenPresenterStub.java b/java/com/android/incallui/AnswerScreenPresenterStub.java
index 7bff3299a..2f9e60818 100644
--- a/java/com/android/incallui/AnswerScreenPresenterStub.java
+++ b/java/com/android/incallui/AnswerScreenPresenterStub.java
@@ -43,5 +43,16 @@ public class AnswerScreenPresenterStub implements AnswerScreenDelegate {
public void onAnswerAndReleaseCall() {}
@Override
+ public void onAnswerAndReleaseButtonEnabled() {}
+
+ @Override
+ public void onAnswerAndReleaseButtonDisabled() {}
+
+ @Override
public void updateWindowBackgroundColor(@FloatRange(from = -1f, to = 1.0f) float progress) {}
+
+ @Override
+ public boolean isActionTimeout() {
+ return false;
+ }
}
diff --git a/java/com/android/incallui/AudioRouteSelectorActivity.java b/java/com/android/incallui/AudioRouteSelectorActivity.java
new file mode 100644
index 000000000..dfd4d1abf
--- /dev/null
+++ b/java/com/android/incallui/AudioRouteSelectorActivity.java
@@ -0,0 +1,47 @@
+/*
+ * 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
+ */
+
+package com.android.incallui;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.FragmentActivity;
+import com.android.incallui.audiomode.AudioModeProvider;
+import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
+import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
+import com.android.incallui.call.TelecomAdapter;
+
+/** Simple activity that just shows the audio route selector fragment */
+public class AudioRouteSelectorActivity extends FragmentActivity
+ implements AudioRouteSelectorPresenter {
+
+ @Override
+ protected void onCreate(@Nullable Bundle bundle) {
+ super.onCreate(bundle);
+ AudioRouteSelectorDialogFragment.newInstance(AudioModeProvider.getInstance().getAudioState())
+ .show(getSupportFragmentManager(), null);
+ }
+
+ @Override
+ public void onAudioRouteSelected(int audioRoute) {
+ TelecomAdapter.getInstance().setAudioRoute(audioRoute);
+ }
+
+ @Override
+ public void onAudioRouteSelectorDismiss() {
+ finish();
+ }
+}
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index b0c3a99ea..e36d9cf9e 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -300,23 +300,15 @@ public class CallButtonPresenter
*/
@Override
public void switchCameraClicked(boolean useFrontFacingCamera) {
- InCallCameraManager cameraManager = InCallPresenter.getInstance().getInCallCameraManager();
- cameraManager.setUseFrontFacingCamera(useFrontFacingCamera);
-
- String cameraId = cameraManager.getActiveCameraId();
- if (cameraId != null) {
- final int cameraDir =
- cameraManager.isUsingFrontFacingCamera()
- ? CameraDirection.CAMERA_DIRECTION_FRONT_FACING
- : CameraDirection.CAMERA_DIRECTION_BACK_FACING;
- mCall.setCameraDir(cameraDir);
- mCall.getVideoTech().setCamera(cameraId);
- }
+ updateCamera(useFrontFacingCamera);
}
@Override
public void toggleCameraClicked() {
LogUtil.i("CallButtonPresenter.toggleCameraClicked", "");
+ if (mCall == null) {
+ return;
+ }
Logger.get(mContext)
.logCallImpression(
DialerImpression.Type.IN_CALL_SCREEN_SWAP_CAMERA,
@@ -345,8 +337,11 @@ public class CallButtonPresenter
mCall.getTimeAddedMs());
if (pause) {
+ mCall.getVideoTech().setCamera(null);
mCall.getVideoTech().stopTransmission();
} else {
+ updateCamera(
+ InCallPresenter.getInstance().getInCallCameraManager().isUsingFrontFacingCamera());
mCall.getVideoTech().resumeTransmission();
}
@@ -354,6 +349,21 @@ public class CallButtonPresenter
mInCallButtonUi.enableButton(InCallButtonIds.BUTTON_PAUSE_VIDEO, false);
}
+ private void updateCamera(boolean useFrontFacingCamera) {
+ InCallCameraManager cameraManager = InCallPresenter.getInstance().getInCallCameraManager();
+ cameraManager.setUseFrontFacingCamera(useFrontFacingCamera);
+
+ String cameraId = cameraManager.getActiveCameraId();
+ if (cameraId != null) {
+ final int cameraDir =
+ cameraManager.isUsingFrontFacingCamera()
+ ? CameraDirection.CAMERA_DIRECTION_FRONT_FACING
+ : CameraDirection.CAMERA_DIRECTION_BACK_FACING;
+ mCall.setCameraDir(cameraDir);
+ mCall.getVideoTech().setCamera(cameraId);
+ }
+ }
+
private void updateUi(InCallState state, DialerCall call) {
LogUtil.v("CallButtonPresenter", "updating call UI for call: ", call);
diff --git a/java/com/android/incallui/CallCardPresenter.java b/java/com/android/incallui/CallCardPresenter.java
index c2b99c1d1..67b917767 100644
--- a/java/com/android/incallui/CallCardPresenter.java
+++ b/java/com/android/incallui/CallCardPresenter.java
@@ -44,12 +44,9 @@ import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.ActivityCompat;
-import com.android.dialer.enrichedcall.EnrichedCallComponent;
-import com.android.dialer.enrichedcall.EnrichedCallManager;
-import com.android.dialer.enrichedcall.Session;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.multimedia.MultimediaData;
@@ -85,8 +82,7 @@ public class CallCardPresenter
InCallDetailsListener,
InCallEventListener,
InCallScreenDelegate,
- DialerCallListener,
- EnrichedCallManager.StateChangedListener {
+ DialerCallListener {
/**
* Amount of time to wait before sending an announcement via the accessibility manager. When the
@@ -249,7 +245,7 @@ public class CallCardPresenter
@Override
public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
- LogUtil.v("CallCardPresenter.onStateChange", "" + newState);
+ LogUtil.v("CallCardPresenter.onStateChange", "oldState: %s, newState: %s", oldState, newState);
if (mInCallScreen == null) {
return;
}
@@ -376,6 +372,12 @@ public class CallCardPresenter
@Override
public void onInternationalCallOnWifi() {}
+ @Override
+ public void onEnrichedCallSessionUpdate() {
+ LogUtil.enterBlock("CallCardPresenter.onEnrichedCallSessionUpdate");
+ updatePrimaryDisplayInfo();
+ }
+
/** Handles a change to the child number by refreshing the primary call info. */
@Override
public void onDialerCallChildNumberChange() {
@@ -418,12 +420,6 @@ public class CallCardPresenter
updatePrimaryCallState();
}
- @Override
- public void onEnrichedCallStateChanged() {
- LogUtil.enterBlock("CallCardPresenter.onEnrichedCallStateChanged");
- updatePrimaryDisplayInfo();
- }
-
private boolean shouldRefreshPrimaryInfo(boolean primaryChanged) {
if (mPrimary == null) {
return false;
@@ -475,7 +471,8 @@ public class CallCardPresenter
mPrimary.getConnectTimeMillis(),
CallerInfoUtils.isVoiceMailNumber(mContext, mPrimary),
mPrimary.isRemotelyHeld(),
- isBusiness));
+ isBusiness,
+ supports2ndCallOnHold()));
InCallActivity activity =
(InCallActivity) (mInCallScreen.getInCallScreenFragment().getActivity());
@@ -505,6 +502,15 @@ public class CallCardPresenter
&& !mIsFullscreen;
}
+ private boolean supports2ndCallOnHold() {
+ DialerCall firstCall = CallList.getInstance().getActiveOrBackgroundCall();
+ DialerCall incomingCall = CallList.getInstance().getIncomingCall();
+ if (firstCall != null && incomingCall != null && firstCall != incomingCall) {
+ return incomingCall.can(Details.CAPABILITY_HOLD);
+ }
+ return true;
+ }
+
@Override
public void onCallStateButtonClicked() {
Intent broadcastIntent = Bindings.get(mContext).getCallStateButtonBroadcastIntent(mContext);
@@ -666,26 +672,8 @@ public class CallCardPresenter
boolean hasWorkCallProperty = mPrimary.hasProperty(PROPERTY_ENTERPRISE_CALL);
MultimediaData multimediaData = null;
- if (mPrimary.getNumber() != null) {
- EnrichedCallManager manager = EnrichedCallComponent.get(mContext).getEnrichedCallManager();
-
- EnrichedCallManager.Filter filter;
- if (mPrimary.isIncoming()) {
- filter = manager.createIncomingCallComposerFilter();
- } else {
- filter = manager.createOutgoingCallComposerFilter();
- }
-
- Session enrichedCallSession =
- manager.getSession(mPrimary.getUniqueCallId(), mPrimary.getNumber(), filter);
-
- mPrimary.setEnrichedCallSession(enrichedCallSession);
- mPrimary.setEnrichedCallCapabilities(manager.getCapabilities(mPrimary.getNumber()));
-
- if (enrichedCallSession != null) {
- enrichedCallSession.setUniqueDialerCallId(mPrimary.getUniqueCallId());
- multimediaData = enrichedCallSession.getMultimediaData();
- }
+ if (mPrimary.getEnrichedCallSession() != null) {
+ multimediaData = mPrimary.getEnrichedCallSession().getMultimediaData();
}
if (mPrimary.isConferenceCall()) {
@@ -696,7 +684,8 @@ public class CallCardPresenter
mInCallScreen.setPrimary(
new PrimaryInfo(
null /* number */,
- getConferenceString(mPrimary),
+ CallerInfoUtils.getConferenceString(
+ mContext, mPrimary.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE)),
false /* nameIsNumber */,
null /* location */,
null /* label */,
@@ -876,11 +865,20 @@ public class CallCardPresenter
return;
}
+ if (mSecondary.isMergeInProcess()) {
+ LogUtil.i(
+ "CallCardPresenter.updateSecondaryDisplayInfo",
+ "secondary call is merge in process, clearing info");
+ mInCallScreen.setSecondary(SecondaryInfo.createEmptySecondaryInfo(mIsFullscreen));
+ return;
+ }
+
if (mSecondary.isConferenceCall()) {
mInCallScreen.setSecondary(
new SecondaryInfo(
true /* show */,
- getConferenceString(mSecondary),
+ CallerInfoUtils.getConferenceString(
+ mContext, mSecondary.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE)),
false /* nameIsNumber */,
null /* label */,
mSecondary.getCallProviderLabel(),
@@ -972,7 +970,7 @@ public class CallCardPresenter
}
/** Gets the name to display for the call. */
- String getNameForCall(ContactCacheEntry contactInfo) {
+ private String getNameForCall(ContactCacheEntry contactInfo) {
String preferredName =
ContactDisplayUtils.getPreferredDisplayName(
contactInfo.namePrimary, contactInfo.nameAlternative, mContactsPreferences);
@@ -982,19 +980,6 @@ public class CallCardPresenter
return preferredName;
}
- /** Gets the number to display for a call. */
- String getNumberForCall(ContactCacheEntry contactInfo) {
- // If the name is empty, we use the number for the name...so don't show a second
- // number in the number field
- String preferredName =
- ContactDisplayUtils.getPreferredDisplayName(
- contactInfo.namePrimary, contactInfo.nameAlternative, mContactsPreferences);
- if (TextUtils.isEmpty(preferredName)) {
- return contactInfo.location;
- }
- return contactInfo.number;
- }
-
@Override
public void onSecondaryInfoClicked() {
if (mSecondary == null) {
@@ -1035,15 +1020,6 @@ public class CallCardPresenter
return mPrimary != null && mPrimary.getState() == DialerCall.State.ACTIVE;
}
- private String getConferenceString(DialerCall call) {
- boolean isGenericConference = call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE);
- LogUtil.v("CallCardPresenter.getConferenceString", "" + isGenericConference);
-
- final int resId =
- isGenericConference ? R.string.generic_conference_call_name : R.string.conference_call_name;
- return mContext.getResources().getString(resId);
- }
-
private boolean shouldShowEndCallButton(DialerCall primary, int callState) {
if (primary == null) {
return false;
@@ -1063,7 +1039,6 @@ public class CallCardPresenter
@Override
public void onInCallScreenResumed() {
- EnrichedCallComponent.get(mContext).getEnrichedCallManager().registerStateChangedListener(this);
updatePrimaryDisplayInfo();
if (shouldSendAccessibilityEvent) {
@@ -1072,11 +1047,7 @@ public class CallCardPresenter
}
@Override
- public void onInCallScreenPaused() {
- EnrichedCallComponent.get(mContext)
- .getEnrichedCallManager()
- .unregisterStateChangedListener(this);
- }
+ public void onInCallScreenPaused() {}
static boolean sendAccessibilityEvent(Context context, InCallScreen inCallScreen) {
AccessibilityManager am =
diff --git a/java/com/android/incallui/CallerInfoUtils.java b/java/com/android/incallui/CallerInfoUtils.java
index 564446647..8f2310760 100644
--- a/java/com/android/incallui/CallerInfoUtils.java
+++ b/java/com/android/incallui/CallerInfoUtils.java
@@ -282,4 +282,11 @@ public class CallerInfoUtils {
});
loader.startLoading();
}
+
+ /** @return conference name for conference call. */
+ public static String getConferenceString(Context context, boolean isGenericConference) {
+ final int resId =
+ isGenericConference ? R.string.generic_conference_call_name : R.string.conference_call_name;
+ return context.getResources().getString(resId);
+ }
}
diff --git a/java/com/android/incallui/ContactInfoCache.java b/java/com/android/incallui/ContactInfoCache.java
index e45eb9746..fdfba3b9f 100644
--- a/java/com/android/incallui/ContactInfoCache.java
+++ b/java/com/android/incallui/ContactInfoCache.java
@@ -33,6 +33,7 @@ import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.WorkerThread;
+import android.support.v4.content.ContextCompat;
import android.support.v4.os.UserManagerCompat;
import android.telecom.TelecomManager;
import android.telephony.PhoneNumberUtils;
@@ -406,7 +407,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
} else {
ContactCacheEntry initialCacheEntry =
updateCallerInfoInCacheOnAnyThread(
- callId, call.getNumberPresentation(), callerInfo, isIncoming, false, queryToken);
+ callId, call.getNumberPresentation(), callerInfo, false, queryToken);
sendInfoNotifications(callId, initialCacheEntry);
}
}
@@ -416,7 +417,6 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
String callId,
int numberPresentation,
CallerInfo callerInfo,
- boolean isIncoming,
boolean didLocalLookup,
CallerInfoQueryToken queryToken) {
Log.d(
@@ -443,16 +443,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
Log.d(TAG, "Existing cacheEntry in hashMap " + existingCacheEntry);
if (didLocalLookup) {
- // Before issuing a request for more data from other services, we only check that the
- // contact wasn't found in the local DB. We don't check the if the cache entry already
- // has a name because we allow overriding cnap data with data from other services.
- if (!callerInfo.contactExists && mPhoneNumberService != null) {
- Log.d(TAG, "Contact lookup. Local contacts miss, checking remote");
- final PhoneNumberServiceListener listener =
- new PhoneNumberServiceListener(callId, queryToken.mQueryId);
- cacheEntry.hasPendingQuery = true;
- mPhoneNumberService.getPhoneNumberInfo(cacheEntry.number, listener, listener, isIncoming);
- } else if (cacheEntry.displayPhotoUri != null) {
+ if (cacheEntry.displayPhotoUri != null) {
// When the difference between 2 numbers is only the prefix (e.g. + or IDD),
// we will still trigger force query so that the number can be updated on
// the calling screen. We need not query the image again if the previous
@@ -606,7 +597,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
// This will only be true for emergency numbers
if (info.photoResource != 0) {
- cce.photo = context.getResources().getDrawable(info.photoResource);
+ cce.photo = ContextCompat.getDrawable(context, info.photoResource);
} else if (info.isCachedPhotoCurrent) {
if (info.cachedPhoto != null) {
cce.photo = info.cachedPhoto;
@@ -789,7 +780,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
maybeUpdateFromCequintCallerId(ci, cw.cnapName, mIsIncoming);
long time = SystemClock.uptimeMillis() - start;
Log.d(TAG, "Cequint Caller Id look up takes " + time + " ms.");
- updateCallerInfoInCacheOnAnyThread(cw.callId, cw.numberPresentation, ci, mIsIncoming, true, mQueryToken);
+ updateCallerInfoInCacheOnAnyThread(cw.callId, cw.numberPresentation, ci, true, mQueryToken);
}
@Override
@@ -807,6 +798,16 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
clearCallbacks(callId);
return;
}
+ // Before issuing a request for more data from other services, we only check that the
+ // contact wasn't found in the local DB. We don't check the if the cache entry already
+ // has a name because we allow overriding cnap data with data from other services.
+ if (!callerInfo.contactExists && mPhoneNumberService != null) {
+ Log.d(TAG, "Contact lookup. Local contacts miss, checking remote");
+ final PhoneNumberServiceListener listener =
+ new PhoneNumberServiceListener(callId, mQueryToken.mQueryId);
+ cacheEntry.hasPendingQuery = true;
+ mPhoneNumberService.getPhoneNumberInfo(cacheEntry.number, listener, listener, mIsIncoming);
+ }
sendInfoNotifications(callId, cacheEntry);
if (!cacheEntry.hasPendingQuery) {
if (callerInfo.contactExists) {
@@ -870,6 +871,7 @@ public class ContactInfoCache implements OnImageLoadCompleteListener {
entry.shouldShowLocation = oldEntry.shouldShowLocation;
// Contact specific ringtone is obtained from local lookup.
entry.contactRingtoneUri = oldEntry.contactRingtoneUri;
+ entry.originalPhoneNumber = oldEntry.originalPhoneNumber;
}
// If no image and it's a business, switch to using the default business avatar.
diff --git a/java/com/android/incallui/ExternalCallNotifier.java b/java/com/android/incallui/ExternalCallNotifier.java
index 0c2493c60..f01a29458 100644
--- a/java/com/android/incallui/ExternalCallNotifier.java
+++ b/java/com/android/incallui/ExternalCallNotifier.java
@@ -29,6 +29,7 @@ import android.net.Uri;
import android.os.Build.VERSION_CODES;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.v4.os.BuildCompat;
import android.telecom.Call;
import android.telecom.PhoneAccount;
import android.telecom.VideoProfile;
@@ -41,8 +42,7 @@ import com.android.contacts.common.compat.CallCompat;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.BitmapUtil;
import com.android.contacts.common.util.ContactDisplayUtils;
-import com.android.dialer.notification.NotificationChannelManager;
-import com.android.dialer.notification.NotificationChannelManager.Channel;
+import com.android.dialer.notification.NotificationChannelId;
import com.android.incallui.call.DialerCall;
import com.android.incallui.call.DialerCallDelegate;
import com.android.incallui.call.ExternalCallList;
@@ -59,9 +59,10 @@ import java.util.Map;
public class ExternalCallNotifier implements ExternalCallList.ExternalCallListener {
/** Tag used with the notification manager to uniquely identify external call notifications. */
- private static final int NOTIFICATION_ID = R.id.notification_external_call;
+ private static final String NOTIFICATION_TAG = "EXTERNAL_CALL";
+
+ private static final int NOTIFICATION_SUMMARY_ID = -1;
- private static final String NOTIFICATION_GROUP = "ExternalCallNotifier";
private final Context mContext;
private final ContactInfoCache mContactInfoCache;
private Map<Call, NotificationInfo> mNotifications = new ArrayMap<>();
@@ -188,15 +189,14 @@ public class ExternalCallNotifier implements ExternalCallList.ExternalCallListen
NotificationManager notificationManager =
(NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
- notificationManager.cancel(
- String.valueOf(mNotifications.get(call).getNotificationId()), NOTIFICATION_ID);
+ notificationManager.cancel(NOTIFICATION_TAG, mNotifications.get(call).getNotificationId());
mNotifications.remove(call);
if (mShowingSummary && mNotifications.size() <= 1) {
// Where a summary notification is showing and there is now not enough notifications to
// necessitate a summary, cancel the summary.
- notificationManager.cancel(NOTIFICATION_GROUP, NOTIFICATION_ID);
+ notificationManager.cancel(NOTIFICATION_TAG, NOTIFICATION_SUMMARY_ID);
mShowingSummary = false;
// If there is still a single call requiring a notification, re-post the notification as a
@@ -237,7 +237,7 @@ public class ExternalCallNotifier implements ExternalCallList.ExternalCallListen
builder.setOngoing(true);
// Make the notification prioritized over the other normal notifications.
builder.setPriority(Notification.PRIORITY_HIGH);
- builder.setGroup(NOTIFICATION_GROUP);
+ builder.setGroup(NOTIFICATION_TAG);
boolean isVideoCall = VideoProfile.isVideo(info.getCall().getDetails().getVideoState());
// Set the content ("Ongoing call on another device")
@@ -251,9 +251,9 @@ public class ExternalCallNotifier implements ExternalCallList.ExternalCallListen
builder.setLargeIcon(info.getLargeIcon());
builder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color));
builder.addPerson(info.getPersonReference());
-
- NotificationChannelManager.applyChannel(
- builder, mContext, Channel.EXTERNAL_CALL, info.getCall().getDetails().getAccountHandle());
+ if (BuildCompat.isAtLeastO()) {
+ builder.setChannelId(NotificationChannelId.DEFAULT);
+ }
// Where the external call supports being transferred to the local device, add an action
// to the notification to initiate the call pull process.
@@ -286,20 +286,16 @@ public class ExternalCallNotifier implements ExternalCallList.ExternalCallListen
Notification.Builder publicBuilder = new Notification.Builder(mContext);
publicBuilder.setSmallIcon(R.drawable.quantum_ic_call_white_24);
publicBuilder.setColor(mContext.getResources().getColor(R.color.dialer_theme_color));
-
- NotificationChannelManager.applyChannel(
- publicBuilder,
- mContext,
- Channel.EXTERNAL_CALL,
- info.getCall().getDetails().getAccountHandle());
+ if (BuildCompat.isAtLeastO()) {
+ publicBuilder.setChannelId(NotificationChannelId.DEFAULT);
+ }
builder.setPublicVersion(publicBuilder.build());
Notification notification = builder.build();
NotificationManager notificationManager =
(NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
- notificationManager.notify(
- String.valueOf(info.getNotificationId()), NOTIFICATION_ID, notification);
+ notificationManager.notify(NOTIFICATION_TAG, info.getNotificationId(), notification);
if (!mShowingSummary && mNotifications.size() > 1) {
// If the number of notifications shown is > 1, and we're not already showing a group summary,
@@ -310,12 +306,13 @@ public class ExternalCallNotifier implements ExternalCallList.ExternalCallListen
summary.setOngoing(true);
// Make the notification prioritized over the other normal notifications.
summary.setPriority(Notification.PRIORITY_HIGH);
- summary.setGroup(NOTIFICATION_GROUP);
+ summary.setGroup(NOTIFICATION_TAG);
summary.setGroupSummary(true);
summary.setSmallIcon(R.drawable.quantum_ic_call_white_24);
- NotificationChannelManager.applyChannel(
- summary, mContext, Channel.EXTERNAL_CALL, info.getCall().getDetails().getAccountHandle());
- notificationManager.notify(NOTIFICATION_GROUP, NOTIFICATION_ID, summary.build());
+ if (BuildCompat.isAtLeastO()) {
+ summary.setChannelId(NotificationChannelId.DEFAULT);
+ }
+ notificationManager.notify(NOTIFICATION_TAG, NOTIFICATION_SUMMARY_ID, summary.build());
mShowingSummary = true;
}
}
@@ -384,11 +381,10 @@ public class ExternalCallNotifier implements ExternalCallList.ExternalCallListen
ContactInfoCache.ContactCacheEntry contactInfo,
android.telecom.Call call) {
- if (call.getDetails().hasProperty(android.telecom.Call.Details.PROPERTY_CONFERENCE)
- && !call.getDetails()
- .hasProperty(android.telecom.Call.Details.PROPERTY_GENERIC_CONFERENCE)) {
-
- return context.getResources().getString(R.string.conference_call_name);
+ if (call.getDetails().hasProperty(android.telecom.Call.Details.PROPERTY_CONFERENCE)) {
+ return CallerInfoUtils.getConferenceString(
+ context,
+ call.getDetails().hasProperty(android.telecom.Call.Details.PROPERTY_GENERIC_CONFERENCE));
}
String preferredName =
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index cc9a8e438..6ea31fc4c 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -35,9 +35,9 @@ import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.ActivityCompat;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.Logger;
import com.android.dialer.logging.ScreenEvent;
import com.android.incallui.answer.bindings.AnswerBindings;
@@ -630,12 +630,22 @@ public class InCallActivity extends TransactionSafeFragmentActivity
AnswerScreen answerScreen = getAnswerScreen();
if (answerScreen.getCallId().equals(call.getId())
&& answerScreen.isVideoCall() == call.isVideoCall()
- && answerScreen.isVideoUpgradeRequest() == isVideoUpgradeRequest) {
+ && answerScreen.isVideoUpgradeRequest() == isVideoUpgradeRequest
+ && !answerScreen.isActionTimeout()) {
+ LogUtil.d(
+ "InCallActivity.showAnswerScreenFragment",
+ "answer fragment exists for same call and has NOT been accepted/rejected/timed out");
return false;
}
- LogUtil.i(
- "InCallActivity.showAnswerScreenFragment",
- "answer fragment exists but arguments do not match");
+ if (answerScreen.isActionTimeout()) {
+ LogUtil.i(
+ "InCallActivity.showAnswerScreenFragment",
+ "answer fragment exists but has been accepted/rejected and timed out");
+ } else {
+ LogUtil.i(
+ "InCallActivity.showAnswerScreenFragment",
+ "answer fragment exists but arguments do not match");
+ }
hideAnswerScreenFragment(transaction);
}
@@ -694,13 +704,8 @@ public class InCallActivity extends TransactionSafeFragmentActivity
if (didShowInCallScreen) {
return false;
}
- InCallScreen inCallScreen = getInCallScreen();
- if (inCallScreen == null) {
- inCallScreen = InCallBindings.createInCallScreen();
- transaction.add(R.id.main, inCallScreen.getInCallScreenFragment(), TAG_IN_CALL_SCREEN);
- } else {
- transaction.show(inCallScreen.getInCallScreenFragment());
- }
+ InCallScreen inCallScreen = InCallBindings.createInCallScreen();
+ transaction.add(R.id.main, inCallScreen.getInCallScreenFragment(), TAG_IN_CALL_SCREEN);
Logger.get(this).logScreenView(ScreenEvent.Type.INCALL, this);
didShowInCallScreen = true;
return true;
@@ -712,7 +717,7 @@ public class InCallActivity extends TransactionSafeFragmentActivity
}
InCallScreen inCallScreen = getInCallScreen();
if (inCallScreen != null) {
- transaction.hide(inCallScreen.getInCallScreenFragment());
+ transaction.remove(inCallScreen.getInCallScreenFragment());
}
didShowInCallScreen = false;
return true;
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index 2d6d83c3c..0bfd67e87 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -695,7 +695,10 @@ public class InCallPresenter implements CallList.Listener {
if (newState == InCallState.INCOMING
&& (waitingForAccountCall = callList.getWaitingForAccountCall()) != null) {
waitingForAccountCall.disconnect();
- mInCallActivity.dismissPendingDialogs();
+ // The InCallActivity might be destroyed or not started yet at this point.
+ if (isActivityStarted()) {
+ mInCallActivity.dismissPendingDialogs();
+ }
}
newState = startOrFinishUi(newState);
@@ -1011,6 +1014,13 @@ public class InCallPresenter implements CallList.Listener {
}
}
+ public void refreshUi() {
+ if (mInCallActivity != null) {
+ // Re-evaluate which fragment is being shown.
+ mInCallActivity.onPrimaryCallStateChanged();
+ }
+ }
+
public void addInCallUiListener(InCallUiListener listener) {
mInCallUiListeners.add(listener);
}
diff --git a/java/com/android/incallui/InCallServiceImpl.java b/java/com/android/incallui/InCallServiceImpl.java
index 4ab92a797..d2b029741 100644
--- a/java/com/android/incallui/InCallServiceImpl.java
+++ b/java/com/android/incallui/InCallServiceImpl.java
@@ -36,6 +36,8 @@ import com.android.incallui.call.TelecomAdapter;
*/
public class InCallServiceImpl extends InCallService {
+ private ReturnToCallController returnToCallController;
+
@Override
public void onCallAudioStateChanged(CallAudioState audioState) {
AudioModeProvider.getInstance().onAudioStateChanged(audioState);
@@ -79,6 +81,9 @@ public class InCallServiceImpl extends InCallService {
InCallPresenter.getInstance().onServiceBind();
InCallPresenter.getInstance().maybeStartRevealAnimation(intent);
TelecomAdapter.getInstance().setInCallService(this);
+ if (ReturnToCallController.isEnabled(this)) {
+ returnToCallController = new ReturnToCallController(this);
+ }
return super.onBind(intent);
}
@@ -98,5 +103,9 @@ public class InCallServiceImpl extends InCallService {
// Tear down the InCall system
TelecomAdapter.getInstance().clearInCallService();
InCallPresenter.getInstance().tearDown();
+ if (returnToCallController != null) {
+ returnToCallController.tearDown();
+ returnToCallController = null;
+ }
}
}
diff --git a/java/com/android/incallui/ReturnToCallActionReceiver.java b/java/com/android/incallui/ReturnToCallActionReceiver.java
new file mode 100644
index 000000000..b645c155c
--- /dev/null
+++ b/java/com/android/incallui/ReturnToCallActionReceiver.java
@@ -0,0 +1,132 @@
+/*
+ * 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
+ */
+
+package com.android.incallui;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.telecom.CallAudioState;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.logging.DialerImpression;
+import com.android.dialer.logging.Logger;
+import com.android.incallui.audiomode.AudioModeProvider;
+import com.android.incallui.call.CallList;
+import com.android.incallui.call.DialerCall;
+import com.android.incallui.call.TelecomAdapter;
+
+/** Handles clicks on the return-to-call bubble */
+public class ReturnToCallActionReceiver extends BroadcastReceiver {
+
+ public static final String ACTION_TOGGLE_SPEAKER = "toggleSpeaker";
+ public static final String ACTION_SHOW_AUDIO_ROUTE_SELECTOR = "showAudioRouteSelector";
+ public static final String ACTION_TOGGLE_MUTE = "toggleMute";
+ public static final String ACTION_END_CALL = "endCall";
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ switch (intent.getAction()) {
+ case ACTION_TOGGLE_SPEAKER:
+ toggleSpeaker(context);
+ break;
+ case ACTION_SHOW_AUDIO_ROUTE_SELECTOR:
+ showAudioRouteSelector(context);
+ break;
+ case ACTION_TOGGLE_MUTE:
+ toggleMute(context);
+ break;
+ case ACTION_END_CALL:
+ endCall(context);
+ break;
+ }
+ }
+
+ private void toggleSpeaker(Context context) {
+ CallAudioState audioState = AudioModeProvider.getInstance().getAudioState();
+
+ if ((audioState.getSupportedRouteMask() & CallAudioState.ROUTE_BLUETOOTH)
+ == CallAudioState.ROUTE_BLUETOOTH) {
+ LogUtil.w(
+ "ReturnToCallActionReceiver.toggleSpeaker",
+ "toggleSpeaker() called when bluetooth available."
+ + " Probably should have shown audio route selector");
+ }
+
+ DialerCall call = getCall();
+
+ int newRoute;
+ if (audioState.getRoute() == CallAudioState.ROUTE_SPEAKER) {
+ newRoute = CallAudioState.ROUTE_WIRED_OR_EARPIECE;
+ Logger.get(context)
+ .logCallImpression(
+ DialerImpression.Type.BUBBLE_TURN_ON_WIRED_OR_EARPIECE,
+ call != null ? call.getUniqueCallId() : "",
+ call != null ? call.getTimeAddedMs() : 0);
+ } else {
+ newRoute = CallAudioState.ROUTE_SPEAKER;
+ Logger.get(context)
+ .logCallImpression(
+ DialerImpression.Type.BUBBLE_TURN_ON_SPEAKERPHONE,
+ call != null ? call.getUniqueCallId() : "",
+ call != null ? call.getTimeAddedMs() : 0);
+ }
+ TelecomAdapter.getInstance().setAudioRoute(newRoute);
+ }
+
+ public void showAudioRouteSelector(Context context) {
+ context.startActivity(new Intent(context, AudioRouteSelectorActivity.class));
+ }
+
+ private void toggleMute(Context context) {
+ DialerCall call = getCall();
+ boolean shouldMute = !AudioModeProvider.getInstance().getAudioState().isMuted();
+ Logger.get(context)
+ .logCallImpression(
+ shouldMute
+ ? DialerImpression.Type.BUBBLE_MUTE_CALL
+ : DialerImpression.Type.BUBBLE_UNMUTE_CALL,
+ call != null ? call.getUniqueCallId() : "",
+ call != null ? call.getTimeAddedMs() : 0);
+ TelecomAdapter.getInstance().mute(shouldMute);
+ }
+
+ private void endCall(Context context) {
+ DialerCall call = getCall();
+
+ Logger.get(context)
+ .logCallImpression(
+ DialerImpression.Type.BUBBLE_END_CALL,
+ call != null ? call.getUniqueCallId() : "",
+ call != null ? call.getTimeAddedMs() : 0);
+ if (call != null) {
+ call.disconnect();
+ }
+ }
+
+ private DialerCall getCall() {
+ CallList callList = InCallPresenter.getInstance().getCallList();
+ if (callList != null) {
+ DialerCall call = callList.getOutgoingCall();
+ if (call == null) {
+ call = callList.getActiveOrBackgroundCall();
+ }
+ if (call != null) {
+ return call;
+ }
+ }
+ return null;
+ }
+}
diff --git a/java/com/android/incallui/ReturnToCallController.java b/java/com/android/incallui/ReturnToCallController.java
new file mode 100644
index 000000000..314aa45d4
--- /dev/null
+++ b/java/com/android/incallui/ReturnToCallController.java
@@ -0,0 +1,212 @@
+/*
+ * 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
+ */
+
+package com.android.incallui;
+
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.drawable.Icon;
+import android.support.annotation.NonNull;
+import android.support.annotation.VisibleForTesting;
+import android.telecom.CallAudioState;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
+import com.android.dialer.telecom.TelecomUtil;
+import com.android.dialershared.bubble.Bubble;
+import com.android.dialershared.bubble.BubbleInfo;
+import com.android.dialershared.bubble.BubbleInfo.Action;
+import com.android.incallui.InCallPresenter.InCallUiListener;
+import com.android.incallui.audiomode.AudioModeProvider;
+import com.android.incallui.audiomode.AudioModeProvider.AudioModeListener;
+import com.android.incallui.call.CallList;
+import com.android.incallui.call.CallList.Listener;
+import com.android.incallui.call.DialerCall;
+import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo;
+import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Listens for events relevant to the return-to-call bubble and updates the bubble's state as
+ * necessary
+ */
+public class ReturnToCallController implements InCallUiListener, Listener, AudioModeListener {
+
+ private final Context context;
+
+ @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+ Bubble bubble;
+
+ private CallAudioState audioState;
+
+ private final PendingIntent toggleSpeaker;
+ private final PendingIntent showSpeakerSelect;
+ private final PendingIntent toggleMute;
+ private final PendingIntent endCall;
+
+ public static boolean isEnabled(Context context) {
+ return !ConfigProviderBindings.get(context).getBoolean("disable_return_to_call_bubble", false);
+ }
+
+ public ReturnToCallController(Context context) {
+ this.context = context;
+
+ toggleSpeaker = createActionIntent(ReturnToCallActionReceiver.ACTION_TOGGLE_SPEAKER);
+ showSpeakerSelect =
+ createActionIntent(ReturnToCallActionReceiver.ACTION_SHOW_AUDIO_ROUTE_SELECTOR);
+ toggleMute = createActionIntent(ReturnToCallActionReceiver.ACTION_TOGGLE_MUTE);
+ endCall = createActionIntent(ReturnToCallActionReceiver.ACTION_END_CALL);
+
+ InCallPresenter.getInstance().addInCallUiListener(this);
+ CallList.getInstance().addListener(this);
+ AudioModeProvider.getInstance().addListener(this);
+ audioState = AudioModeProvider.getInstance().getAudioState();
+ }
+
+ public void tearDown() {
+ InCallPresenter.getInstance().removeInCallUiListener(this);
+ CallList.getInstance().removeListener(this);
+ AudioModeProvider.getInstance().removeListener(this);
+ }
+
+ @Override
+ public void onUiShowing(boolean showing) {
+ if (showing) {
+ hide();
+ } else {
+ if (TelecomUtil.isInCall(context)) {
+ show();
+ }
+ }
+ }
+
+ private void hide() {
+ if (bubble != null) {
+ bubble.hide();
+ } else {
+ LogUtil.i("ReturnToCallController.hide", "hide() called without calling show()");
+ }
+ }
+
+ private void show() {
+ if (bubble == null) {
+ bubble = startNewBubble();
+ } else {
+ bubble.show();
+ }
+ }
+
+ private Bubble startNewBubble() {
+ if (!Bubble.canShowBubbles(context)) {
+ LogUtil.i("ReturnToCallController.startNewBubble", "can't show bubble, no permission");
+ context.startActivity(Bubble.getRequestPermissionIntent(context));
+ return null;
+ }
+ Bubble returnToCallBubble = Bubble.createBubble(context, generateBubbleInfo());
+ returnToCallBubble.show();
+ return returnToCallBubble;
+ }
+
+ @Override
+ public void onIncomingCall(DialerCall call) {}
+
+ @Override
+ public void onUpgradeToVideo(DialerCall call) {}
+
+ @Override
+ public void onSessionModificationStateChange(DialerCall call) {}
+
+ @Override
+ public void onCallListChange(CallList callList) {}
+
+ @Override
+ public void onDisconnect(DialerCall call) {
+ if (bubble != null && bubble.isShowing()) {
+ bubble.showText(context.getText(R.string.incall_call_ended));
+ }
+
+ if (!TelecomUtil.isInCall(context)) {
+ hide();
+ }
+ }
+
+ @Override
+ public void onWiFiToLteHandover(DialerCall call) {}
+
+ @Override
+ public void onHandoverToWifiFailed(DialerCall call) {}
+
+ @Override
+ public void onInternationalCallOnWifi(@NonNull DialerCall call) {}
+
+ @Override
+ public void onAudioStateChanged(CallAudioState audioState) {
+ this.audioState = audioState;
+ if (bubble != null) {
+ bubble.updateActions(generateActions());
+ }
+ }
+
+ private BubbleInfo generateBubbleInfo() {
+ Intent activityIntent = InCallActivity.getIntent(context, false, false, false);
+ activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ return BubbleInfo.builder()
+ .setPrimaryColor(context.getResources().getColor(R.color.dialer_theme_color, null))
+ .setPrimaryIcon(Icon.createWithResource(context, R.drawable.on_going_call))
+ .setStartingYPosition(
+ context.getResources().getDimensionPixelOffset(R.dimen.return_to_call_initial_offset_y))
+ .setPrimaryIntent(PendingIntent.getActivity(context, 0, activityIntent, 0))
+ .setActions(generateActions())
+ .build();
+ }
+
+ @NonNull
+ private List<Action> generateActions() {
+ List<Action> actions = new ArrayList<>();
+ SpeakerButtonInfo speakerButtonInfo = new SpeakerButtonInfo(audioState, IconSize.SIZE_24_DP);
+
+ actions.add(
+ Action.builder()
+ .setIcon(Icon.createWithResource(context, speakerButtonInfo.icon))
+ .setName(context.getText(speakerButtonInfo.label))
+ .setChecked(speakerButtonInfo.isChecked)
+ .setIntent(speakerButtonInfo.checkable ? toggleSpeaker : showSpeakerSelect)
+ .build());
+
+ actions.add(
+ Action.builder()
+ .setIcon(Icon.createWithResource(context, R.drawable.quantum_ic_mic_off_white_24))
+ .setName(context.getText(R.string.incall_label_mute))
+ .setChecked(audioState.isMuted())
+ .setIntent(toggleMute)
+ .build());
+ actions.add(
+ Action.builder()
+ .setIcon(Icon.createWithResource(context, R.drawable.quantum_ic_call_end_white_24))
+ .setName(context.getText(R.string.incall_label_end_call))
+ .setIntent(endCall)
+ .build());
+ return actions;
+ }
+
+ @NonNull
+ private PendingIntent createActionIntent(String action) {
+ Intent toggleSpeaker = new Intent(context, ReturnToCallActionReceiver.class);
+ toggleSpeaker.setAction(action);
+ return PendingIntent.getBroadcast(context, 0, toggleSpeaker, 0);
+ }
+}
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index 165b30b52..458df5149 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -28,7 +28,6 @@ import static com.android.incallui.NotificationBroadcastReceiver.ACTION_HANG_UP_
import android.Manifest;
import android.app.ActivityManager;
import android.app.Notification;
-import android.app.Notification.Builder;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
@@ -62,16 +61,15 @@ import android.text.style.ForegroundColorSpan;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.ContactsUtils.UserType;
import com.android.contacts.common.lettertiles.LetterTileDrawable;
+import com.android.contacts.common.lettertiles.LetterTileDrawable.ContactType;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.BitmapUtil;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.dialer.common.LogUtil;
-import com.android.dialer.enrichedcall.EnrichedCallComponent;
import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.enrichedcall.Session;
import com.android.dialer.multimedia.MultimediaData;
-import com.android.dialer.notification.NotificationChannelManager;
-import com.android.dialer.notification.NotificationChannelManager.Channel;
+import com.android.dialer.notification.NotificationChannelId;
import com.android.dialer.oem.MotorolaUtils;
import com.android.dialer.util.DrawableConverter;
import com.android.incallui.ContactInfoCache.ContactCacheEntry;
@@ -93,6 +91,9 @@ import java.util.Objects;
public class StatusBarNotifier
implements InCallPresenter.InCallStateListener, EnrichedCallManager.StateChangedListener {
+ private static final String NOTIFICATION_TAG = "STATUS_BAR_NOTIFIER";
+ private static final int NOTIFICATION_ID = 1;
+
// Notification types
// Indicates that no notification is currently showing.
private static final int NOTIFICATION_NONE = 0;
@@ -147,7 +148,7 @@ public class StatusBarNotifier
NotificationManager notificationManager =
backupContext.getSystemService(NotificationManager.class);
- notificationManager.cancel(R.id.notification_ongoing_call);
+ notificationManager.cancel(NOTIFICATION_TAG, NOTIFICATION_ID);
}
private static int getWorkStringFromPersonalString(int resId) {
@@ -173,12 +174,6 @@ public class StatusBarNotifier
return PendingIntent.getBroadcast(context, 0, intent, 0);
}
- private static void setColorized(@NonNull Builder builder) {
- if (BuildCompat.isAtLeastO()) {
- builder.setColorized(true);
- }
- }
-
/** Creates notifications according to the state we receive from {@link InCallPresenter}. */
@Override
@RequiresPermission(Manifest.permission.READ_PHONE_STATE)
@@ -226,7 +221,7 @@ public class StatusBarNotifier
}
if (mCurrentNotification != NOTIFICATION_NONE) {
LogUtil.i("StatusBarNotifier.cancelNotification", "cancel");
- mNotificationManager.cancel(R.id.notification_ongoing_call);
+ mNotificationManager.cancel(NOTIFICATION_TAG, NOTIFICATION_ID);
}
mCurrentNotification = NOTIFICATION_NONE;
}
@@ -365,13 +360,13 @@ public class StatusBarNotifier
LogUtil.i("StatusBarNotifier.buildAndSendNotification", "notificationType=" + notificationType);
switch (notificationType) {
case NOTIFICATION_INCOMING_CALL:
- NotificationChannelManager.applyChannel(
- builder, mContext, Channel.INCOMING_CALL, accountHandle);
+ if (BuildCompat.isAtLeastO()) {
+ builder.setChannelId(NotificationChannelId.INCOMING_CALL);
+ }
configureFullScreenIntent(builder, createLaunchPendingIntent(true /* isFullScreen */));
// Set the notification category and bump the priority for incoming calls
builder.setCategory(Notification.CATEGORY_CALL);
// This will be ignored on O+ and handled by the channel
- //noinspection deprecation
builder.setPriority(Notification.PRIORITY_MAX);
if (mCurrentNotification != NOTIFICATION_INCOMING_CALL) {
LogUtil.i(
@@ -379,18 +374,20 @@ public class StatusBarNotifier
"Canceling old notification so this one can be noisy");
// Moving from a non-interuptive notification (or none) to a noisy one. Cancel the old
// notification (if there is one) so the fullScreenIntent or HUN will show
- mNotificationManager.cancel(R.id.notification_ongoing_call);
+ mNotificationManager.cancel(NOTIFICATION_TAG, NOTIFICATION_ID);
}
break;
case NOTIFICATION_INCOMING_CALL_QUIET:
- NotificationChannelManager.applyChannel(
- builder, mContext, Channel.ONGOING_CALL, accountHandle);
+ if (BuildCompat.isAtLeastO()) {
+ builder.setChannelId(NotificationChannelId.ONGOING_CALL);
+ }
break;
case NOTIFICATION_IN_CALL:
- setColorized(publicBuilder);
- setColorized(builder);
- NotificationChannelManager.applyChannel(
- builder, mContext, Channel.ONGOING_CALL, accountHandle);
+ if (BuildCompat.isAtLeastO()) {
+ publicBuilder.setColorized(true);
+ builder.setColorized(true);
+ builder.setChannelId(NotificationChannelId.ONGOING_CALL);
+ }
break;
}
@@ -436,7 +433,7 @@ public class StatusBarNotifier
"displaying notification for " + notificationType);
try {
- mNotificationManager.notify(R.id.notification_ongoing_call, notification);
+ mNotificationManager.notify(NOTIFICATION_TAG, NOTIFICATION_ID, notification);
} catch (RuntimeException e) {
// TODO(b/34744003): Move the memory stats into silent feedback PSD.
ActivityManager activityManager = mContext.getSystemService(ActivityManager.class);
@@ -565,8 +562,9 @@ public class StatusBarNotifier
@VisibleForTesting
@Nullable
String getContentTitle(ContactCacheEntry contactInfo, DialerCall call) {
- if (call.isConferenceCall() && !call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE)) {
- return mContext.getResources().getString(R.string.conference_call_name);
+ if (call.isConferenceCall()) {
+ return CallerInfoUtils.getConferenceString(
+ mContext, call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE));
}
String preferredName =
@@ -604,20 +602,16 @@ public class StatusBarNotifier
if (contactInfo.photo == null) {
int width = (int) resources.getDimension(android.R.dimen.notification_large_icon_width);
int height = (int) resources.getDimension(android.R.dimen.notification_large_icon_height);
- int contactType = LetterTileDrawable.TYPE_DEFAULT;
+ @ContactType
+ int contactType =
+ LetterTileDrawable.getContactTypeFromPrimitives(
+ CallerInfoUtils.isVoiceMailNumber(context, call),
+ call.isSpam(),
+ contactInfo.isBusiness,
+ call.getNumberPresentation(),
+ call.isConferenceCall() && !call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE));
LetterTileDrawable lettertile = new LetterTileDrawable(resources);
- // TODO: Deduplicate across Dialer. b/36195917
- if (CallerInfoUtils.isVoiceMailNumber(context, call)) {
- contactType = LetterTileDrawable.TYPE_VOICEMAIL;
- } else if (contactInfo.isBusiness) {
- contactType = LetterTileDrawable.TYPE_BUSINESS;
- } else if (call.getNumberPresentation() == TelecomManager.PRESENTATION_RESTRICTED) {
- contactType = LetterTileDrawable.TYPE_GENERIC_AVATAR;
- } else if (call.isConferenceCall()
- && !call.hasProperty(Details.PROPERTY_GENERIC_CONFERENCE)) {
- contactType = LetterTileDrawable.TYPE_CONFERENCE;
- }
lettertile.setCanonicalDialerLetterTileDetails(
contactInfo.namePrimary == null ? contactInfo.number : contactInfo.namePrimary,
contactInfo.lookupKey,
@@ -663,13 +657,17 @@ public class StatusBarNotifier
return R.drawable.quantum_ic_videocam_white_24;
} else if (call.hasProperty(PROPERTY_HIGH_DEF_AUDIO)
&& MotorolaUtils.shouldShowHdIconInNotification(mContext)) {
- // Normally when a call is ongoing the status bar displays an icon of a phone with animated
- // lines. This is a helpful hint for users so they know how to get back to the call.
- // For Sprint HD calls, we replace this icon with an icon of a phone with a HD badge.
- // This is a carrier requirement.
+ // Normally when a call is ongoing the status bar displays an icon of a phone. This is a
+ // helpful hint for users so they know how to get back to the call. For Sprint HD calls, we
+ // replace this icon with an icon of a phone with a HD badge. This is a carrier requirement.
return R.drawable.ic_hd_call;
}
- return R.anim.on_going_call;
+ // If ReturnToCall is enabled, use the static icon. The animated one will show in the bubble.
+ if (ReturnToCallController.isEnabled(mContext)) {
+ return R.drawable.quantum_ic_call_white_24;
+ } else {
+ return R.drawable.on_going_call;
+ }
}
/** Returns the message to use with the notification. */
@@ -694,20 +692,10 @@ public class StatusBarNotifier
}
if (isIncomingOrWaiting) {
- EnrichedCallManager manager = EnrichedCallComponent.get(mContext).getEnrichedCallManager();
- Session session = null;
- if (call.getNumber() != null) {
- session =
- manager.getSession(
- call.getUniqueCallId(),
- call.getNumber(),
- manager.createIncomingCallComposerFilter());
- }
-
if (call.isSpam()) {
resId = R.string.notification_incoming_spam_call;
- } else if (session != null) {
- resId = getECIncomingCallText(session);
+ } else if (shouldShowEnrichedCallNotification(call.getEnrichedCallSession())) {
+ resId = getECIncomingCallText(call.getEnrichedCallSession());
} else if (call.hasProperty(Details.PROPERTY_WIFI)) {
resId = R.string.notification_incoming_call_wifi;
} else {
@@ -731,6 +719,13 @@ public class StatusBarNotifier
return mContext.getString(resId);
}
+ private boolean shouldShowEnrichedCallNotification(Session session) {
+ if (session == null) {
+ return false;
+ }
+ return session.getMultimediaData().hasData() || session.getMultimediaData().isImportant();
+ }
+
private int getECIncomingCallText(Session session) {
int resId;
MultimediaData data = session.getMultimediaData();
@@ -756,8 +751,10 @@ public class StatusBarNotifier
} else {
resId = R.string.important_notification_incoming_call_with_photo;
}
- } else {
+ } else if (hasSubject) {
resId = R.string.important_notification_incoming_call_with_message;
+ } else {
+ resId = R.string.important_notification_incoming_call;
}
if (mContext.getString(resId).length() > 50) {
resId = R.string.important_notification_incoming_call_attachments;
@@ -827,13 +824,9 @@ public class StatusBarNotifier
"will show \"answer\" action in the incoming call Notification");
PendingIntent answerVoicePendingIntent =
createNotificationPendingIntent(mContext, ACTION_ANSWER_VOICE_INCOMING_CALL);
- // We put animation resources in "anim" folder instead of "drawable", which causes Android
- // Studio to complain.
- // TODO: Move "anim" resources to "drawable" as recommended in AnimationDrawable doc?
- //noinspection ResourceType
builder.addAction(
new Notification.Action.Builder(
- Icon.createWithResource(mContext, R.anim.on_going_call),
+ Icon.createWithResource(mContext, R.drawable.quantum_ic_call_white_24),
getActionText(
R.string.notification_action_answer, R.color.notification_action_accept),
answerVoicePendingIntent)
@@ -931,7 +924,7 @@ public class StatusBarNotifier
builder.setOngoing(true);
builder.setOnlyAlertOnce(true);
// This will be ignored on O+ and handled by the channel
- //noinspection deprecation
+ // noinspection deprecation
builder.setPriority(Notification.PRIORITY_HIGH);
return builder;
@@ -1005,6 +998,9 @@ public class StatusBarNotifier
@Override
public void onInternationalCallOnWifi() {}
+ @Override
+ public void onEnrichedCallSessionUpdate() {}
+
/**
* Responds to changes in the session modification state for the call by dismissing the status
* bar notification as required.
diff --git a/java/com/android/incallui/VideoCallPresenter.java b/java/com/android/incallui/VideoCallPresenter.java
index 31999ef2e..bd9837097 100644
--- a/java/com/android/incallui/VideoCallPresenter.java
+++ b/java/com/android/incallui/VideoCallPresenter.java
@@ -27,9 +27,9 @@ import android.telecom.VideoProfile.CameraCapabilities;
import android.view.Surface;
import android.view.SurfaceView;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.CompatUtils;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.incallui.InCallPresenter.InCallDetailsListener;
import com.android.incallui.InCallPresenter.InCallOrientationListener;
import com.android.incallui.InCallPresenter.InCallStateListener;
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index 1f0541c4b..44310536d 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -216,6 +216,7 @@ public class AnswerFragment extends Fragment
private void performAnswerAndRelease() {
restoreAnswerAndReleaseButtonAnimation();
answerScreenDelegate.onAnswerAndReleaseCall();
+ buttonAcceptClicked = true;
}
private void restoreAnswerAndReleaseButtonAnimation() {
@@ -359,6 +360,11 @@ public class AnswerFragment extends Fragment
}
@Override
+ public boolean isActionTimeout() {
+ return (buttonAcceptClicked || buttonRejectClicked) && answerScreenDelegate.isActionTimeout();
+ }
+
+ @Override
@NonNull
public String getCallId() {
return Assert.isNotNull(getArguments().getString(ARG_CALL_ID));
@@ -427,8 +433,10 @@ public class AnswerFragment extends Fragment
if (allowAnswerAndRelease()) {
answerAndReleaseButton.setVisibility(View.VISIBLE);
+ answerScreenDelegate.onAnswerAndReleaseButtonEnabled();
} else {
answerAndReleaseButton.setVisibility(View.INVISIBLE);
+ answerScreenDelegate.onAnswerAndReleaseButtonDisabled();
}
}
@@ -524,6 +532,7 @@ public class AnswerFragment extends Fragment
if (!isAdded()) {
return;
}
+ LogUtil.enterBlock("AnswerFragment.updateDataFragment");
Fragment current = getChildFragmentManager().findFragmentById(R.id.incall_data_container);
Fragment newFragment = null;
@@ -540,6 +549,7 @@ public class AnswerFragment extends Fragment
|| !Objects.equals(((MultimediaFragment) current).getSubject(), subject)
|| !Objects.equals(((MultimediaFragment) current).getImageUri(), imageUri)
|| !Objects.equals(((MultimediaFragment) current).getLocation(), location)) {
+ LogUtil.i("AnswerFragment.updateDataFragment", "Replacing multimedia fragment");
// Needs replacement
newFragment =
MultimediaFragment.newInstance(
@@ -551,12 +561,14 @@ public class AnswerFragment extends Fragment
} else if (shouldShowAvatar()) {
// Needs Avatar
if (!(current instanceof AvatarFragment)) {
+ LogUtil.i("AnswerFragment.updateDataFragment", "Replacing avatar fragment");
// Needs replacement
newFragment = new AvatarFragment();
}
} else {
// Needs empty
if (current != null) {
+ LogUtil.i("AnswerFragment.updateDataFragment", "Removing current fragment");
getChildFragmentManager().beginTransaction().remove(current).commitNow();
}
contactGridManager.setAvatarImageView(null, 0, false);
@@ -930,7 +942,7 @@ public class AnswerFragment extends Fragment
if (hasCallOnHold()) {
getAnswerMethod()
.setHintText(getText(R.string.call_incoming_default_label_answer_and_release_third));
- } else {
+ } else if (primaryCallState.supportsCallOnHold) {
getAnswerMethod()
.setHintText(getText(R.string.call_incoming_default_label_answer_and_release_second));
}
@@ -1019,7 +1031,7 @@ public class AnswerFragment extends Fragment
}
private void updateImportanceBadgeVisibility() {
- if (!isAdded()) {
+ if (!isAdded() || getView() == null) {
return;
}
diff --git a/java/com/android/incallui/answer/impl/PillDrawable.java b/java/com/android/incallui/answer/impl/PillDrawable.java
deleted file mode 100644
index 57d84c45f..000000000
--- a/java/com/android/incallui/answer/impl/PillDrawable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2016 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.incallui.answer.impl;
-
-import android.graphics.Rect;
-import android.graphics.drawable.GradientDrawable;
-
-/** Draws a pill-shaped background */
-public class PillDrawable extends GradientDrawable {
-
- public PillDrawable() {
- super();
- setShape(RECTANGLE);
- }
-
- @Override
- protected void onBoundsChange(Rect r) {
- super.onBoundsChange(r);
- setCornerRadius(r.height() / 2);
- }
-
- @Override
- public void setShape(int shape) {
- if (shape != GradientDrawable.RECTANGLE) {
- throw new UnsupportedOperationException("PillDrawable must be a rectangle");
- }
- super.setShape(shape);
- }
-}
diff --git a/java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml b/java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml
index 9a49075b8..600115e27 100644
--- a/java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml
+++ b/java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml
@@ -41,6 +41,7 @@
android:layout_marginBottom="116dp"
android:layout_gravity="center_horizontal"
android:alpha="0"
+ android:gravity="center_horizontal"
android:text="@string/call_incoming_will_disconnect"
android:textColor="@color/blue_grey_100"
android:textSize="16sp"
@@ -59,6 +60,7 @@
android:layout_marginBottom="18dp"
android:layout_gravity="center_horizontal"
android:focusable="false"
+ android:gravity="center_horizontal"
android:text="@string/call_incoming_swipe_to_answer"
android:textAlignment="center"
android:textAppearance="@style/Dialer.Incall.TextAppearance.Hint"/>
@@ -110,6 +112,7 @@
android:layout_gravity="center_horizontal"
android:alpha="0"
android:focusable="false"
+ android:gravity="center_horizontal"
android:text="@string/call_incoming_swipe_to_reject"
android:textAppearance="@style/Dialer.Incall.TextAppearance.Hint"
tools:alpha="1"/>
diff --git a/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java b/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java
index 1d3d7ef22..5e83dfc78 100644
--- a/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java
+++ b/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java
@@ -20,7 +20,7 @@ import android.content.Context;
import android.hardware.SensorEvent;
import android.util.DisplayMetrics;
import android.view.MotionEvent;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
/** An classifier trying to determine whether it is a human interacting with the phone or not. */
class HumanInteractionClassifier extends Classifier {
diff --git a/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java b/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java
index 77b45ec71..94cf893f0 100644
--- a/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java
+++ b/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java
@@ -23,9 +23,8 @@ import android.os.Build;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProvider;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.util.DialerUtils;
import com.android.incallui.util.AccessibilityUtil;
@@ -35,8 +34,9 @@ import com.android.incallui.util.AccessibilityUtil;
*/
public class AnswerHintFactory {
- private static final String CONFIG_ANSWER_HINT_ANSWERED_THRESHOLD_KEY =
- "answer_hint_answered_threshold";
+ @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+ static final String CONFIG_ANSWER_HINT_ANSWERED_THRESHOLD_KEY = "answer_hint_answered_threshold";
+
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
static final String CONFIG_ANSWER_HINT_WHITELISTED_DEVICES_KEY =
"answer_hint_whitelisted_devices";
@@ -58,12 +58,7 @@ public class AnswerHintFactory {
@NonNull
public AnswerHint create(Context context, long puckUpDuration, long puckUpDelay) {
-
- if (shouldShowAnswerHint(
- context,
- ConfigProviderBindings.get(context),
- DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(context),
- Build.PRODUCT)) {
+ if (shouldShowAnswerHint(context, Build.PRODUCT)) {
return new DotAnswerHint(context, puckUpDuration, puckUpDelay);
}
@@ -84,24 +79,23 @@ public class AnswerHintFactory {
}
@VisibleForTesting
- static boolean shouldShowAnswerHint(
- Context context,
- ConfigProvider configProvider,
- SharedPreferences sharedPreferences,
- String device) {
+ static boolean shouldShowAnswerHint(Context context, String device) {
if (AccessibilityUtil.isTouchExplorationEnabled(context)) {
return false;
}
// Devices that has the legacy dialer installed are whitelisted as they are likely to go through
// a UX change during updates.
- if (!isDeviceWhitelisted(device, configProvider)) {
+ if (!isDeviceWhitelisted(context, device)) {
return false;
}
// If the user has gone through the process a few times we can assume they have learnt the
// method.
- int answeredCount = sharedPreferences.getInt(ANSWERED_COUNT_PREFERENCE_KEY, 0);
- long threshold = configProvider.getLong(CONFIG_ANSWER_HINT_ANSWERED_THRESHOLD_KEY, 3);
+ int answeredCount =
+ DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(context)
+ .getInt(ANSWERED_COUNT_PREFERENCE_KEY, 0);
+ long threshold =
+ ConfigProviderBindings.get(context).getLong(CONFIG_ANSWER_HINT_ANSWERED_THRESHOLD_KEY, 3);
LogUtil.i(
"AnswerHintFactory.shouldShowAnswerHint",
"answerCount: %d, threshold: %d",
@@ -115,8 +109,8 @@ public class AnswerHintFactory {
* @param configProvider should provide a list of devices quoted with '/' concatenated to a
* string.
*/
- private static boolean isDeviceWhitelisted(String device, ConfigProvider configProvider) {
- return configProvider
+ private static boolean isDeviceWhitelisted(Context context, String device) {
+ return ConfigProviderBindings.get(context)
.getString(CONFIG_ANSWER_HINT_WHITELISTED_DEVICES_KEY, DEFAULT_WHITELISTED_DEVICES_CSV)
.contains("/" + device + "/");
}
diff --git a/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java b/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java
index 21154cade..05358d831 100644
--- a/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java
+++ b/java/com/android/incallui/answer/impl/hint/PawImageLoaderImpl.java
@@ -24,7 +24,9 @@ import android.os.Build.VERSION_CODES;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
import com.android.dialer.util.DialerUtils;
+import com.android.incallui.answer.impl.hint.PawSecretCodeListener.PawType;
/** Decrypt the event payload to be shown if in a specific time range and the key is received. */
@TargetApi(VERSION_CODES.M)
@@ -40,10 +42,25 @@ public final class PawImageLoaderImpl implements PawImageLoader {
if (!preferences.getBoolean(PawSecretCodeListener.PAW_ENABLED_WITH_SECRET_CODE_KEY, false)) {
return null;
}
- int drawableId = preferences.getInt(PawSecretCodeListener.PAW_DRAWABLE_ID_KEY, 0);
- if (drawableId == 0) {
- return null;
+ @PawType
+ int pawType =
+ preferences.getInt(PawSecretCodeListener.PAW_TYPE, PawSecretCodeListener.PAW_TYPE_INVALID);
+
+ if (pawType == PawSecretCodeListener.PAW_TYPE_INVALID) {
+ LogUtil.i("PawImageLoaderImpl.loadPayload", "paw type not found, rerolling");
+ PawSecretCodeListener.selectPawType(preferences);
+ pawType =
+ preferences.getInt(
+ PawSecretCodeListener.PAW_TYPE, PawSecretCodeListener.PAW_TYPE_INVALID);
+ }
+
+ switch (pawType) {
+ case PawSecretCodeListener.PAW_TYPE_CAT:
+ return context.getDrawable(R.drawable.cat_paw);
+ case PawSecretCodeListener.PAW_TYPE_DOG:
+ return context.getDrawable(R.drawable.dog_paw);
+ default:
+ throw Assert.createAssertionFailException("unknown paw type " + pawType);
}
- return context.getDrawable(drawableId);
}
}
diff --git a/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java b/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java
index a8737c363..204c4e131 100644
--- a/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java
+++ b/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java
@@ -20,15 +20,16 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
+import android.support.annotation.IntDef;
import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import android.widget.Toast;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression.Type;
import com.android.dialer.logging.Logger;
+import com.android.dialer.util.DialerUtils;
import java.util.Random;
/**
@@ -40,7 +41,20 @@ public class PawSecretCodeListener extends BroadcastReceiver {
static final String CONFIG_PAW_SECRET_CODE = "paw_secret_code";
public static final String PAW_ENABLED_WITH_SECRET_CODE_KEY = "paw_enabled_with_secret_code";
- public static final String PAW_DRAWABLE_ID_KEY = "paw_drawable_id";
+
+ /** Which paw to show, must be {@link PawType} */
+ public static final String PAW_TYPE = "paw_type";
+
+ /** Resource id is not stable across app versions. Use {@link #PAW_TYPE} instead. */
+ @Deprecated public static final String PAW_DRAWABLE_ID_KEY = "paw_drawable_id";
+
+ /** Enum for all paws. */
+ @IntDef({PAW_TYPE_INVALID, PAW_TYPE_CAT, PAW_TYPE_DOG})
+ @interface PawType {}
+
+ public static final int PAW_TYPE_INVALID = 0;
+ public static final int PAW_TYPE_CAT = 1;
+ public static final int PAW_TYPE_DOG = 2;
@Override
public void onReceive(Context context, Intent intent) {
@@ -54,7 +68,8 @@ public class PawSecretCodeListener extends BroadcastReceiver {
if (!TextUtils.equals(secretCode, host)) {
return;
}
- SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences preferences =
+ DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(context);
boolean wasEnabled = preferences.getBoolean(PAW_ENABLED_WITH_SECRET_CODE_KEY, false);
if (wasEnabled) {
preferences.edit().putBoolean(PAW_ENABLED_WITH_SECRET_CODE_KEY, false).apply();
@@ -62,20 +77,24 @@ public class PawSecretCodeListener extends BroadcastReceiver {
Logger.get(context).logImpression(Type.EVENT_ANSWER_HINT_DEACTIVATED);
LogUtil.i("PawSecretCodeListener.onReceive", "PawAnswerHint disabled");
} else {
- int drawableId;
- if (new Random().nextBoolean()) {
- drawableId = R.drawable.cat_paw;
- } else {
- drawableId = R.drawable.dog_paw;
- }
- preferences
- .edit()
- .putBoolean(PAW_ENABLED_WITH_SECRET_CODE_KEY, true)
- .putInt(PAW_DRAWABLE_ID_KEY, drawableId)
- .apply();
+ selectPawType(preferences);
Toast.makeText(context, R.string.event_activated, Toast.LENGTH_SHORT).show();
Logger.get(context).logImpression(Type.EVENT_ANSWER_HINT_ACTIVATED);
LogUtil.i("PawSecretCodeListener.onReceive", "PawAnswerHint enabled");
}
}
+
+ public static void selectPawType(SharedPreferences preferences) {
+ @PawType int pawType;
+ if (new Random().nextBoolean()) {
+ pawType = PAW_TYPE_CAT;
+ } else {
+ pawType = PAW_TYPE_DOG;
+ }
+ preferences
+ .edit()
+ .putBoolean(PAW_ENABLED_WITH_SECRET_CODE_KEY, true)
+ .putInt(PAW_TYPE, pawType)
+ .apply();
+ }
}
diff --git a/java/com/android/incallui/answer/impl/res/values-af/strings.xml b/java/com/android/incallui/answer/impl/res/values-af/strings.xml
index 82a87963d..b155ee874 100644
--- a/java/com/android/incallui/answer/impl/res/values-af/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-af/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swiep vanaf ikoon om met boodskap af te wys"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Antwoord en beëindig die voortgesette oproep"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is af"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swiep op met twee vingers om te antwoord. Swiep af met twee vingers om af te wys."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Dringend"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Belangrik"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-am/strings.xml b/java/com/android/incallui/answer/impl/res/values-am/strings.xml
index 40869773e..c27705fd2 100644
--- a/java/com/android/incallui/answer/impl/res/values-am/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-am/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"በመልዕክት ላለመቀበል ከአዶ ያንሸራቱ"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"ይመልሱ እና በመካሄድ ላይ ያለ ጥሪን ይጨርሱ"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ቪዲዮ ጠፍቷል"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ለመመለስ በሁለት ጣት ወደ ላይ ያንሸራቱ። ላለመቀበል በሁለት ጣት ወደ ታች ያንሸራቱ።"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"አስቸኳይ"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"አስፈላጊ"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ar/strings.xml b/java/com/android/incallui/answer/impl/res/values-ar/strings.xml
index fc29c16fa..e3f84fff5 100644
--- a/java/com/android/incallui/answer/impl/res/values-ar/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ar/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"تمرير سريع من الرمز للرفض مع إرسال رسالة"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"الرد وإنهاء مكالمة جارية"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"الفيديو قيد إيقاف التشغيل"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"مرر بأصبعين لأعلى للرد. مرر بأصبعين لأسفل للرفض."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"عاجل"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"مهم"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-az/strings.xml b/java/com/android/incallui/answer/impl/res/values-az/strings.xml
index fff561de3..5d113b48d 100644
--- a/java/com/android/incallui/answer/impl/res/values-az/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-az/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Mesaj göndərərək imtina etmək üçün ikonadan sürüşdürün"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Cavab verin və gedən zəngi bitirin"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Videoları deaktivdir"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Cavab vermək üçün iki barmaq ilə yuxarı sürüşdürün. İmtina etmək üçün iki barmaq ilə aşağı sürüşdürün."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Vacib"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Önəmli"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-b+sr+Latn/strings.xml b/java/com/android/incallui/answer/impl/res/values-b+sr+Latn/strings.xml
index 7b29bfa66..3acc576d9 100644
--- a/java/com/android/incallui/answer/impl/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-b+sr+Latn/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Prevucite od ikone da biste odbili porukom"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Javite se i završite poziv koji je u toku"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Kamera je isključena"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Prevucite nagore pomoću dva prsta da biste odgovorili. Prevucite nadole pomoću dva prsta da biste odbili."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Hitno"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Važno"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-be/strings.xml b/java/com/android/incallui/answer/impl/res/values-be/strings.xml
index 228a80f7f..4f34150e6 100644
--- a/java/com/android/incallui/answer/impl/res/values-be/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-be/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Правядзіце ад значка, каб адхіліць, адправіўшы SMS"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Адказаць і скончыць бягучы выклік"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Відэа адключана"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Правядзіце двума пальцамі ўверх, каб адказаць; двума пальцамі ўніз – каб адхіліць."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Тэрмінова"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Важны"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-bg/strings.xml b/java/com/android/incallui/answer/impl/res/values-bg/strings.xml
index 4e9422f00..54a5ab946 100644
--- a/java/com/android/incallui/answer/impl/res/values-bg/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-bg/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Прекарайте пръст от иконата, за да отхвърлите със съобщение"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Отговор и завършване на текущото обаждане"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Видеото е изключено"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Прекарайте два пръста нагоре за отговаряне, надолу за отхвърляне."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Спешно"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Важно"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-bn/strings.xml b/java/com/android/incallui/answer/impl/res/values-bn/strings.xml
index 869f7b9ae..d2aa4c3f3 100644
--- a/java/com/android/incallui/answer/impl/res/values-bn/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-bn/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"বার্তা সহ প্রত্যাখ্যান করতে আইকন থেকে সোয়াইপ করুন"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"উত্তর দিন এবং চলছে এমন কল কেটে দিন"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ভিডিও বন্ধ আছে"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"উত্তর দিতে উপরের দিকে, প্রত্যাখ্যান করতে নিচের দিকে দুই আঙুল দিয়ে সোয়াইপ করুন৷"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"জরুরি"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"গুরুত্বপূর্ণ"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-bs/strings.xml b/java/com/android/incallui/answer/impl/res/values-bs/strings.xml
index b36e178f4..e17588750 100644
--- a/java/com/android/incallui/answer/impl/res/values-bs/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-bs/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Prevucite preko ikone da odbijete porukom"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Odgovorite na poziv i završite ga"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Kamera je isključena"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Prevucite pomoću dva prsta prema gore da odgovorite. Prevucite pomoću dva prsta prema dolje da odbijete."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Hitno"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Važno"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ca/strings.xml b/java/com/android/incallui/answer/impl/res/values-ca/strings.xml
index 13b3b321a..538e0d3e0 100644
--- a/java/com/android/incallui/answer/impl/res/values-ca/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ca/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Llisca des de la icona per rebutjar la trucada amb un missatge"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Respon a la trucada i finalitza l\'actual"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"El vídeo està desactivat"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Llisca amb dos dits cap amunt per respondre a la trucada i cap avall per rebutjar-la."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgent"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Important"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-cs/strings.xml b/java/com/android/incallui/answer/impl/res/values-cs/strings.xml
index 6c6903041..626409ead 100644
--- a/java/com/android/incallui/answer/impl/res/values-cs/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-cs/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Přejetím prstem od ikony hovor odmítnete a pošlete zprávu"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Přijmout hovor a ukončit probíhající hovor"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video je vypnuté"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Přejetím dvěma prsty nahoru hovor přijmete. Přejetím dvěma prsty dolů jej odmítnete."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Naléhavé"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Důležité"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-da/strings.xml b/java/com/android/incallui/answer/impl/res/values-da/strings.xml
index 3a87d44fe..387089116 100644
--- a/java/com/android/incallui/answer/impl/res/values-da/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-da/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Stryg fra ikonet for at afvise med en besked"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Besvar, og afslut det igangværende opkald"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video er deaktiveret"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Stryg op med to fingre for at besvare. Stryg ned med to fingre for at afvise."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Haster"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Vigtigt"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-de/strings.xml b/java/com/android/incallui/answer/impl/res/values-de/strings.xml
index f4356d29f..ab3c33cc5 100644
--- a/java/com/android/incallui/answer/impl/res/values-de/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-de/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Zum Ablehnen mit Nachricht vom Symbol wegwischen"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Nimm den Anruf an und beende den aktuellen Anruf"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video deaktiviert"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Zum Annehmen mit zwei Fingern nach oben wischen. Zum Ablehnen mit zwei Fingern nach unten wischen."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Dringend"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Wichtig"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-el/strings.xml b/java/com/android/incallui/answer/impl/res/values-el/strings.xml
index 9c9a0f35f..d847aac54 100644
--- a/java/com/android/incallui/answer/impl/res/values-el/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-el/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Σύρετε από το εικονίδιο προς τα έξω για απόρριψη του μηνύματος"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Απάντηση και τερματισμός κλήσης σε εξέλιξη"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Το βίντεο είναι ανενεργό"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Σύρετε με δύο δάχτυλα, προς τα επάνω για απάντηση και προς τα κάτω για απόρριψη."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Επείγον"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Σημαντικό"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml b/java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml
index fb8d15682..fe6aa4607 100644
--- a/java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-en-rAU/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swipe from icon to decline with a message"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Answer and end ongoing call"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is off"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swipe up with two fingers to answer. Swipe down with two fingers to decline."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgent"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Important"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml b/java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml
index fb8d15682..fe6aa4607 100644
--- a/java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-en-rGB/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swipe from icon to decline with a message"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Answer and end ongoing call"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is off"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swipe up with two fingers to answer. Swipe down with two fingers to decline."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgent"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Important"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml b/java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml
index fb8d15682..fe6aa4607 100644
--- a/java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-en-rIN/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swipe from icon to decline with a message"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Answer and end ongoing call"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is off"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swipe up with two fingers to answer. Swipe down with two fingers to decline."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgent"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Important"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml b/java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml
index 14928eeb6..60fcd014e 100644
--- a/java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-es-rUS/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Desliza desde el ícono para rechazar la llamada con un mensaje"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Responder y finalizar la llamada en curso"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"El video está desactivado"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Desliza dos dedos hacia arriba para responder la llamada o hacia abajo para rechazarla."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgente"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Importante"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-es/strings.xml b/java/com/android/incallui/answer/impl/res/values-es/strings.xml
index 972bbc503..7b2f19a81 100644
--- a/java/com/android/incallui/answer/impl/res/values-es/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-es/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Desliza desde el icono para rechazar con mensaje"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Responder a una llamada y finalizar otra en curso"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"El vídeo está desconectado"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Desliza dos dedos hacia arriba para responder o hacia abajo para rechazar la llamada."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgente"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Importante"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-et/strings.xml b/java/com/android/incallui/answer/impl/res/values-et/strings.xml
index 9e303bb16..b4632d184 100644
--- a/java/com/android/incallui/answer/impl/res/values-et/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-et/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Sõnumiga keeldumiseks pühkige ikoonilt eemale"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Vastake ja lõpetage käimasolev kõne"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video on välja lülitatud"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Vastamiseks pühkige kahe sõrmega üles. Keeldumiseks pühkige kahe sõrmega alla."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Kiireloomuline"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Tähtis"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-eu/strings.xml b/java/com/android/incallui/answer/impl/res/values-eu/strings.xml
index a1f6d717d..118a2c74d 100644
--- a/java/com/android/incallui/answer/impl/res/values-eu/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-eu/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Pasatu hatza ikonotik baztertzeko eta mezu bat bidaltzeko"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Erantzun eta amaitu uneko deia"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Desaktibatuta dago kamera"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Pasatu bi hatz gora erantzuteko; eta behera, baztertzeko."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Premiazkoa"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Garrantzitsua"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-fa/strings.xml b/java/com/android/incallui/answer/impl/res/values-fa/strings.xml
index 28cf82619..971b172ef 100644
--- a/java/com/android/incallui/answer/impl/res/values-fa/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-fa/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"برای رد کردن با ارسال پیام، انگشتتان را تند از روی نماد بکشید"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"پاسخ دادن به تماس درحال انجام و پایان دادن به آن"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ویدیو خاموش است"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"برای پاسخ‌گویی، دو انگشتتان را تند به بالا بکشید و برای رد کردن به پایین بکشید."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"فوری"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"مهم"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-fi/strings.xml b/java/com/android/incallui/answer/impl/res/values-fi/strings.xml
index 8b8eac942..7ae9a1f87 100644
--- a/java/com/android/incallui/answer/impl/res/values-fi/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-fi/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Hylkää ja kirjoita viesti pyyhkäisemällä kuvaketta."</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Vastaa puheluun ja lopeta nykyinen puhelu"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Videokuva ei ole käytössä."</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Vastaa pyyhkäisemällä ylös kahdella sormella. Hylkää pyyhkäisemällä alas kahdella sormella."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Kiireellinen"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Tärkeä"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml b/java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml
index 9ea27b89c..ce454b5ce 100644
--- a/java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-fr-rCA/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Balayez à partir de l\'icône pour refuser avec un message"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Répondre et mettre fin à l\'appel en cours"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"La vidéo est désactivée"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Balayez vers le haut avec deux doigts pour répondre. Balayez vers le bas avec deux doigts pour refuser."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgent"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Important"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-fr/strings.xml b/java/com/android/incallui/answer/impl/res/values-fr/strings.xml
index 3aa3c12c9..7f77ed0c8 100644
--- a/java/com/android/incallui/answer/impl/res/values-fr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-fr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Appuyer sur l\'icône, puis balayer l\'écran pour refuser l\'appel en envoyant un message"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Répondre ou mettre fin à l\'appel en cours"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"La vidéo est désactivée."</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Balayez l\'écran avec deux doigts vers le haut pour répondre, ou vers le bas pour refuser l\'appel."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgent"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Importants"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-gl/strings.xml b/java/com/android/incallui/answer/impl/res/values-gl/strings.xml
index 16c0f6969..07e0c516d 100644
--- a/java/com/android/incallui/answer/impl/res/values-gl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-gl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Pasar o dedo desde a icona para rexeitar cunha mensaxe"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Responde á chamada entrante e finaliza a chamada en curso"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"O vídeo está desactivado"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Pasa dous dedos cara arriba para responder a chamada ou cara abaixo para rexeitala."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urxente"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Importante"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-gu/strings.xml b/java/com/android/incallui/answer/impl/res/values-gu/strings.xml
index 3f99c7108..845e9def8 100644
--- a/java/com/android/incallui/answer/impl/res/values-gu/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-gu/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"સંદેશ સાથે નકારવા માટે આઇકનથી સ્વાઇપ કરો"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"જવાબ આપો અને ચાલુ કૉલ સમાપ્ત કરો"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"વિડિઓ બંધ છે"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"જવાબ આપવા માટે બે આંગળી ઉપર સ્વાઇપ કરો. નકારવા માટે બે આંગળી નીચે સ્વાઇપ કરો."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"તાત્કાલિક"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"મહત્વપૂર્ણ"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-hi/strings.xml b/java/com/android/incallui/answer/impl/res/values-hi/strings.xml
index f28505f7c..e8e3c75c4 100644
--- a/java/com/android/incallui/answer/impl/res/values-hi/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-hi/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"संदेश के साथ अस्वीकार करने के लिए आइकन से स्वाइप करें"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"कॉल का जवाब दें और जारी कॉल समाप्त करें"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"वीडियो बंद है"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"जवाब देने के लिए दो अंगुलियों से ऊपर स्वाइप करें. अस्वीकार करने के लिए दो अंगुलियों से नीचे स्वाइप करें."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"बहुत ज़रूरी"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"महत्वपूर्ण"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-hr/strings.xml b/java/com/android/incallui/answer/impl/res/values-hr/strings.xml
index 280743976..ffd0c9b8c 100644
--- a/java/com/android/incallui/answer/impl/res/values-hr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-hr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Prijeđite prstom od ikone da biste odbili poruku"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Odgovorite na poziv i prekinite poziv u tijeku"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Videokamera je isključena"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Prijeđite dvama prstima prema gore za odgovor, a dvama prstima prema dolje za odbijanje."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Hitno"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Važno"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-hu/strings.xml b/java/com/android/incallui/answer/impl/res/values-hu/strings.xml
index d7dacbfe0..13ec7da17 100644
--- a/java/com/android/incallui/answer/impl/res/values-hu/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-hu/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Csúsztassa el az ujját az ikonról az üzenettel való elutasításhoz"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Hívásfogadás és a folyamatban lévő hívás befejezése"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"A videokép ki van kapcsolva"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Csúsztassa felfelé két ujját a hívás fogadásához. Csúsztassa lefelé két ujját a hívás elutasításához."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Sürgős"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Fontos"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-hy/strings.xml b/java/com/android/incallui/answer/impl/res/values-hy/strings.xml
index 4492833d9..7fb7ef45f 100644
--- a/java/com/android/incallui/answer/impl/res/values-hy/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-hy/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Զանգը մերժելու և հաղորդագրություն ուղարկելու համար պատկերակից մատով մի կողմ սահեցրեք"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Պատասխանել և ավարտել ընթացիկ զանգը"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Տեսախցիկն անջատած է"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Պատասխանելու համար երկու մատով սահեցրեք վերև, մերժելու համար՝ ներքև:"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Շտապ"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Կարևոր"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-in/strings.xml b/java/com/android/incallui/answer/impl/res/values-in/strings.xml
index a1fd19f6e..48d71af9a 100644
--- a/java/com/android/incallui/answer/impl/res/values-in/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-in/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Gesek dari ikon untuk menolak dengan pesan"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Menjawab dan mengakhiri panggilan yang sedang berlangsung"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video nonaktif"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Geser ke atas dengan dua jari untuk menjawab. Geser ke bawah dengan dua jari untuk menolak."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Penting"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Penting"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-is/strings.xml b/java/com/android/incallui/answer/impl/res/values-is/strings.xml
index c4f9eb40c..a92a411ee 100644
--- a/java/com/android/incallui/answer/impl/res/values-is/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-is/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Strjúktu frá tákninu til að hafna með skilaboðum"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Svara og ljúka yfirstandandi símtali"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Slökkt á myndavél"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Strjúktu upp með tveimur fingrum til að svara. Strjúktu niður með tveimur fingrum til að hafna."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Áríðandi"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Mikilvægt"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-it/strings.xml b/java/com/android/incallui/answer/impl/res/values-it/strings.xml
index 70e972212..b29bca7c8 100644
--- a/java/com/android/incallui/answer/impl/res/values-it/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-it/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Fai scorrere dall\'icona per rifiutare e inviare un messaggio"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Rispondi e termina la chiamata in corso"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Il video è disattivato"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Fai scorrere con due dita verso l\'alto per rispondere e verso il basso per rifiutare."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgente"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Importante"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-iw/strings.xml b/java/com/android/incallui/answer/impl/res/values-iw/strings.xml
index 08c02e389..6544e8f3c 100644
--- a/java/com/android/incallui/answer/impl/res/values-iw/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-iw/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"החלק מהסמל כדי לדחות עם הודעה"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"מענה וסיום שיחה"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"הווידאו מושבת"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"החלק עם שתי אצבעות למעלה כדי לענות או למטה כדי לדחות."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"דחופה"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"חשוב"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ja/strings.xml b/java/com/android/incallui/answer/impl/res/values-ja/strings.xml
index b7bd65bc4..83f8f094a 100644
--- a/java/com/android/incallui/answer/impl/res/values-ja/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ja/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"アイコンをスワイプして着信を拒否し、メッセージを送信"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"通話に応答し、進行中の通話を終了"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ビデオ: OFF"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"応答するには 2 本の指で上にスワイプ、拒否するには 2 本の指で下にスワイプします。"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"緊急"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"重要"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ka/strings.xml b/java/com/android/incallui/answer/impl/res/values-ka/strings.xml
index 681306776..4a1120c69 100644
--- a/java/com/android/incallui/answer/impl/res/values-ka/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ka/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"გადაუსვით ხატულადან შეტყობინებით უარყოფისთვის"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"პასუხი და მიმდინარე ზარის დასრულება"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ვიდეო გამორთულია"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"საპასუხოდ გადაფურცლეთ ზემოთ ორი თითით. უარყოფისთვის გადაფურცლეთ ქვემოთ ორი თითით."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"სასწრაფო"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"მნიშვნელოვანი"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-kk/strings.xml b/java/com/android/incallui/answer/impl/res/values-kk/strings.xml
index 3d1863323..69cf9497d 100644
--- a/java/com/android/incallui/answer/impl/res/values-kk/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-kk/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Қабылдамай, жай хабар жіберу үшін, белгішеден әрі қарай сырғытыңыз"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Қоңырауға жауап беру және ағымдағы қоңырауды аяқтау"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Бейне өшірулі"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Жауап беру үшін екі саусақпен жоғары сырғытылады. Қабылдамау үшін екі саусақпен төмен сырғытылады."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Шұғыл"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Маңызды"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-km/strings.xml b/java/com/android/incallui/answer/impl/res/values-km/strings.xml
index 89f9031e9..db65a97f5 100644
--- a/java/com/android/incallui/answer/impl/res/values-km/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-km/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"អូស​ចេញ​ពី​រូបតំណាង​ដើម្បី​បដិសេធ​​ដោយ​មាន​សារ"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"ឆ្លើយ និង​បញ្ចប់​ការ​ហៅ​ទូរសព្ទ​ដែល​កំពុង​ដំណើរការ"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"វីដេអូត្រូវបានបិទ"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"អូស​ម្រាម​ដៃ​ពីរ​ឡើងលើ​ ដើម្បី​ឆ្លើយ។ អូស​ម្រាមដៃ​ពីរ​ចុះ​ក្រោម​ ដើម្បី​បដិសេធ។"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"បន្ទាន់"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"សំខាន់"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-kn/strings.xml b/java/com/android/incallui/answer/impl/res/values-kn/strings.xml
index f02a6b8a3..8426aef46 100644
--- a/java/com/android/incallui/answer/impl/res/values-kn/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-kn/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"ಸಂದೇಶದ ಜೊತೆಗೆ ನಿರಾಕರಿಸಲು ಐಕಾನ್‌ನಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಗೆ ಉತ್ತರಿಸಿ ಮತ್ತು ಅಂತ್ಯಗೊಳಿಸಿ"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ವೀಡಿಯೊ ಆಫ್ ಆಗಿದೆ"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ಉತ್ತರಿಸಲು ಎರಡು ಬೆರಳಿನಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ನಿರಾಕರಿಸಲು ಎರಡು ಬೆರಳಿನಿಂದ ಕೆಳಗೆ ಸ್ವೈಪ್ ಮಾಡಿ."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"ತುರ್ತು"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"ಪ್ರಮುಖ"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ko/strings.xml b/java/com/android/incallui/answer/impl/res/values-ko/strings.xml
index 850b44007..6b6beff85 100644
--- a/java/com/android/incallui/answer/impl/res/values-ko/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ko/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"메시지를 거부하려면 아이콘에서 스와이프하세요."</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"현재 통화를 종료하고 전화 받기"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"동영상이 꺼져 있습니다."</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"받으려면 두 손가락을 위로 스와이프하고 거부하려면 두 손가락을 아래로 스와이프하세요."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"긴급"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"중요"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ky/strings.xml b/java/com/android/incallui/answer/impl/res/values-ky/strings.xml
index dc08e8449..6dd5a2dd7 100644
--- a/java/com/android/incallui/answer/impl/res/values-ky/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ky/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Чалууну билдирүү менен четке кагуу үчүн сүрөтчөнү сүрүңүз"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Чалууга жооп бериңиз же учурдагы чалууну аяктаңыз"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Видео өчүк"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Жооп берүү үчүн экранды өйдө сүрүп, четке кагуу үчүн ылдый сүрүп коюңуз."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Шашылыш"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Маанилүү"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-lo/strings.xml b/java/com/android/incallui/answer/impl/res/values-lo/strings.xml
index 06ad00c88..776c027b5 100644
--- a/java/com/android/incallui/answer/impl/res/values-lo/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-lo/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"ປັດຈາກໄອຄອນເພື່ອປະຕິເສດຂໍ້ຄວາມ"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"ຮັບສາຍ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ວິດີໂອປິດຢູ່"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ປັດສອງນິ້ວຂຶ້ນເພື່ອຮັບສາຍ. ປັດສອງນິ້ວລົງເພື່ອປະຕິເສດ."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"ດ່ວນ"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"ສຳຄັນ"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-lt/strings.xml b/java/com/android/incallui/answer/impl/res/values-lt/strings.xml
index 3366e337b..2ef70eaff 100644
--- a/java/com/android/incallui/answer/impl/res/values-lt/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-lt/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Perbraukite iš piktogramos, kad atmestumėte išsiųsdami pranešimą"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Atsakykite ir užbaikite vykstantį skambutį"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Vaizdas išjungtas"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Perbraukite dviem pirštais aukštyn, kad atsakytumėte. Perbraukite dviem pirštais žemyn, kad atmestumėte."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Skubus"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Svarbu"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-lv/strings.xml b/java/com/android/incallui/answer/impl/res/values-lv/strings.xml
index 49d1dc9f4..3fc754db4 100644
--- a/java/com/android/incallui/answer/impl/res/values-lv/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-lv/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Lai noraidītu, izmantojot ziņojumu, velciet no ikonas"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Atbildiet un beidziet notiekošo zvanu"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video ir izslēgts"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Ar diviem pirkstiem velciet augšup, lai atbildētu. Ar diviem pirkstiem velciet lejup, lai noraidītu."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Steidzams"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Svarīgs"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-mk/strings.xml b/java/com/android/incallui/answer/impl/res/values-mk/strings.xml
index c068f665b..deeba45e6 100644
--- a/java/com/android/incallui/answer/impl/res/values-mk/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-mk/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Повлечете од иконата за да одбиете со порака"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Одговорете и завршете го тековниот повик"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Видеото е исклучено"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Повлечете нагоре со два прста за да одговорите. Повлечете надолу со два прста за да одбиете."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Итно"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Важно"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ml/strings.xml b/java/com/android/incallui/answer/impl/res/values-ml/strings.xml
index 8e1d492e7..d8ce90dab 100644
--- a/java/com/android/incallui/answer/impl/res/values-ml/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ml/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"സന്ദേശമയച്ചുകൊണ്ട് നിരസിക്കാൻ ഐക്കണിൽ നിന്ന് സ്വൈപ്പുചെയ്യുക"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"മറുപടി നൽകുകയും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കുകയും ചെയ്യൂ"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"വീഡിയോ ഓഫാണ്"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"മറുപടി നൽകാൻ രണ്ടുവിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പുചെയ്യുക. നിരസിക്കാൻ രണ്ടുവിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പുചെയ്യുക."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"അടിയന്തിര പ്രാധാന്യം"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"പ്രധാനപ്പെട്ടവ"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-mn/strings.xml b/java/com/android/incallui/answer/impl/res/values-mn/strings.xml
index 4bdd912ad..aaa16213a 100644
--- a/java/com/android/incallui/answer/impl/res/values-mn/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-mn/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Зурвас явуулангаа татгалзах бол дүрснээс шударна уу"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Ирсэн дуудлагыг авч, одоогийн дуудлагыг таслах"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Видео идэвхгүй байна"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Хариулах бол хоёр хуруугаар дээш шударна уу. Таслах бол хоёр хуруугаар доош шударна уу."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Яаралтай"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Чухал"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-mr/strings.xml b/java/com/android/incallui/answer/impl/res/values-mr/strings.xml
index 11c826896..eea662fa1 100644
--- a/java/com/android/incallui/answer/impl/res/values-mr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-mr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"संदेशासह नाकारण्यासाठी आयकॉनपासून स्वाइप करा"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"उत्तर द्या आणि सुरु असलेला कॉल बंद करा"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"व्हिडिओ बंद आहे"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"उत्तर देण्यासाठी दोन बोटांनी वर स्वाइप करा. नकार देण्यासाठी दोन बोटांनी खाली स्वाइप करा."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"त्वरित"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"महत्त्वाचे"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ms/strings.xml b/java/com/android/incallui/answer/impl/res/values-ms/strings.xml
index 36ede7568..04b054e4e 100644
--- a/java/com/android/incallui/answer/impl/res/values-ms/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ms/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Leret dari ikon untuk menolak dengan mesej"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Jawab dan tamatkan panggilan yang sedang berlangsung"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video dimatikan"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Leret dua jari ke atas untuk menjawab. Leret dua jari ke bawah untuk menolak."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Segera"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Penting"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-my/strings.xml b/java/com/android/incallui/answer/impl/res/values-my/strings.xml
index 5ad7a8284..f3d6a2e38 100644
--- a/java/com/android/incallui/answer/impl/res/values-my/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-my/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"မက်ဆေ့ဂျ်ဖြင့်ငြင်းပယ်ရန် သင်္ကေတမှ ပွတ်ဆွဲပါ"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"ဖြေကြားပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ဗီဒီယို ပိတ်ထားပါသည်"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ဖြေကြားရန် လက်နှစ်ချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပါ။ ငြင်းပယ်ရန် လက်နှစ်ချောင်းဖြင့် အောက်သို့ ပွတ်ဆွဲပါ။"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"အရေးတကြီး"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"အရေးကြီး"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-nb/strings.xml b/java/com/android/incallui/answer/impl/res/values-nb/strings.xml
index b1c32bea4..42ff3d0af 100644
--- a/java/com/android/incallui/answer/impl/res/values-nb/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-nb/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Sveip fra ikonet for å avslå med en melding"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Svar, og avslutt samtalen som er i gang"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video er av"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Sveip oppover med to fingre for å svare. Sveip nedover med to fingre for å avvise."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Haster"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Viktig"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ne/strings.xml b/java/com/android/incallui/answer/impl/res/values-ne/strings.xml
index 40ef7b6e3..f0b8641af 100644
--- a/java/com/android/incallui/answer/impl/res/values-ne/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ne/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"सन्देश सहित अस्वीकार गर्न आइकनबाट स्वाइप गर्नुहोस्"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"जवाफ फर्काउनुहोस् र जारी कललाई अन्त्य गर्नुहोस्"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"भिडियो निष्क्रिय छ"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"जवाफ दिन दुई औंलाले माथितिर स्वाइप गर्नुहोस्। अस्वीकार गर्न दुई औंलाले तलतिर स्वाइप गर्नुहोस्।"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"जरुरी"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"महत्त्वपूर्ण"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-nl/strings.xml b/java/com/android/incallui/answer/impl/res/values-nl/strings.xml
index b2f619fa3..89c956a9f 100644
--- a/java/com/android/incallui/answer/impl/res/values-nl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-nl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Veeg vanaf pictogram om te weigeren met bericht"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Opnemen en actieve oproep beëindigen"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is uit"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Veeg met twee vingers omhoog om te beantwoorden. Veeg met twee vingers omlaag om te weigeren."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgent"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Belangrijk"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-no/strings.xml b/java/com/android/incallui/answer/impl/res/values-no/strings.xml
index b1c32bea4..42ff3d0af 100644
--- a/java/com/android/incallui/answer/impl/res/values-no/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-no/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Sveip fra ikonet for å avslå med en melding"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Svar, og avslutt samtalen som er i gang"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video er av"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Sveip oppover med to fingre for å svare. Sveip nedover med to fingre for å avvise."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Haster"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Viktig"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-pa/strings.xml b/java/com/android/incallui/answer/impl/res/values-pa/strings.xml
index d2b14523c..3772f291f 100644
--- a/java/com/android/incallui/answer/impl/res/values-pa/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pa/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"ਸੁਨੇਹੇ ਦੇ ਨਾਲ ਅਸਵੀਕਾਰ ਕਰਨ ਲਈ ਚਿੰਨ੍ਹ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"ਜਵਾਬ ਦਿਓ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰੋ"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ਵੀਡੀਓ ਬੰਦ ਹੈ"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ਜਵਾਬ ਦੇਣ ਲਈ ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਅਸਵੀਕਾਰ ਕਰਨ ਲਈ ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"ਜ਼ਰੂਰੀ"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"ਮਹੱਤਵਪੂਰਨ"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-pl/strings.xml b/java/com/android/incallui/answer/impl/res/values-pl/strings.xml
index b0c44e72a..f6e1f1ba4 100644
--- a/java/com/android/incallui/answer/impl/res/values-pl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Przesuń palcem od ikony, aby odrzucić połączenie i wysłać wiadomość"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Odbierz połączenie i zakończ trwającą rozmowę"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Wideo jest wyłączone"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Przesuń dwoma palcami w górę, aby odebrać. Przesuń dwoma palcami w dół, aby odrzucić."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Pilne"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Ważne"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml b/java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml
index fe1c89de4..1ed245140 100644
--- a/java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pt-rBR/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Deslize a partir do ícone para recusar com uma mensagem"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Atender e encerrar a chamada em andamento"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"O vídeo está desativado"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Deslize com dois dedos para cima para atender. Deslize com dois dedos para baixo para recusar."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgente"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Importante"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml b/java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml
index 1a23a4a9d..f1e17a1d9 100644
--- a/java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pt-rPT/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Deslize rapidamente a partir do ícone para recusar com uma mensagem"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Atender e terminar uma chamada em curso"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"O vídeo está desativado"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Deslize rapidamente com dois dedos para cima para responder. Deslize rapidamente com dois dedos para baixo para recusar."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgente"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Importante"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-pt/strings.xml b/java/com/android/incallui/answer/impl/res/values-pt/strings.xml
index fe1c89de4..1ed245140 100644
--- a/java/com/android/incallui/answer/impl/res/values-pt/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pt/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Deslize a partir do ícone para recusar com uma mensagem"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Atender e encerrar a chamada em andamento"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"O vídeo está desativado"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Deslize com dois dedos para cima para atender. Deslize com dois dedos para baixo para recusar."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgente"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Importante"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ro/strings.xml b/java/com/android/incallui/answer/impl/res/values-ro/strings.xml
index 6c8bafa28..0b1f4f481 100644
--- a/java/com/android/incallui/answer/impl/res/values-ro/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ro/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Glisați de pe pictogramă pentru a respinge cu un mesaj"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Răspundeți și încheiați apelul în curs"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Camera video este dezactivată."</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Glisați cu două degete în sus pentru a răspunde și în jos pentru a respinge."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgent"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Important"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ru/strings.xml b/java/com/android/incallui/answer/impl/res/values-ru/strings.xml
index 67ff06a34..d1fdcf73e 100644
--- a/java/com/android/incallui/answer/impl/res/values-ru/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ru/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Чтобы отклонить вызов и отправить SMS, проведите пальцем от значка"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Ответить и завершить текущий вызов"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Камера выключена"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Проведите двумя пальцами по экрану вверх, чтобы ответить, или вниз, чтобы отклонить вызов."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Срочно"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Важный звонок"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-si/strings.xml b/java/com/android/incallui/answer/impl/res/values-si/strings.xml
index ae3c08008..99f4989aa 100644
--- a/java/com/android/incallui/answer/impl/res/values-si/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-si/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"පණිවිඩය සහිතව ප්‍රතික්ෂේප කිරීමට නිරූපකයේ සිට ස්වයිප් කරන්න"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"යන අැමතුමට පිළිතරු දී අවසන් කරන්න"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"වීඩියෝව ක්‍රියාවිරහිතයි"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"පිළිතුරු දීමට ඇඟිලි දෙකකින් ඉහළට ස්වයිප් කරන්න, ප්‍රතික්ෂේප කිරීමට ඇඟිලි දෙකකින් පහළට ස්වයිප් කරන්න."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"හදිසි"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"වැදගත්"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-sk/strings.xml b/java/com/android/incallui/answer/impl/res/values-sk/strings.xml
index 179be7b08..fa00ac4c6 100644
--- a/java/com/android/incallui/answer/impl/res/values-sk/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sk/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Prejdením prstom od ikony odmietnuť so správou"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Prijať hovor a ukončiť prebiehajúci hovor"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video je vypnuté"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Ak chcete hovor prijať, prejdite dvomi prstami nahor. Ak ho chcete odmietnuť, prejdite dvomi prstami nadol."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Naliehavé"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Dôležité"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-sl/strings.xml b/java/com/android/incallui/answer/impl/res/values-sl/strings.xml
index 5f658be9d..147a09835 100644
--- a/java/com/android/incallui/answer/impl/res/values-sl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Povlecite z ikone, da klic zavrnete s sporočilom"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Sprejmi klic in končaj aktivni klic"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video je izklopljen"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Z dvema prstoma povlecite navzgor, da sprejmete klic. Z dvema prstoma povlecite navzdol, da zavrnete klic."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Nujno"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Pomembno"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-sq/strings.xml b/java/com/android/incallui/answer/impl/res/values-sq/strings.xml
index 1de60c9c9..e71691af8 100644
--- a/java/com/android/incallui/answer/impl/res/values-sq/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sq/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Rrëshqit nga ikona për të refuzuar me mesazh"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Përgjigju dhe mbyll telefonatën në vazhdim"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Videoja është joaktive"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Rrëshqit dy gishta lart për t\'u përgjigjur. Rrëshqit dy gishta poshtë për të refuzuar."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Urgjente"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"E rëndësishme"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-sr/strings.xml b/java/com/android/incallui/answer/impl/res/values-sr/strings.xml
index 4d6ef5636..c802b0e97 100644
--- a/java/com/android/incallui/answer/impl/res/values-sr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Превуците од иконе да бисте одбили поруком"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Јавите се и завршите позив који је у току"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Камера је искључена"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Превуците нагоре помоћу два прста да бисте одговорили. Превуците надоле помоћу два прста да бисте одбили."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Хитно"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Важно"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-sv/strings.xml b/java/com/android/incallui/answer/impl/res/values-sv/strings.xml
index e47b4e0a3..2265dc4c2 100644
--- a/java/com/android/incallui/answer/impl/res/values-sv/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sv/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Svep från ikonen för att avvisa med meddelande"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Svara och avsluta pågående samtal"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video avstängd"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Dra två fingrar uppåt för att svara och två nedåt för att avvisa."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Brådskande"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Viktigt"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-sw/strings.xml b/java/com/android/incallui/answer/impl/res/values-sw/strings.xml
index 1e5896662..26e1b7ab5 100644
--- a/java/com/android/incallui/answer/impl/res/values-sw/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sw/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Telezesha kidole ukianzia kwenye aikoni ili utume ujumbe wa kukataa"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Jibu na ukate simu inayoendelea"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video imezimwa"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Telezesha juu kwa vidole viwili ili uijibu. Telezesha chini kwa vidole viwili ili uikate."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Dharura"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Muhimu"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ta/strings.xml b/java/com/android/incallui/answer/impl/res/values-ta/strings.xml
index 847936f5b..453781dae 100644
--- a/java/com/android/incallui/answer/impl/res/values-ta/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ta/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"செய்தியுடன் நிராகரிக்க, ஐகானிலிருந்து ஸ்வைப் செய்யவும்"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலில் உள்ள அழைப்பை முடிக்கும்"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"வீடியோ முடக்கப்பட்டுள்ளது"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"பதிலளிக்க, இரு விரல்களால் மேலே ஸ்வைப் செய்யவும். நிராகரிக்க, இரு விரல்களால் கீழே ஸ்வைப் செய்யவும்."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"அவசரம்"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"முக்கிய அழைப்பு"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-te/strings.xml b/java/com/android/incallui/answer/impl/res/values-te/strings.xml
index abc390294..e0e508768 100644
--- a/java/com/android/incallui/answer/impl/res/values-te/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-te/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"సందేశంతో తిరస్కరించడానికి చిహ్నం నుండి స్వైప్ చేయండి"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"సమాధానం ఇస్తుంది మరియు కొనసాగుతున్న కాల్‌ను ముగిస్తుంది"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"వీడియో ఆఫ్‌లో ఉంది"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"సమాధానం ఇవ్వడానికి రెండు వేళ్లతో పైకి స్వైప్ చేయండి. తిరస్కరించడానికి రెండు వేళ్లతో క్రిందికి స్వైప్ చేయండి."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"అత్యవసరం"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"ముఖ్యమైనది"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-th/strings.xml b/java/com/android/incallui/answer/impl/res/values-th/strings.xml
index 54069b3d8..695da74f7 100644
--- a/java/com/android/incallui/answer/impl/res/values-th/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-th/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"เลื่อนไอคอนเพื่อปฏิเสธสายด้วยข้อความ"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"รับและวางสาย"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"วิดีโอปิดอยู่"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ใช้สองนิ้วเลื่อนขึ้นเพื่อรับสายและเลื่อนลงเพื่อตัดสาย"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"ด่วน"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"สำคัญ"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-tl/strings.xml b/java/com/android/incallui/answer/impl/res/values-tl/strings.xml
index 8f87b5605..6128d6fad 100644
--- a/java/com/android/incallui/answer/impl/res/values-tl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-tl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"I-swipe mula sa icon upang tanggihan gamit ang mensahe"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Sagutin at tapusin ang kasalukuyang tawag"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Naka-off ang video"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"I-swipe nang pataas gamit ang dalawang daliri upang sagutin. I-swipe nang pababa gamit ang dalawang daliri upang tanggihan."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Apurahan"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Mahalaga"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-tr/strings.xml b/java/com/android/incallui/answer/impl/res/values-tr/strings.xml
index 53f5eb9a9..87583c03d 100644
--- a/java/com/android/incallui/answer/impl/res/values-tr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-tr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Mesajla reddetmek için, simgeden hızlıca kaydırın"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Bir çağrı cevaplanır ve devam eden çağrı sona erdirilir"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video kapalı"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Cevaplamak için iki parmağınızla hızlıca yukarı kaydırın. Reddetmek içinse iki parmağınızla hızlıca aşağı kaydırın."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Acil"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Önemli"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-uk/strings.xml b/java/com/android/incallui/answer/impl/res/values-uk/strings.xml
index a0332d377..76eb2b0a2 100644
--- a/java/com/android/incallui/answer/impl/res/values-uk/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-uk/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Проведіть пальцем убік від значка, щоб відхилити з повідомленням"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Відповісти на виклик, завершивши поточний"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Відео вимкнено"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Проведіть двома пальцями вгору, щоб відповісти, або вниз, щоб відхилити дзвінок."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Терміново"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Важливо"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-ur/strings.xml b/java/com/android/incallui/answer/impl/res/values-ur/strings.xml
index e1813cbf7..2a44e9083 100644
--- a/java/com/android/incallui/answer/impl/res/values-ur/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ur/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"پیغام کے ساتھ رد کرنے کیلئے آئیکن سے سوائپ کریں"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"جواب دیں اور جاری کال ختم کریں"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"ویڈیو آف ہے"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"جواب دینے کیلئے دوانگلیوں کے ساتھ اوپر سوائپ کریں۔ مسترد کرنے کیلئے دو انگلیوں کے ساتھ نیچے سوائپ کریں۔"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"ارجنٹ"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"اہم"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-uz/strings.xml b/java/com/android/incallui/answer/impl/res/values-uz/strings.xml
index b83abcce0..f348a499d 100644
--- a/java/com/android/incallui/answer/impl/res/values-uz/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-uz/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Qo‘ng‘iroqni SMS bilan rad etish uchun nishonchadan suring."</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Kamera o‘chiq"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Chaqiruvga javob berish uchun ikki barmoq bilan tepaga, rad etish uchun ikki barmoq bilan pastga suring."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Juda muhim"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Muhim qo‘ng‘iroq"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-vi/strings.xml b/java/com/android/incallui/answer/impl/res/values-vi/strings.xml
index 94dd1c386..f4dfa5b1d 100644
--- a/java/com/android/incallui/answer/impl/res/values-vi/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-vi/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Vuốt từ biểu tượng để từ chối kèm thông báo"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Trả lời và kết thúc cuộc gọi đang diễn ra"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video đã tắt"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Vuốt hai ngón tay lên để trả lời. Vuốt hai ngón tay xuống để từ chối."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Khẩn cấp"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Quan trọng"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml b/java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml
index fc7ce6409..9698aa06d 100644
--- a/java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-zh-rCN/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"滑动图标即可拒接来电并发送信息"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"接听并结束当前通话"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"摄像头处于关闭状态"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"双指向上滑动即可接听,向下滑动则可拒接。"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"紧急"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"重要"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml b/java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml
index 97955396f..81a88151b 100644
--- a/java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-zh-rHK/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"從圖示快速滑動即可透過訊息拒絕"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"接聽及結束進行中的通話"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"視像已關閉"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"兩指向上滑動可接聽,向下滑動則可拒接。"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"緊急"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"重要事項"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml b/java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml
index f27e5ae5b..8f04992d1 100644
--- a/java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-zh-rTW/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"滑動圖示即可拒接來電並傳送簡訊"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"接聽來電及結束進行中的通話"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"已關閉攝影機"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"用雙指向上滑動可接聽,向下滑動可拒接。"</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"緊急"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"重要"</string>
</resources>
diff --git a/java/com/android/incallui/answer/impl/res/values-zu/strings.xml b/java/com/android/incallui/answer/impl/res/values-zu/strings.xml
index 52f2400eb..23c988eaa 100644
--- a/java/com/android/incallui/answer/impl/res/values-zu/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-zu/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swayipha isithonjana ukuze wenqabe ngomlayezo"</string>
@@ -20,5 +36,5 @@
<string name="a11y_description_incoming_call_answer_and_release" msgid="8511087499748888476">"Phendula uphinde uqede ikholi eqhubekayo"</string>
<string name="call_incoming_video_is_off" msgid="3216603035158629403">"Ividiyo ivaliwe"</string>
<string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swayiphela iminwe emibili phezulu ukuze uphendule. Swayiphela iminwe emibili phansi ukuze wenqabe."</string>
- <string name="call_incoming_important" msgid="4090408168895243702">"Okuphuthumayo"</string>
+ <string name="call_incoming_important" msgid="3762352743365137090">"Kubalulekile"</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 235922047..de5ee6e69 100644
--- a/java/com/android/incallui/answer/impl/res/values/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values/strings.xml
@@ -1,4 +1,19 @@
<?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>
<string name="call_incoming_swipe_to_decline_with_message">Swipe from icon to decline with message</string>
<string name="call_incoming_swipe_to_answer_video_as_audio">Swipe from icon to answer as an audio call</string>
@@ -26,5 +41,5 @@
<!-- Voice prompt of swipe gesture when accessibility is turned on. -->
<string description="The message announced to accessibility assistance on incoming call."
name="a11y_incoming_call_swipe_gesture_prompt">Two finger swipe up to answer. Two finger swipe down to decline.</string>
- <string name="call_incoming_important">Urgent</string>
+ <string name="call_incoming_important">Important</string>
</resources>
diff --git a/java/com/android/incallui/answer/protocol/AnswerScreen.java b/java/com/android/incallui/answer/protocol/AnswerScreen.java
index 8bcad6e35..5ad500200 100644
--- a/java/com/android/incallui/answer/protocol/AnswerScreen.java
+++ b/java/com/android/incallui/answer/protocol/AnswerScreen.java
@@ -30,6 +30,8 @@ public interface AnswerScreen {
boolean allowAnswerAndRelease();
+ boolean isActionTimeout();
+
void setTextResponses(List<String> textResponses);
boolean hasPendingDialogs();
diff --git a/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java b/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
index 9815981ca..5d2c415ed 100644
--- a/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
+++ b/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
@@ -32,6 +32,10 @@ public interface AnswerScreenDelegate {
void onReject();
void onAnswerAndReleaseCall();
+
+ void onAnswerAndReleaseButtonEnabled();
+
+ void onAnswerAndReleaseButtonDisabled();
/**
* Sets the window background color based on foreground call's theme and the given progress. This
* is called from the answer UI to animate the accept and reject action.
@@ -42,4 +46,7 @@ public interface AnswerScreenDelegate {
* @param progress float from -1 to 1. -1 is fully rejected, 1 is fully accepted, and 0 is neutral
*/
void updateWindowBackgroundColor(@FloatRange(from = -1f, to = 1.0f) float progress);
+
+ /** Returns true if any answer/reject action timed out. */
+ boolean isActionTimeout();
}
diff --git a/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java b/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java
index 24fbfc428..536a470b0 100644
--- a/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java
+++ b/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java
@@ -20,8 +20,8 @@ import android.content.Context;
import android.hardware.display.DisplayManager;
import android.os.PowerManager;
import android.view.Display;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.incallui.call.DialerCall;
import com.android.incallui.call.DialerCall.State;
import com.android.incallui.call.DialerCallListener;
@@ -143,6 +143,9 @@ public class AnswerProximitySensor
public void onInternationalCallOnWifi() {}
@Override
+ public void onEnrichedCallSessionUpdate() {}
+
+ @Override
public void onDialerCallSessionModificationStateChange() {}
@Override
diff --git a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java
index c757477f1..c7a9d6332 100644
--- a/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java
+++ b/java/com/android/incallui/audioroute/AudioRouteSelectorDialogFragment.java
@@ -18,6 +18,7 @@ package com.android.incallui.audioroute;
import android.app.Dialog;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.res.ColorStateList;
import android.graphics.PorterDuff.Mode;
import android.os.Bundle;
@@ -41,6 +42,8 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment
/** Called when an audio route is picked */
public interface AudioRouteSelectorPresenter {
void onAudioRouteSelected(int audioRoute);
+
+ void onAudioRouteSelectorDismiss();
}
public static AudioRouteSelectorDialogFragment newInstance(CallAudioState audioState) {
@@ -91,6 +94,14 @@ public class AudioRouteSelectorDialogFragment extends BottomSheetDialogFragment
return view;
}
+ @Override
+ public void onDismiss(DialogInterface dialogInterface) {
+ super.onDismiss(dialogInterface);
+ FragmentUtils.getParentUnsafe(
+ AudioRouteSelectorDialogFragment.this, AudioRouteSelectorPresenter.class)
+ .onAudioRouteSelectorDismiss();
+ }
+
private void initItem(TextView item, final int itemRoute, CallAudioState audioState) {
int selectedColor = getResources().getColor(R.color.dialer_theme_color);
if ((audioState.getSupportedRouteMask() & itemRoute) == 0) {
diff --git a/java/com/android/incallui/bindings/InCallUiBindings.java b/java/com/android/incallui/bindings/InCallUiBindings.java
index d3d3a8b37..5c6aef4be 100644
--- a/java/com/android/incallui/bindings/InCallUiBindings.java
+++ b/java/com/android/incallui/bindings/InCallUiBindings.java
@@ -19,7 +19,6 @@ package com.android.incallui.bindings;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.Nullable;
-import com.android.dialer.common.ConfigProvider;
/** This interface allows the container application to customize the in call UI. */
public interface InCallUiBindings {
@@ -37,12 +36,4 @@ public interface InCallUiBindings {
*/
@Nullable
Intent getCallStateButtonBroadcastIntent(Context context);
-
- @Nullable
- DistanceHelper newDistanceHelper(Context context, DistanceHelper.Listener listener);
-
- @Nullable
- ContactUtils getContactUtilsInstance(Context context);
-
- ConfigProvider getConfigProvider();
}
diff --git a/java/com/android/incallui/bindings/InCallUiBindingsStub.java b/java/com/android/incallui/bindings/InCallUiBindingsStub.java
index 7b42fb375..3a005b0fb 100644
--- a/java/com/android/incallui/bindings/InCallUiBindingsStub.java
+++ b/java/com/android/incallui/bindings/InCallUiBindingsStub.java
@@ -19,11 +19,9 @@ package com.android.incallui.bindings;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.Nullable;
-import com.android.dialer.common.ConfigProvider;
/** Default implementation for InCallUi bindings. */
public class InCallUiBindingsStub implements InCallUiBindings {
- private ConfigProvider configProvider;
@Override
@Nullable
@@ -42,40 +40,4 @@ public class InCallUiBindingsStub implements InCallUiBindings {
public Intent getCallStateButtonBroadcastIntent(Context context) {
return null;
}
-
- @Override
- @Nullable
- public DistanceHelper newDistanceHelper(Context context, DistanceHelper.Listener listener) {
- return null;
- }
-
- @Override
- @Nullable
- public ContactUtils getContactUtilsInstance(Context context) {
- return null;
- }
-
- @Override
- public ConfigProvider getConfigProvider() {
- if (configProvider == null) {
- configProvider =
- new ConfigProvider() {
- @Override
- public String getString(String key, String defaultValue) {
- return defaultValue;
- }
-
- @Override
- public long getLong(String key, long defaultValue) {
- return defaultValue;
- }
-
- @Override
- public boolean getBoolean(String key, boolean defaultValue) {
- return defaultValue;
- }
- };
- }
- return configProvider;
- }
}
diff --git a/java/com/android/incallui/call/CallList.java b/java/com/android/incallui/call/CallList.java
index 34f0cc0d7..269fcd68b 100644
--- a/java/com/android/incallui/call/CallList.java
+++ b/java/com/android/incallui/call/CallList.java
@@ -32,6 +32,8 @@ import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
import com.android.dialer.blocking.FilteredNumbersUtil;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.enrichedcall.EnrichedCallComponent;
+import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.location.GeoUtil;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
@@ -117,6 +119,10 @@ public class CallList implements DialerCallDelegate {
new DialerCall(context, this, telecomCall, latencyReport, true /* registerCallback */);
logSecondIncomingCall(context, call);
+ EnrichedCallManager manager = EnrichedCallComponent.get(context).getEnrichedCallManager();
+ manager.registerCapabilitiesListener(call);
+ manager.registerStateChangedListener(call);
+
final DialerCallListenerImpl dialerCallListener = new DialerCallListenerImpl(call);
call.addListener(dialerCallListener);
LogUtil.d("CallList.onCallAdded", "callState=" + call.getState());
@@ -278,6 +284,10 @@ public class CallList implements DialerCallDelegate {
DialerCall call = mCallByTelecomCall.get(telecomCall);
Assert.checkArgument(!call.isExternalCall());
+ EnrichedCallManager manager = EnrichedCallComponent.get(context).getEnrichedCallManager();
+ manager.unregisterCapabilitiesListener(call);
+ manager.unregisterStateChangedListener(call);
+
// Don't log an already logged call. logCall() might be called multiple times
// for the same call due to b/24109437.
if (call.getLogState() != null && !call.getLogState().isLogged) {
@@ -289,6 +299,8 @@ public class CallList implements DialerCallDelegate {
LogUtil.w(
"CallList.onCallRemoved", "Removing call not previously disconnected " + call.getId());
}
+
+ call.onRemovedFromCallList();
}
if (!hasLiveCall()) {
@@ -556,7 +568,8 @@ public class CallList implements DialerCallDelegate {
*
* @param call The call to update.
*/
- private void onUpdateCall(DialerCall call) {
+ @VisibleForTesting
+ void onUpdateCall(DialerCall call) {
LogUtil.d("CallList.onUpdateCall", String.valueOf(call));
if (!mCallById.containsKey(call.getId()) && call.isExternalCall()) {
// When a regular call becomes external, it is removed from the call list, and there may be
@@ -793,6 +806,9 @@ public class CallList implements DialerCallDelegate {
}
@Override
+ public void onEnrichedCallSessionUpdate() {}
+
+ @Override
public void onDialerCallSessionModificationStateChange() {
for (Listener listener : mListeners) {
listener.onSessionModificationStateChange(mCall);
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index acedf41f1..88e0dbb5e 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -47,10 +47,14 @@ import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentParser;
import com.android.dialer.callintent.CallSpecificAppData;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.enrichedcall.EnrichedCallCapabilities;
import com.android.dialer.enrichedcall.EnrichedCallComponent;
+import com.android.dialer.enrichedcall.EnrichedCallManager;
+import com.android.dialer.enrichedcall.EnrichedCallManager.CapabilitiesListener;
+import com.android.dialer.enrichedcall.EnrichedCallManager.Filter;
+import com.android.dialer.enrichedcall.EnrichedCallManager.StateChangedListener;
import com.android.dialer.enrichedcall.Session;
import com.android.dialer.lightbringer.LightbringerComponent;
import com.android.dialer.logging.ContactLookupResult;
@@ -77,7 +81,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.TimeUnit;
/** Describes a single call and its state. */
-public class DialerCall implements VideoTechListener {
+public class DialerCall implements VideoTechListener, StateChangedListener, CapabilitiesListener {
public static final int CALL_HISTORY_STATUS_UNKNOWN = 0;
public static final int CALL_HISTORY_STATUS_PRESENT = 1;
@@ -143,6 +147,12 @@ public class DialerCall implements VideoTechListener {
private EnrichedCallCapabilities mEnrichedCallCapabilities;
private Session mEnrichedCallSession;
+ private int answerAndReleaseButtonDisplayedTimes = 0;
+ private boolean releasedByAnsweringSecondCall = false;
+ // Times when a second call is received but AnswerAndRelease button is not shown
+ // since it's not supported.
+ private int secondCallWithoutAnswerAndReleasedButtonTimes = 0;
+
public static String getNumberFromHandle(Uri handle) {
return handle == null ? "" : handle.getSchemeSpecificPart();
}
@@ -153,6 +163,9 @@ public class DialerCall implements VideoTechListener {
*/
private boolean isRemotelyHeld;
+ /** Indicates whether this call is currently in the process of being merged into a conference. */
+ private boolean isMergeInProcess;
+
/**
* Indicates whether the phone account associated with this call supports specifying a call
* subject.
@@ -255,6 +268,14 @@ public class DialerCall implements VideoTechListener {
case TelephonyManagerCompat.EVENT_NOTIFY_INTERNATIONAL_CALL_ON_WFC:
notifyInternationalCallOnWifi();
break;
+ case TelephonyManagerCompat.EVENT_MERGE_START:
+ LogUtil.i("DialerCall.onConnectionEvent", "merge start");
+ isMergeInProcess = true;
+ break;
+ case TelephonyManagerCompat.EVENT_MERGE_COMPLETE:
+ LogUtil.i("DialerCall.onConnectionEvent", "merge complete");
+ isMergeInProcess = false;
+ break;
default:
break;
}
@@ -292,6 +313,8 @@ public class DialerCall implements VideoTechListener {
mTimeAddedMs = System.currentTimeMillis();
parseCallSpecificAppData();
+
+ updateEnrichedCallSession();
}
private static int translateState(int state) {
@@ -413,6 +436,12 @@ public class DialerCall implements VideoTechListener {
for (DialerCallListener listener : mListeners) {
listener.onDialerCallDisconnect();
}
+ EnrichedCallComponent.get(mContext)
+ .getEnrichedCallManager()
+ .unregisterCapabilitiesListener(this);
+ EnrichedCallComponent.get(mContext)
+ .getEnrichedCallManager()
+ .unregisterCapabilitiesListener(this);
} else {
for (DialerCallListener listener : mListeners) {
listener.onDialerCallUpdate();
@@ -952,6 +981,10 @@ public class DialerCall implements VideoTechListener {
return isRemotelyHeld;
}
+ public boolean isMergeInProcess() {
+ return isMergeInProcess;
+ }
+
public boolean isIncoming() {
return mLogState.isIncoming;
}
@@ -960,6 +993,30 @@ public class DialerCall implements VideoTechListener {
return mLatencyReport;
}
+ public int getAnswerAndReleaseButtonDisplayedTimes() {
+ return answerAndReleaseButtonDisplayedTimes;
+ }
+
+ public void increaseAnswerAndReleaseButtonDisplayedTimes() {
+ answerAndReleaseButtonDisplayedTimes++;
+ }
+
+ public boolean getReleasedByAnsweringSecondCall() {
+ return releasedByAnsweringSecondCall;
+ }
+
+ public void setReleasedByAnsweringSecondCall(boolean releasedByAnsweringSecondCall) {
+ this.releasedByAnsweringSecondCall = releasedByAnsweringSecondCall;
+ }
+
+ public int getSecondCallWithoutAnswerAndReleasedButtonTimes() {
+ return secondCallWithoutAnswerAndReleasedButtonTimes;
+ }
+
+ public void increaseSecondCallWithoutAnswerAndReleasedButtonTimes() {
+ secondCallWithoutAnswerAndReleasedButtonTimes++;
+ }
+
@Nullable
public EnrichedCallCapabilities getEnrichedCallCapabilities() {
return mEnrichedCallCapabilities;
@@ -1172,6 +1229,71 @@ public class DialerCall implements VideoTechListener {
TelecomAdapter.getInstance().setAudioRoute(CallAudioState.ROUTE_SPEAKER);
}
+ @Override
+ public void onCapabilitiesUpdated() {
+ if (getNumber() == null) {
+ return;
+ }
+ EnrichedCallCapabilities capabilities =
+ EnrichedCallComponent.get(mContext).getEnrichedCallManager().getCapabilities(getNumber());
+ if (capabilities != null) {
+ setEnrichedCallCapabilities(capabilities);
+ update();
+ }
+ }
+
+ @Override
+ public void onEnrichedCallStateChanged() {
+ updateEnrichedCallSession();
+ }
+
+ private void updateEnrichedCallSession() {
+ if (getNumber() == null) {
+ return;
+ }
+ if (getEnrichedCallSession() != null) {
+ // State changes to existing sessions are currently handled by the UI components (which have
+ // their own listeners). Someday instead we could remove those and just call update() here and
+ // have the usual onDialerCallUpdate update the UI.
+ dispatchOnEnrichedCallSessionUpdate();
+ return;
+ }
+
+ EnrichedCallManager manager = EnrichedCallComponent.get(mContext).getEnrichedCallManager();
+
+ Filter filter =
+ isIncoming()
+ ? manager.createIncomingCallComposerFilter()
+ : manager.createOutgoingCallComposerFilter();
+
+ Session session = manager.getSession(getUniqueCallId(), getNumber(), filter);
+ if (session == null) {
+ return;
+ }
+
+ session.setUniqueDialerCallId(getUniqueCallId());
+ setEnrichedCallSession(session);
+
+ LogUtil.i(
+ "DialerCall.updateEnrichedCallSession",
+ "setting session %d's dialer id to %s",
+ session.getSessionId(),
+ getUniqueCallId());
+
+ dispatchOnEnrichedCallSessionUpdate();
+ }
+
+ private void dispatchOnEnrichedCallSessionUpdate() {
+ for (DialerCallListener listener : mListeners) {
+ listener.onEnrichedCallSessionUpdate();
+ }
+ }
+
+ void onRemovedFromCallList() {
+ // Ensure we clean up when this call is removed.
+ mVideoTechManager.dispatchRemovedFromCallList();
+ }
+
/**
* Specifies whether a number is in the call history or not. {@link #CALL_HISTORY_STATUS_UNKNOWN}
* means there is no result.
@@ -1372,6 +1494,7 @@ public class DialerCall implements VideoTechListener {
String phoneNumber = call.getNumber();
phoneNumber = phoneNumber != null ? phoneNumber : "";
+ phoneNumber = phoneNumber.replaceAll("[^+0-9]", "");
// Insert order here determines the priority of that video tech option
videoTechs = new ArrayList<>();
@@ -1390,7 +1513,10 @@ public class DialerCall implements VideoTechListener {
videoTechs.add(
new LightbringerTech(
- LightbringerComponent.get(call.mContext).getLightbringer(), call, phoneNumber));
+ LightbringerComponent.get(call.mContext).getLightbringer(),
+ call,
+ call.mTelecomCall,
+ phoneNumber));
}
VideoTech getVideoTech() {
@@ -1414,6 +1540,12 @@ public class DialerCall implements VideoTechListener {
videoTech.onCallStateChanged(context, newState);
}
}
+
+ void dispatchRemovedFromCallList() {
+ for (VideoTech videoTech : videoTechs) {
+ videoTech.onRemovedFromCallList();
+ }
+ }
}
/** Called when canned text responses have been loaded. */
diff --git a/java/com/android/incallui/call/DialerCallListener.java b/java/com/android/incallui/call/DialerCallListener.java
index ed321be05..5d24a4d4b 100644
--- a/java/com/android/incallui/call/DialerCallListener.java
+++ b/java/com/android/incallui/call/DialerCallListener.java
@@ -36,4 +36,6 @@ public interface DialerCallListener {
void onHandoverToWifiFailure();
void onInternationalCallOnWifi();
+
+ void onEnrichedCallSessionUpdate();
}
diff --git a/java/com/android/incallui/call/TelecomAdapter.java b/java/com/android/incallui/call/TelecomAdapter.java
index ebf4ecf4f..4fc9f81eb 100644
--- a/java/com/android/incallui/call/TelecomAdapter.java
+++ b/java/com/android/incallui/call/TelecomAdapter.java
@@ -20,12 +20,13 @@ import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.os.Looper;
import android.support.annotation.MainThread;
+import android.support.annotation.VisibleForTesting;
import android.telecom.InCallService;
import com.android.dialer.common.LogUtil;
import java.util.List;
/** Wrapper around Telecom APIs. */
-public final class TelecomAdapter implements InCallServiceListener {
+public class TelecomAdapter implements InCallServiceListener {
private static final String ADD_CALL_MODE_KEY = "add_call_mode";
@@ -45,6 +46,11 @@ public final class TelecomAdapter implements InCallServiceListener {
return sInstance;
}
+ @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+ public static void setInstanceForTesting(TelecomAdapter telecomAdapter) {
+ sInstance = telecomAdapter;
+ }
+
@Override
public void setInCallService(InCallService inCallService) {
mInCallService = inCallService;
diff --git a/java/com/android/incallui/calllocation/impl/DownloadMapImageTask.java b/java/com/android/incallui/calllocation/impl/DownloadMapImageTask.java
index 801b0d35c..b093a1b15 100644
--- a/java/com/android/incallui/calllocation/impl/DownloadMapImageTask.java
+++ b/java/com/android/incallui/calllocation/impl/DownloadMapImageTask.java
@@ -21,6 +21,7 @@ import android.location.Location;
import android.net.TrafficStats;
import android.os.AsyncTask;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.constants.TrafficStatsTags;
import com.android.incallui.calllocation.impl.LocationPresenter.LocationUi;
import java.io.InputStream;
import java.lang.ref.WeakReference;
diff --git a/java/com/android/incallui/calllocation/impl/LocationHelper.java b/java/com/android/incallui/calllocation/impl/LocationHelper.java
index 3a1478945..99a759bbb 100644
--- a/java/com/android/incallui/calllocation/impl/LocationHelper.java
+++ b/java/com/android/incallui/calllocation/impl/LocationHelper.java
@@ -24,6 +24,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.IntDef;
import android.support.annotation.MainThread;
+import android.support.v4.os.UserManagerCompat;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.util.PermissionsUtil;
@@ -87,6 +88,12 @@ public class LocationHelper {
LogUtil.i("LocationHelper.canGetLocation", "location service is disabled.");
return false;
}
+
+ if (!UserManagerCompat.isUserUnlocked(context)) {
+ LogUtil.i("LocationHelper.canGetLocation", "location unavailable in FBE mode.");
+ return false;
+ }
+
return true;
}
diff --git a/java/com/android/incallui/calllocation/impl/ReverseGeocodeTask.java b/java/com/android/incallui/calllocation/impl/ReverseGeocodeTask.java
index eb5957b05..060ec0b4f 100644
--- a/java/com/android/incallui/calllocation/impl/ReverseGeocodeTask.java
+++ b/java/com/android/incallui/calllocation/impl/ReverseGeocodeTask.java
@@ -20,6 +20,7 @@ import android.location.Location;
import android.net.TrafficStats;
import android.os.AsyncTask;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.constants.TrafficStatsTags;
import com.android.incallui.calllocation.impl.LocationPresenter.LocationUi;
import java.lang.ref.WeakReference;
import org.json.JSONArray;
diff --git a/java/com/android/incallui/commontheme/res/anim/blinking.xml b/java/com/android/incallui/commontheme/res/anim/blinking.xml
deleted file mode 100644
index 4b921c611..000000000
--- a/java/com/android/incallui/commontheme/res/anim/blinking.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<set xmlns:android="http://schemas.android.com/apk/res/android">
- <alpha
- android:duration="800"
- android:fromAlpha="0.26"
- android:interpolator="@android:anim/linear_interpolator"
- android:repeatCount="infinite"
- android:repeatMode="reverse"
- android:toAlpha="0.6"/>
-</set> \ No newline at end of file
diff --git a/java/com/android/incallui/commontheme/res/drawable-hdpi/ic_phone_audio_white_36dp.png b/java/com/android/incallui/commontheme/res/drawable-hdpi/ic_phone_audio_white_36dp.png
deleted file mode 100644
index 26f3fe001..000000000
--- a/java/com/android/incallui/commontheme/res/drawable-hdpi/ic_phone_audio_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/commontheme/res/drawable-mdpi/ic_phone_audio_white_36dp.png b/java/com/android/incallui/commontheme/res/drawable-mdpi/ic_phone_audio_white_36dp.png
deleted file mode 100644
index 5b0a9d663..000000000
--- a/java/com/android/incallui/commontheme/res/drawable-mdpi/ic_phone_audio_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/commontheme/res/drawable-xhdpi/ic_phone_audio_white_36dp.png b/java/com/android/incallui/commontheme/res/drawable-xhdpi/ic_phone_audio_white_36dp.png
deleted file mode 100644
index d595b190d..000000000
--- a/java/com/android/incallui/commontheme/res/drawable-xhdpi/ic_phone_audio_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/commontheme/res/drawable-xxhdpi/ic_phone_audio_white_36dp.png b/java/com/android/incallui/commontheme/res/drawable-xxhdpi/ic_phone_audio_white_36dp.png
deleted file mode 100644
index fb7cf161b..000000000
--- a/java/com/android/incallui/commontheme/res/drawable-xxhdpi/ic_phone_audio_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/commontheme/res/drawable-xxxhdpi/ic_phone_audio_white_36dp.png b/java/com/android/incallui/commontheme/res/drawable-xxxhdpi/ic_phone_audio_white_36dp.png
deleted file mode 100644
index 4bb58d9f5..000000000
--- a/java/com/android/incallui/commontheme/res/drawable-xxxhdpi/ic_phone_audio_white_36dp.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/commontheme/res/values-af/strings.xml b/java/com/android/incallui/commontheme/res/values-af/strings.xml
index 0dfdbc7d5..0721869bb 100644
--- a/java/com/android/incallui/commontheme/res/values-af/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-af/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Beëindig oproep"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video aan"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video af"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Verwissel video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Luidspreker"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Klank"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-am/strings.xml b/java/com/android/incallui/commontheme/res/values-am/strings.xml
index 3155c39be..9d748e380 100644
--- a/java/com/android/incallui/commontheme/res/values-am/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-am/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"ጥሪ ጨርስ"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ቪዲዮ በርቷል"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ቪዲዮ ጠፍቷል"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ቪዲዮ አገላብጥ"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"የድምጽ ማጉያ"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ድምፅ"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ar/strings.xml b/java/com/android/incallui/commontheme/res/values-ar/strings.xml
index ecb3608bd..693bfc57a 100644
--- a/java/com/android/incallui/commontheme/res/values-ar/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ar/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"إنهاء المكالمة"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"الفيديو قيد التشغيل"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"الفيديو ليس قيد التشغيل"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"تبديل الفيديو"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"مكبر الصوت"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"صوت"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-az/strings.xml b/java/com/android/incallui/commontheme/res/values-az/strings.xml
index d935a6c93..a1d88ceef 100644
--- a/java/com/android/incallui/commontheme/res/values-az/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-az/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Zəngi sonlandırın"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video aktivdir"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video deaktivdir"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Videonu dəyişdirin"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Dinamik"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Səs"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-b+sr+Latn/strings.xml b/java/com/android/incallui/commontheme/res/values-b+sr+Latn/strings.xml
index 36430c42b..05ae59cdd 100644
--- a/java/com/android/incallui/commontheme/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-b+sr+Latn/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Završi poziv"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Uključi video"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Isključi video"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Zameni video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Zvučnik"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Zvuk"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-be/strings.xml b/java/com/android/incallui/commontheme/res/values-be/strings.xml
index 9609a6346..e772e2795 100644
--- a/java/com/android/incallui/commontheme/res/values-be/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-be/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Завяршыць выклік"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Відэа ўкл."</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Відэа выкл."</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Пераключыць відэа"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Вонк.дынамік"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Гук"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-bg/strings.xml b/java/com/android/incallui/commontheme/res/values-bg/strings.xml
index 1a0f3e312..63364f8e6 100644
--- a/java/com/android/incallui/commontheme/res/values-bg/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-bg/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Край на обаждането"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Видеото е включено"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Видеото е изключено"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Размяна на видеото"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Високогов."</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Звук"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-bn/strings.xml b/java/com/android/incallui/commontheme/res/values-bn/strings.xml
index ef2408f64..9871ea447 100644
--- a/java/com/android/incallui/commontheme/res/values-bn/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-bn/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"কল কেটে দিন"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ভিডিও চালু আছে"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ভিডিও বন্ধ আছে"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ভিডিও অদল বদল করুন"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"স্পিকার"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"শব্দ"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-bs/strings.xml b/java/com/android/incallui/commontheme/res/values-bs/strings.xml
index bfaff983f..76f991d64 100644
--- a/java/com/android/incallui/commontheme/res/values-bs/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-bs/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Prekini poziv"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Kamera je uključena"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Kamera je isključena"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Zamijeni kameru"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Zvučnik"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Zvuk"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ca/strings.xml b/java/com/android/incallui/commontheme/res/values-ca/strings.xml
index 1b6ed4492..832027d39 100644
--- a/java/com/android/incallui/commontheme/res/values-ca/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ca/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Finalitza la trucada"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vídeo activat"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vídeo desactivat"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Canvia de vídeo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Altaveu"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"So"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-cs/strings.xml b/java/com/android/incallui/commontheme/res/values-cs/strings.xml
index 1f10d85fe..7afdcba0b 100644
--- a/java/com/android/incallui/commontheme/res/values-cs/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-cs/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Ukončit hovor"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Zapnuté video"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vypnuté video"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Přepnout video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Reproduktor"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Zvuk"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-da/strings.xml b/java/com/android/incallui/commontheme/res/values-da/strings.xml
index 35d01e317..bd26e90e5 100644
--- a/java/com/android/incallui/commontheme/res/values-da/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-da/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Afslut opkald"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video til"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video fra"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Byt video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Højttaler"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Lyd"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-de/strings.xml b/java/com/android/incallui/commontheme/res/values-de/strings.xml
index 57a95b7f3..3fd10f0e6 100644
--- a/java/com/android/incallui/commontheme/res/values-de/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-de/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Anruf beenden"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video an"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video aus"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Video wechseln"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Lautsprecher"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Tonausgabe"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-el/strings.xml b/java/com/android/incallui/commontheme/res/values-el/strings.xml
index 6bb9edcd1..71c0be9a7 100644
--- a/java/com/android/incallui/commontheme/res/values-el/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-el/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Τερματισμός"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Εικόνα βίντεο ενεργοποιημένη"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Εικόνα βίντεο απενεργοποιημένη"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Εναλλαγή βίντεο"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Ηχείο"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Ήχος"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-en-rAU/strings.xml b/java/com/android/incallui/commontheme/res/values-en-rAU/strings.xml
index 8133185b5..4869c3fa3 100644
--- a/java/com/android/incallui/commontheme/res/values-en-rAU/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-en-rAU/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"End call"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video on"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video off"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Swap video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Speaker"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Sound"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-en-rGB/strings.xml b/java/com/android/incallui/commontheme/res/values-en-rGB/strings.xml
index 8133185b5..4869c3fa3 100644
--- a/java/com/android/incallui/commontheme/res/values-en-rGB/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-en-rGB/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"End call"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video on"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video off"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Swap video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Speaker"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Sound"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-en-rIN/strings.xml b/java/com/android/incallui/commontheme/res/values-en-rIN/strings.xml
index 8133185b5..4869c3fa3 100644
--- a/java/com/android/incallui/commontheme/res/values-en-rIN/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-en-rIN/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"End call"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video on"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video off"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Swap video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Speaker"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Sound"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-es-rUS/strings.xml b/java/com/android/incallui/commontheme/res/values-es-rUS/strings.xml
index 45f2e2f42..a9596d9e6 100644
--- a/java/com/android/incallui/commontheme/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-es-rUS/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Finalizar llamada"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video activado"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video desactivado"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Intercambiar video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Altavoz"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Sonido"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-es/strings.xml b/java/com/android/incallui/commontheme/res/values-es/strings.xml
index 56c8b2852..aa84c625b 100644
--- a/java/com/android/incallui/commontheme/res/values-es/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-es/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Finalizar llamada"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vídeo activado"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vídeo desactivado"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Cambiar de vídeo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Altavoz"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Sonido"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-et/strings.xml b/java/com/android/incallui/commontheme/res/values-et/strings.xml
index 069f3b5fd..ae2e1ba53 100644
--- a/java/com/android/incallui/commontheme/res/values-et/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-et/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Kõne lõpetamine"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video on sees"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video on väljas"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Video vahetamine"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Kõlar"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Heli"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-eu/strings.xml b/java/com/android/incallui/commontheme/res/values-eu/strings.xml
index bbcf5dc6e..0dd126c5a 100644
--- a/java/com/android/incallui/commontheme/res/values-eu/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-eu/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Amaitu deia"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Aktibatuta dago bideoa"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Desaktibatuta dago bideoa"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Aldatu bideoa"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Bozgorailua"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Soinua"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-fa/strings.xml b/java/com/android/incallui/commontheme/res/values-fa/strings.xml
index ea967bb7e..1996ad47b 100644
--- a/java/com/android/incallui/commontheme/res/values-fa/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-fa/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"پایان تماس"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ویدئو فعال"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ویدئو غیرفعال"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"جابه‌جایی ویدئو"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"بلندگو"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"صدا"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-fi/strings.xml b/java/com/android/incallui/commontheme/res/values-fi/strings.xml
index f0da44f07..5a579816b 100644
--- a/java/com/android/incallui/commontheme/res/values-fi/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-fi/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Päätä puhelu"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Videokuva käytössä"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Videokuva poissa käytöstä"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Vaihda videota"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Kaiutin"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Ääni"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-fr-rCA/strings.xml b/java/com/android/incallui/commontheme/res/values-fr-rCA/strings.xml
index bf74dfbef..a1db3065a 100644
--- a/java/com/android/incallui/commontheme/res/values-fr-rCA/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-fr-rCA/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Mettre fin à l\'appel"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vidéo activée"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vidéo désactivée"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Permuter la vidéo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Haut-parleur"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Son"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-fr/strings.xml b/java/com/android/incallui/commontheme/res/values-fr/strings.xml
index fb674a483..e169a3d7a 100644
--- a/java/com/android/incallui/commontheme/res/values-fr/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-fr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Mettre fin à l\'appel"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vidéo activée"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vidéo désactivée"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Permuter la vidéo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Haut-parleur"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Audio"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-gl/strings.xml b/java/com/android/incallui/commontheme/res/values-gl/strings.xml
index c7e221416..ba98a98a7 100644
--- a/java/com/android/incallui/commontheme/res/values-gl/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-gl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Finalizar chamada"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vídeo activado"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vídeo desactivado"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Alternar vídeo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Altofalante"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Son"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-gu/strings.xml b/java/com/android/incallui/commontheme/res/values-gu/strings.xml
index 75584ea0d..194590cec 100644
--- a/java/com/android/incallui/commontheme/res/values-gu/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-gu/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"કૉલ સમાપ્ત કરો"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"વિડિઓ ચાલુ"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"વિડિઓ બંધ"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"વિડિઓ સ્વેપ કરો"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"સ્પીકર"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ધ્વનિ"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-hi/strings.xml b/java/com/android/incallui/commontheme/res/values-hi/strings.xml
index f7ea68ad8..207bbf2be 100644
--- a/java/com/android/incallui/commontheme/res/values-hi/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-hi/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"कॉल समाप्त करें"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"वीडियो चालू"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"वीडियो बंद"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"वीडियो स्वैप करें"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"स्‍पीकर"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ध्वनि"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-hr/strings.xml b/java/com/android/incallui/commontheme/res/values-hr/strings.xml
index c30f3977e..c58ab852f 100644
--- a/java/com/android/incallui/commontheme/res/values-hr/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-hr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Prekid poziva"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Videopoziv uključen"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Videopoziv isključen"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Zamijeni videopoziv"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Zvučnik"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Zvuk"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-hu/strings.xml b/java/com/android/incallui/commontheme/res/values-hu/strings.xml
index 9ee2300e2..ba7fec7d5 100644
--- a/java/com/android/incallui/commontheme/res/values-hu/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-hu/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Hívás befejezése"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Videó be"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Videó ki"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Videó cseréje"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Hangszóró"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Hang"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-hy/strings.xml b/java/com/android/incallui/commontheme/res/values-hy/strings.xml
index 96a0cab6f..81262e4c6 100644
--- a/java/com/android/incallui/commontheme/res/values-hy/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-hy/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Ավարտել զանգը"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Տեսախցիկը միացած է"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Տեսախցիկն անջատած է"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Փոխարկել խցիկը"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Բարձրախոս"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Ձայն"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-in/strings.xml b/java/com/android/incallui/commontheme/res/values-in/strings.xml
index 4536f5db0..fb3fc56ec 100644
--- a/java/com/android/incallui/commontheme/res/values-in/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-in/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Akhiri panggilan"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video aktif"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video nonaktif"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Tukar Video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Speaker"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Suara"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-is/strings.xml b/java/com/android/incallui/commontheme/res/values-is/strings.xml
index 357f90eee..438b143e4 100644
--- a/java/com/android/incallui/commontheme/res/values-is/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-is/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Ljúka símtali"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Kveikja á mynd"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Slökkva á mynd"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Skipta um mynd"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Hátalari"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Hljóð"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-it/strings.xml b/java/com/android/incallui/commontheme/res/values-it/strings.xml
index a63d3140a..b7c1d3f4e 100644
--- a/java/com/android/incallui/commontheme/res/values-it/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-it/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Termina chiamata"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video attivo"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video non attivo"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Scambia video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Altoparlante"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Suono"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-iw/strings.xml b/java/com/android/incallui/commontheme/res/values-iw/strings.xml
index 1e2b7f2b1..cbd6d7573 100644
--- a/java/com/android/incallui/commontheme/res/values-iw/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-iw/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"סיים שיחה"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"הווידאו מופעל"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"הווידאו מושבת"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"החלף וידאו"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"רמקול"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"קול"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ja/strings.xml b/java/com/android/incallui/commontheme/res/values-ja/strings.xml
index 658b51349..4ea949581 100644
--- a/java/com/android/incallui/commontheme/res/values-ja/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ja/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"通話を終了"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ビデオが ON になっています"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ビデオが OFF になっています"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ビデオを切り替える"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"スピーカー"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"音声"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ka/strings.xml b/java/com/android/incallui/commontheme/res/values-ka/strings.xml
index ffba7cede..3163476b6 100644
--- a/java/com/android/incallui/commontheme/res/values-ka/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ka/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"ზარის დასრულება"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ვიდეო ჩართულია"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ვიდეო გამორთულია"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ვიდეოს შენაცვლება"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"სპიკერი"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ხმა"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-kk/strings.xml b/java/com/android/incallui/commontheme/res/values-kk/strings.xml
index ace83ecee..23b3a2ad6 100644
--- a/java/com/android/incallui/commontheme/res/values-kk/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-kk/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Қоңырауды аяқтау"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Бейне қосулы"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Бейне өшірулі"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Бейнені ауыстыру"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Динамик"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Дыбыс"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-km/strings.xml b/java/com/android/incallui/commontheme/res/values-km/strings.xml
index e28f12029..55cfa0a16 100644
--- a/java/com/android/incallui/commontheme/res/values-km/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-km/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"បញ្ចប់​ការ​ហៅ"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"បើក​វីដេអូ​"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"បិទ​វីដេអូ"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ប្ដូរ​វីដេអូ"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"ឧបករណ៍​បំពង​សំឡេង"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"សំឡេង"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-kn/strings.xml b/java/com/android/incallui/commontheme/res/values-kn/strings.xml
index 59186e0a3..685ef642f 100644
--- a/java/com/android/incallui/commontheme/res/values-kn/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-kn/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"ಕರೆ ಅಂತ್ಯಗೊಳಿಸಿ"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ವೀಡಿಯೊ ಆನ್"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ವೀಡಿಯೊ ಆಫ್"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ವೀಡಿಯೊ ಬದಲಾಯಿಸಿ"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"ಸ್ಪೀಕರ್‌"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ಶಬ್ದ"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ko/strings.xml b/java/com/android/incallui/commontheme/res/values-ko/strings.xml
index 0a0e3c9aa..088746ddd 100644
--- a/java/com/android/incallui/commontheme/res/values-ko/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ko/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"통화 종료"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"동영상 켜짐"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"동영상 꺼짐"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"동영상 전환"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"스피커"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"소리"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ky/strings.xml b/java/com/android/incallui/commontheme/res/values-ky/strings.xml
index ac697e4fe..5dd4d0c21 100644
--- a/java/com/android/incallui/commontheme/res/values-ky/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ky/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Чалууну бүтүрүү"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Видео күйүк"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Видео өчүк"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Видеону иштетүү/өчүрүү"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Катуу сүйлөткүч"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Добуш"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-lo/strings.xml b/java/com/android/incallui/commontheme/res/values-lo/strings.xml
index da2050ac2..2f0b94b54 100644
--- a/java/com/android/incallui/commontheme/res/values-lo/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-lo/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"ວາງສາຍ"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ວິດີໂອເປີດ"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ວິດີໂອປິດ"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ສະຫຼັບວິດີໂອ"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"ລຳໂພງ"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ສຽງ"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-lt/strings.xml b/java/com/android/incallui/commontheme/res/values-lt/strings.xml
index bda53d6f6..d0a5e0d9c 100644
--- a/java/com/android/incallui/commontheme/res/values-lt/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-lt/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Baigti skambutį"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vaizdas įjungtas"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vaizdas išjungtas"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Sukeisti vaizdą"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Garsiakalbis"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Garsas"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-lv/strings.xml b/java/com/android/incallui/commontheme/res/values-lv/strings.xml
index beaf35c58..443ac5e80 100644
--- a/java/com/android/incallui/commontheme/res/values-lv/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-lv/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Beigt zvanu"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video ieslēgts"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video izslēgts"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Mainīt video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Skaļrunis"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Skaņa"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-mk/strings.xml b/java/com/android/incallui/commontheme/res/values-mk/strings.xml
index 5b4f6d0c5..d9a339eab 100644
--- a/java/com/android/incallui/commontheme/res/values-mk/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-mk/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Завршете го повикот"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Видеото е вклучено"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Видеото е исклучено"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Заменете го видеото"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Звучник"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Звук"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ml/strings.xml b/java/com/android/incallui/commontheme/res/values-ml/strings.xml
index 024266736..0f2d88968 100644
--- a/java/com/android/incallui/commontheme/res/values-ml/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ml/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"കോള്‍ അവസാനിപ്പിക്കൂ"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"വീഡിയോ ഓണാണ്"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"വീഡിയോ ഓഫാണ്"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"വീഡിയോ സ്വാപ്പുചെയ്യുക"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"സ്പീക്കർ"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ശബ്‌ദം"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-mn/strings.xml b/java/com/android/incallui/commontheme/res/values-mn/strings.xml
index cd286edb9..3665fcfa6 100644
--- a/java/com/android/incallui/commontheme/res/values-mn/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-mn/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Дуудлагыг таслах"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Видео идэвхтэй"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Видео идэвхгүй"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Видеог солих"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Чанга яригч"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Дуу"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-mr/strings.xml b/java/com/android/incallui/commontheme/res/values-mr/strings.xml
index 2c626edbd..f7498097f 100644
--- a/java/com/android/incallui/commontheme/res/values-mr/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-mr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"कॉल समाप्त करा"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"व्हिडिओ चालू"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"व्हिडिओ बंद"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"व्हिडिओ बदला"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"स्पीकर"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ध्वनी"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ms/strings.xml b/java/com/android/incallui/commontheme/res/values-ms/strings.xml
index f6c358d79..fb38fa9d1 100644
--- a/java/com/android/incallui/commontheme/res/values-ms/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ms/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Tamatkan panggilan"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video dihidupkan"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video dimatikan"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Silih video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Pmbsr suara"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Bunyi"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-my/strings.xml b/java/com/android/incallui/commontheme/res/values-my/strings.xml
index 6b6614c36..5b396be59 100644
--- a/java/com/android/incallui/commontheme/res/values-my/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-my/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"ခေါ်ဆိုမှုအပြီးသတ်ရန်"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ဗီဒီယိုဖွင့်ထားသည်"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ဗီဒီယိုပိတ်ထားသည်"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ဗီဒီယိုဖလှယ်ရန်"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"စပီကာ"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"အသံ"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-nb/strings.xml b/java/com/android/incallui/commontheme/res/values-nb/strings.xml
index 4974411bc..506b15e31 100644
--- a/java/com/android/incallui/commontheme/res/values-nb/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-nb/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Avslutt samtalen"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video på"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video av"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Bytt video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Høyttaler"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Lyd"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ne/strings.xml b/java/com/android/incallui/commontheme/res/values-ne/strings.xml
index 5cd91b336..fa9d87fb7 100644
--- a/java/com/android/incallui/commontheme/res/values-ne/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ne/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"कल अन्त्य गर्नुहोस्"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"सक्रिय भिडियो"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"निष्क्रिय भिडियो"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"भिडियो साट्नुहोस्"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"स्पिकर"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"आवाज"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-nl/strings.xml b/java/com/android/incallui/commontheme/res/values-nl/strings.xml
index d33d60075..192c47b97 100644
--- a/java/com/android/incallui/commontheme/res/values-nl/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-nl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Oproep beëindigen"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video aan"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video uit"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Video wisselen"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Luidspreker"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Geluid"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-no/strings.xml b/java/com/android/incallui/commontheme/res/values-no/strings.xml
index 4974411bc..506b15e31 100644
--- a/java/com/android/incallui/commontheme/res/values-no/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-no/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Avslutt samtalen"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video på"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video av"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Bytt video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Høyttaler"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Lyd"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-pa/strings.xml b/java/com/android/incallui/commontheme/res/values-pa/strings.xml
index 7e59e6114..77ceb252a 100644
--- a/java/com/android/incallui/commontheme/res/values-pa/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-pa/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"ਕਾਲ ਸਮਾਪਤ ਕਰੋ"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ਵੀਡੀਓ ਚਾਲੂ"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ਵੀਡੀਓ ਬੰਦ"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ਵੀਡੀਓ ਦੀ ਅਦਲਾ ਬਦਲੀ ਕਰੋ"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"ਸਪੀਕਰ"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ਧੁਨੀ"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-pl/strings.xml b/java/com/android/incallui/commontheme/res/values-pl/strings.xml
index 4ab1d244d..d9b037e8d 100644
--- a/java/com/android/incallui/commontheme/res/values-pl/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-pl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Zakończ połączenie"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Wideo włączone"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Wideo wyłączone"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Przełącz wideo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Głośnik"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Dźwięk"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-pt-rBR/strings.xml b/java/com/android/incallui/commontheme/res/values-pt-rBR/strings.xml
index 67f367466..2c1834e0f 100644
--- a/java/com/android/incallui/commontheme/res/values-pt-rBR/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-pt-rBR/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Encerrar chamada"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vídeo ativado"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vídeo desativado"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Trocar vídeo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Alto-falante"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Som"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-pt-rPT/strings.xml b/java/com/android/incallui/commontheme/res/values-pt-rPT/strings.xml
index 27c564928..f0c14d027 100644
--- a/java/com/android/incallui/commontheme/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-pt-rPT/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Terminar chamada"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vídeo ativado"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vídeo desativado"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Alternar vídeo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Altifalante"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Som"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-pt/strings.xml b/java/com/android/incallui/commontheme/res/values-pt/strings.xml
index 67f367466..2c1834e0f 100644
--- a/java/com/android/incallui/commontheme/res/values-pt/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-pt/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Encerrar chamada"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vídeo ativado"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Vídeo desativado"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Trocar vídeo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Alto-falante"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Som"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ro/strings.xml b/java/com/android/incallui/commontheme/res/values-ro/strings.xml
index b7fec9a58..f7c8f7257 100644
--- a/java/com/android/incallui/commontheme/res/values-ro/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ro/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Încheiați apelul"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Imaginea video este activată"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Imaginea video este dezactivată"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Schimbați imaginea video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Difuzor"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Sunet"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ru/strings.xml b/java/com/android/incallui/commontheme/res/values-ru/strings.xml
index 5d1807f7a..1853ad23f 100644
--- a/java/com/android/incallui/commontheme/res/values-ru/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ru/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Завершить вызов"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Камера включена"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Камера выключена"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Включить/выключить камеру"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Динамик"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Звук"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-si/strings.xml b/java/com/android/incallui/commontheme/res/values-si/strings.xml
index 0a0f35c47..ae13cc424 100644
--- a/java/com/android/incallui/commontheme/res/values-si/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-si/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"ඇමතුම අවසන් කරන්න"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"වීඩියෝව ක්‍රියාත්මකයි"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"වීඩියෝව ක්‍රියාවිරහිතයි"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"වීඩියෝව මාරු කරන්න"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"ස්පීකරය"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"හඬ"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-sk/strings.xml b/java/com/android/incallui/commontheme/res/values-sk/strings.xml
index 97eabebb4..cd9aa9912 100644
--- a/java/com/android/incallui/commontheme/res/values-sk/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-sk/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Ukončiť hovor"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video je zapnuté"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video je vypnuté"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Zameniť video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Reproduktor"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Zvuk"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-sl/strings.xml b/java/com/android/incallui/commontheme/res/values-sl/strings.xml
index 46cf2e8ee..0aa6e699a 100644
--- a/java/com/android/incallui/commontheme/res/values-sl/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-sl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Končaj klic"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Vklopi video"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Izklopi video"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Zamenjaj video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Zvočnik"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Zvok"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-sq/strings.xml b/java/com/android/incallui/commontheme/res/values-sq/strings.xml
index 17ec08167..b9c97d1dd 100644
--- a/java/com/android/incallui/commontheme/res/values-sq/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-sq/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Mbylle telefonatën"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Videoja aktive"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Videoja joaktive"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Shkëmbe video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Altoparlanti"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Tingulli"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-sr/strings.xml b/java/com/android/incallui/commontheme/res/values-sr/strings.xml
index 2928bc992..67586b72e 100644
--- a/java/com/android/incallui/commontheme/res/values-sr/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-sr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Заврши позив"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Укључи видео"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Искључи видео"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Замени видео"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Звучник"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Звук"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-sv/strings.xml b/java/com/android/incallui/commontheme/res/values-sv/strings.xml
index 17b5d3745..957a2f85a 100644
--- a/java/com/android/incallui/commontheme/res/values-sv/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-sv/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Avsluta samtal"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video på"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video av"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Byt video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Högtalare"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Ljud"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-sw/strings.xml b/java/com/android/incallui/commontheme/res/values-sw/strings.xml
index 165d57622..8752c2d37 100644
--- a/java/com/android/incallui/commontheme/res/values-sw/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-sw/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Kata simu"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Washa video"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Zima video"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Badilisha video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Spika"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Sauti"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ta/strings.xml b/java/com/android/incallui/commontheme/res/values-ta/strings.xml
index fa2dfb280..69258d2e6 100644
--- a/java/com/android/incallui/commontheme/res/values-ta/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ta/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"அழைப்பைத் துண்டிக்கும்"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"வீடியோ இயக்கப்பட்டது"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"வீடியோ முடக்கப்பட்டது"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"வீடியோவிற்கு மாற்றும்"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"ஸ்பீக்கர்"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ஒலி"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-te/strings.xml b/java/com/android/incallui/commontheme/res/values-te/strings.xml
index 3ce431cd1..9454e15b7 100644
--- a/java/com/android/incallui/commontheme/res/values-te/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-te/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"కాల్‌ను ముగిస్తుంది"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"వీడియో ఆన్‌లో ఉంది"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"వీడియో ఆఫ్‌లో ఉంది"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"వీడియోను మారుస్తుంది"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"స్పీకర్"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"ధ్వని"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-th/strings.xml b/java/com/android/incallui/commontheme/res/values-th/strings.xml
index 1fa145c02..823531000 100644
--- a/java/com/android/incallui/commontheme/res/values-th/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-th/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"วางสาย"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"เปิดวิดีโอ"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ปิดวิดีโอ"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"สลับวิดีโอ"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"ลำโพง"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"เสียง"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-tl/strings.xml b/java/com/android/incallui/commontheme/res/values-tl/strings.xml
index a53e11c7d..f368e3a68 100644
--- a/java/com/android/incallui/commontheme/res/values-tl/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-tl/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Tapusin ang tawag"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Naka-on ang video"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Naka-off ang video"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Pagpalitin ang video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Speaker"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Tunog"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-tr/strings.xml b/java/com/android/incallui/commontheme/res/values-tr/strings.xml
index 09552730a..cbf550211 100644
--- a/java/com/android/incallui/commontheme/res/values-tr/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-tr/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Çağrıyı sonlandırın"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video açık"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video kapalı"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Videoyu değiştirin"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Hoparlör"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Ses"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-uk/strings.xml b/java/com/android/incallui/commontheme/res/values-uk/strings.xml
index e17e781b3..2bcd04c0e 100644
--- a/java/com/android/incallui/commontheme/res/values-uk/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-uk/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Завершити виклик"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Відео ввімкнено"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Відео вимкнено"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Поміняти відео"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Динамік"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Звук"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-ur/strings.xml b/java/com/android/incallui/commontheme/res/values-ur/strings.xml
index 5082e9d11..bd8cf6807 100644
--- a/java/com/android/incallui/commontheme/res/values-ur/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-ur/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"کال ختم کریں"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"ویڈیو آن ہے"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"ویڈیو آف ہے"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"ویڈیو کا تبادلہ کریں"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"اسپیکر"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"آواز"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-uz/strings.xml b/java/com/android/incallui/commontheme/res/values-uz/strings.xml
index d349d3f9a..9bc995de2 100644
--- a/java/com/android/incallui/commontheme/res/values-uz/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-uz/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Qo‘ng‘iroqni tugatish"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Video yoniq"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Video o‘chiq"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Videoni yoqish/ochirish"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Karnay"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Tovush"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-vi/strings.xml b/java/com/android/incallui/commontheme/res/values-vi/strings.xml
index 3bd39ae4d..caf8f3434 100644
--- a/java/com/android/incallui/commontheme/res/values-vi/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-vi/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Kết thúc cuộc gọi"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Bật video"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Tắt video"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Hoán đổi video"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Loa"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Âm báo"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-zh-rCN/strings.xml b/java/com/android/incallui/commontheme/res/values-zh-rCN/strings.xml
index 0f57120e2..4d8bda6bc 100644
--- a/java/com/android/incallui/commontheme/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-zh-rCN/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"结束通话"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"视频已开启"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"视频已关闭"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"切换视频"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"免提"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"音频路径"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-zh-rHK/strings.xml b/java/com/android/incallui/commontheme/res/values-zh-rHK/strings.xml
index a3809ebca..175b3e657 100644
--- a/java/com/android/incallui/commontheme/res/values-zh-rHK/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-zh-rHK/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"結束通話"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"視像已開啟"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"視像已關閉"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"切換視像"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"喇叭"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"音效"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-zh-rTW/strings.xml b/java/com/android/incallui/commontheme/res/values-zh-rTW/strings.xml
index 983dddda7..dee1b9c95 100644
--- a/java/com/android/incallui/commontheme/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-zh-rTW/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"結束通話"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"開啟視訊畫面"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"關閉視訊畫面"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"切換視訊畫面"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"擴音"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"音訊"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values-zu/strings.xml b/java/com/android/incallui/commontheme/res/values-zu/strings.xml
index 2dd2c897e..953596231 100644
--- a/java/com/android/incallui/commontheme/res/values-zu/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values-zu/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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_content_description_end_call" msgid="8232796487777787200">"Qeda ikholi"</string>
@@ -15,4 +31,6 @@
<string name="incall_content_description_video_on" msgid="899266487647420613">"Ividiyo ivuliwe"</string>
<string name="incall_content_description_video_off" msgid="762985912616707076">"Ividiyo ivaliwe"</string>
<string name="incall_content_description_swap_video" msgid="297943299827908998">"Shintsha ividiyo"</string>
+ <string name="incall_label_speaker" msgid="1814254833253409394">"Isipikha"</string>
+ <string name="incall_label_audio" msgid="5923781170533336820">"Umsindo"</string>
</resources>
diff --git a/java/com/android/incallui/commontheme/res/values/strings.xml b/java/com/android/incallui/commontheme/res/values/strings.xml
index 6f346a34d..94a8c901b 100644
--- a/java/com/android/incallui/commontheme/res/values/strings.xml
+++ b/java/com/android/incallui/commontheme/res/values/strings.xml
@@ -1,4 +1,19 @@
<?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>
<string name="incall_content_description_end_call">End call</string>
@@ -32,4 +47,11 @@
<string name="incall_content_description_swap_video">Swap video</string>
+ <!-- Button shown during a phone to route audio from earpiece to speaker phone.
+ [CHAR LIMIT=12] -->
+ <string name="incall_label_speaker">Speaker</string>
+ <!-- Button shown during a phone to switch the audio route.
+ [CHAR LIMIT=12] -->
+ <string name="incall_label_audio">Sound</string>
+
</resources>
diff --git a/java/com/android/incallui/contactgrid/BottomRow.java b/java/com/android/incallui/contactgrid/BottomRow.java
index 228c786a0..d0ff1926a 100644
--- a/java/com/android/incallui/contactgrid/BottomRow.java
+++ b/java/com/android/incallui/contactgrid/BottomRow.java
@@ -22,7 +22,6 @@ import android.telephony.PhoneNumberUtils;
import android.text.BidiFormatter;
import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
-import com.android.contacts.common.compat.PhoneNumberUtilsCompat;
import com.android.incallui.call.DialerCall.State;
import com.android.incallui.incall.protocol.PrimaryCallState;
import com.android.incallui.incall.protocol.PrimaryInfo;
@@ -137,7 +136,7 @@ public class BottomRow {
}
private static CharSequence spanDisplayNumber(String displayNumber) {
- return PhoneNumberUtilsCompat.createTtsSpannable(
+ return PhoneNumberUtils.createTtsSpannable(
BidiFormatter.getInstance().unicodeWrap(displayNumber, TextDirectionHeuristics.LTR));
}
diff --git a/java/com/android/incallui/contactgrid/ContactGridManager.java b/java/com/android/incallui/contactgrid/ContactGridManager.java
index 1322d58ea..502cc52b8 100644
--- a/java/com/android/incallui/contactgrid/ContactGridManager.java
+++ b/java/com/android/incallui/contactgrid/ContactGridManager.java
@@ -20,10 +20,8 @@ import android.content.Context;
import android.graphics.drawable.Animatable;
import android.graphics.drawable.Drawable;
import android.os.SystemClock;
-import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewCompat;
-import android.telecom.TelecomManager;
import android.text.TextUtils;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
@@ -78,6 +76,7 @@ public class ContactGridManager {
private boolean hideAvatar;
private boolean showAnonymousAvatar;
private boolean middleRowVisible = true;
+ private boolean isTimerStarted;
private PrimaryInfo primaryInfo = PrimaryInfo.createEmptyPrimaryInfo();
private PrimaryCallState primaryCallState = PrimaryCallState.createEmptyPrimaryCallState();
@@ -105,6 +104,7 @@ public class ContactGridManager {
contactGridLayout = (View) contactNameTextView.getParent();
letterTile = new LetterTileDrawable(context.getResources());
+ isTimerStarted = false;
}
public void show() {
@@ -213,7 +213,7 @@ public class ContactGridManager {
* </ul>
*/
private void updateTopRow() {
- TopRow.Info info = TopRow.getInfo(context, primaryCallState);
+ TopRow.Info info = TopRow.getInfo(context, primaryCallState, primaryInfo);
if (TextUtils.isEmpty(info.label)) {
// Use INVISIBLE here to prevent the rows below this one from moving up and down.
statusTextView.setVisibility(View.INVISIBLE);
@@ -233,26 +233,6 @@ public class ContactGridManager {
}
/**
- * Returns the appropriate LetterTileDrawable.TYPE_ based on a given call state.
- *
- * <p>If no special state is detected, yields TYPE_DEFAULT.
- */
- private static @LetterTileDrawable.ContactType int getContactTypeForPrimaryCallState(
- @NonNull PrimaryCallState callState, @NonNull PrimaryInfo primaryInfo) {
- if (callState.isVoiceMailNumber) {
- return LetterTileDrawable.TYPE_VOICEMAIL;
- } else if (callState.isBusinessNumber) {
- return LetterTileDrawable.TYPE_BUSINESS;
- } else if (primaryInfo.numberPresentation == TelecomManager.PRESENTATION_RESTRICTED) {
- return LetterTileDrawable.TYPE_GENERIC_AVATAR;
- } else if (callState.isConference) {
- return LetterTileDrawable.TYPE_CONFERENCE;
- } else {
- return LetterTileDrawable.TYPE_DEFAULT;
- }
- }
-
- /**
* Updates row 1. For example:
*
* <ul>
@@ -295,8 +275,12 @@ public class ContactGridManager {
primaryInfo.name,
primaryInfo.contactInfoLookupKey,
LetterTileDrawable.SHAPE_CIRCLE,
- getContactTypeForPrimaryCallState(primaryCallState, primaryInfo));
-
+ LetterTileDrawable.getContactTypeFromPrimitives(
+ primaryCallState.isVoiceMailNumber,
+ primaryInfo.isSpam,
+ primaryCallState.isBusinessNumber,
+ primaryInfo.numberPresentation,
+ primaryCallState.isConference));
// By invalidating the avatarImageView we force a redraw of the letter tile.
// This is required to properly display the updated letter tile iconography based on the
// contact type, because the background drawable reference cached in the view, and the
@@ -363,15 +347,19 @@ public class ContactGridManager {
}
if (info.isTimerVisible) {
- bottomTextSwitcher.setDisplayedChild(1);
- bottomTimerView.setBase(
- primaryCallState.connectTimeMillis
- - System.currentTimeMillis()
- + SystemClock.elapsedRealtime());
- bottomTimerView.start();
+ if (!isTimerStarted) {
+ bottomTextSwitcher.setDisplayedChild(1);
+ bottomTimerView.setBase(
+ primaryCallState.connectTimeMillis
+ - System.currentTimeMillis()
+ + SystemClock.elapsedRealtime());
+ bottomTimerView.start();
+ isTimerStarted = true;
+ }
} else {
bottomTextSwitcher.setDisplayedChild(0);
bottomTimerView.stop();
+ isTimerStarted = false;
}
}
}
diff --git a/java/com/android/incallui/contactgrid/TopRow.java b/java/com/android/incallui/contactgrid/TopRow.java
index 8c3d6b004..ab003570f 100644
--- a/java/com/android/incallui/contactgrid/TopRow.java
+++ b/java/com/android/incallui/contactgrid/TopRow.java
@@ -19,10 +19,14 @@ package com.android.incallui.contactgrid;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
+import android.telephony.PhoneNumberUtils;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import com.android.dialer.common.Assert;
import com.android.incallui.call.DialerCall.State;
import com.android.incallui.incall.protocol.PrimaryCallState;
+import com.android.incallui.incall.protocol.PrimaryInfo;
import com.android.incallui.videotech.utils.SessionModificationState;
import com.android.incallui.videotech.utils.VideoUtils;
@@ -55,7 +59,7 @@ public class TopRow {
private TopRow() {}
- public static Info getInfo(Context context, PrimaryCallState state) {
+ public static Info getInfo(Context context, PrimaryCallState state, PrimaryInfo primaryInfo) {
CharSequence label = null;
Drawable icon = state.connectionIcon;
boolean labelIsSingleLine = true;
@@ -73,6 +77,11 @@ public class TopRow {
labelIsSingleLine = false;
} else {
label = getLabelForIncoming(context, state);
+ // Show phone number if it's not displayed in name (center row) or location field (bottom
+ // row).
+ if (shouldShowNumber(primaryInfo)) {
+ label = TextUtils.concat(label, " ", spanDisplayNumber(primaryInfo.number));
+ }
}
} else if (VideoUtils.hasSentVideoUpgradeRequest(state.sessionModificationState)
|| VideoUtils.hasReceivedVideoUpgradeRequest(state.sessionModificationState)) {
@@ -85,6 +94,8 @@ public class TopRow {
label = getLabelForDialing(context, state);
} else if (state.state == State.ACTIVE && state.isRemotelyHeld) {
label = context.getString(R.string.incall_remotely_held);
+ } else if (state.state == State.ACTIVE && shouldShowNumber(primaryInfo)) {
+ label = spanDisplayNumber(primaryInfo.number);
} else {
// Video calling...
// [Wi-Fi icon] Starbucks Wi-Fi
@@ -94,9 +105,27 @@ public class TopRow {
return new Info(label, icon, labelIsSingleLine);
}
+ private static CharSequence spanDisplayNumber(String displayNumber) {
+ return PhoneNumberUtils.createTtsSpannable(
+ BidiFormatter.getInstance().unicodeWrap(displayNumber, TextDirectionHeuristics.LTR));
+ }
+
+ private static boolean shouldShowNumber(PrimaryInfo primaryInfo) {
+ if (primaryInfo.nameIsNumber) {
+ return false;
+ }
+ if (primaryInfo.location == null) {
+ return false;
+ }
+ if (TextUtils.isEmpty(primaryInfo.number)) {
+ return false;
+ }
+ return true;
+ }
+
private static CharSequence getLabelForIncoming(Context context, PrimaryCallState state) {
if (state.isVideoCall) {
- return getLabelForIncomingVideo(context, state.isWifi);
+ return getLabelForIncomingVideo(context, state.sessionModificationState, state.isWifi);
} else if (state.isWifi && !TextUtils.isEmpty(state.connectionLabel)) {
return state.connectionLabel;
} else if (isAccount(state)) {
@@ -108,11 +137,20 @@ public class TopRow {
}
}
- private static CharSequence getLabelForIncomingVideo(Context context, boolean isWifi) {
- if (isWifi) {
- return context.getString(R.string.contact_grid_incoming_wifi_video_call);
+ private static CharSequence getLabelForIncomingVideo(
+ Context context, @SessionModificationState int sessionModificationState, boolean isWifi) {
+ if (sessionModificationState == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+ if (isWifi) {
+ return context.getString(R.string.contact_grid_incoming_wifi_video_request);
+ } else {
+ return context.getString(R.string.contact_grid_incoming_video_request);
+ }
} else {
- return context.getString(R.string.contact_grid_incoming_video_call);
+ if (isWifi) {
+ return context.getString(R.string.contact_grid_incoming_wifi_video_call);
+ } else {
+ return context.getString(R.string.contact_grid_incoming_video_call);
+ }
}
}
@@ -154,7 +192,7 @@ public class TopRow {
case SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT:
return context.getString(R.string.incall_video_call_request_timed_out);
case SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST:
- return getLabelForIncomingVideo(context, state.isWifi);
+ return getLabelForIncomingVideo(context, state.sessionModificationState, state.isWifi);
case SessionModificationState.NO_REQUEST:
default:
Assert.fail();
diff --git a/java/com/android/incallui/contactgrid/res/values-af/strings.xml b/java/com/android/incallui/contactgrid/res/values-af/strings.xml
index 95ec39bc3..75a8bf37f 100644
--- a/java/com/android/incallui/contactgrid/res/values-af/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-af/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Bel via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Hou aan"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Video-oproep vanaf"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi-video-oproep vanaf"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Versoekvorm vir video-opgradering"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Versoekvorm vir Wi-Fi-video-opgradering"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Oproep vanaf"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Werkoproep vanaf"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Inkomend via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-am/strings.xml b/java/com/android/incallui/contactgrid/res/values-am/strings.xml
index d8060c9c5..3d11f73c2 100644
--- a/java/com/android/incallui/contactgrid/res/values-am/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-am/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"በ<xliff:g id="PROVIDER_NAME">%s</xliff:g> በኩል በመደወል ላይ"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"ያዝና ቆይ"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ቪዲዮ ጥሪ ከ"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi ቪዲዮ ጥሪ ከ"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"የቪዲዮ ማሻሻል ጥያቄ ከ"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"የWi-Fi ቪዲዮ ማሻሻል ጥያቄ ከ"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"ጥሪ ከ"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"የሥራ ጥሪ ከ"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"በ<xliff:g id="PROVIDER_NAME">%s</xliff:g> በኩል የገባ"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ar/strings.xml b/java/com/android/incallui/contactgrid/res/values-ar/strings.xml
index 30fd32cfa..cddd1eca9 100644
--- a/java/com/android/incallui/contactgrid/res/values-ar/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ar/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"الاتصال عبر <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"معلقة"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"مكالمة فيديو من"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"‏مكالمة فيديو عبر Wi-Fi من"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"طلب ترقية الفيديو من"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"‏طلب ترقية فيديو Wi-Fi من"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"اتصال من"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"مكالمة عمل من"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"واردة عبر <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-az/strings.xml b/java/com/android/incallui/contactgrid/res/values-az/strings.xml
index 4fe79eeaa..8c1993dc0 100644
--- a/java/com/android/incallui/contactgrid/res/values-az/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-az/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> vasitəsilə zəng edilir"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Gözləmədə"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Video zəng edən"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi video zəng edən"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Video təkmilləşdirilməsi üçün təklif"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi video təkmilləşdirilməsi üçün təklif"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Zəng edən"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"İş zəngi edən"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> vasitəsilə gələn"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-b+sr+Latn/strings.xml b/java/com/android/incallui/contactgrid/res/values-b+sr+Latn/strings.xml
index f1a938ea9..caa61bdac 100644
--- a/java/com/android/incallui/contactgrid/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-b+sr+Latn/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Pozivamo preko <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Na čekanju"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Video poziv od"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi video poziv od"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Zahtev za prelazak na video poziv od"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Zahtev za prelazak na video poziv preko Wi-Fi-ja od"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Poziv od"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Poslovni poziv od"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Dolazni poziv preko <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-be/strings.xml b/java/com/android/incallui/contactgrid/res/values-be/strings.xml
index aec3a3106..51f7ea97a 100644
--- a/java/com/android/incallui/contactgrid/res/values-be/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-be/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Званкі праз <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"На ўтрыманні"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Відэавыклік ад"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Відэавыклік праз Wi-Fi ад"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Запыт на абнаўленне да відэавыкліка ад"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Запыт на абнаўленне да відэавыкліка па Wi-Fi ад"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Выклік ад"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Рабочы выклік ад"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Уваходны выклік праз <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-bg/strings.xml b/java/com/android/incallui/contactgrid/res/values-bg/strings.xml
index f162e4cd0..4e313d408 100644
--- a/java/com/android/incallui/contactgrid/res/values-bg/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-bg/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Обаждане чрез <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Задържано"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Видеообаждане от"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Видеообаждане по Wi-Fi от"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Заявка за преминаване към видеообаждане от"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Заявка за преминаване към видеообаждане през Wi-Fi от"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Обаждане от"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Служебно обаждане от"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Входящо обаждане чрез <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-bn/strings.xml b/java/com/android/incallui/contactgrid/res/values-bn/strings.xml
index 6d3a50c61..8fce2e460 100644
--- a/java/com/android/incallui/contactgrid/res/values-bn/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-bn/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> এর মাধ্যমে কল করা হচ্ছে"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"হোল্ডে রয়েছে"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"এর থেকে আগত ভিডিও কল"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"এর থেকে আগত Wi-Fi ভিডিও কল"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"এর থেকে ভিডিও আপগ্রেড করার অনুরোধ"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"এর থেকে ওয়াই-ফাই ভিডিও আপগ্রেড করার অনুরোধ"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"এর থেকে আগত কল"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"এর থেকে আগত কর্মক্ষেত্রের কল"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> এর মাধ্যমে আগত কল"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-bs/strings.xml b/java/com/android/incallui/contactgrid/res/values-bs/strings.xml
index 258799215..0d4dfb3d8 100644
--- a/java/com/android/incallui/contactgrid/res/values-bs/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-bs/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Pozivanje putem mreže <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Na čekanju"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videopoziv od"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi videopoziv od"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Zahtjev za nadogradnju na videozapis od pozivaoca"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Zahtjev za nadogradnju na Wi-Fi videozapis od pozivaoca"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Poziv od"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Poslovni poziv od"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Dolazni poziv putem <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ca/strings.xml b/java/com/android/incallui/contactgrid/res/values-ca/strings.xml
index 07598a217..b4aa2ddc0 100644
--- a/java/com/android/incallui/contactgrid/res/values-ca/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ca/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"S\'està trucant amb <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"En espera"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videotrucada de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videotrucada per Wi-Fi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Sol·licitud d\'actualització a videotrucada procedent de:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Sol·licitud d\'actualització a videotrucada per Wi-Fi procedent de:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Trucada de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Trucada de feina de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Entrant via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-cs/strings.xml b/java/com/android/incallui/contactgrid/res/values-cs/strings.xml
index d27a0283b..b8698f071 100644
--- a/java/com/android/incallui/contactgrid/res/values-cs/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-cs/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Volání přes poskytovatele <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Podrženo"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Příchozí videohovor:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Příchozí videohovor přes Wi-Fi:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Žádost o upgrade na videohovor od uživatele"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Žádost o upgrade na videohovor přes Wi-Fi od uživatele"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Příchozí hovor:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Příchozí pracovní hovor:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Příchozí hovor přes poskytovatele <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-da/strings.xml b/java/com/android/incallui/contactgrid/res/values-da/strings.xml
index 555a2ac5f..71a651f18 100644
--- a/java/com/android/incallui/contactgrid/res/values-da/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-da/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Ringer via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"I venteposition"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videoopkald fra"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi-videoopkald fra"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Anmodning om opgradering til et videoopkald fra"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Anmodning om opgradering til et Wi-Fi-videoopkald fra"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Opkald fra"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Arbejdsopkald fra"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Indgående opkald via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-de/strings.xml b/java/com/android/incallui/contactgrid/res/values-de/strings.xml
index 3d3838ca2..d69e0f6bb 100644
--- a/java/com/android/incallui/contactgrid/res/values-de/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-de/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Anruf über <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Anruf wird gehalten"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videoanruf von"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"WLAN-Videoanruf von"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Anfrage für Upgrade auf Videoanruf von"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Anfrage für Upgrade auf Videoanruf über WLAN von"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Anruf von"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Geschäftlicher Anruf von"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Eingehender Anruf über <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-el/strings.xml b/java/com/android/incallui/contactgrid/res/values-el/strings.xml
index 337da7b03..954e7b75d 100644
--- a/java/com/android/incallui/contactgrid/res/values-el/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-el/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Κλήση μέσω <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Σε αναμονή"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Βιντεοκλήση από"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Βιντεοκλήση μέσω Wi-Fi από"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Αίτημα αναβάθμισης βίντεο από"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Αίτημα αναβάθμισης βίντεο Wi-Fi από"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Κλήση από"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Κλήση από το γραφείο από"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Εισερχόμενη κλήση μέσω <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-en-rAU/strings.xml b/java/com/android/incallui/contactgrid/res/values-en-rAU/strings.xml
index 3748db2f4..a1402ff5c 100644
--- a/java/com/android/incallui/contactgrid/res/values-en-rAU/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-en-rAU/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"On hold"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Video call from"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi video call from"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Video upgrade request from"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi video upgrade request from"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Call from"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Work call from"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Incoming via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-en-rGB/strings.xml b/java/com/android/incallui/contactgrid/res/values-en-rGB/strings.xml
index 3748db2f4..a1402ff5c 100644
--- a/java/com/android/incallui/contactgrid/res/values-en-rGB/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-en-rGB/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"On hold"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Video call from"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi video call from"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Video upgrade request from"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi video upgrade request from"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Call from"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Work call from"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Incoming via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-en-rIN/strings.xml b/java/com/android/incallui/contactgrid/res/values-en-rIN/strings.xml
index 3748db2f4..a1402ff5c 100644
--- a/java/com/android/incallui/contactgrid/res/values-en-rIN/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-en-rIN/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"On hold"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Video call from"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi video call from"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Video upgrade request from"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi video upgrade request from"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Call from"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Work call from"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Incoming via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-es-rUS/strings.xml b/java/com/android/incallui/contactgrid/res/values-es-rUS/strings.xml
index fa5684927..abb2b01d9 100644
--- a/java/com/android/incallui/contactgrid/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-es-rUS/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Llamada por medio de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"En espera"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videollamada de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videollamada con Wi-Fi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Actualización a video solicitada por"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Actualización a video con Wi-Fi solicitada por"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Llamada de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Llamada laboral de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Entrante por medio de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-es/strings.xml b/java/com/android/incallui/contactgrid/res/values-es/strings.xml
index 1d57f9c6f..ef7c45774 100644
--- a/java/com/android/incallui/contactgrid/res/values-es/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-es/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Llamada a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"En espera"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videollamada de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videollamada por Wi-Fi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Solicitud de actualización de videollamada de"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Solicitud de actualización de videollamada por Wi-Fi de"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Llamada de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Llamada de trabajo de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Recibida a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-et/strings.xml b/java/com/android/incallui/contactgrid/res/values-et/strings.xml
index 2d81062f4..b91f073d0 100644
--- a/java/com/android/incallui/contactgrid/res/values-et/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-et/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Kõne edastab <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Ootel"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videokõne kontaktilt"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"WiFi-videokõne kontaktilt"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Video täiendamise taotlus:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"WiFi kaudu video täiendamise taotlus:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Kõne kontaktilt"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Töökõne kontaktilt"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Sissetulev kõne teenusepakkuja <xliff:g id="PROVIDER_NAME">%s</xliff:g> kaudu"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-eu/strings.xml b/java/com/android/incallui/contactgrid/res/values-eu/strings.xml
index f08347bf0..ba7995ad9 100644
--- a/java/com/android/incallui/contactgrid/res/values-eu/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-eu/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> bidez deitzen"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Zain"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Bideo-deia:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi bidezko bideo-deia:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Bideo-dei bat egiteko eskaera bidali dizu erabiltzaile honek:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi bidezko bideo-dei bat egiteko eskaera bidali dizu erabiltzaile honek:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Deia:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Laneko deia:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> bidez jasotzen"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-fa/strings.xml b/java/com/android/incallui/contactgrid/res/values-fa/strings.xml
index 0dfc0f41f..40873ca15 100644
--- a/java/com/android/incallui/contactgrid/res/values-fa/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-fa/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"تماس از طریق <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"درانتظار"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"تماس ویدئویی از"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"‏تماس ویدئویی Wi-Fi از"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"درخواست ارتقای تماس ویدیویی از"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"‏در خواست ارتقای تماس ویدیویی Wi-Fi از"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"تماس از"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"تماس کاری از"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"تماس‌های ورودی ازطریق <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-fi/strings.xml b/java/com/android/incallui/contactgrid/res/values-fi/strings.xml
index 00503bf2f..241fef5a1 100644
--- a/java/com/android/incallui/contactgrid/res/values-fi/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-fi/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Käytetään operaattoria <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Pidossa"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videopuhelu henkilöltä"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi-videopuhelu henkilöltä"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Videoon siirtymispyyntö, jonka lähettäjä on"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi-videopuheluun siirtymispyyntö, jonka lähettäjän on"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Puhelu henkilöltä"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Työpuhelu henkilöltä"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Saapuva puhelu (<xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-fr-rCA/strings.xml b/java/com/android/incallui/contactgrid/res/values-fr-rCA/strings.xml
index ee0196d98..3ffc1e918 100644
--- a/java/com/android/incallui/contactgrid/res/values-fr-rCA/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-fr-rCA/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Appel par <xliff:g id="PROVIDER_NAME">%s</xliff:g> en cours…"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"En attente"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Appel vidéo de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Appel vidéo Wi-Fi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Demande de mise à niveau vidéo de"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Demande de mise à niveau vidéo Wi-Fi de"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Appel de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Appel professionnel de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Appel entrant par <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-fr/strings.xml b/java/com/android/incallui/contactgrid/res/values-fr/strings.xml
index 9849ad623..0db6ae089 100644
--- a/java/com/android/incallui/contactgrid/res/values-fr/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-fr/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Appel via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"En attente"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Appel vidéo de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Appel vidéo Wi-Fi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Demande de passage en mode vidéo par"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Demande de passage en mode vidéo Wi-Fi par"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Appel de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Appel professionnel de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Appel entrant via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-gl/strings.xml b/java/com/android/incallui/contactgrid/res/values-gl/strings.xml
index c85f336b8..297001454 100644
--- a/java/com/android/incallui/contactgrid/res/values-gl/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-gl/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Chamando a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"En espera"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videochamada de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videochamada por wifi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Solicitude de actualización a videochamada de"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Solicitude de actualización a videochamada por wifi de"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Chamada de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Chamada de traballo de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Chamada entrante a través de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-gu/strings.xml b/java/com/android/incallui/contactgrid/res/values-gu/strings.xml
index 5179cc0cb..220bebe39 100644
--- a/java/com/android/incallui/contactgrid/res/values-gu/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-gu/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> મારફતે કૉલ કરી રહ્યાં છે"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"હોલ્ડ પર"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"આમના તરફથી વિડિઓ કૉલ"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"આમના તરફથી Wi-Fi વિડિઓ કૉલ"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"આમના તરફથી વિડિઓ અપગ્રેડની વિનંતી"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"આમના તરફથી Wi-Fi વિડિઓ અપગ્રેડની વિનંતી"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"આમના તરફથી કૉલ"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"આમના તરફથી કાર્ય કૉલ"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> મારફતે ઇનકમિંગ"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-hi/strings.xml b/java/com/android/incallui/contactgrid/res/values-hi/strings.xml
index dec7b629d..da128b644 100644
--- a/java/com/android/incallui/contactgrid/res/values-hi/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-hi/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> के माध्यम से कॉल किया जा रहा है"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"होल्ड पर"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"इससे वीडियो कॉल"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"इससे वाई-फ़ाई वीडियो कॉल"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"इसकी ओर से वीडियो में अपग्रेड करने का अनुरोध"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"इसकी ओर से वाई-फ़ाई वीडियो में अपग्रेड करने का अनुरोध"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"इससे कॉल"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"इससे कार्य संबंधी कॉल"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> की ओर से इनकमिंग"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-hr/strings.xml b/java/com/android/incallui/contactgrid/res/values-hr/strings.xml
index d7023ac24..24429a248 100644
--- a/java/com/android/incallui/contactgrid/res/values-hr/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-hr/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Pozivanje putem operatera <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Na čekanju"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videopoziv s broja"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videopoziv putem Wi-Fi veze s broja"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Video upgrade request from"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi video upgrade request from"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Poziv s broja"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Poslovni poziv s broja"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Dolazni pozivi putem davatelja <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-hu/strings.xml b/java/com/android/incallui/contactgrid/res/values-hu/strings.xml
index f7da92322..600b69f6d 100644
--- a/java/com/android/incallui/contactgrid/res/values-hu/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-hu/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Hívás a(z) <xliff:g id="PROVIDER_NAME">%s</xliff:g> szolgáltatón keresztül"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Várakoztatva"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videohívás a következőtől:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi-videohívás a következőtől:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Videófrissítési kérelem a következőtől"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi-videófrissítési kérelem a következőtől"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Hívás a következőtől:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Munkahelyi hívás a következőről:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Bejövő hívás a következőn keresztül: <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-hy/strings.xml b/java/com/android/incallui/contactgrid/res/values-hy/strings.xml
index 6384fa924..88a49eb48 100644
--- a/java/com/android/incallui/contactgrid/res/values-hy/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-hy/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Զանգում է <xliff:g id="PROVIDER_NAME">%s</xliff:g>-ի միջոցով"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Սպասում"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Տեսազանգ հետևյալ բաժանորդից՝"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi տեսազանգ հետևյալ բաժանորդից՝"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Տեսազանգին անցնելու խնդրանք հետևյալ օգտատիրոջից՝"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi-ի միջոցով տեսազանգին անցնելու խնդրանք հետևյալ օգտատիրոջից՝"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Զանգ հետևյալ բաժանորդից՝"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Գործնական զանգ հետևյալ բաժանորդից՝"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Մուտքային զանգ <xliff:g id="PROVIDER_NAME">%s</xliff:g> ցանցից"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-in/strings.xml b/java/com/android/incallui/contactgrid/res/values-in/strings.xml
index 75568387b..f6735832a 100644
--- a/java/com/android/incallui/contactgrid/res/values-in/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-in/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Menelepon melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Ditangguhkan"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Video call dari"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Video call Wi-Fi dari"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Permintaan upgrade video dari"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Permintaan upgrade video Wi-Fi dari"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Telepon dari"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Panggilan telepon kerja dari"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Masuk melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-is/strings.xml b/java/com/android/incallui/contactgrid/res/values-is/strings.xml
index 86d577c64..9e830312d 100644
--- a/java/com/android/incallui/contactgrid/res/values-is/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-is/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Hringt í gegnum <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Í bið"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Myndsímtal berst frá"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi myndsímtal berst frá"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Beiðni um að uppfæra í myndsímtal frá"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Beiðni um að uppfæra í Wi-Fi myndsímtal frá"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Símtal berst frá"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Vinnusímtal berst frá"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Berst í gegnum <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-it/strings.xml b/java/com/android/incallui/contactgrid/res/values-it/strings.xml
index 9576a6d95..76958cf72 100644
--- a/java/com/android/incallui/contactgrid/res/values-it/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-it/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Chiamate tramite <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"In attesa"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videochiamata da"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videochiamata Wi-Fi da"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Upgrade della videochiamata richiesto da"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Upgrade della videochiamata Wi-Fi richiesto da"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Chiamata da"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Chiamata di lavoro da"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"In arrivo tramite <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-iw/strings.xml b/java/com/android/incallui/contactgrid/res/values-iw/strings.xml
index 62771d18f..b06c3212c 100644
--- a/java/com/android/incallui/contactgrid/res/values-iw/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-iw/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"שיחה באמצעות <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"בהמתנה"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"שיחת וידאו מאת"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"‏שיחת וידאו ב-Wi-Fi מאת"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"בקשה לשדרוג לשיחת וידאו מאת"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"‏בקשת לשדרוג לשיחת וידאו ברשת Wi-Fi מאת"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"שיחה מאת"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"שיחת עבודה מאת"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"שיחה נכנסת באמצעות <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ja/strings.xml b/java/com/android/incallui/contactgrid/res/values-ja/strings.xml
index a5d958c60..a2fce09cf 100644
--- a/java/com/android/incallui/contactgrid/res/values-ja/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ja/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> で発信中"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"保留中"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ビデオハングアウトの着信"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi ビデオハングアウトの着信"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"ビデオハングアウトへの変更リクエスト"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi ビデオハングアウトへの変更リクエスト"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"着信"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"仕事の通話の着信"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> から着信"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ka/strings.xml b/java/com/android/incallui/contactgrid/res/values-ka/strings.xml
index 7848f595e..cb0094d37 100644
--- a/java/com/android/incallui/contactgrid/res/values-ka/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ka/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"მიმდინარეობს დარეკვა <xliff:g id="PROVIDER_NAME">%s</xliff:g>-ის მეშვეობით"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"მოცდის რეჟიმში"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ვიდეოზარი აბონენტისგან"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi ვიდეოზარი აბონენტისგან"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"ვიდეოზარზე გადასვლის მოთხოვნა კონტაქტისგან:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi ვიდეოზარზე გადასვლის მოთხოვნა კონტაქტისგან:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"ზარი აბონენტისგან"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"სამსახურებრივი ზარი აბონენტისგან"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"შემომავალი, <xliff:g id="PROVIDER_NAME">%s</xliff:g>-იდან"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-kk/strings.xml b/java/com/android/incallui/contactgrid/res/values-kk/strings.xml
index aaf260b9a..3fc68c2db 100644
--- a/java/com/android/incallui/contactgrid/res/values-kk/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-kk/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> арқылы қоңырау шалу"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Күтуде"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Бейне қоңырау шалушы:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi бейне қоңырау шалушы:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Бейне қоңырауға ауысу өтініші:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi арқылы бейне қоңырауға ауысу өтініші:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Қоңырау шалушы:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Жұмыстан қоңырау шалушы:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> арқылы кіріс"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-km/strings.xml b/java/com/android/incallui/contactgrid/res/values-km/strings.xml
index b2bfc9628..7ee21ba70 100644
--- a/java/com/android/incallui/contactgrid/res/values-km/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-km/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"កំពុង​ហៅតាម <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"កំពុង​រង់ចាំ"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ការ​ហៅ​ជា​វីដេអូ​ពី"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"ការ​ហៅ​ជា​វីដេអូ​តាម Wi-Fi ពី"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"ស្នើ​ដំឡើង​កំណែ​វីដេអូ​ពី"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"ស្នើ​ដំឡើង​កំណែ​វីដេអូតាម Wi-Fi ពី"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"ការ​ហៅ​ពី"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"ការ​ហៅ​ការងារ​ពី"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"ការ​ហៅ​ចូល​តាម <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-kn/strings.xml b/java/com/android/incallui/contactgrid/res/values-kn/strings.xml
index 0ee73bacc..e90bd6b54 100644
--- a/java/com/android/incallui/contactgrid/res/values-kn/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-kn/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ಮೂಲಕ ಕರೆ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"ಹೋಲ್ಡ್‌ ಮಾಡಲಾಗಿದೆ"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ಇವರಿಂದ ವೀಡಿಯೊ ಕರೆ"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"ಇವರಿಂದ ವೈ-ಫೈ ವೀಡಿಯೊ ಕರೆ"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"ಇದರಿಂದ ವೀಡಿಯೊ ಅಪ್‌ಗ್ರೇಡ್ ವಿನಂತಿ"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"ಇದರಿಂದ ವೈಫೈ ವೀಡಿಯೊ ಅಪ್‌ಗ್ರೇಡ್ ವಿನಂತಿ"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"ಇವರಿಂದ ಕರೆ"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"ಇವರಿಂದ ಕೆಲಸದ ಕರೆ"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ಮೂಲಕ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ko/strings.xml b/java/com/android/incallui/contactgrid/res/values-ko/strings.xml
index a5a34e3d7..85dd613bb 100644
--- a/java/com/android/incallui/contactgrid/res/values-ko/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ko/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>을(를) 통해 거는 전화"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"대기 중"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"화상 통화 발신:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi 화상 통화 발신:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"화상 통화로의 업그레이드를 요청한 사용자:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi 화상 통화로의 업그레이드를 요청한 사용자:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"통화 발신:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"업무 통화 발신:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>을(를) 통해 걸려온 전화"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ky/strings.xml b/java/com/android/incallui/contactgrid/res/values-ky/strings.xml
index a020e70d1..6028022e1 100644
--- a/java/com/android/incallui/contactgrid/res/values-ky/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ky/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> аркылуу чалуу"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Күтүү режиминде"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Видео чалуу"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi аркылуу видео чалуу:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Видеону кийинки версияга көтөрүү сурамы:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi аркылуу видеомаектешүү сурамы:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Чалып жатат:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Иш боюнча чалып жатат:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> аркылуу чалып жатат"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-lo/strings.xml b/java/com/android/incallui/contactgrid/res/values-lo/strings.xml
index 96c1dcf11..6ad117818 100644
--- a/java/com/android/incallui/contactgrid/res/values-lo/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-lo/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"ກຳລັງໂທຜ່ານ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"ຖືສາຍລໍຖ້າ"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ການໂທວິດີໂອຈາກ"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi video call from"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"ຄຳຮ້ອງອັບເກຣດວິດີໂອຈາກ"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"ຄຳຮ້ອງອັບເກຣດວິດີໂອ Wi-Fi ຈາກ"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"ການໂທຈາກ"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Work call from"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"ສາຍໂທເຂົ້າ​ຈາກ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-lt/strings.xml b/java/com/android/incallui/contactgrid/res/values-lt/strings.xml
index e8e42fc9b..3cca55c46 100644
--- a/java/com/android/incallui/contactgrid/res/values-lt/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-lt/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Skambinama naudojantis „<xliff:g id="PROVIDER_NAME">%s</xliff:g>“ paslaugomis"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Sulaikytas"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Vaizdo skambutis nuo"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"„Wi-Fi“ vaizdo skambutis nuo"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Vaizdo skambučio naujovinimo užklausa nuo"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"„Wi-Fi“ vaizdo skambučio naujovinimo užklausa nuo"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Skambutis nuo"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Darbo skambutis nuo"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Gaunama per „<xliff:g id="PROVIDER_NAME">%s</xliff:g>“"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-lv/strings.xml b/java/com/android/incallui/contactgrid/res/values-lv/strings.xml
index 1b3823f1e..87e5c9049 100644
--- a/java/com/android/incallui/contactgrid/res/values-lv/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-lv/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Zvanu nodrošina <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Aizturēts"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videozvans no:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi videozvans no:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Videozvana jaunināšanas pieprasījums no:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi videozvana jaunināšanas pieprasījums no:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Zvans no:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Darba zvans no:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Ienākošie zvani, ko nodrošina <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-mk/strings.xml b/java/com/android/incallui/contactgrid/res/values-mk/strings.xml
index 104468359..fcab8f452 100644
--- a/java/com/android/incallui/contactgrid/res/values-mk/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-mk/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Повикување преку <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"На чекање"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Видеоповик од"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Видеоповик преку Wi-Fi од"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Барање за надградба на видеоповик од"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Барање за надградба на видеоповик преку Wi-Fi од"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Повик од"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Работен повик од"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Дојдовни повици преку <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ml/strings.xml b/java/com/android/incallui/contactgrid/res/values-ml/strings.xml
index 519e9f478..1dfb46a93 100644
--- a/java/com/android/incallui/contactgrid/res/values-ml/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ml/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> മുഖേന വിളിക്കുന്നു"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"ഹോള്‍ഡിലാണ്"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ഈ വ്യക്തിയിൽ നിന്നുള്ള വീഡിയോ കോൾ"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"ഈ വ്യക്തിയിൽ നിന്നുള്ള Wi-Fi വീഡിയോ കോൾ"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"ഇനിപ്പറയുന്നതിൽ നിന്നുള്ള വീഡിയോ അപ്‌ഗ്രേഡ് അഭ്യർത്ഥന"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"ഇനിപ്പറയുന്നതിൽ നിന്നുള്ള Wi-Fi വീഡിയോ അപ്‌ഗ്രേഡ് അഭ്യർത്ഥന"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"ഈ വ്യക്തിയിൽ നിന്നുള്ള കോൾ"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"ഈ വ്യക്തിയിൽ നിന്നുള്ള ഔദ്യോഗിക കോൾ"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> മുഖേനയുള്ള ഇൻകമിംഗ്"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-mn/strings.xml b/java/com/android/incallui/contactgrid/res/values-mn/strings.xml
index c87e07179..c93bd468a 100644
--- a/java/com/android/incallui/contactgrid/res/values-mn/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-mn/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>-р залгаж байна"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Хүлээлгэнд байгаа"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Видео дуудлага"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi видео дуудлага"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Видеог сайжруулах хүсэлт"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi видеог сайжруулах хүсэлт"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Дуудлага"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Ажлын дуудлага"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g>-р ирж байна"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-mr/strings.xml b/java/com/android/incallui/contactgrid/res/values-mr/strings.xml
index 6a0181774..81d76dd70 100644
--- a/java/com/android/incallui/contactgrid/res/values-mr/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-mr/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> द्वारे कॉल करीत आहे"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"होल्ड वर"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"यावरून व्हिडिओ कॉल"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi व्हिडिओ कॉल"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"याकडून व्हिडिओ श्रेणीसुधारणेची विनंती"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"याकडून Wi-Fi व्हिडिओ श्रेणीसुधारणेची विनंती"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"यावरील कॉल"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"कडून कार्य कॉल"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> द्वारे येणारे"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ms/strings.xml b/java/com/android/incallui/contactgrid/res/values-ms/strings.xml
index 17ca75369..815df7947 100644
--- a/java/com/android/incallui/contactgrid/res/values-ms/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ms/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Memanggil melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Panggilan ditahan"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Panggilan video daripada"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Panggilan video Wi-Fi daripada"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Permintaan peningkatan video daripada"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Permintaan peningkatan video Wi-Fi daripada"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Panggilan daripada"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Panggilan kerja daripada"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Panggilan masuk melalui <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-my/strings.xml b/java/com/android/incallui/contactgrid/res/values-my/strings.xml
index 14770cfaf..3c8a88e41 100644
--- a/java/com/android/incallui/contactgrid/res/values-my/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-my/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> မှတစ်ဆင့် ခေါ်ဆိုနေသည်"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"ဖုန်းကိုင်ထားသည်"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"အောက်ပါထံမှ ဗီဒီယိုခေါ်ဆိုမှု"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"အောက်ပါထံမှ Wi-Fi ဗီဒီယိုခေါ်ဆိုမှု"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"အောက်ပါထံမှ ဗီဒီယိုအဆင့်မြှင့်ခြင်းတောင်းဆိုချက်"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"အောက်ပါထံမှ Wi-Fi ဗီဒီယိုအဆင့်မြှင့်ခြင်းတောင်းဆိုချက်"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"အောက်ပါထံမှ ခေါ်ဆိုမှု"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"အောက်ပါထံမှ အလုပ်ခေါ်ဆိုမှု"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> မှတစ်ဆင့် အဝင်ခေါ်ဆိုမှု"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-nb/strings.xml b/java/com/android/incallui/contactgrid/res/values-nb/strings.xml
index fbf98954c..9ad8d0d6a 100644
--- a/java/com/android/incallui/contactgrid/res/values-nb/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-nb/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Ringer via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"På vent"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videoanrop fra"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi-videoanrop fra"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Forespørsel om videooppdatering fra"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Forespørsel om Wi-Fi-videooppdatering fra"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Anrop fra"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Jobbrelatert anrop fra"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Innkommende via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ne/strings.xml b/java/com/android/incallui/contactgrid/res/values-ne/strings.xml
index d618af43f..e6e65c5fb 100644
--- a/java/com/android/incallui/contactgrid/res/values-ne/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ne/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> मार्फत कल गर्दै"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"होल्डमा छ"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"निम्नबाट भिडियो कल आएको छ"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"निम्नबाट Wi-Fi मार्फत गरिएको भिडियो कल आएको छ"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"निम्नबाट आएको भिडियो अपग्रेडसम्बन्धी अनुरोध"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"निम्नबाट आएको Wi-Fi मार्फत भिडियो अपग्रेडसम्बन्धी अनुरोध"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"निम्नबाट कल आएको छ"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"निम्नबाट कार्य सम्बन्धी कल आएको छ"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> मार्फत गरिएको आगमन कल"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-nl/strings.xml b/java/com/android/incallui/contactgrid/res/values-nl/strings.xml
index 10dcd13f0..828a7a228 100644
--- a/java/com/android/incallui/contactgrid/res/values-nl/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-nl/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Bellen via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"In de wacht"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videogesprek van"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wifi-videogesprek van"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Upgradeverzoek voor videogesprek van"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Upgradeverzoek voor wifi-videogesprek van"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Oproep van"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Zakelijke oproep van"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Inkomend via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-no/strings.xml b/java/com/android/incallui/contactgrid/res/values-no/strings.xml
index fbf98954c..9ad8d0d6a 100644
--- a/java/com/android/incallui/contactgrid/res/values-no/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-no/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Ringer via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"På vent"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videoanrop fra"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi-videoanrop fra"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Forespørsel om videooppdatering fra"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Forespørsel om Wi-Fi-videooppdatering fra"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Anrop fra"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Jobbrelatert anrop fra"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Innkommende via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-pa/strings.xml b/java/com/android/incallui/contactgrid/res/values-pa/strings.xml
index fb261d649..1d4801c43 100644
--- a/java/com/android/incallui/contactgrid/res/values-pa/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-pa/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ਰਾਹੀਂ ਕਾਲ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"ਰੋਕ ਕੇ ਰੱਖੀ ਗਈ"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ਇਸ ਤੋਂ ਵੀਡੀਓ ਕਾਲ"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"ਇਸ ਤੋਂ Wi-Fi ਵੀਡੀਓ ਕਾਲ"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"ਇਸ ਤੋਂ ਵੀਡੀਓ ਅੱਪਗ੍ਰੇਡ ਬੇਨਤੀ"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"ਇਸ ਤੋਂ Wi-Fi ਵੀਡੀਓ ਅੱਪਗ੍ਰੇਡ ਬੇਨਤੀ"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"ਇਸ ਤੋਂ ਕਾਲ"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"ਇਸ ਤੋਂ ਕੰਮ ਸਬੰਧੀ ਕਾਲ"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ਰਾਹੀਂ ਇਨਕਮਿੰਗ"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-pl/strings.xml b/java/com/android/incallui/contactgrid/res/values-pl/strings.xml
index 998e49e3e..586f39e65 100644
--- a/java/com/android/incallui/contactgrid/res/values-pl/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-pl/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Dzwonię przez <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Oczekujące"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Rozmowa wideo z:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Rozmowa wideo przez Wi-Fi z:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Prośba o przejście na rozmowę wideo wysłana przez:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Prośba o przejście na rozmowę wideo przez Wi-Fi wysłana przez:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Połączenie z:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Połączenie służbowe z:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Przychodzące z sieci <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-pt-rBR/strings.xml b/java/com/android/incallui/contactgrid/res/values-pt-rBR/strings.xml
index 4365cba59..a445cdf60 100644
--- a/java/com/android/incallui/contactgrid/res/values-pt-rBR/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-pt-rBR/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Ligando via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Em espera"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videochamada de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videochamada via Wi-Fi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Solicitação de upgrade de vídeo de"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Solicitação de upgrade de vídeo por Wi-Fi de"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Chamada de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Chamada de trabalho de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Chamada de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-pt-rPT/strings.xml b/java/com/android/incallui/contactgrid/res/values-pt-rPT/strings.xml
index 55d3c2695..ca07b3fc9 100644
--- a/java/com/android/incallui/contactgrid/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-pt-rPT/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"A telefonar através de <xliff:g id="PROVIDER_NAME">%s</xliff:g>…"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Em espera"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videochamada de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videochamada a partir de rede Wi-Fi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Pedido de atualização para videochamada de"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Pedido de atualização para videochamada por Wi-Fi de"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Chamada de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Chamada de trabalho de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Chamada recebida através de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-pt/strings.xml b/java/com/android/incallui/contactgrid/res/values-pt/strings.xml
index 4365cba59..a445cdf60 100644
--- a/java/com/android/incallui/contactgrid/res/values-pt/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-pt/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Ligando via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Em espera"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videochamada de"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videochamada via Wi-Fi de"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Solicitação de upgrade de vídeo de"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Solicitação de upgrade de vídeo por Wi-Fi de"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Chamada de"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Chamada de trabalho de"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Chamada de <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ro/strings.xml b/java/com/android/incallui/contactgrid/res/values-ro/strings.xml
index f8d1c9b54..180a01f4c 100644
--- a/java/com/android/incallui/contactgrid/res/values-ro/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ro/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Se apelează prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"În așteptare"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Apel video de la"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Apel video prin Wi-Fi de la"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Solicitare de upgrade la apel video de la"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Solicitare de upgrade la apel video prin Wi-Fi de la"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Apel primit de la"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Apel de serviciu de la"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Primite prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ru/strings.xml b/java/com/android/incallui/contactgrid/res/values-ru/strings.xml
index dfbc08828..e0a63518f 100644
--- a/java/com/android/incallui/contactgrid/res/values-ru/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ru/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Вызов через <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"На удержании"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Видеовызов от"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Видеовызов по Wi-Fi от"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Запрос на переход к видеовстрече от:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Запрос на переход к видеовстрече через Wi-Fi от:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Вызов от"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Рабочий вызов от"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Входящий вызов (оператор: <xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-si/strings.xml b/java/com/android/incallui/contactgrid/res/values-si/strings.xml
index 00ca2aa90..451dc396c 100644
--- a/java/com/android/incallui/contactgrid/res/values-si/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-si/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> හරහා අමතමින්"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"රඳවා ගත්"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"වෙතින් වීඩියෝ ඇමතුම"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"වෙතින් Wi-Fi වීඩියෝ ඇමතුම"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"වෙතින් වීඩියෝ උත්ශ්‍රේණි කිරීමේ ඉල්ලීම"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"වෙතින් Wi-Fi වීඩියෝ උත්ශ්‍රේණි කිරීමේ ඉල්ලීම"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"වෙතින් ඇමතුම"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"වෙතින් කාර්යාල ඇමතුම"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> හරහා එන"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-sk/strings.xml b/java/com/android/incallui/contactgrid/res/values-sk/strings.xml
index 40039ee9a..ae21ec855 100644
--- a/java/com/android/incallui/contactgrid/res/values-sk/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-sk/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Voláte prostredníctvom poskytovateľa <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Podržané"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videohovor od:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videohovor cez Wi-Fi od:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Žiadosť o inováciu na videohovor od používateľa"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Žiadosť o inováciu na videohovor cez Wi-Fi od používateľa"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Hovor od:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Pracovný hovor od:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Prichádzajúci hovor prostredníctvom poskytovateľa <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-sl/strings.xml b/java/com/android/incallui/contactgrid/res/values-sl/strings.xml
index f76b5cdac..1d93d21a4 100644
--- a/java/com/android/incallui/contactgrid/res/values-sl/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-sl/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Klicanje prek ponudnika <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Zadržano"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videoklic osebe"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Videoklic prek omrežja Wi-Fi osebe"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Zahteva za nadgradnjo v video – zahteva osebe"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Zahteva za nadgradnjo v video prek omrežja Wi-Fi – zahteva osebe"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Klic osebe"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Delovni klic osebe"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Dohodni klic prek storitve <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-sq/strings.xml b/java/com/android/incallui/contactgrid/res/values-sq/strings.xml
index 34ec2d1f6..8c28eb7ea 100644
--- a/java/com/android/incallui/contactgrid/res/values-sq/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-sq/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Telefonatë nëpërmjet <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Në pritje"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Telefonatë me video nga"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Telefonatë me video në Wi-Fi nga"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Kërkesë për përmirësimin me video nga"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Kërkesë për përmirësimin me video me Wi-Fi nga"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Telefonatë nga"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Telefonatë pune nga"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Telefonatë hyrëse nëpërmjet <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-sr/strings.xml b/java/com/android/incallui/contactgrid/res/values-sr/strings.xml
index 9ad149905..66ea45d6e 100644
--- a/java/com/android/incallui/contactgrid/res/values-sr/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-sr/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Позивамо преко <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"На чекању"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Видео позив од"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi видео позив од"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Захтев за прелазак на видео позив од"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Захтев за прелазак на видео позив преко Wi-Fi-ја од"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Позив од"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Пословни позив од"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Долазни позив преко <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-sv/strings.xml b/java/com/android/incallui/contactgrid/res/values-sv/strings.xml
index d5dd15953..931d9c98d 100644
--- a/java/com/android/incallui/contactgrid/res/values-sv/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-sv/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Ringer med <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Parkerat"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Videosamtal från"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi-videosamtal från"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Begäran om videouppgradering från"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Begäran om uppgradering av Wi-Fi-video från"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Samtal från"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Jobbsamtal från"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Inkommande via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-sw/strings.xml b/java/com/android/incallui/contactgrid/res/values-sw/strings.xml
index 72bc26f58..581d7970a 100644
--- a/java/com/android/incallui/contactgrid/res/values-sw/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-sw/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Inapiga simu kupitia <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Imesitishwa"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Simu ya video kutoka kwa"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Simu ya video kupitia Wi-Fi kutoka kwa"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Umetumiwa ombi ili ubadilishe utumie simu ya video na"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Umetumiwa ombi ili ubadilishe utumie simu ya video kwenye Wi-Fi na"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Simu kutoka kwa"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Simu ya kazi kutoka kwa"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Simu zinazoingia kupitia <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ta/strings.xml b/java/com/android/incallui/contactgrid/res/values-ta/strings.xml
index 2f5b1b81d..37ff87681 100644
--- a/java/com/android/incallui/contactgrid/res/values-ta/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ta/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> வழியாக அழைக்கிறது"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"ஹோல்டில் உள்ளது"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"வீடியோ அழைப்பு:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"வைஃபை வீடியோ அழைப்பு:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"வீடியோவை மேம்படுத்துவதற்கான கோரிக்கை:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"வைஃபையில் வீடியோவை மேம்படுத்துவதற்கான கோரிக்கை:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"அழைப்பு:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"அழைப்பு (பணி) :"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> மூலம் உள்வரும் அழைப்பு"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-te/strings.xml b/java/com/android/incallui/contactgrid/res/values-te/strings.xml
index 52038dbf8..913c9448a 100644
--- a/java/com/android/incallui/contactgrid/res/values-te/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-te/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ద్వారా కాల్ చేస్తోంది"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"హోల్డ్‌లో ఉంది"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"వీరి నుండి వీడియో కాల్:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"వీరి నుండి Wi-Fi వీడియో కాల్:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"వీరి నుండి వీడియో అప్‌గ్రేడ్ అభ్యర్థన"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"వీరి నుండి Wi-Fi వీడియో అప్‌గ్రేడ్ అభ్యర్థన"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"వీరి నుండి కాల్:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"వీరి నుండి కార్యాలయ కాల్:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ద్వారా ఇన్‌కమింగ్ కాల్"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-th/strings.xml b/java/com/android/incallui/contactgrid/res/values-th/strings.xml
index 419db19cc..6503959e4 100644
--- a/java/com/android/incallui/contactgrid/res/values-th/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-th/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"โทรผ่าน <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"พักสาย"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"แฮงเอาท์วิดีโอจาก"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"แฮงเอาท์วิดีโอผ่าน Wi-Fi จาก"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"คำขออัปเกรดวิดีโอจาก"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"คำขออัปเกรดวิดีโอผ่าน Wi-Fi จาก"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"โทรจาก"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"โทรเรื่องงานจาก"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"สายเรียกเข้าผ่าน <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-tl/strings.xml b/java/com/android/incallui/contactgrid/res/values-tl/strings.xml
index 282ec106f..7fa063b61 100644
--- a/java/com/android/incallui/contactgrid/res/values-tl/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-tl/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Tumatawag sa pamamagitan ng <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Naka-hold"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Video call mula kay"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi na video call mula kay"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Kahilingan upang i-upgrade ang video mula kay"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Kahilingan upang i-upgrade ang video gamit ang Wi-Fi mula kay"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Tawag mula kay"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Tawag sa trabaho mula kay"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Papasok sa pamamagitan ng <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-tr/strings.xml b/java/com/android/incallui/contactgrid/res/values-tr/strings.xml
index 5ecbf3543..1ce565dca 100644
--- a/java/com/android/incallui/contactgrid/res/values-tr/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-tr/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> üzerinden çağrı yapılıyor"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Beklemede"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Gelen video görüşmesi isteği:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Gelen kablosuz video görüşmesi isteği:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Görüntülü görüşmeye geçme isteği alındı:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Kablosuz görüntülü görüşmeye geçme isteği alındı:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Gelen çağrı:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Gelen iş çağrısı:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> adlı sağlayıcı üzerinden gelen çağrı"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-uk/strings.xml b/java/com/android/incallui/contactgrid/res/values-uk/strings.xml
index 7b84fb650..0d4a595ca 100644
--- a/java/com/android/incallui/contactgrid/res/values-uk/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-uk/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Виклик здійснюється через оператора <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Утримується"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Відеодзвінок від:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Відеодзвінок через Wi-Fi від:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Запит на відеодзвінок від користувача"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Запит на відеодзвінок через Wi-Fi від користувача"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Виклик від:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Виклик на робочий телефон від:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Вхідні виклики через оператора <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-ur/strings.xml b/java/com/android/incallui/contactgrid/res/values-ur/strings.xml
index 6584181fb..793e4879d 100644
--- a/java/com/android/incallui/contactgrid/res/values-ur/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-ur/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"کالنگ بذریعہ <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"ہولڈ پر ہے"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"ویڈیو کال منجانب"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"‏Wi-Fi ویڈیو کال منجانب"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"ویڈیو اپ گریڈ کی درخواست منجانب"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"‏Wi-Fi ویڈیو اپ گریڈ کی درخواست منجانب"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"کال منجانب"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"دفتری کال منجانب"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> کے ذریعے آنے والی کال"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-uz/strings.xml b/java/com/android/incallui/contactgrid/res/values-uz/strings.xml
index db11a1822..a5ce1caea 100644
--- a/java/com/android/incallui/contactgrid/res/values-uz/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-uz/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> orqali qo‘ng‘rioq qilinmoqda"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Kutish rejimida"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Kimdan video qo‘ng‘iroq:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi orqali kimdan video qo‘ng‘iroq:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Bu foydalanuvchi video suhbatga o‘tishni so‘ramoqda:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Bu foydalanuvchi Wi-Fi orqali video suhbatga o‘tishni so‘ramoqda:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Kimdan qo‘ng‘iroq:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Ish telefoniga kimdan qo‘ng‘iroq:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Kiruvchi qo‘ng‘iroq (operator: <xliff:g id="PROVIDER_NAME">%s</xliff:g>)"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-vi/strings.xml b/java/com/android/incallui/contactgrid/res/values-vi/strings.xml
index 340a11577..9ce0f1838 100644
--- a/java/com/android/incallui/contactgrid/res/values-vi/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-vi/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Đang gọi điện qua <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Đang chờ"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Cuộc gọi điện video từ"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Cuộc gọi điện video qua Wi-Fi từ"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Yêu cầu nâng cấp video từ"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Yêu cầu nâng cấp video Wi-Fi từ"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Cuộc gọi từ"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Cuộc gọi về công việc từ"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Cuộc gọi đến qua <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-zh-rCN/strings.xml b/java/com/android/incallui/contactgrid/res/values-zh-rCN/strings.xml
index 16031b811..af5008af0 100644
--- a/java/com/android/incallui/contactgrid/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-zh-rCN/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"正在通过<xliff:g id="PROVIDER_NAME">%s</xliff:g>进行通话"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"保持"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"视频通话来自:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"WLAN 视频通话来自:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"视频通话升级请求来自:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"WLAN 视频通话升级请求来自:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"通话来自:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"工作通话来自:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"有人通过 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 来电"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-zh-rHK/strings.xml b/java/com/android/incallui/contactgrid/res/values-zh-rHK/strings.xml
index 14a444124..9f4748175 100644
--- a/java/com/android/incallui/contactgrid/res/values-zh-rHK/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-zh-rHK/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"正在透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 撥號"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"保留"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"視像通話來自"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi 視像通話來自"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"視像升級要求來自"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi 視像升級要求來自"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"通話來自"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"工作通話來自"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 的來電"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-zh-rTW/strings.xml b/java/com/android/incallui/contactgrid/res/values-zh-rTW/strings.xml
index bdee41e67..563bb2832 100644
--- a/java/com/android/incallui/contactgrid/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-zh-rTW/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"正在透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 撥號"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"保留中"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"視訊通話來電:"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Wi-Fi 視訊通話來電:"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"視訊升級要求,來自:"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Wi-Fi 視訊升級要求,來自:"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"語音來電:"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"公司來電:"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"有人透過 <xliff:g id="PROVIDER_NAME">%s</xliff:g> 來電"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values-zu/strings.xml b/java/com/android/incallui/contactgrid/res/values-zu/strings.xml
index 150d5cc98..19951ccf7 100644
--- a/java/com/android/incallui/contactgrid/res/values-zu/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values-zu/strings.xml
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_calling_via_template" msgid="3416867359475780924">"Ishaya ucingo nge-<xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
@@ -14,6 +30,8 @@
<string name="incall_remotely_held" msgid="8561379039177396615">"Ibambile"</string>
<string name="contact_grid_incoming_video_call" msgid="4935122585117803710">"Ikholi yevidiyo kusukela ku-"</string>
<string name="contact_grid_incoming_wifi_video_call" msgid="5938822096623593533">"Ikholi yevidiyo ye-Wi-Fi kusukela ku-"</string>
+ <string name="contact_grid_incoming_video_request" msgid="7488892854791471116">"Isicelo sokuthuthukiswa kwevidiyo kusukela"</string>
+ <string name="contact_grid_incoming_wifi_video_request" msgid="4516902096577976768">"Isicelo sokuthuthukiswa kwevidiyo ye-Wi-Fi kusukela"</string>
<string name="contact_grid_incoming_voice_call" msgid="7165853925114955346">"Ikholi esuka ku-"</string>
<string name="contact_grid_incoming_work_call" msgid="837605505036615004">"Ikholi yomsebenzi kusukela ku-"</string>
<string name="contact_grid_incoming_via_template" msgid="7747391077955623969">"Ingena nge-<xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
diff --git a/java/com/android/incallui/contactgrid/res/values/strings.xml b/java/com/android/incallui/contactgrid/res/values/strings.xml
index 385f843b1..5a9272ca3 100644
--- a/java/com/android/incallui/contactgrid/res/values/strings.xml
+++ b/java/com/android/incallui/contactgrid/res/values/strings.xml
@@ -1,4 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2016 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 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Title displayed in the overlay for outgoing calls which include the name of the provider.
@@ -50,6 +65,12 @@
<!-- Displayed in the answer call screen for incoming video calls over Wi-F. -->
<string name="contact_grid_incoming_wifi_video_call">Wi-Fi video call from</string>
+ <!-- Displayed in the answer call screen for incoming requests to upgrade to a video call. -->
+ <string name="contact_grid_incoming_video_request">Video upgrade request from</string>
+
+ <!-- Displayed in the answer call screen for incoming requests to upgrade to a video call over Wi-F. -->
+ <string name="contact_grid_incoming_wifi_video_request">Wi-Fi video upgrade request from</string>
+
<!-- Displayed in the answer call screen for incoming voice calls. -->
<string name="contact_grid_incoming_voice_call">Call from</string>
diff --git a/java/com/android/incallui/incall/impl/ButtonChooserFactory.java b/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
index 0dcfdb5fe..99364e22c 100644
--- a/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
+++ b/java/com/android/incallui/incall/impl/ButtonChooserFactory.java
@@ -83,11 +83,18 @@ class ButtonChooserFactory {
mapping.put(
InCallButtonIds.BUTTON_SWITCH_TO_SECONDARY, MappingInfo.builder(4).setSlotOrder(0).build());
mapping.put(
- InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE,
- MappingInfo.builder(4).setSlotOrder(5).build());
- mapping.put(
InCallButtonIds.BUTTON_UPGRADE_TO_VIDEO, MappingInfo.builder(4).setSlotOrder(10).build());
- mapping.put(InCallButtonIds.BUTTON_HOLD, MappingInfo.builder(5).setSlotOrder(0).build());
+
+ /*
+ * Unlike the other configurations, MANAGE_VOICE_CONFERENCE shares a spot with HOLD for GSM.
+ * On GSM, pressing hold while there's a background call just swaps to the background call. It
+ * doesn't make sense to show both SWITCH_TO_SECONDARY and HOLD when they do the same thing, so
+ * we show MANAGE_VOICE_CONFERENCE instead. Previously MANAGE_VOICE_CONFERENCE would not show.
+ */
+ mapping.put(
+ InCallButtonIds.BUTTON_MANAGE_VOICE_CONFERENCE,
+ MappingInfo.builder(5).setSlotOrder(0).build());
+ mapping.put(InCallButtonIds.BUTTON_HOLD, MappingInfo.builder(5).setSlotOrder(5).build());
return new ButtonChooser(new MappedButtonConfig(mapping));
}
diff --git a/java/com/android/incallui/incall/impl/ButtonController.java b/java/com/android/incallui/incall/impl/ButtonController.java
index 8c113649d..b7a47f08e 100644
--- a/java/com/android/incallui/incall/impl/ButtonController.java
+++ b/java/com/android/incallui/incall/impl/ButtonController.java
@@ -29,6 +29,8 @@ import com.android.incallui.incall.impl.CheckableLabeledButton.OnCheckedChangeLi
import com.android.incallui.incall.protocol.InCallButtonIds;
import com.android.incallui.incall.protocol.InCallButtonUiDelegate;
import com.android.incallui.incall.protocol.InCallScreenDelegate;
+import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo;
+import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize;
/** Manages a single button. */
interface ButtonController {
@@ -376,36 +378,13 @@ interface ButtonController {
}
public void setAudioState(CallAudioState audioState) {
- @StringRes int contentDescriptionResId;
- if ((audioState.getSupportedRouteMask() & CallAudioState.ROUTE_BLUETOOTH)
- == CallAudioState.ROUTE_BLUETOOTH) {
- checkable = false;
- isChecked = false;
- label = R.string.incall_label_audio;
-
- if ((audioState.getRoute() & CallAudioState.ROUTE_BLUETOOTH)
- == CallAudioState.ROUTE_BLUETOOTH) {
- icon = R.drawable.quantum_ic_bluetooth_audio_white_36;
- contentDescriptionResId = R.string.incall_content_description_bluetooth;
- } else if ((audioState.getRoute() & CallAudioState.ROUTE_SPEAKER)
- == CallAudioState.ROUTE_SPEAKER) {
- icon = R.drawable.quantum_ic_volume_up_white_36;
- contentDescriptionResId = R.string.incall_content_description_speaker;
- } else if ((audioState.getRoute() & CallAudioState.ROUTE_WIRED_HEADSET)
- == CallAudioState.ROUTE_WIRED_HEADSET) {
- icon = R.drawable.quantum_ic_headset_white_36;
- contentDescriptionResId = R.string.incall_content_description_headset;
- } else {
- icon = R.drawable.ic_phone_audio_white_36dp;
- contentDescriptionResId = R.string.incall_content_description_earpiece;
- }
- } else {
- checkable = true;
- isChecked = audioState.getRoute() == CallAudioState.ROUTE_SPEAKER;
- label = R.string.incall_label_speaker;
- icon = R.drawable.quantum_ic_volume_up_white_36;
- contentDescriptionResId = R.string.incall_content_description_speaker;
- }
+ SpeakerButtonInfo info = new SpeakerButtonInfo(audioState, IconSize.SIZE_36_DP);
+
+ checkable = info.checkable;
+ isChecked = info.isChecked;
+ label = info.label;
+ icon = info.icon;
+ @StringRes int contentDescriptionResId = info.contentDescription;
contentDescription = delegate.getContext().getText(contentDescriptionResId);
checkedContentDescription =
diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java
index c5d75329f..e102ee009 100644
--- a/java/com/android/incallui/incall/impl/InCallFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallFragment.java
@@ -42,6 +42,7 @@ import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
import com.android.dialer.multimedia.MultimediaData;
+import com.android.dialer.widget.LockableViewPager;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
import com.android.incallui.contactgrid.ContactGridManager;
@@ -473,6 +474,9 @@ public class InCallFragment extends Fragment
inCallButtonUiDelegate.setAudioRoute(audioRoute);
}
+ @Override
+ public void onAudioRouteSelectorDismiss() {}
+
@NonNull
@Override
public ButtonController getButtonController(@InCallButtonIds int id) {
diff --git a/java/com/android/incallui/incall/impl/InCallPagerAdapter.java b/java/com/android/incallui/incall/impl/InCallPagerAdapter.java
index 0b1088d2d..bc0c61607 100644
--- a/java/com/android/incallui/incall/impl/InCallPagerAdapter.java
+++ b/java/com/android/incallui/incall/impl/InCallPagerAdapter.java
@@ -21,7 +21,6 @@ import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.PagerAdapter;
-import android.text.TextUtils;
import com.android.dialer.multimedia.MultimediaData;
import com.android.incallui.sessiondata.MultimediaFragment;
@@ -47,8 +46,7 @@ public class InCallPagerAdapter extends FragmentStatePagerAdapter {
@Override
public int getCount() {
- if (attachments != null
- && (!TextUtils.isEmpty(attachments.getText()) || attachments.hasImageData())) {
+ if (attachments != null && attachments.hasData()) {
return 2;
}
return 1;
diff --git a/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml b/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
index 44431413c..c06f7099c 100644
--- a/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
+++ b/java/com/android/incallui/incall/impl/res/layout/frag_incall_voice.xml
@@ -1,4 +1,19 @@
<?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
+ -->
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
@@ -62,7 +77,7 @@
android:layout_height="match_parent"/>
</LinearLayout>
- <com.android.incallui.incall.impl.LockableViewPager
+ <com.android.dialer.widget.LockableViewPager
android:id="@+id/incall_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
diff --git a/java/com/android/incallui/incall/impl/res/values-af/strings.xml b/java/com/android/incallui/incall/impl/res/values-af/strings.xml
index fd632fb9a..64529a51f 100644
--- a/java/com/android/incallui/incall/impl/res/values-af/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-af/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video-oproep"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Hou aan"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Voeg oproep by"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Demp"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Beëindig oproep"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Sleutelblok"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Luidspreker"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", is aan"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", is af"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Voeg saam"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Bestuur"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Bestuur bellers"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Verwissel"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Klank"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Nota is gestuur"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-am/strings.xml b/java/com/android/incallui/incall/impl/res/values-am/strings.xml
index 9dfd0e61d..66a38680e 100644
--- a/java/com/android/incallui/incall/impl/res/values-am/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-am/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"የቪዲዮ ጥሪ"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ይዘህ ቆይ"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"ጥሪ ያክሉ"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"ድምፀ-ከል አድርግ"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"ጥሪ ጨርስ"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"ቁልፍ ሰሌዳ"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"የድምጽ ማጉያ"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"፣ በርቷል"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"፣ ጠፍቷል"</string>
<string name="incall_label_merge" msgid="720076442985913175">"አዋህድ"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"አስተዳድር"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"ደዋዮችን ያስተዳድሩ"</string>
<string name="incall_label_swap" msgid="10458642864243507">"አገላብጥ"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ድምፅ"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"ማስታወሻ ተልኳል"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ar/strings.xml b/java/com/android/incallui/incall/impl/res/values-ar/strings.xml
index a5f448a31..e4dbfe4b6 100644
--- a/java/com/android/incallui/incall/impl/res/values-ar/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ar/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"مكالمة فيديو"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"انتظار"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"إضافة مكالمة"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"كتم"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"إنهاء المكالمة"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"لوحة مفاتيح"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"مكبر الصوت"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"، مشغل"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"، غير مشغل"</string>
<string name="incall_label_merge" msgid="720076442985913175">"دمج"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"إدارة"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"إدارة المتصلين"</string>
<string name="incall_label_swap" msgid="10458642864243507">"تبديل"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"الصوت"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"تم إرسال الملاحظة"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-az/strings.xml b/java/com/android/incallui/incall/impl/res/values-az/strings.xml
index 5f1f8cb98..9a1f7f8fe 100644
--- a/java/com/android/incallui/incall/impl/res/values-az/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-az/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video zəng"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Xətdə axlayın"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Zəng əlavə edin"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Susdurun"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Zəngi bitirin"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Klaviatura"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Dinamik"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", aktivdir"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", deaktivdir"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Birləşdir"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"İdarə edin"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Zəng edənləri idarə edin"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Dəyişdirin"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Səs"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Qeyd göndərildi"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-b+sr+Latn/strings.xml b/java/com/android/incallui/incall/impl/res/values-b+sr+Latn/strings.xml
index bff7ed079..02d6b7c96 100644
--- a/java/com/android/incallui/incall/impl/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-b+sr+Latn/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video poziv"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Na čekanje"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Dodaj poziv"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Isključi zvuk"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Završi poziv"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tastatura"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Zvučnik"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", uključen"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", isključen"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Objedini"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Upravljaj"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Upravljajte pozivaocima"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Zameni"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Zvuk"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Beleška je poslata"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-be/strings.xml b/java/com/android/incallui/incall/impl/res/values-be/strings.xml
index 394c7c82e..45e1e1010 100644
--- a/java/com/android/incallui/incall/impl/res/values-be/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-be/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Відэавыклік"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Утрымліваць"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Дадаць выклік"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Адключыць мікрафон"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Сконч. выкл."</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Клавіятура"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Вонк.дынамік"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", уключана"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", выключана"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Аб\'яднаць"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Кіраваць"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Кіраваць выклікаючымі абанентамі"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Пераключыць"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Гук"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Нататка адпраўлена"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-bg/strings.xml b/java/com/android/incallui/incall/impl/res/values-bg/strings.xml
index 4f5933be9..c339d3bca 100644
--- a/java/com/android/incallui/incall/impl/res/values-bg/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-bg/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Видеообажд."</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Задържане"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Ново обажд."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Без звук"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Затваряне"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Клавиатура"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Високоговорител"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"е включено"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"е изключено"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Обединяване"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Управление"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Управление на обаждащите се"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Размяна"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Звук"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Бележката е изпратена"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-bn/strings.xml b/java/com/android/incallui/incall/impl/res/values-bn/strings.xml
index 9453e14bd..ca5837b0e 100644
--- a/java/com/android/incallui/incall/impl/res/values-bn/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-bn/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ভিডিও কল"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ধরে থাকুন"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"কল যোগ করুন"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"নিঃশব্দ করুন"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"কল শেষ করুন"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"কীপ্যাড"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"স্পিকার"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", চালু রয়েছে"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", বন্ধ রয়েছে"</string>
<string name="incall_label_merge" msgid="720076442985913175">"মার্জ করুন"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"পরিচালনা করুন"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"কলারদের পরিচালনা করুন"</string>
<string name="incall_label_swap" msgid="10458642864243507">"অদল বদল করুন"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"শব্দ"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"নোট পাঠানো হয়েছে"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-bs/strings.xml b/java/com/android/incallui/incall/impl/res/values-bs/strings.xml
index 4b4796457..26b44ea90 100644
--- a/java/com/android/incallui/incall/impl/res/values-bs/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-bs/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videopoziv"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Na čekanju"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Dodaj poziv"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Isključi"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Prekini poziv"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Telefonska tastatura"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Zvučnik"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", uključen"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", isključen"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Spoji"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Upravljaj"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Upravljanje pozivaocima"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Zamijeni"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Zvuk"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Bilješka je poslana"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ca/strings.xml b/java/com/android/incallui/incall/impl/res/values-ca/strings.xml
index e10b7bd2d..9c76a3a5f 100644
--- a/java/com/android/incallui/incall/impl/res/values-ca/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ca/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videotrucada"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Posa en espera"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Afeg. trucada"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Silencia"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Penja"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Teclat"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Altaveu"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", activat"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", desactivat"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Combina"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gestiona"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Gestiona les persones que truquen"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Canvia"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"So"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"La nota s\'ha enviat"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-cs/strings.xml b/java/com/android/incallui/incall/impl/res/values-cs/strings.xml
index a00c10547..69f3e53a0 100644
--- a/java/com/android/incallui/incall/impl/res/values-cs/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-cs/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videohovor"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Podržet"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Přidat hovor"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Vyp. mikrof."</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Zavěsit"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Klávesnice"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Reproduktor"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"– zapnuto"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"– vypnuto"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Sloučit"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Spravovat"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Spravovat volající"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Přepnout"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Zvuk"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Poznámka byla odeslána"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-da/strings.xml b/java/com/android/incallui/incall/impl/res/values-da/strings.xml
index 08b5cbb8e..d9328afe4 100644
--- a/java/com/android/incallui/incall/impl/res/values-da/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-da/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videoopkald"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Parkér"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Tilføj opkald"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Slå lyden fra"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Slut opkald"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tastatur"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Højttaler"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", er til"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", er fra"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Flet"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Administrer"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Administrer opkaldere"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Byt"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Lyd"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Noten blev sendt"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-de/strings.xml b/java/com/android/incallui/incall/impl/res/values-de/strings.xml
index 5f3f8c1cb..30eae96b3 100644
--- a/java/com/android/incallui/incall/impl/res/values-de/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-de/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videoanruf"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Halten"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Hinzufügen"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Stumm"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Beenden"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Wähltasten"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Lautsprecher"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ist an"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ist aus"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Zusammenf."</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Verwalten"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Anrufer verwalten"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Wechseln"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Audio"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Notiz gesendet"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-el/strings.xml b/java/com/android/incallui/incall/impl/res/values-el/strings.xml
index 0f5a14238..b45314fa7 100644
--- a/java/com/android/incallui/incall/impl/res/values-el/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-el/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Βιντεοκλήση"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Αναμονή"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Προσθ. κλήσ."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Σίγαση"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Τερματισμός"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Πληκτρολόγιο"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Ηχείο"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ενεργό"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ανενεργό"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Συγχώνευση"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Διαχείριση"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Διαχείριση καλούντων"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Ανταλλαγή"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Ήχος"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Η σημείωση εστάλη"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-en-rAU/strings.xml b/java/com/android/incallui/incall/impl/res/values-en-rAU/strings.xml
index 89b72df54..34323f57a 100644
--- a/java/com/android/incallui/incall/impl/res/values-en-rAU/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-en-rAU/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video call"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Hold"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Add call"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Mute"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"End call"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Keypad"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Speaker"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", is on"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", is off"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Merge"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Manage"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Manage callers"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Swap"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Sound"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Note sent"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-en-rGB/strings.xml b/java/com/android/incallui/incall/impl/res/values-en-rGB/strings.xml
index 89b72df54..34323f57a 100644
--- a/java/com/android/incallui/incall/impl/res/values-en-rGB/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-en-rGB/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video call"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Hold"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Add call"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Mute"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"End call"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Keypad"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Speaker"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", is on"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", is off"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Merge"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Manage"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Manage callers"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Swap"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Sound"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Note sent"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-en-rIN/strings.xml b/java/com/android/incallui/incall/impl/res/values-en-rIN/strings.xml
index 89b72df54..34323f57a 100644
--- a/java/com/android/incallui/incall/impl/res/values-en-rIN/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-en-rIN/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video call"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Hold"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Add call"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Mute"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"End call"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Keypad"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Speaker"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", is on"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", is off"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Merge"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Manage"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Manage callers"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Swap"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Sound"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Note sent"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-es-rUS/strings.xml b/java/com/android/incallui/incall/impl/res/values-es-rUS/strings.xml
index fe9374cb9..d39cf2f6f 100644
--- a/java/com/android/incallui/incall/impl/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-es-rUS/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videollamada"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Retener"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Agregar llamada"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Silenciar"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Finalizar"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Teclado"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Altavoz"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", activado"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", desactivado"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Combinar"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Administrar"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Administrar números"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Cambiar"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Sonido"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Se envió la nota"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-es/strings.xml b/java/com/android/incallui/incall/impl/res/values-es/strings.xml
index f2dd09bb9..db5a7e643 100644
--- a/java/com/android/incallui/incall/impl/res/values-es/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-es/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videollamada"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Retener"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Añadir"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Silenciar"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Finalizar"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Teclado"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Altavoz"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", activado"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", desactivado"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Combinar"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gestionar"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Administrar llamadas"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Cambiar"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Sonido"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Nota enviada"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-et/strings.xml b/java/com/android/incallui/incall/impl/res/values-et/strings.xml
index 03fa7deae..f4587adaa 100644
--- a/java/com/android/incallui/incall/impl/res/values-et/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-et/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videokõne"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Ootele"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Lisa kõne"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Vaigista"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Lõpeta kõne"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Klaviatuur"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Kõlar"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", on sees"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", on väljas"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Ühenda"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Halda"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Helistajate haldamine"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Vaheta"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Heli"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Märge on saadetud"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-eu/strings.xml b/java/com/android/incallui/incall/impl/res/values-eu/strings.xml
index 51d300e2e..28d78a70b 100644
--- a/java/com/android/incallui/incall/impl/res/values-eu/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-eu/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Bideo-deia"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Utzi zain"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Gehitu deia"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Des. audioa"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Amaitu deia"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Teklatua"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Bozgorailua"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", aktibatuta"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", desaktib."</string>
<string name="incall_label_merge" msgid="720076442985913175">"Bateratu"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Kudeatu"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Kudeatu deitzaileak"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Aldatu"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Soinua"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Bidali da oharra"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-fa/strings.xml b/java/com/android/incallui/incall/impl/res/values-fa/strings.xml
index a0701163e..a26ac75a2 100644
--- a/java/com/android/incallui/incall/impl/res/values-fa/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-fa/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"تماس ویدئویی"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"درحال انتظار"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"افزودن تماس"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"بی‌صدا کردن"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"پایان تماس"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"صفحه کلید"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"بلندگو"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"، فعال است"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"، غیرفعال است"</string>
<string name="incall_label_merge" msgid="720076442985913175">"ادغام"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"مدیریت"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"مدیریت تماس‌گیرندگان"</string>
<string name="incall_label_swap" msgid="10458642864243507">"جابه‌جایی"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"صدا"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"یادداشت ارسال شد"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-fi/strings.xml b/java/com/android/incallui/incall/impl/res/values-fi/strings.xml
index d81bfbf39..9ae53488a 100644
--- a/java/com/android/incallui/incall/impl/res/values-fi/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-fi/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videopuhelu"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Pitoon"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Lisää puhelu"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Mykistä"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Päätä puhelu"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Näppäimistö"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Kaiutin"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", käytössä"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ei käytössä"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Yhdistä"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Hallinnoi"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Hallinnoi soittajia"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Vaihda"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Ääni"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Muistiinpano lähetettiin."</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-fr-rCA/strings.xml b/java/com/android/incallui/incall/impl/res/values-fr-rCA/strings.xml
index 1278bce2d..cff6745d1 100644
--- a/java/com/android/incallui/incall/impl/res/values-fr-rCA/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-fr-rCA/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Appel vidéo"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"En attente"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Autre appel"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Couper son"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Raccrocher"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Clavier"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Haut-parleur"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", activé"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", désactivé"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Fusionner"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gérer"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Gérer les appels"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Permuter"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Son"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Note envoyée"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-fr/strings.xml b/java/com/android/incallui/incall/impl/res/values-fr/strings.xml
index 5532032b9..14e92beeb 100644
--- a/java/com/android/incallui/incall/impl/res/values-fr/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-fr/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Appel vidéo"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"En attente"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Autre appel"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Couper micro"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Raccrocher"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Clavier"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Haut-parleur"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", activé"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", désactivé"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Fusionner"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gérer"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Gérer les appelants"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Permuter"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Son"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Note envoyée"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-gl/strings.xml b/java/com/android/incallui/incall/impl/res/values-gl/strings.xml
index ec99b7c75..4b399f4ee 100644
--- a/java/com/android/incallui/incall/impl/res/values-gl/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-gl/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videochamada"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"En espera"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Eng. chamada"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Ignorar"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Finalizar chamada"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Teclado"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Altofalante"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"activado"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"desactivado"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Combinar"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Xestionar"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Xestionar emisores de chamadas"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Cambiar"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Son"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Enviouse a nota"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-gu/strings.xml b/java/com/android/incallui/incall/impl/res/values-gu/strings.xml
index fb3999c9a..438f0f351 100644
--- a/java/com/android/incallui/incall/impl/res/values-gu/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-gu/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"વિડિઓ કૉલ"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"હોલ્ડ કરો"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"કૉલ ઉમેરો"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"મ્યૂટ કરો"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"કૉલ સમાપ્ત કરો"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"કીપેડ"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"સ્પીકર"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ચાલુ છે"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", બંધ છે"</string>
<string name="incall_label_merge" msgid="720076442985913175">"મર્જ કરો"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"સંચાલિત કરો"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"કૉલર્સને સંચાલિત કરો"</string>
<string name="incall_label_swap" msgid="10458642864243507">"સ્વેપ કરો"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ધ્વનિ"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"નોંધ મોકલી"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-h580dp/dimens.xml b/java/com/android/incallui/incall/impl/res/values-h580dp/dimens.xml
deleted file mode 100644
index 1f37cd504..000000000
--- a/java/com/android/incallui/incall/impl/res/values-h580dp/dimens.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <dimen name="incall_avatar_size">88dp</dimen>
-</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-h600dp/dimens.xml b/java/com/android/incallui/incall/impl/res/values-h600dp/dimens.xml
new file mode 100644
index 000000000..904aed235
--- /dev/null
+++ b/java/com/android/incallui/incall/impl/res/values-h600dp/dimens.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2016 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>
+ <dimen name="incall_avatar_size">88dp</dimen>
+</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-h580dp/styles.xml b/java/com/android/incallui/incall/impl/res/values-h650dp/styles.xml
index b58ef4819..b58ef4819 100644
--- a/java/com/android/incallui/incall/impl/res/values-h580dp/styles.xml
+++ b/java/com/android/incallui/incall/impl/res/values-h650dp/styles.xml
diff --git a/java/com/android/incallui/incall/impl/res/values-hi/strings.xml b/java/com/android/incallui/incall/impl/res/values-hi/strings.xml
index 6a7538dea..39e6e6b6d 100644
--- a/java/com/android/incallui/incall/impl/res/values-hi/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-hi/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"वीडियो कॉल"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"होल्ड करें"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"कॉल जोड़ें"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"म्यूट करें"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"कॉल समाप्त करें"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"कीपैड"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"स्‍पीकर"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", चालू है"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", बंद है"</string>
<string name="incall_label_merge" msgid="720076442985913175">"एक बनाएं"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"प्रबंधित करें"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"कॉलर प्रबंधित करें"</string>
<string name="incall_label_swap" msgid="10458642864243507">"स्वैप करें"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ध्वनि"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"नोट भेज दिया गया है"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-hr/strings.xml b/java/com/android/incallui/incall/impl/res/values-hr/strings.xml
index fc431b33b..e440028d8 100644
--- a/java/com/android/incallui/incall/impl/res/values-hr/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-hr/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videopoziv"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Pauziraj"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Dodaj poziv"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Isklj. zvuk"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Prekini poziv"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tipkovnica"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Zvučnik"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", uključeno"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", isključeno"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Spoji"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Upravljanje"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Upravljaj pozivateljima"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Zamijeni"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Zvuk"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Bilješka je poslana"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-hu/strings.xml b/java/com/android/incallui/incall/impl/res/values-hu/strings.xml
index 194c348d9..e63ce5946 100644
--- a/java/com/android/incallui/incall/impl/res/values-hu/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-hu/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videohívás"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Várakoztatás"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Hívás felv."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Némítás"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Hívás vége"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Billentyűzet"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Hangszóró"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", be"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ki"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Egyesítés"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Kezelés"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Hívók kezelése"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Csere"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Hang"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Üzenet elküldve"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-hy/strings.xml b/java/com/android/incallui/incall/impl/res/values-hy/strings.xml
index 0e8054ec9..ce395e70c 100644
--- a/java/com/android/incallui/incall/impl/res/values-hy/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-hy/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Տեսազանգ"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Պահել զանգը"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Ավելացնել զանգ"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Անջատել"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Ավարտել զանգը"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Ստեղնաշար"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Բարձրախոս"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", միացած է"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", անջատած է"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Միավորել"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Կառավարել"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Զանգողների կառավարում"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Փոխարկել"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Ձայն"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Գրառումն ուղարկվեց"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-in/strings.xml b/java/com/android/incallui/incall/impl/res/values-in/strings.xml
index f429cb4b7..e9d738a36 100644
--- a/java/com/android/incallui/incall/impl/res/values-in/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-in/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video call"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Tahan"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Tambahkan panggilan"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Bisukan"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Akhiri panggilan"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Keypad"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Speaker"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", aktif"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", Nonaktif"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Gabungkan"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Kelola"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Kelola penelepon"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Tukar"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Suara"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Catatan telah dikirim"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-is/strings.xml b/java/com/android/incallui/incall/impl/res/values-is/strings.xml
index 9c3bf89bf..f262e3f9f 100644
--- a/java/com/android/incallui/incall/impl/res/values-is/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-is/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Myndsímtal"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Setja í bið"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Bæta við"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Hljóð af"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Ljúka"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Talnaborð"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Hátalari"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", kveikt"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", slökkt"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Sameina"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Stjórna"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Hafa umsjón með hringjendum"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Skipta milli"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Hljóð"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Glósa send"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-it/strings.xml b/java/com/android/incallui/incall/impl/res/values-it/strings.xml
index 1cfb0be67..f29a70260 100644
--- a/java/com/android/incallui/incall/impl/res/values-it/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-it/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videochiamata"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"In attesa"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Aggiungi chiamata"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Disattiva"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Termina chiamata"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tastierino"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Altoparlante"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", attivo"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", non attivo"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Unisci"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gestisci"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Gestisci chiamanti"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Scambia"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Audio"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Nota inviata"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-iw/strings.xml b/java/com/android/incallui/incall/impl/res/values-iw/strings.xml
index 2426fc868..bf08e3b06 100644
--- a/java/com/android/incallui/incall/impl/res/values-iw/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-iw/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"שיחת וידאו"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"המתנה"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"הוסף שיחה"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"השתק"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"סיום השיחה"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"לוח חיוג"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"רמקול"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", מופעל"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", מושבת"</string>
<string name="incall_label_merge" msgid="720076442985913175">"מזג"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"נהל"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"ניהול המתקשרים"</string>
<string name="incall_label_swap" msgid="10458642864243507">"החלף"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"צלילים"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"ההערה נשלחה"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ja/strings.xml b/java/com/android/incallui/incall/impl/res/values-ja/strings.xml
index 9e313a072..b78ee202e 100644
--- a/java/com/android/incallui/incall/impl/res/values-ja/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ja/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ビデオ通話"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"保留"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"通話を追加"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"ミュート"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"通話を終了"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"キーパッド"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"スピーカー"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"がオンです"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"がオフです"</string>
<string name="incall_label_merge" msgid="720076442985913175">"統合"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"管理"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"発信者を管理"</string>
<string name="incall_label_swap" msgid="10458642864243507">"切り替え"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"音声"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"メモを送信しました"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ka/strings.xml b/java/com/android/incallui/incall/impl/res/values-ka/strings.xml
index d33af5a46..f6926f39c 100644
--- a/java/com/android/incallui/incall/impl/res/values-ka/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ka/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ვიდეოზარი"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"შეყოვნება"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"ზარის დამატ."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"დადუმება"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"ზარის დასრ."</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"კლავიატურა"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"სპიკერი"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ჩართულია"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", გამორთულია"</string>
<string name="incall_label_merge" msgid="720076442985913175">"გაერთიანება"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"მართვა"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"აბონენტების მართვა"</string>
<string name="incall_label_swap" msgid="10458642864243507">"შენაცვლება"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ხმა"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"ჩანიშვნა გაიგზავნა"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-kk/strings.xml b/java/com/android/incallui/incall/impl/res/values-kk/strings.xml
index db9c4f6ca..8da9982d0 100644
--- a/java/com/android/incallui/incall/impl/res/values-kk/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-kk/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Бейне қоңырау"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Күттіру"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Қоңырау қосу"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Дыбысын өшіру"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Қоңырауды аяқтау"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Пернетақта"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Динамик"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", қосулы"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", өшірулі"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Біріктіру"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Басқару"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Қоңырау шалушыларды басқару"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Ауыстыру"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Дыбыс"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Ескертпе жіберілді"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-km/strings.xml b/java/com/android/incallui/incall/impl/res/values-km/strings.xml
index 6596bdf0c..88e356a41 100644
--- a/java/com/android/incallui/incall/impl/res/values-km/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-km/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ហៅ​ជា​វីដេអូ"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"រង់ចាំ"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"បន្ថែម​ការ​ហៅ"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"បិទ​សំឡេង"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"បញ្ចប់​ការ​ហៅ"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"បន្ទះ​​ចុច​លេខ"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"ឧបករណ៍​បំពង​សំឡេង"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", បាន​បើក"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", បានបិទ"</string>
<string name="incall_label_merge" msgid="720076442985913175">"បញ្ចូលគ្នា"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"គ្រប់គ្រង"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"គ្រប់គ្រងអ្នក​ហៅ"</string>
<string name="incall_label_swap" msgid="10458642864243507">"ប្ដូរ"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"សំឡេង"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"បានផ្ញើចំណាំ"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-kn/strings.xml b/java/com/android/incallui/incall/impl/res/values-kn/strings.xml
index c03ec09fa..ad29b6d36 100644
--- a/java/com/android/incallui/incall/impl/res/values-kn/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-kn/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ವೀಡಿಯೊ ಕರೆ"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ಹೋಲ್ಡ್‌‌ ಮಾಡು"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"ಕರೆಯನ್ನು ಸೇರಿಸಿ"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"ಮ್ಯೂಟ್ ಮಾಡಿ"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"ಕರೆ ಅಂತ್ಯಗೊಳಿಸಿ"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"ಕೀಪ್ಯಾಡ್‌"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"ಸ್ಪೀಕರ್‌"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ಆನ್ ಆಗಿದೆ"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ಆಫ್ ಆಗಿದೆ"</string>
<string name="incall_label_merge" msgid="720076442985913175">"ವಿಲೀನಗೊಳಿಸು"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"ನಿರ್ವಹಿಸು"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"ಕರೆದಾತರನ್ನು ನಿರ್ವಹಿಸಿ"</string>
<string name="incall_label_swap" msgid="10458642864243507">"ಸ್ವ್ಯಾಪ್‌ ಮಾಡು"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ಧ್ವನಿ"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"ಟಿಪ್ಪಣಿ ಕಳುಹಿಸಲಾಗಿದೆ"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ko/strings.xml b/java/com/android/incallui/incall/impl/res/values-ko/strings.xml
index e701e772f..f9bb20f8b 100644
--- a/java/com/android/incallui/incall/impl/res/values-ko/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ko/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"화상 통화"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"대기"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"통화 추가"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"음소거"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"통화 종료"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"키패드"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"스피커"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", 켜짐"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", 꺼짐"</string>
<string name="incall_label_merge" msgid="720076442985913175">"병합"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"관리"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"발신자 관리"</string>
<string name="incall_label_swap" msgid="10458642864243507">"전환"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"소리"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"메모가 전송되었습니다."</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ky/strings.xml b/java/com/android/incallui/incall/impl/res/values-ky/strings.xml
index e51d4c582..f00264dbe 100644
--- a/java/com/android/incallui/incall/impl/res/values-ky/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ky/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Видео чалуу"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Күттүрүү"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Чалууну кошуу"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Үнүн өчүрүү"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Чалууну бүтүрүү"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Ном. тергич"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Катуу сүйлөткүч"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", күйүк"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", өчүк"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Бириктирүү"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Башкаруу"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Чалуучуларды башкаруу"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Алмаштыруу"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Добуш"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Билдирүү жөнөтүлдү"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-lo/strings.xml b/java/com/android/incallui/incall/impl/res/values-lo/strings.xml
index 52de3ffcc..2382f3241 100644
--- a/java/com/android/incallui/incall/impl/res/values-lo/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-lo/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ໂທດ້ວຍວິດີໂອ"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ພັກສາຍຊົ່ວຄາວ"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"ເພີ່ມການໂທ"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"ປີດສຽງ"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"ວາງສາຍ"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"ແປ້ນກົດ"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"ລຳໂພງ"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ເປີດຢູ່"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ປິດຢູ່"</string>
<string name="incall_label_merge" msgid="720076442985913175">"ຮວມສາຍ"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"ຈັດການ"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"ຈັດການຜູ້ໂທ"</string>
<string name="incall_label_swap" msgid="10458642864243507">"ສະຫຼັບສາຍ"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ສຽງ"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"ສົ່ງບັນທຶກແລ້ວ"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-lt/strings.xml b/java/com/android/incallui/incall/impl/res/values-lt/strings.xml
index 4cd0356f3..1a10884cb 100644
--- a/java/com/android/incallui/incall/impl/res/values-lt/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-lt/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Vaizdo skambutis"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Sulaikyti"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Pr. skambutį"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Nutildyti"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Baig. skamb."</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Klaviatūra"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Garsiakalbis"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", įjungtas"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", išjungtas"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Sujungti"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Tvarkyti"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Tvarkyti skambintojus"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Sukeisti"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Garsas"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Užrašas išsiųstas"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-lv/strings.xml b/java/com/android/incallui/incall/impl/res/values-lv/strings.xml
index 48f9ae032..c19e7c0ae 100644
--- a/java/com/android/incallui/incall/impl/res/values-lv/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-lv/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videozvans"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Aizturēt"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Pievienot zvanu"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Izslēgt"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Beigt zvanu"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Cipartast."</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Skaļrunis"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ieslēgts"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", izslēgts"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Apvienot"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Pārvaldīt"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Pārvaldīt zvanītājus"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Pārslēgt"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Skaņa"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Piezīme nosūtīta"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-mk/strings.xml b/java/com/android/incallui/incall/impl/res/values-mk/strings.xml
index 5a61de5d3..610a30803 100644
--- a/java/com/android/incallui/incall/impl/res/values-mk/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-mk/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Видеоповик"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"На чекање"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Додај повик"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Исклучи звук"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Заврши повик"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Тастатура"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Звучник"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", е вклучен"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", е исклучен"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Спои"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Управувај"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Управувајте со повикувачите"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Замени"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Звук"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Белешката е испратена"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ml/strings.xml b/java/com/android/incallui/incall/impl/res/values-ml/strings.xml
index 00586ffa7..83c2989f0 100644
--- a/java/com/android/incallui/incall/impl/res/values-ml/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ml/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"വീഡിയോ കോള്‍"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ഹോള്‍ഡുചെയ്യുക"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"കോൾ ചേർക്കുക"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"മ്യൂട്ടുചെയ്യുക"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"കോള്‍ അവസാനിപ്പിക്കൂ"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"കീപാഡ്"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"സ്പീക്കർ"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ഓണാണ്"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ഓഫാണ്"</string>
<string name="incall_label_merge" msgid="720076442985913175">"ലയിപ്പിക്കുക"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"മാനേജുചെയ്യുക"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"കോൾ ചെയ്യുന്നവരെ മാനേജുചെയ്യുക"</string>
<string name="incall_label_swap" msgid="10458642864243507">"സ്വാപ്പുചെയ്യുക"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ശബ്‌ദം"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"കുറിപ്പ് അയച്ചു"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-mn/strings.xml b/java/com/android/incallui/incall/impl/res/values-mn/strings.xml
index 085a405b0..9427d86d2 100644
--- a/java/com/android/incallui/incall/impl/res/values-mn/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-mn/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Видео хурал"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Саатуулах"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Дуудлага нэмэх"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Дууг хаах"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Дуудлагыг таслах"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Товчлуур"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Чанга яригч"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", асаатай"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", унтраатай"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Нэгтгэх"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Удирдах"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Залгагчдыг удирдах"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Солих"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Дуу"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Тэмдэглэлийг илгээсэн"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-mr/strings.xml b/java/com/android/incallui/incall/impl/res/values-mr/strings.xml
index 841923352..194c192bd 100644
--- a/java/com/android/incallui/incall/impl/res/values-mr/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-mr/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"व्हिडिओ कॉल"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"होल्ड करा"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"कॉल जोडा"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"नि:शब्द करा"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"कॉल समाप्त करा"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"कीपॅड"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"स्पीकर"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", सुरू आहे"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", बंद आहे"</string>
<string name="incall_label_merge" msgid="720076442985913175">"विलीन करा"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"व्यवस्थापित करा"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"कॉलर व्यवस्थापित करा"</string>
<string name="incall_label_swap" msgid="10458642864243507">"अदलाबदल करा"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ध्वनी"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"टीप पाठविली"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ms/strings.xml b/java/com/android/incallui/incall/impl/res/values-ms/strings.xml
index c9db8325e..a918dedb4 100644
--- a/java/com/android/incallui/incall/impl/res/values-ms/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ms/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Pgln video"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Tunda"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Tambah pgln"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Redam"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Tamatkn pgln"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Pad kekunci"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Pmbsr suara"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", dihidupkan"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", Dimatikan"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Gabung"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Urus"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Urus pemanggil"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Silih"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Bunyi"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Nota dihantar"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-my/strings.xml b/java/com/android/incallui/incall/impl/res/values-my/strings.xml
index e0bfb8c71..80070297b 100644
--- a/java/com/android/incallui/incall/impl/res/values-my/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-my/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ဗီဒီယိုခေါ်ဆိုမှု"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ခဏရပ်ထားရန်"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"ထပ်ခေါ်ရန်"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"အသံပိတ်ရန်"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"ဖုန်းချရန်"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"ခလုတ်ခုံ"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"စပီကာ"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"၊ ပွင့်နေသည်"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"၊ ပိတ်နေသည်"</string>
<string name="incall_label_merge" msgid="720076442985913175">"ပေါင်းရန်"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"စီမံရန်"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"ခေါ်ဆိုသူများကို စီမံခန့်ခွဲရန်"</string>
<string name="incall_label_swap" msgid="10458642864243507">"ဖလှယ်ရန်"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"အသံ"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"မှတ်စုပို့ပြီးပါပြီ"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-nb/strings.xml b/java/com/android/incallui/incall/impl/res/values-nb/strings.xml
index 75200869c..704384ea0 100644
--- a/java/com/android/incallui/incall/impl/res/values-nb/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-nb/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videosamtale"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Sett på vent"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Nytt anrop"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Ignorer"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Avslutt samtalen"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tastatur"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Høyttaler"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"er på"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"er av"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Slå sammen"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Administrer"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Håndter innringere"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Bytt"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Lyd"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Notatet er sendt"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ne/strings.xml b/java/com/android/incallui/incall/impl/res/values-ne/strings.xml
index 6bcfb6dd2..beffa3e74 100644
--- a/java/com/android/incallui/incall/impl/res/values-ne/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ne/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"भिडियो कल"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"होल्ड गर्ने"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"कल थप्नुहोस्"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"म्यूट गर्ने"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"कल अन्त्य गर्ने"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"किप्याड"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"स्पिकर"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", खुला छ"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", बन्द छ"</string>
<string name="incall_label_merge" msgid="720076442985913175">"मर्ज गर्ने"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"प्रबन्ध गर्ने"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"कल गर्ने व्यक्तिहरूलाई व्यवस्थित गर्नुहोस्"</string>
<string name="incall_label_swap" msgid="10458642864243507">"साट्नुहोस्"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"आवाज"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"टिपोट पठाइयो"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-nl/strings.xml b/java/com/android/incallui/incall/impl/res/values-nl/strings.xml
index 63f1ebd5d..e3c919e1a 100644
--- a/java/com/android/incallui/incall/impl/res/values-nl/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-nl/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videogespr."</string>
<string name="incall_label_hold" msgid="4223472584896867896">"In wacht"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Oproep toev."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Dempen"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Oproep beëindigen"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Toetsenblok"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Luidspreker"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", is aan"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", is uit"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Samenvoegen"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Beheren"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Bellers beheren"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Wisselen"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Geluid"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Notitie verzonden"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-no/strings.xml b/java/com/android/incallui/incall/impl/res/values-no/strings.xml
index 75200869c..704384ea0 100644
--- a/java/com/android/incallui/incall/impl/res/values-no/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-no/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videosamtale"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Sett på vent"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Nytt anrop"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Ignorer"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Avslutt samtalen"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tastatur"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Høyttaler"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"er på"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"er av"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Slå sammen"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Administrer"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Håndter innringere"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Bytt"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Lyd"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Notatet er sendt"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-pa/strings.xml b/java/com/android/incallui/incall/impl/res/values-pa/strings.xml
index 10a2865a6..d7e74ed83 100644
--- a/java/com/android/incallui/incall/impl/res/values-pa/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-pa/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ਵੀਡੀਓ ਕਾਲ"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ਰੋਕ ਕੇ ਰੱਖੋ"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"ਕਾਲ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"ਮਿਊਟ ਕਰੋ"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"ਕਾਲ ਖਤਮ ਕਰੋ"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"ਕੀਪੈਡ"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"ਸਪੀਕਰ"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ਚਾਲੂ ਹੈ"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ਬੰਦ ਹੈ"</string>
<string name="incall_label_merge" msgid="720076442985913175">"ਰਲਗੱਡ ਕਰੋ"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"ਕਾਲਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
<string name="incall_label_swap" msgid="10458642864243507">"ਅਦਲੋ-ਬਦਲੋ"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ਧੁਨੀ"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"ਨੋਟ-ਕਥਨ ਭੇਜਿਆ ਗਿਆ"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-pl/strings.xml b/java/com/android/incallui/incall/impl/res/values-pl/strings.xml
index 4bf6a5833..9971d7553 100644
--- a/java/com/android/incallui/incall/impl/res/values-pl/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-pl/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Rozmowa wid."</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Wstrzymaj"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Dodaj poł."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Wycisz"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Zakończ"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Klawiatura"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Głośnik"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"– włączony"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"– wyłączony"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Scal"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Zarządzaj"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Zarządzaj rozmówcami"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Przełącz"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Dźwięk"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Notatka wysłana"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-pt-rBR/strings.xml b/java/com/android/incallui/incall/impl/res/values-pt-rBR/strings.xml
index 7ca6b6b6b..538c20c0b 100644
--- a/java/com/android/incallui/incall/impl/res/values-pt-rBR/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-pt-rBR/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videocham."</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Em espera"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Adic chamada"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Desativar"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Encerrar"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Teclado"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Alto-falante"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"ativado"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"desativado"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Mesclar"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gerenciar"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Gerenciar os autores das chamadas"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Trocar"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Som"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Nota enviada"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-pt-rPT/strings.xml b/java/com/android/incallui/incall/impl/res/values-pt-rPT/strings.xml
index 750e57e37..376ee8443 100644
--- a/java/com/android/incallui/incall/impl/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-pt-rPT/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videochamada"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Em espera"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Adic. cham."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Desativ. som"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Term. cham."</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Teclado"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Altifalante"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ativado"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", desativado"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Unir"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gerir"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Gerir autores das chamadas"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Alternar"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Som"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Nota enviada"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-pt/strings.xml b/java/com/android/incallui/incall/impl/res/values-pt/strings.xml
index 7ca6b6b6b..538c20c0b 100644
--- a/java/com/android/incallui/incall/impl/res/values-pt/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-pt/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videocham."</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Em espera"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Adic chamada"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Desativar"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Encerrar"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Teclado"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Alto-falante"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"ativado"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"desativado"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Mesclar"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gerenciar"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Gerenciar os autores das chamadas"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Trocar"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Som"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Nota enviada"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ro/strings.xml b/java/com/android/incallui/incall/impl/res/values-ro/strings.xml
index 1f93da9be..81dcdf3cc 100644
--- a/java/com/android/incallui/incall/impl/res/values-ro/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ro/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Apel video"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"În așteptare"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Încă un apel"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Dezactivați"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Încheiați"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tastatură"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Difuzor"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", e activat"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", dezactivat"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Îmbinați"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Gestionați"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Gestionați apelanții"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Schimbați"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Sunet"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Nota a fost trimisă"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ru/strings.xml b/java/com/android/incallui/incall/impl/res/values-ru/strings.xml
index 89192c3ae..274f8fff7 100644
--- a/java/com/android/incallui/incall/impl/res/values-ru/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ru/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Видеовызов"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Удерживать"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Добавить вызов"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Выкл. звук"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Завершить вызов"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Клавиатура"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Динамик"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", включен"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", отключен"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Объединить"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Управление"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Управление абонентами"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Переключить"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Звук"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Сообщение отправлено"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-si/strings.xml b/java/com/android/incallui/incall/impl/res/values-si/strings.xml
index 209bb77b1..a600c2193 100644
--- a/java/com/android/incallui/incall/impl/res/values-si/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-si/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"වීඩියෝ ඇමතුම"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"රඳවා ගන්න"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"ඇමතුම එක් ක."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"නිහඬ කරන්න"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"ඇමතුම නිම ක."</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"යතුරු පුවරුව"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"ස්පීකරය"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", සක්‍රියයි"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", අක්‍රියයි"</string>
<string name="incall_label_merge" msgid="720076442985913175">"ඒකාබද්ධ කර."</string>
<string name="incall_label_manage" msgid="2175471192903568159">"කළමනාකරණය ක."</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"අමතන්නන් කළමනාකරණය කරන්න"</string>
<string name="incall_label_swap" msgid="10458642864243507">"මාරු කරන්න"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"හඬ"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"සටහන යවන ලදී"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-sk/strings.xml b/java/com/android/incallui/incall/impl/res/values-sk/strings.xml
index 4e06aee32..d74d19e22 100644
--- a/java/com/android/incallui/incall/impl/res/values-sk/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-sk/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videohovor"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Podržať"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Pridať hovor"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Vypnúť zvuk"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Ukonč. hovor"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Klávesnica"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Reproduktor"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", je zapnutý"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", je vypnutý"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Zlúčiť"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Spravovať"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Spravovať volajúcich"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Zameniť"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Zvuk"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Poznámka bola odoslaná"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-sl/strings.xml b/java/com/android/incallui/incall/impl/res/values-sl/strings.xml
index 7cdb6c88c..782ce444b 100644
--- a/java/com/android/incallui/incall/impl/res/values-sl/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-sl/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videoklic"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Zadrži"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Dodaj klic"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Izklopi zvok"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Končaj klic"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tipkovnica"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Zvočnik"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", vklopljen"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", izklopljen"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Združi"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Upravljanje"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Upravljanje klicateljev"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Zamenjaj"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Zvok"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Opomba je poslana"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-sq/strings.xml b/java/com/android/incallui/incall/impl/res/values-sq/strings.xml
index 9ba18b5f4..a0fca3668 100644
--- a/java/com/android/incallui/incall/impl/res/values-sq/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-sq/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video tel."</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Në pritje"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Shto telef."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Hiqi zërin"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Mbyll tel."</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Blloku i tasteve"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Altoparlant"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", është aktiv"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", është joaktiv"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Shkri"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Menaxho"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Menaxho telefonuesit"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Shkëmbe"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Tingulli"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Shënimi u dërgua"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-sr/strings.xml b/java/com/android/incallui/incall/impl/res/values-sr/strings.xml
index 56a968453..ec704511b 100644
--- a/java/com/android/incallui/incall/impl/res/values-sr/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-sr/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Видео позив"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"На чекање"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Додај позив"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Искључи звук"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Заврши позив"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Тастатура"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Звучник"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", укључен"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", искључен"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Обједини"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Управљај"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Управљајте позиваоцима"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Замени"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Звук"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Белешка је послата"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-sv/strings.xml b/java/com/android/incallui/incall/impl/res/values-sv/strings.xml
index 27d83b74b..ded45221c 100644
--- a/java/com/android/incallui/incall/impl/res/values-sv/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-sv/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Videosamtal"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Parkera"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Lägg t samt."</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Ljud av"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Avsl. samtal"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Knappsats"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Högtalare"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", är på"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", är av"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Sammanfoga"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Hantera"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Hantera uppringare"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Växla"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Ljud"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Anteckning skickad"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-sw/strings.xml b/java/com/android/incallui/incall/impl/res/values-sw/strings.xml
index 136fe1713..df634f469 100644
--- a/java/com/android/incallui/incall/impl/res/values-sw/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-sw/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Hangout ya video"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Shikilia"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Ongeza simu"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Zima maikrofoni"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Kata simu"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Vitufe vya Simu"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Spika"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", kimewashwa"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", kimezimwa"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Unganisha"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Dhibiti"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Dhibiti wanaopiga simu"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Badili"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Sauti"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Dokezo limetumwa"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ta/strings.xml b/java/com/android/incallui/incall/impl/res/values-ta/strings.xml
index 342f8d041..5c94abff4 100644
--- a/java/com/android/incallui/incall/impl/res/values-ta/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ta/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"வீடியோ கால்"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ஹோல்டில் வை"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"அழைப்பை சேர்"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"முடக்கு"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"அழைப்பை முடி"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"விசைத்தளம்"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"ஸ்பீக்கர்"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ஆன்"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ஆஃப்"</string>
<string name="incall_label_merge" msgid="720076442985913175">"இணை"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"நிர்வகி"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"அழைப்பாளர்களை நிர்வகிக்கும்"</string>
<string name="incall_label_swap" msgid="10458642864243507">"மாற்று"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"ஒலி"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"குறிப்பு அனுப்பப்பட்டது"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-te/strings.xml b/java/com/android/incallui/incall/impl/res/values-te/strings.xml
index 004895647..0cb3fb837 100644
--- a/java/com/android/incallui/incall/impl/res/values-te/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-te/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"వీడియో కాల్"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"హోల్డ్ చేయి"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"కాల్ జోడించు"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"మ్యూట్ చేయి"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"కాల్ ముగించు"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"కీప్యాడ్"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"స్పీకర్"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ఆన్‌లో ఉంది"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ఆఫ్‌లో ఉంది"</string>
<string name="incall_label_merge" msgid="720076442985913175">"విలీనం చేయి"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"నిర్వహించు"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"కాలర్‌లను నిర్వహిస్తుంది"</string>
<string name="incall_label_swap" msgid="10458642864243507">"మార్చు"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"శబ్దం"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"గమనిక పంపబడింది"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-th/strings.xml b/java/com/android/incallui/incall/impl/res/values-th/strings.xml
index a74028842..0929cfc23 100644
--- a/java/com/android/incallui/incall/impl/res/values-th/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-th/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"แฮงเอาท์วิดีโอ"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"พักสาย"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"เพิ่มการโทร"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"ปิดเสียง"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"วางสาย"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"ปุ่มกด"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"ลำโพง"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"เปิดอยู่"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"ปิดอยู่"</string>
<string name="incall_label_merge" msgid="720076442985913175">"รวม"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"จัดการ"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"จัดการผู้โทร"</string>
<string name="incall_label_swap" msgid="10458642864243507">"สลับ"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"เสียง"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"ส่งโน้ตแล้ว"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-tl/strings.xml b/java/com/android/incallui/incall/impl/res/values-tl/strings.xml
index 46ff79731..1ac2ef88c 100644
--- a/java/com/android/incallui/incall/impl/res/values-tl/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-tl/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video call"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"I-hold"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Mag-add: tawag"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"I-mute"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Tapusin ang tawag"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Keypad"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Speaker"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">",ay On"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ay Off"</string>
<string name="incall_label_merge" msgid="720076442985913175">"I-merge"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Pamahalaan"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Pamahalaan ang mga tumatawag"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Pagpalitin"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Tunog"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Naipadala ang tala"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-tr/strings.xml b/java/com/android/incallui/incall/impl/res/values-tr/strings.xml
index 89ca3302f..241b69429 100644
--- a/java/com/android/incallui/incall/impl/res/values-tr/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-tr/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Görü. görüş."</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Beklemeye al"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Çağrı ekle"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Sesi kapat"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Çğryı sonldr"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Tuş takımı"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Hoparlör"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", Açık"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", Kapalı"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Birleştir"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Yönet"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Arayanları yönetin"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Değiştir"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Ses"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Not gönderildi"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-uk/strings.xml b/java/com/android/incallui/incall/impl/res/values-uk/strings.xml
index 516bcb757..1821556fa 100644
--- a/java/com/android/incallui/incall/impl/res/values-uk/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-uk/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Відеодзвінок"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Утримувати"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Дод. виклик"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Без звуку"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Завер. викл."</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Клавіатура"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Динамік"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", увімкнено"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", вимкнено"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Об’єднати"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Керувати"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Керувати абонентами"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Поміняти"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Звук"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Нотатку надіслано"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-ur/strings.xml b/java/com/android/incallui/incall/impl/res/values-ur/strings.xml
index 53ba19031..fed0af6c2 100644
--- a/java/com/android/incallui/incall/impl/res/values-ur/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-ur/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"ویڈیو کال"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"ہولڈ کریں"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"کال شامل کریں"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"خاموش کریں"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"کال ختم کریں"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"کی پیڈ"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"اسپیکر"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">"، آن ہے"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">"، آف ہے"</string>
<string name="incall_label_merge" msgid="720076442985913175">"ضم کریں"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"نظم کریں"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"کالرز کا نظم کریں"</string>
<string name="incall_label_swap" msgid="10458642864243507">"تبادلہ کریں"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"آواز"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"نوٹ بھیج دیا گیا"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-uz/strings.xml b/java/com/android/incallui/incall/impl/res/values-uz/strings.xml
index 881848965..7d6af27b2 100644
--- a/java/com/android/incallui/incall/impl/res/values-uz/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-uz/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Video qo‘n."</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Pauza"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Chaqiruv"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Ovozsiz"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Tugatish"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Klaviatura"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Karnay"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", yoniq"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", o‘chiq"</string>
- <string name="incall_label_merge" msgid="720076442985913175">"Birlashtir."</string>
+ <string name="incall_label_merge" msgid="720076442985913175">"Birlashtirish"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Boshqarish"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Qo‘ng‘iroq qiluvchilarni boshqarish"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Almashish"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Ovoz"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Qayd yuborildi"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-vi/strings.xml b/java/com/android/incallui/incall/impl/res/values-vi/strings.xml
index 29f85efab..42e320a7a 100644
--- a/java/com/android/incallui/incall/impl/res/values-vi/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-vi/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Gọi điện video"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Giữ"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Thêm cuộc gọi"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Tắt tiếng"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Kết thúc cuộc gọi"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Bàn phím"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Loa"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", đang bật"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", đang tắt"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Hợp nhất"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Quản lý"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Quản lý người gọi"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Hoán đổi"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Âm thanh"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Đã gửi ghi chú"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-w260dp-h520dp/dimens.xml b/java/com/android/incallui/incall/impl/res/values-w260dp-h520dp/dimens.xml
deleted file mode 100644
index e73eb934c..000000000
--- a/java/com/android/incallui/incall/impl/res/values-w260dp-h520dp/dimens.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <dimen name="incall_button_horizontal_padding">16dp</dimen>
- <dimen name="incall_button_vertical_padding">16dp</dimen>
- <dimen name="incall_labeled_button_size">64dp</dimen>
- <dimen name="tools_button_height">92dp</dimen>
-</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-w260dp-h580dp/dimens.xml b/java/com/android/incallui/incall/impl/res/values-w260dp-h580dp/dimens.xml
new file mode 100644
index 000000000..834ea2f30
--- /dev/null
+++ b/java/com/android/incallui/incall/impl/res/values-w260dp-h580dp/dimens.xml
@@ -0,0 +1,23 @@
+<?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>
+ <dimen name="incall_button_horizontal_padding">16dp</dimen>
+ <dimen name="incall_button_vertical_padding">16dp</dimen>
+ <dimen name="incall_labeled_button_size">64dp</dimen>
+ <dimen name="tools_button_height">92dp</dimen>
+</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-w300dp-h540dp/dimens.xml b/java/com/android/incallui/incall/impl/res/values-w300dp-h540dp/dimens.xml
deleted file mode 100644
index 502ae72dc..000000000
--- a/java/com/android/incallui/incall/impl/res/values-w300dp-h540dp/dimens.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <dimen name="incall_button_horizontal_padding">32dp</dimen>
- <dimen name="incall_button_vertical_padding">32dp</dimen>
-</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-w300dp-h620dp/dimens.xml b/java/com/android/incallui/incall/impl/res/values-w300dp-h620dp/dimens.xml
new file mode 100644
index 000000000..c7ac35efc
--- /dev/null
+++ b/java/com/android/incallui/incall/impl/res/values-w300dp-h620dp/dimens.xml
@@ -0,0 +1,21 @@
+<?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>
+ <dimen name="incall_button_horizontal_padding">32dp</dimen>
+ <dimen name="incall_button_vertical_padding">32dp</dimen>
+</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-zh-rCN/strings.xml b/java/com/android/incallui/incall/impl/res/values-zh-rCN/strings.xml
index ec6404569..f0cca9060 100644
--- a/java/com/android/incallui/incall/impl/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-zh-rCN/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"视频通话"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"保持"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"添加通话"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"静音"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"结束通话"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"拨号键盘"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"免提"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">",已开启"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">",已关闭"</string>
<string name="incall_label_merge" msgid="720076442985913175">"合并"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"管理"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"管理来电者"</string>
<string name="incall_label_swap" msgid="10458642864243507">"切换"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"声音"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"已发送备注"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-zh-rHK/strings.xml b/java/com/android/incallui/incall/impl/res/values-zh-rHK/strings.xml
index 63cd6d8c8..c38ef35a0 100644
--- a/java/com/android/incallui/incall/impl/res/values-zh-rHK/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-zh-rHK/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"視像通話"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"保留"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"新增通話"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"靜音"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"結束通話"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"小鍵盤"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"揚聲器"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">",已開啟"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">",已關閉"</string>
<string name="incall_label_merge" msgid="720076442985913175">"合併"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"管理"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"管理來電者"</string>
<string name="incall_label_swap" msgid="10458642864243507">"切換"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"音效"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"已傳送筆記"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-zh-rTW/strings.xml b/java/com/android/incallui/incall/impl/res/values-zh-rTW/strings.xml
index be3103ba6..c04b8309e 100644
--- a/java/com/android/incallui/incall/impl/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-zh-rTW/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"視訊通話"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"保留"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"新增通話"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"靜音"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"結束通話"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"撥號鍵盤"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"擴音模式"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">",已開啟"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">",已關閉"</string>
<string name="incall_label_merge" msgid="720076442985913175">"合併"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"管理"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"管理來電者"</string>
<string name="incall_label_swap" msgid="10458642864243507">"切換"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"音訊"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"備註已送出"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values-zu/strings.xml b/java/com/android/incallui/incall/impl/res/values-zu/strings.xml
index df3f79484..a23a1d5e3 100644
--- a/java/com/android/incallui/incall/impl/res/values-zu/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values-zu/strings.xml
@@ -1,18 +1,33 @@
<?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 xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="incall_label_videocall" msgid="2208755440134676113">"Ikholi yevidiyo ye-Hangout"</string>
<string name="incall_label_hold" msgid="4223472584896867896">"Bamba"</string>
<string name="incall_label_add_call" msgid="5641663436373994915">"Engeza ikholi"</string>
<string name="incall_label_mute" msgid="2180667027331706737">"Thulisa"</string>
+ <string name="incall_label_end_call" msgid="5434079261446614887">"Qeda ikholi"</string>
<string name="incall_label_dialpad" msgid="8609779533654156550">"Ikhiphedi"</string>
- <string name="incall_label_speaker" msgid="8100402799687856933">"Isipikha"</string>
<string name="incall_talkback_speaker_on" msgid="5819463769258124228">", ivuliwe"</string>
<string name="incall_talkback_speaker_off" msgid="7486836772563090186">", ivaliwe"</string>
<string name="incall_label_merge" msgid="720076442985913175">"Hlanganisa"</string>
<string name="incall_label_manage" msgid="2175471192903568159">"Phatha"</string>
<string name="a11y_description_incall_label_manage_content" msgid="8298638893449287602">"Phatha abashayi"</string>
<string name="incall_label_swap" msgid="10458642864243507">"Shintsha"</string>
- <string name="incall_label_audio" msgid="8616473242030174797">"Umsindo"</string>
<string name="incall_note_sent" msgid="4524130323127388367">"Inothi lithunyelwe"</string>
</resources>
diff --git a/java/com/android/incallui/incall/impl/res/values/strings.xml b/java/com/android/incallui/incall/impl/res/values/strings.xml
index 054ca9687..2b30dfa53 100644
--- a/java/com/android/incallui/incall/impl/res/values/strings.xml
+++ b/java/com/android/incallui/incall/impl/res/values/strings.xml
@@ -1,4 +1,19 @@
<?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>
<!-- Button shown during a phone call to upgrade to video.
@@ -17,13 +32,13 @@
[CHAR LIMIT=12] -->
<string name="incall_label_mute">Mute</string>
- <!-- Button shown during a phone call to show the dialpad.
+ <!-- Button shown during a phone call to end the call.
[CHAR LIMIT=12] -->
- <string name="incall_label_dialpad">Keypad</string>
+ <string name="incall_label_end_call">End call</string>
- <!-- Button shown during a phone to route audio from earpiece to speaker phone.
+ <!-- Button shown during a phone call to show the dialpad.
[CHAR LIMIT=12] -->
- <string name="incall_label_speaker">Speaker</string>
+ <string name="incall_label_dialpad">Keypad</string>
<!-- Talkback text for speaker button status. [CHAR LIMIT=12] -->
<string name="incall_talkback_speaker_on">, is on</string>
@@ -45,12 +60,9 @@
[CHAR LIMIT=12] -->
<string name="incall_label_swap">Swap</string>
- <!-- Button shown during a phone to switch the audio route.
- [CHAR LIMIT=12] -->
- <string name="incall_label_audio">Sound</string>
<!-- Used to inform the user that the note associated with an outgoing call has been sent.
[CHAR LIMIT=32] -->
<string name="incall_note_sent">Note sent</string>
-</resources> \ No newline at end of file
+</resources>
diff --git a/java/com/android/incallui/incall/protocol/PrimaryCallState.java b/java/com/android/incallui/incall/protocol/PrimaryCallState.java
index 2ae6a18e5..26dd3887a 100644
--- a/java/com/android/incallui/incall/protocol/PrimaryCallState.java
+++ b/java/com/android/incallui/incall/protocol/PrimaryCallState.java
@@ -44,6 +44,7 @@ public class PrimaryCallState {
public final boolean isVoiceMailNumber;
public final boolean isRemotelyHeld;
public final boolean isBusinessNumber;
+ public final boolean supportsCallOnHold;
// TODO: Convert to autovalue. b/34502119
public static PrimaryCallState createEmptyPrimaryCallState() {
@@ -67,7 +68,8 @@ public class PrimaryCallState {
0,
false /* isVoiceMailNumber */,
false /* isRemotelyHeld */,
- false /* isBusinessNumber */);
+ false /* isBusinessNumber */,
+ true /* supportsCallOnHold */);
}
public PrimaryCallState(
@@ -90,7 +92,8 @@ public class PrimaryCallState {
long connectTimeMillis,
boolean isVoiceMailNumber,
boolean isRemotelyHeld,
- boolean isBusinessNumber) {
+ boolean isBusinessNumber,
+ boolean supportsCallOnHold) {
this.state = state;
this.isVideoCall = isVideoCall;
this.sessionModificationState = sessionModificationState;
@@ -111,6 +114,7 @@ public class PrimaryCallState {
this.isVoiceMailNumber = isVoiceMailNumber;
this.isRemotelyHeld = isRemotelyHeld;
this.isBusinessNumber = isBusinessNumber;
+ this.supportsCallOnHold = supportsCallOnHold;
}
@Override
diff --git a/java/com/android/incallui/incall/protocol/PrimaryInfo.java b/java/com/android/incallui/incall/protocol/PrimaryInfo.java
index c1709501d..761dd9a81 100644
--- a/java/com/android/incallui/incall/protocol/PrimaryInfo.java
+++ b/java/com/android/incallui/incall/protocol/PrimaryInfo.java
@@ -104,13 +104,14 @@ public class PrimaryInfo {
return String.format(
Locale.US,
"PrimaryInfo, number: %s, name: %s, location: %s, label: %s, "
- + "photo: %s, photoType: %d, isPhotoVisible: %b",
+ + "photo: %s, photoType: %d, isPhotoVisible: %b, MultimediaData: %s",
LogUtil.sanitizePhoneNumber(number),
LogUtil.sanitizePii(name),
LogUtil.sanitizePii(location),
label,
photo,
photoType,
- isContactPhotoShown);
+ isContactPhotoShown,
+ multimediaData);
}
}
diff --git a/java/com/android/incallui/res/drawable-hdpi/img_conference.png b/java/com/android/incallui/res/drawable-hdpi/img_conference.png
deleted file mode 100644
index 3d9f683a5..000000000
--- a/java/com/android/incallui/res/drawable-hdpi/img_conference.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-mdpi/img_conference.png b/java/com/android/incallui/res/drawable-mdpi/img_conference.png
deleted file mode 100644
index 0694dbd55..000000000
--- a/java/com/android/incallui/res/drawable-mdpi/img_conference.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-xhdpi/img_conference.png b/java/com/android/incallui/res/drawable-xhdpi/img_conference.png
deleted file mode 100644
index b0dbcc2dc..000000000
--- a/java/com/android/incallui/res/drawable-xhdpi/img_conference.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-xxhdpi/img_conference.png b/java/com/android/incallui/res/drawable-xxhdpi/img_conference.png
deleted file mode 100644
index a8dba5ed0..000000000
--- a/java/com/android/incallui/res/drawable-xxhdpi/img_conference.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/drawable-xxxhdpi/img_conference.png b/java/com/android/incallui/res/drawable-xxxhdpi/img_conference.png
deleted file mode 100644
index eb42b5552..000000000
--- a/java/com/android/incallui/res/drawable-xxxhdpi/img_conference.png
+++ /dev/null
Binary files differ
diff --git a/java/com/android/incallui/res/anim/on_going_call.xml b/java/com/android/incallui/res/drawable/on_going_call.xml
index 3a2e2ba1a..438ba8273 100644
--- a/java/com/android/incallui/res/anim/on_going_call.xml
+++ b/java/com/android/incallui/res/drawable/on_going_call.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
+ -->
+
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
@@ -28,4 +44,4 @@
<item
android:drawable="@drawable/ic_ongoing_phone_24px_09"
android:duration="200"/>
-</animation-list> \ No newline at end of file
+</animation-list>
diff --git a/java/com/android/incallui/res/values-af/strings.xml b/java/com/android/incallui/res/values-af/strings.xml
index 5dacaaa8d..7d260c337 100644
--- a/java/com/android/incallui/res/values-af/strings.xml
+++ b/java/com/android/incallui/res/values-af/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Gemiste oproep vanaf <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Oproep aan die gang"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Voortdurende werkoproep"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Voortdurende Wi-Fi-oproep"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Voortdurende Wi-Fi-werkoproep"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Voortdurende Wi-Fi-oproep"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Voortdurende Wi-Fi-werkoproep"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Hou aan"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Inkomende oproep"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Inkomende oproep met foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Belangrike inkomende oproep met foto, boodskap en ligging"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Belangrike inkomende oproep met aanhegsels"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Inkomende werkoproep"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Inkomende Wi-Fi-oproep"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Inkomende Wi-Fi-werkoproep"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Inkomende Wi-Fi-oproep"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Inkomende Wi-Fi-werkoproep"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Inkomende verdagte strooipos-oproep"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Inkomende videoversoek"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Geen diens nie"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Neem video-oproep"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Om \'n oproep te maak, skakel eers vliegtuigmodus af."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Nie geregistreer op netwerk nie."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Sellulêre netwerk nie beskikbaar nie."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobiele netwerk nie beskikbaar nie."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Voer \'n geldige nommer in om \'n oproep te maak."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Kan nie bel nie."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Begin MMI-volgorde…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Beëindig oproep"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferensie-oproep"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Besig met oproep"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Gaan voort met oproep deur sellulêre data te gebruik …"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Kon nie na Wi-Fi-netwerk oorskakel nie"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video-oproep sal op sellulêre netwerk bly. Standaard datakoste kan dalk geld."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Gaan voort met oproep deur mobiele data te gebruik ..."</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Kon nie na Wi-Fi-netwerk oorskakel nie"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Video-oproep sal op mobiele netwerk bly. Standaard datakoste kan dalk geld."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Moenie dit weer wys nie"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-am/strings.xml b/java/com/android/incallui/res/values-am/strings.xml
index 249447fee..f09fd63e4 100644
--- a/java/com/android/incallui/res/values-am/strings.xml
+++ b/java/com/android/incallui/res/values-am/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"ያልተመለሰ ጥሪ ከ<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"እየተካሄደ ያለ ጥሪ"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"በሂደት ላይ ያለ የሥራ ጥሪ"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"በሂደት ላይ ያለ የWi-Fi ጥሪ"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"በሂደት ላይ ያለ የWi-Fi የሥራ ጥሪ"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"በሂደት ላይ ያለ የWi-Fi ጥሪ"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"በሂደት ላይ ያለ የWi-Fi የሥራ ጥሪ"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"ያዝናቆይ"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ገቢ ጥሪ"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ገቢ ጥሪ ከፎቶ ጋር"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"አስፈላጊ ገቢ ጥሪ ከፎቶ፣ መልዕክት እና አካባቢ ጋር"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"አስፈላጊ ገቢ ጥሪ ከአባሪ ጋር"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"ገቢ የሥራ ጥሪ"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"ገቢ የWi-Fi ጥሪ"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"ገቢ የWi-Fi የሥራ ጥሪ"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"ገቢ የWi-Fi ጥሪ"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"ገቢ የWi-Fi የሥራ ጥሪ"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"መጪ የተጠረጠረ የአይፈለጌ መልዕክት ጥሪ"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"ገቢ የቪዲዮ ጥያቄ"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"ምንም አገልግሎት የለም"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"የቪዲዮ ጥሪ ውሰድ"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ለመደወል፣ መጀመሪያየአውሮፕላኑን ሁነታ አጥፋ።"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"በአውታረ መረቡ ላይ አልተመዘገበም።"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"የተንቀሳቃሽ ስልክ አውታረ መረብ አይገኝም።"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"የተንቀሳቃሽ ስልክ አውታረ መረብ አይገኝም።"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"አንድ ጥሪ ለማድረግ የሚሰራ ቁጥር ያስገቡ።"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"መደወል አልተቻለም።"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"የMMI sequence…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"ጥሪ ጨርስ"</string>
<string name="conference_call_name" msgid="8189987124611337174">"የስብሰባ ጥሪ"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"በጥሪ ላይ"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"ሴሉላር ውሂብ በመጠቀም ጥሪውን በመቀጠል ላይ…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"ወደ Wi-Fi አውታረ መረብ መቀየር አልተቻለም።"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"የቪዲዮ ጥሪ በሴሉላር አውታረመረቡ ላይ ይቆያል። መደበኛ የውሂብ ክፍያዎች ተፈጻሚ ሊሆኑ ይችላሉ።"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"የተንቀሳቃሽ ስልክ ውሂብን በመጠቀም ጥሪውን በመቀጠል ላይ…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"ወደ Wi-Fi አውታረ መረብ መቀየር አልተቻለም"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"የቪዲዮ ጥሪ በተንቀሳቃሽ ስልክ አውታረ መረብ ላይ ይቆያል። መደበኛ የውሂብ ክፍያዎች ተፈጻሚ ሊሆኑ ይችላሉ።"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"ይህን በድጋሚ አታሳይ"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ar/strings.xml b/java/com/android/incallui/res/values-ar/strings.xml
index 7c3585c7a..392829114 100644
--- a/java/com/android/incallui/res/values-ar/strings.xml
+++ b/java/com/android/incallui/res/values-ar/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"مكالمة فائتة من <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"مكالمة حالية"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"مكالمة عمل جارية"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"‏اتصال جارٍ عبر Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"‏مكالمة عمل جارية عبر اتصال Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"‏اتصال جارٍ عبر Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"‏مكالمة عمل جارية عبر اتصال Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"معلقة"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"مكالمة واردة"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"مكالمة واردة مع صورة"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"مكالمة واردة مهمة مع صورة ورسالة وموقع"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"مكالمة واردة مهمة مع مرفقات"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"مكالمة عمل واردة"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"‏اتصال وارد عبر Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"‏مكالمة عمل واردة عبر اتصال Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"‏اتصال وارد عبر Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"‏مكالمة عمل واردة عبر اتصال Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"مكالمة واردة يشتبه في كونها غير مرغوب فيها"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"طلب فيديو وارد"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"لا خدمة"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"الرد على مكالمة فيديو"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"لإجراء مكالمة، أوقف تشغيل وضع الطائرة أولاً."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"غير مسجل على الشبكة."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"شبكة الجوّال غير متاحة."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"شبكة الجوال غير متاحة."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"لإجراء مكالمة، أدخل رقمًا صالحًا."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"يتعذر الاتصال."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"‏جارٍ بدء تسلسل MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"إنهاء الاتصال"</string>
<string name="conference_call_name" msgid="8189987124611337174">"مكالمة جماعية"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"قيد الاتصال"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"جارٍ استكمال المكالمة باستخدام بيانات الجوّال…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"‏تعذر التبديل إلى شبكة Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ستظل مكالمة الفيديو على شبكة الجوّال. قد يتم فرض رسوم على البيانات القياسية للشبكة."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"جارٍ استكمال المكالمة باستخدام بيانات الجوّال…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"‏تعذر التبديل إلى شبكة Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ستظل مكالمة الفيديو جارية على شبكة الجوال. قد يتم تطبيق رسوم قياسية على استخدام البيانات."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"عدم إظهار هذا مرة أخرى"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-az/strings.xml b/java/com/android/incallui/res/values-az/strings.xml
index dc43014fb..168dd0733 100644
--- a/java/com/android/incallui/res/values-az/strings.xml
+++ b/java/com/android/incallui/res/values-az/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> tərəfindən zəng buraxılıb"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Davam edən zəng"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Davam edən iş çağrısı"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Davam edən Wi-Fi zəngi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Davam edən Wi-Fi iş çağrısı"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Davam edən Wi-Fi zəngi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Davam edən Wi-Fi iş zəngi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Gözləmə mövqeyində"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Gələn zəng"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Foto ilə gələn zəng"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Foto, mesaj və məkan ilə gələn vacib zəng"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Qoşma ilə gələn vacib zəng"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Daxil olan iş çağrısı"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Gələn Wi-Fi zəngi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Daxil olan Wi-Fi iş çağrısı"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Gələn Wi-Fi zəngi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Gələn Wi-Fi iş zəngi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Şübhəli spam zəngi"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Gələn video çağrı"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Xidmət yoxdur"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Video Zəngə cavab verin"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Zəng etmək üçün ilk olaraq Uçuş Rejimini söndürün."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Şəbəkədə qeydə alınmayıb."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobil şəbəkə əlçatan deyil"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobil şəbəkə əlçatımlı deyil."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Zəngi yerləşdirmək üçün düzgün nömrə daxil edin."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Zəng etmək mümkün deyil."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI başlanma ardıcıllığı…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Zəngi sonlandırın"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konfrans zəngi"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Çağrıda"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Mobil data istifadə edərək zəng davam edir…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi şəbəkəsinə qoşulmaq olmadı"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video zəng mobil şəbəkə üzərində qalacaq. Standart data rüsumları tətbiq oluna bilər."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Mobil data istifadə edərək zəngə davam edin…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi şəbəkəsinə qoşulmaq olmadı"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Video zəng mobil şəbəkədə qalacaq. Standard data xərcləri tətbiq edilə bilər."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Bunu bi rdaha göstərməyin"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-b+sr+Latn/strings.xml b/java/com/android/incallui/res/values-b+sr+Latn/strings.xml
index 3dddf653f..de2ad8642 100644
--- a/java/com/android/incallui/res/values-b+sr+Latn/strings.xml
+++ b/java/com/android/incallui/res/values-b+sr+Latn/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Propušten poziv od: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Aktuelni poziv"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Tekući poziv za Work"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Tekući Wi-Fi poziv"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Tekući poziv za Work preko Wi-Fi-ja"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Wi‑Fi poziv u toku"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Wi‑Fi poslovni poziv u toku"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Na čekanju"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Dolazni poziv"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Dolazni poziv sa slikom"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Važan dolazni poziv sa slikom, porukom i lokacijom"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Važan dolazni poziv sa prilozima"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Dolazni poziv za Work"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Dolazni Wi-Fi poziv"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Dolazni poziv za Work preko Wi-Fi-ja"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Dolazni Wi‑Fi poziv"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Dolazni Wi‑Fi poslovni poziv"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Sumnja na nepoželjan dolazni poziv"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Zahtev za dolazni video poziv"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nema usluge"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Preuzmi video poziv"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Da biste uputili poziv, prvo isključite režim rada u avionu."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Nije registrovano na mreži."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilna mreža nije dostupna."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilna mreža nije dostupna."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Da biste uputili poziv, unesite važeći broj."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Poziv nije uspeo."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Pokretanje MMI sekvence"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Završite poziv"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferencijski poziv"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"U pozivu"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Poziv se nastavlja pomoću mobilnih podataka…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Prebacivanje na Wi-Fi mrežu nije uspelo"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video poziv će ostati na mobilnoj mreži. Mogu da važe standardne naknade za prenos podataka."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Poziv se nastavlja pomoću mobilnih podataka…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Prebacivanje na Wi‑Fi mrežu nije uspelo"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Video poziv će ostati na mobilnoj mreži. Važe standardne naknade za prenos podataka."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ne prikazuj ovo ponovo"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-be/strings.xml b/java/com/android/incallui/res/values-be/strings.xml
index 46b5d3941..274cac17f 100644
--- a/java/com/android/incallui/res/values-be/strings.xml
+++ b/java/com/android/incallui/res/values-be/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Прапушчаны выклiк ад <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Бягучы выклік"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Бягучы выклік па працы"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Бягучы выклік праз Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Бягучы выклік па працы праз Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Бягучы выклік праз Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Бягучы выклік па працы праз Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"У чаканні"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Уваходны выклік"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Уваходны выклік з фота"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Важны выклік з фота, паведамленнем і месцам"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Важны ўваходны выклік з далучэннямі"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Уваходны выклік па працы"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Уваходны выклік праз Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Уваходны выклік па працы праз Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Уваходны выклік праз Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Уваходны выклік па працы праз Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Уваходны выклiк ад абанента, якога падазраваюць у спаме"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Запыт уваходнага відэавыкліку"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Не абслугоўваецца"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Прыняць відэавыклік"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Каб зрабіць выклік, спачатку выключыце рэжым \"У самалёце\"."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Не зарэгістраваны ў сетцы."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Мабільная сетка недаступная."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Мабільная сетка недаступная."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Каб зрабіць выклік, увядзіце сапраўдны нумар."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Выклік немагчымы."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Пачатак паслядоўнасці MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Завяршыць выклік"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Канферэнц-выклік"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"У выкліку"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Працягваецца выклік з выкарыстаннем сотавай перадачы даных…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Немагчыма пераключыцца на сетку Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Відэавыклік застанецца ў мабільнай сетцы. Можа спаганяцца стандартная аплата за перадачу даных."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Працягваецца выклік з выкарыстаннем мабільнай перадачы даных…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Немагчыма пераключыцца на сетку Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Відэавыклік застанецца ў мабільнай сетцы. Можа спаганяцца стандартная аплата за перадачу даных."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Больш не паказваць"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-bg/strings.xml b/java/com/android/incallui/res/values-bg/strings.xml
index 84bffa02c..b3c1f3fd7 100644
--- a/java/com/android/incallui/res/values-bg/strings.xml
+++ b/java/com/android/incallui/res/values-bg/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Пропуснато обаждане от <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Текущо обаждане"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Текущо служебно обаждане"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Текущо обаждане през Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Текущо служебно обаждане през Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Текущо обаждане през Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Текущо служебно обаждане през Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Задържане на обаждането"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Вх. обаждане"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Входящо обаждане със снимка"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Важно обаждане с местоположение, снимка, съобщение"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Важно входящо обаждане с прикачени файлове"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Входящо служебно обаждане"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Входящо обаждане през Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Входящо служебно обаждане през Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Входящо обаждане през Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Входящо служебно обаждане през Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Входящо обаждане – възможен спам"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Входяща заявка за видеовръзка"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Няма покритие"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Приемане на видеообаждането"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Първо изключете самолетния режим, за да може да осъществите обаждане."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Няма регистрация в мрежата."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Няма достъп до клетъчната мрежа."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Няма мобилна мрежа."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"За да извършите обаждане, въведете валиден номер."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Не може да се извърши обаждане."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Стартира се последователността MMI…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Край на обаждането"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Конферентно обаждане"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"В разговор"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Обаждането продължава през мобилната връзка за данни…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Превключването към Wi-Fi мрежа не бе възможно"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Видеообаждането ще остане в мобилната мрежа. Важат стандартните тарифи за данни."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Обаждането продължава през мобилната връзка за данни…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Превключването към Wi-Fi мрежа не бе възможно"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Видеообаждането ще остане в мобилната мрежа. Важат стандартните тарифи за данни."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Това да не се показва отново"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-bn/strings.xml b/java/com/android/incallui/res/values-bn/strings.xml
index fc9383002..a964f81b1 100644
--- a/java/com/android/incallui/res/values-bn/strings.xml
+++ b/java/com/android/incallui/res/values-bn/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> এর থেকে মিসড কল"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"চালু থাকা কল"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"চলমান কাজের কল"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"চলমান ওয়াই-ফাই কল"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"চলমান ওয়াই-ফাই কাজের কল"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"চালু থাকা ওয়াই-ফাই কল"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"চালু থাকা ওয়াই-ফাই কাজের কল"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"সাময়িকভাবে স্থগিত রাখা হয়েছে"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ইনকামিং কল"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ফটো সহ ইনকামিং কল"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ফটো, বার্তা এবং অবস্থান সহ গুরুত্বপূর্ণ ইনকামিং কল"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"সংযুক্তিগুলি সহ গুরুত্বপূর্ণ ইনকামিং কল"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"আগত কাজের কল"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"আগত ওয়াই-ফাই কল"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"আগত ওয়াই-ফাই কাজের কল"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"আগত ওয়াই-ফাই কল"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"আগত ওয়াই-ফাই কাজের কল"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"আগত সন্দেহভাজন স্প্যাম কল"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"আগত ভিডিও অনুরোধ"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"কোনো পরিষেবা নেই"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"ভিডিও কলটি নিন"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"একটি কল করতে, প্রথমে বিমান মোড বন্ধ করুন৷"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"নেটওয়ার্কে নিবন্ধিত নয়৷"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"সেলুলার নেটওয়ার্ক উপলব্ধ নয়।"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"মোবাইল নেটওয়ার্ক উপলব্ধ নয়৷"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"কোনো কল স্থাপন করতে, একটি বৈধ নম্বর লিখুন৷"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"কল করা যাবে না৷"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI ক্রম চালু হচ্ছে…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"কল কেটে দিন"</string>
<string name="conference_call_name" msgid="8189987124611337174">"কনফারেন্স কল"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"কলে থাকাকালীন"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"সেলুলার ডেটা ব্যবহার করে কল করা চালিয়ে যান…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi নেটওয়ার্কে পাল্টানো গেল না"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ভিডিও কল সেলুলার নেটওয়ার্কেই থাকবে৷ স্ট্যান্ডার্ড চার্জ প্রযোজ্য হতে পারে৷"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"মোবাইল ডেটা ব্যবহার করে কল করা চালিয়ে যান…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"ওয়াই-ফাই নেটওয়ার্কে পাল্টানো গেল না"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ভিডিও কল মোবাইল নেটওয়ার্কেই থাকবে৷ স্ট্যান্ডার্ড ডেটা চার্জ প্রযোজ্য হতে পারে৷"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"এটি আমাকে আর দেখাবেন না"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-bs/strings.xml b/java/com/android/incallui/res/values-bs/strings.xml
index c6950802f..996eb980c 100644
--- a/java/com/android/incallui/res/values-bs/strings.xml
+++ b/java/com/android/incallui/res/values-bs/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Propušteni poziv od kontakta <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Poziv u toku"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Poslovni poziv u toku"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Wi-Fi poziv u toku"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Wi-Fi poslovni poziv u toku"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Wi-Fi poziv je u toku"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Wi-Fi poslovni poziv je u toku"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Na čekanju"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Dolazni poziv"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Dolazni poziv s fotografijom"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Važan poziv s fotografijom, porukom i lokacijom"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Važan dolazni poziv s prilozima"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Dolazni poslovni poziv"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Dolazni Wi-Fi poziv"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Dolazni Wi-Fi poslovni poziv"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Dolazni Wi-Fi poziv"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Dolazni Wi-Fi poslovni poziv"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Mogući neželjeni dolazni poziv"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Zahtjev za dolazni videopoziv"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nema mreže"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Primi videopoziv"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Da uputite poziv, isključite Način rada u avionu."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Nije registrirano na mreži."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilna mreža nije dostupna."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilna mreža nije dostupna."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Da uputite poziv, upišite važeći broj."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Nije moguće pozvati."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Pokretanje MMI sekvence u toku…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Prekini poziv"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferencijski poziv"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Poziv u toku"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Poziv se nastavlja pomoću mobilnih podataka…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Prebacivanje na Wi-Fi mrežu nije moguće"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videopoziv će ostati na mobilnoj mreži. Mogu nastati standardni troškovi prijenosa podataka."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Nastavak poziva prijenosom mobilnih podataka…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Prebacivanje na Wi-Fi mrežu nije moguće"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videopoziv će ostati na mobilnoj mreži. Mogu nastati standardni troškovi prijenosa podataka."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ne prikazuj ponovo"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ca/strings.xml b/java/com/android/incallui/res/values-ca/strings.xml
index 5148db540..f4d56a2a1 100644
--- a/java/com/android/incallui/res/values-ca/strings.xml
+++ b/java/com/android/incallui/res/values-ca/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Trucada perduda de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Trucada en procés"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Trucada de feina en curs"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Trucada Wi-Fi en curs"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Trucada de feina per Wi-Fi en curs"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Trucada per Wi-Fi en curs"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Trucada de feina per Wi-Fi en curs"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"En espera"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Trucada entrant"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Trucada entrant amb foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Trucada entrant important amb foto, missatge i ubicació"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Trucada entrant important amb fitxers adjunts"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Trucada de feina entrant"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Trucada Wi-Fi entrant"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Trucada de feina per Wi-Fi entrant"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Trucada per Wi-Fi entrant"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Trucada de feina per Wi-Fi entrant"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Presumpta trucada brossa entrant"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Sol·licitud de vídeo entrant"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Sense servei"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Accepta la videotrucada"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Per fer una trucada, primer apagueu el mode d\'avió."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"No registrat a la xarxa."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"La xarxa mòbil no està disponible."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"La xarxa mòbil no està disponible."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Per realitzar una trucada, introdueix un número vàlid."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"No es pot trucar."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"S\'està iniciant la seqüència MMI..."</string>
@@ -125,7 +125,7 @@
<string name="spam_notification_spam_call_expanded_text" msgid="1062029525759401658">"Segons les nostres sospites, l\'autor de la trucada és un emissor de contingut brossa. Si ens equivoquem, toca NO ÉS BROSSA per informar-nos-en."</string>
<string name="spam_notification_report_spam_action_text" msgid="4829510418690824538">"Bloqueja i marca"</string>
<string name="spam_notification_add_contact_action_text" msgid="307315138401483232">"Afegeix un contacte"</string>
- <string name="spam_notification_not_spam_action_text" msgid="2576048366011852090">"No és contingut brossa"</string>
+ <string name="spam_notification_not_spam_action_text" msgid="2576048366011852090">"No és una trucada brossa"</string>
<string name="spam_notification_block_spam_action_text" msgid="80045727259264724">"Bloqueja el número"</string>
<string name="spam_notification_dialog_add_contact_action_text" msgid="5619696845681999506">"Afegeix als contactes"</string>
<string name="spam_notification_dialog_block_report_spam_action_text" msgid="1821506089128547428">"Bloqueja i marca com a brossa"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Finalitza la trucada"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conferència"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"En una trucada"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"S\'està continuant la trucada mitjançant dades mòbils…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"No s\'ha pogut canviar a la xarxa Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"La videotrucada es mantindrà a la xarxa mòbil. És possible que s\'apliquin càrrecs de dades estàndard."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"S\'està continuant la trucada mitjançant dades mòbils…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"No s\'ha pogut canviar a la xarxa Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"La videotrucada continuarà a la xarxa mòbil. És possible que s\'hi apliquin càrrecs de dades estàndard."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"No ho tornis a mostrar"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-cs/strings.xml b/java/com/android/incallui/res/values-cs/strings.xml
index 9d69cfac7..e604a5249 100644
--- a/java/com/android/incallui/res/values-cs/strings.xml
+++ b/java/com/android/incallui/res/values-cs/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Zmeškaný hovor od volajícího <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Probíhající hovor"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Probíhající pracovní hovor"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Probíhající volání přes Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Probíhající pracovní hovor (Wi-Fi)"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Probíhající hovor přes Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Probíhající pracovní hovor přes Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Přidržený hovor"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Příchozí hovor"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Příchozí hovor s fotkou"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Důležitý přích. hovor s fotkou, zprávou a polohou"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Důležitý příchozí hovor s přílohami"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Příchozí pracovní hovor"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Příchozí volání přes Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Příchozí pracovní hovor (Wi-Fi)"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Příchozí hovor přes Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Příchozí pracovní hovor přes Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"U příchozího hovoru máme podezření, že se jedná o spam"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Příchozí žádost o videohovor"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Žádný signál"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Převést videohovor sem"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Chcete-li telefonovat, vypněte nejprve režim Letadlo."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Přihlášení k síti nebylo úspěšné."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilní síť je nedostupná."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilní síť je nedostupná."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Chcete-li uskutečnit hovor, zadejte platné telefonní číslo."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Hovor nelze uskutečnit."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Spouštění sekvence MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Ukončit hovor"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferenční hovor"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Probíhá hovor"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Hovor pokračuje přes mobilní data…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Přepnutí na síť Wi-Fi se nezdařilo"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videohovor zůstane na mobilní síti. Za datový přenos mohou být účtovány standardní poplatky."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Hovor pokračuje přes mobilní data…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Přepnutí na síť Wi-Fi se nezdařilo"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videohovor zůstane na mobilní síti. Za datový přenos mohou být účtovány standardní poplatky."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Tuto zprávu příště nezobrazovat"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-da/strings.xml b/java/com/android/incallui/res/values-da/strings.xml
index 19de78382..fbf7927a3 100644
--- a/java/com/android/incallui/res/values-da/strings.xml
+++ b/java/com/android/incallui/res/values-da/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Ubesvaret opkald fra <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Igangværende opkald"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Igangværende opkald i forbindelse med arbejde"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Igangværende opkald via Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Igangværende Wi-Fi-opkald i forbindelse med arbejde"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Igangværende Wi-Fi-opkald"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Igangværende Wi-Fi-opkald i forbindelse med arbejde"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Ventende"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Indgående opkald"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Indgående opkald med billede"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Vigtigt opkald med billede, besked og placering"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Vigtigt indgående opkald med vedhæftede filer"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Indgående opkald i forbindelse med arbejde"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Indgående opkald via Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Indgående Wi-Fi-opkald i forbindelse med arbejde"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Indgående Wi-Fi-opkald"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Indgående Wi-Fi-opkald i forbindelse med arbejde"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Indgående formodet spamopkald"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Indgående videoanmodning"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ingen dækning"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Besvar videoopkald"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Slå Flytilstand fra først for at foretage et opkald."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ikke registreret på netværk."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilnetværket er ikke tilgængeligt."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilnetværket er ikke tilgængeligt."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Indtast et gyldigt nummer for at foretage et opkald."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Kan ikke ringe op."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Starter MMI-sekvens ..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Afslut opkald"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Telefonmøde"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Opkald i gang"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Fortsætter opkaldet med mobildata…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Der kan ikke skiftes til Wi-Fi-netværk"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videoopkaldet bliver ved med at bruge mobilnetværket. Du skal muligvis betale et standardgebyr for data."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Opkaldet fortsættes med mobildata…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Du kunne ikke skifte til Wi-Fi-netværk"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videoopkaldet bliver ved med at bruge mobilnetværket. Du skal muligvis betale et standardgebyr for data."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Vis ikke dette igen"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-de/strings.xml b/java/com/android/incallui/res/values-de/strings.xml
index a5f96027b..0dce3452a 100644
--- a/java/com/android/incallui/res/values-de/strings.xml
+++ b/java/com/android/incallui/res/values-de/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Verpasster Anruf von <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Aktueller Anruf"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Aktueller geschäftlicher Anruf"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Aktiver WLAN-Anruf"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Aktueller geschäftlicher WLAN-Anruf"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Aktiver WLAN-Anruf"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Aktiver geschäftlicher WLAN-Anruf"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Gehaltener Anruf"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Eingehender Anruf"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Eingehender Anruf mit Foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Wichtiger eingehender Anruf mit Foto, Nachricht und Standort"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Wichtiger eingehender Anruf mit Anhängen"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Eingehender geschäftlicher Anruf"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Eingehender WLAN-Anruf"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Eingehender geschäftlicher WLAN-Anruf"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Eingehender WLAN-Anruf"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Eingehender geschäftlicher WLAN-Anruf"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Verdacht auf eingehenden Spam-Anruf"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Eingehende Videoanfrage"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"kein Dienst"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Videoanruf übernehmen"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Deaktiviere zunächst den Flugmodus, um einen Anruf zu tätigen."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Nicht in Netzwerk registriert."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilfunknetz nicht verfügbar"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilfunknetz ist nicht verfügbar."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Gib eine gültige Nummer ein."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Anruf nicht möglich."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI-Sequenz wird gestartet..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Anruf beenden"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Telefonkonferenz"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Anruf"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Anruf wird über Mobildaten fortgesetzt…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wechseln zu WLAN nicht möglich"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Der Videoanruf erfolgt weiter über das Mobilfunknetz. Es können Standardgebühren für die Datenübertragung anfallen."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Anruf wird über mobile Daten fortgesetzt…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wechseln zu WLAN nicht möglich"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Der Videoanruf erfolgt weiter über das Mobilfunknetz. Es können Standardgebühren für die Datenübertragung anfallen."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Meldung nicht mehr anzeigen"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-el/strings.xml b/java/com/android/incallui/res/values-el/strings.xml
index 8ff6d2f5f..bc39e2ac9 100644
--- a/java/com/android/incallui/res/values-el/strings.xml
+++ b/java/com/android/incallui/res/values-el/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Αναπάντητη κλήση από <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Κλήση σε εξέλιξη"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Κλήση εργασίας σε εξέλιξη"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Κλήση Wi-Fi σε εξέλιξη"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Κλήση εργασίας μέσω Wi-Fi σε εξέλιξη"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Κλήση Wi-Fi σε εξέλιξη"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Κλήση εργασίας μέσω Wi-Fi σε εξέλιξη"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Σε αναμονή"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Εισερχόμενη κλήση"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Εισερχόμενη κλήση με φωτογραφία"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Σημαντική εισερχ. κλήση με φωτο, μήνυμα, τοποθεσία"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Σημαντική εισερχόμενη κλήση με συνημμένα"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Εισερχόμενη κλήση εργασίας"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Εισερχόμενη κλήση μέσω Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Εισερχόμενη κλήση εργασίας μέσω Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Εισερχόμενη κλήση μέσω Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Εισερχόμενη κλήση εργασίας μέσω Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Πιθανώς ανεπιθύμητη εισερχόμενη κλήση"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Αίτημα εισερχόμενου βίντεο"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Δίκτυο μη διαθέσιμο"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Λήψη βιντεοκλήσης"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Για να πραγματοποιήσετε μια κλήση, απενεργοποιήστε πρώτα τη λειτουργία πτήσης."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Δεν έχετε εγγραφεί στο δίκτυο."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Για να πραγματοποιήσετε μια κλήση, εισαγάγετε έναν έγκυρο αριθμό."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Δεν είναι δυνατή η κλήση."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Έναρξη ακολουθίας MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Τερματισμός κλήσης"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Κλήση συνδιάσκεψης"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Σε κλήση"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Συνέχεια κλήσης με χρήση δεδομένων κινητής τηλεφωνίας…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Δεν ήταν δυνατή η εναλλαγή σε δίκτυο Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Η βιντεοκλήση θα παραμείνει σε δίκτυο δεδομένων κινητής τηλεφωνίας; Ενδέχεται να ισχύουν βασικές χρεώσεις δεδομένων."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Συνέχιση κλήσης με χρήση δεδομένων κινητής τηλεφωνίας…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Δεν ήταν δυνατή η εναλλαγή σε δίκτυο Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Η βιντεοκλήση θα παραμείνει σε δίκτυο δεδομένων κινητής τηλεφωνίας; Ενδέχεται να ισχύουν βασικές χρεώσεις δεδομένων."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Να μην εμφανιστεί ξανά αυτό"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-en-rAU/strings.xml b/java/com/android/incallui/res/values-en-rAU/strings.xml
index 5e0d20737..68509f080 100644
--- a/java/com/android/incallui/res/values-en-rAU/strings.xml
+++ b/java/com/android/incallui/res/values-en-rAU/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"On-going call"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Ongoing work call"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Ongoing Wi-Fi call"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Ongoing Wi-Fi work call"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Ongoing Wi‑Fi call"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Ongoing Wi‑Fi work call"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"On hold"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Incoming call"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Incoming call with photo"</string>
@@ -55,15 +55,15 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Important call with photo, message and location"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Important incoming call with attachments"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Incoming work call"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Incoming Wi-Fi call"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Incoming Wi-Fi work call"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Incoming Wi‑Fi call"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Incoming Wi‑Fi work call"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Incoming suspected spam call"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Incoming video request"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"No service"</string>
<string name="notification_network_selection_text" msgid="7190860774239009625">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string>
<string name="notification_action_answer" msgid="8748275902211192568">"Answer"</string>
<string name="notification_action_end_call" msgid="7467258454170007765">"Hang up"</string>
- <string name="notification_action_answer_video" msgid="8488108892919917287">"In-stream video"</string>
+ <string name="notification_action_answer_video" msgid="8488108892919917287">"Video"</string>
<string name="notification_action_answer_voice" msgid="6237890905749760509">"Voice"</string>
<string name="notification_action_accept" msgid="1272761514200507143">"Accept"</string>
<string name="notification_action_dismiss" msgid="3128241581632616226">"Decline"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Take video call"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"To place a call, first turn off Aeroplane mode."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Not registered on network."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobile network not available."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobile network not available."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"To place a call, enter a valid number."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Can\'t call."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Starting MMI sequence…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"End call"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conference call"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"On a call"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuing call using mobile data…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Couldn\'t switch to Wi-Fi network"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video call will remain on mobile network. Standard data charges may apply."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Continuing call using mobile data…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Couldn\'t switch to Wi‑Fi network"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Video call will remain on the mobile network. Standard data charges may apply."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Do not show this again"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-en-rGB/strings.xml b/java/com/android/incallui/res/values-en-rGB/strings.xml
index 5e0d20737..68509f080 100644
--- a/java/com/android/incallui/res/values-en-rGB/strings.xml
+++ b/java/com/android/incallui/res/values-en-rGB/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"On-going call"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Ongoing work call"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Ongoing Wi-Fi call"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Ongoing Wi-Fi work call"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Ongoing Wi‑Fi call"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Ongoing Wi‑Fi work call"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"On hold"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Incoming call"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Incoming call with photo"</string>
@@ -55,15 +55,15 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Important call with photo, message and location"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Important incoming call with attachments"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Incoming work call"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Incoming Wi-Fi call"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Incoming Wi-Fi work call"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Incoming Wi‑Fi call"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Incoming Wi‑Fi work call"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Incoming suspected spam call"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Incoming video request"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"No service"</string>
<string name="notification_network_selection_text" msgid="7190860774239009625">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string>
<string name="notification_action_answer" msgid="8748275902211192568">"Answer"</string>
<string name="notification_action_end_call" msgid="7467258454170007765">"Hang up"</string>
- <string name="notification_action_answer_video" msgid="8488108892919917287">"In-stream video"</string>
+ <string name="notification_action_answer_video" msgid="8488108892919917287">"Video"</string>
<string name="notification_action_answer_voice" msgid="6237890905749760509">"Voice"</string>
<string name="notification_action_accept" msgid="1272761514200507143">"Accept"</string>
<string name="notification_action_dismiss" msgid="3128241581632616226">"Decline"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Take video call"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"To place a call, first turn off Aeroplane mode."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Not registered on network."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobile network not available."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobile network not available."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"To place a call, enter a valid number."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Can\'t call."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Starting MMI sequence…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"End call"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conference call"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"On a call"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuing call using mobile data…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Couldn\'t switch to Wi-Fi network"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video call will remain on mobile network. Standard data charges may apply."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Continuing call using mobile data…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Couldn\'t switch to Wi‑Fi network"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Video call will remain on the mobile network. Standard data charges may apply."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Do not show this again"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-en-rIN/strings.xml b/java/com/android/incallui/res/values-en-rIN/strings.xml
index 5e0d20737..68509f080 100644
--- a/java/com/android/incallui/res/values-en-rIN/strings.xml
+++ b/java/com/android/incallui/res/values-en-rIN/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"On-going call"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Ongoing work call"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Ongoing Wi-Fi call"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Ongoing Wi-Fi work call"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Ongoing Wi‑Fi call"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Ongoing Wi‑Fi work call"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"On hold"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Incoming call"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Incoming call with photo"</string>
@@ -55,15 +55,15 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Important call with photo, message and location"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Important incoming call with attachments"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Incoming work call"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Incoming Wi-Fi call"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Incoming Wi-Fi work call"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Incoming Wi‑Fi call"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Incoming Wi‑Fi work call"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Incoming suspected spam call"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Incoming video request"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"No service"</string>
<string name="notification_network_selection_text" msgid="7190860774239009625">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string>
<string name="notification_action_answer" msgid="8748275902211192568">"Answer"</string>
<string name="notification_action_end_call" msgid="7467258454170007765">"Hang up"</string>
- <string name="notification_action_answer_video" msgid="8488108892919917287">"In-stream video"</string>
+ <string name="notification_action_answer_video" msgid="8488108892919917287">"Video"</string>
<string name="notification_action_answer_voice" msgid="6237890905749760509">"Voice"</string>
<string name="notification_action_accept" msgid="1272761514200507143">"Accept"</string>
<string name="notification_action_dismiss" msgid="3128241581632616226">"Decline"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Take video call"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"To place a call, first turn off Aeroplane mode."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Not registered on network."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobile network not available."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobile network not available."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"To place a call, enter a valid number."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Can\'t call."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Starting MMI sequence…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"End call"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conference call"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"On a call"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuing call using mobile data…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Couldn\'t switch to Wi-Fi network"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video call will remain on mobile network. Standard data charges may apply."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Continuing call using mobile data…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Couldn\'t switch to Wi‑Fi network"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Video call will remain on the mobile network. Standard data charges may apply."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Do not show this again"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-es-rUS/strings.xml b/java/com/android/incallui/res/values-es-rUS/strings.xml
index d0167118f..b8584c765 100644
--- a/java/com/android/incallui/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/res/values-es-rUS/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Llamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Llamada en curso"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Llamada de trabajo en curso"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Llamada por Wi-Fi en curso"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Llamada de trabajo con Wi-Fi en curso"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Llamada Wi-Fi en curso"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Llamada de trabajo Wi-Fi en curso"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"En espera"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Llamada entrante"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Llamada entrante con foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Llamada importante con foto, mensaje y ubicación"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Llamada entrante importante con archivos adjuntos"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Llamada de trabajo entrante"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Llamada por Wi-Fi entrante"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Llamada de trabajo con Wi-Fi entrante"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Llamada Wi-Fi entrante"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Llamada de trabajo Wi-Fi entrante"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Posible llamada entrante de spam"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Solicitud de videollamada entrante"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Sin servicio"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Atender videollamada"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Para realizar una llamada, primero debes desactivar el modo avión."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"No registrado en la red."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Red móvil no disponible"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"La red móvil no está disponible."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Para realizar una llamada, ingresa un número válido."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"No se puede realizar la llamada."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Iniciar la secuencia de MMI"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Finalizar llamada"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conferencia"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"En llamada"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuando la llamada con datos móviles…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"No se pudo cambiar a la red Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"La videollamada permanecerá en la red móvil. Es posible que se te cobren cargos estándar por el uso de datos."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Continuando la llamada con datos móviles…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"No se pudo cambiar a la red Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"La videollamada permanecerá en la red móvil. Es posible que se te cobren cargos estándar por el uso de datos."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"No volver a mostrar esto"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-es/strings.xml b/java/com/android/incallui/res/values-es/strings.xml
index 472ea99cb..4dc2d725c 100644
--- a/java/com/android/incallui/res/values-es/strings.xml
+++ b/java/com/android/incallui/res/values-es/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Llamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Llamada en curso"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Llamada de trabajo en curso"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Llamada Wi-Fi en curso"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Llamada Wi-Fi de trabajo en curso"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Llamada por Wi-Fi en curso"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Llamada de trabajo por Wi-Fi en curso"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"En espera"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Llamada entrante"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Llamada entrante con foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Llamada importante con foto, mensaje y ubicación"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Llamada entrante importante con archivos adjuntos"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Llamada de trabajo entrante"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Llamada Wi-Fi entrante"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Llamada Wi-Fi de trabajo entrante"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Llamada por Wi-Fi entrante"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Llamada de trabajo por Wi-Fi entrante"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Llamada entrante sospechosa de spam"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Solicitud de videollamada entrante"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Sin servicio"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Atender videollamada"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Para realizar una llamada, primero debes desactivar el modo avión."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"No se ha podido conectar a la red"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"La red móvil no está disponible."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"La red móvil no está disponible."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Para realizar una llamada, introduce un número válido."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"No se puede establecer la llamada."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Iniciando secuencia MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Finalizar llamada"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conferencia telefónica"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"En una llamada"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuando la llamada con datos móviles…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"No se ha podido cambiar a la red Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"La videollamada seguirá mediante la red móvil. Es posible que se apliquen cargos por uso de datos."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Continuando la llamada con los datos móviles…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"No se ha podido cambiar a la red Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"La videollamada seguirá a través de la red móvil. Es posible que se apliquen cargos por el uso de datos."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"No volver a mostrar"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-et/strings.xml b/java/com/android/incallui/res/values-et/strings.xml
index 9eaa65f42..ec1b230c5 100644
--- a/java/com/android/incallui/res/values-et/strings.xml
+++ b/java/com/android/incallui/res/values-et/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Vastamata kõne helistajalt <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Käimasolev kõne"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Käimasolev töökõne"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Pooleliolev WiFi-kõne"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Käimasolev töökõne WiFi kaudu"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Käimasolev WiFi-kõne"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Käimasolev WiFi-töökõne"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Ootel"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Sissetulev kõne"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Sissetulev kõne koos fotoga"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Tähtis sisset. kõne koos foto, sõnumi ja asukohaga"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Tähtis sissetulev kõne koos manustega"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Sissetulev töökõne"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Sissetulev WiFi-kõne"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Sissetulev töökõne WiFi kaudu"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Sissetulev WiFi-kõne"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Sissetulev WiFi-töökõne"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Arvatav sissetulev rämpskõne"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Sissetulev videotaotlus"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Teenus puudub"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Alusta videokõnet"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Helistamiseks lülitage lennurežiim välja."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ei ole võrku registreeritud."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobiilsidevõrk pole saadaval."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobiilsidevõrk pole saadaval."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Helistamiseks sisestage kehtiv number."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Ei saa helistada."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI-jada alustamine ..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Kõne lõpetamine"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konverentskõne"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Pooleliolev kõne"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Kõne jätkatakse mobiilse andmeside kaudu …"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Ei saanud WiFi-võrgule lülitada"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videokõne jääb mobiilsidevõrku. Rakenduda võivad tavapärased andmetasud."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Kõnet jätkatakse mobiilse andmeside kaudu …"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"WiFi-võrgule ei saanud lülituda"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videokõne jääb mobiilsidevõrku. Rakenduda võivad tavapärased andmesidetasud."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ära seda enam näita"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-eu/strings.xml b/java/com/android/incallui/res/values-eu/strings.xml
index 4db9e10fe..c8fe005af 100644
--- a/java/com/android/incallui/res/values-eu/strings.xml
+++ b/java/com/android/incallui/res/values-eu/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Deitzaile honen dei bat galdu duzu: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Abian den deia"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Laneko dei bat abian da"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Wi-Fi deia abian"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Wi-Fi bidezko laneko dei bat abian da"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Wi-Fi bidezko deia"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Wi-Fi bidezko laneko deia"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Zain"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Sarrerako deia"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Jasotako deia, argazkia duena"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Jasotako dei garrant., arg., mez. eta kok. dituena"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Jasotako dei garrantzitsua, eranskinak dituena"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Laneko dei bat jaso da"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Sarrerako Wi-Fi deia"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Wi-Fi bidezko laneko dei bat jaso da"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Jasotako Wi-Fi bidezko deia"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Jasotako Wi-Fi bidezko laneko deia"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Ustezko spam-deia jaso duzu"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Sarrerako bideo-eskaera"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ez dago zerbitzurik"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Erantzun bideo-deiari"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Dei bat egiteko, Hegaldi modua desaktibatu behar duzu."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ez dago sarean erregistratuta."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Sare mugikorra ez dago erabilgarri."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Sare mugikorra ez dago erabilgarri."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Deitzeko, idatzi balio duen zenbaki bat."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Ezin da deitu."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI sekuentzia hasten…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Amaitu deia"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferentzia-deia"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Deia abian da"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Datu-konexioren bidez jarraitzen ari da deia egiten…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Ezin izan da aldatu Wi-Fi sarera"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Datu mugikorren bidez egiten jarraituko da bideo-deia. Baliteke datuak erabiltzearen ondorioz ohiko kostuak kobratzea."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Datu-konexioaren bidez egiten jarraituko da deia…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Ezin izan da aldatu Wi-Fi sarera"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Datu-konexioaren bidez egiten jarraituko da bideo-deia. Baliteke datuak erabiltzearen ondorioz ohiko kostuak kobratzea."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ez erakutsi berriro"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-fa/strings.xml b/java/com/android/incallui/res/values-fa/strings.xml
index f816bd063..a36d164bb 100644
--- a/java/com/android/incallui/res/values-fa/strings.xml
+++ b/java/com/android/incallui/res/values-fa/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"تماس بی‌پاسخ از <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"تماس جاری"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"تماس کاری خروجی"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"‏تماس از طریق Wi-Fi در حال انجام است"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"‏تماس کاری Wi-Fi خروجی"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"‏تماس Wi-Fi درحال انجام"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"‏تماس کاری Wi-Fi درحال انجام"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"در انتظار"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"تماس ورودی"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"تماس ورودی به همراه عکس"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"تماس ورودی مهم به همراه عکس، پیام و مکان"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"تماس ورودی مهم به همراه پیوست"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"تماس کاری ورودی"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"‏تماس Wi-Fi ورودی"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"‏تماس کاری Wi-Fi ورودی"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"‏تماس Wi-Fi ورودی"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"‏تماس کاری Wi-Fi ورودی"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"تماس هرزنامه احتمالی ورودی"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"درخواست تماس ویدئویی ورودی"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"بدون سرویس"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"انتقال تماس ویدئویی"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"برای برقراری یک تماس، ابتدا حالت هواپیما را خاموش کنید."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"در شبکه ثبت نشده است."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"شبکه تلفن همراه در دسترس نیست."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"شبکه تلفن همراه دردسترس نیست."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"برای برقراری تماس، یک شماره معتبر وارد کنید."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"نمی‌توانید تماس بگیرید."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"‏شروع ترتیب MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"پایان تماس"</string>
<string name="conference_call_name" msgid="8189987124611337174">"تماس کنفرانسی"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"در تماس"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"ادامه تماس با استفاده از داده شبکه تلفن همراه..."</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"‏به شبکه Wi-Fi جابه‌جا نشد"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"تماس ویدئویی همچنان از شبکه تلفن همراه استفاده می‌کند. هزینه‌های داده استاندارد اعمال می‌شود."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"ادامه تماس با استفاده از داده شبکه همراه…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"‏جابجایی به شبکه Wi-Fi انجام نشد"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"تماس ویدیویی همچنان ازطریق شبکه تلفن همراه انجام می‌شود. ممکن است هزینه‌های استاندارد داده اعمال شود."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"دوباره نشان داده نشود"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-fi/strings.xml b/java/com/android/incallui/res/values-fi/strings.xml
index 995e7a328..f13ff26a5 100644
--- a/java/com/android/incallui/res/values-fi/strings.xml
+++ b/java/com/android/incallui/res/values-fi/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Vastaamaton puhelu: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Käynnissä oleva puhelu"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Käynnissä oleva työpuhelu"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Käynnissä oleva Wi-Fi-puhelu"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Käynnissä oleva Wi-Fi-työpuhelu"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Käynnissä oleva Wi-Fi-puhelu"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Käynnissä oleva Wi-Fi-työpuhelu"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Pidossa"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Saapuva puhelu"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Kuvan sisältävä saapuva puhelu"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Tärkeä liitteitä sisältävä saapuva puhelu"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Tärkeä liitteitä sisältävä saapuva puhelu"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Saapuva työpuhelu"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Saapuva Wi-Fi-puhelu"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Saapuva Wi-Fi-työpuhelu"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Saapuva Wi-Fi-puhelu"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Saapuva Wi-Fi-työpuhelu"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Tämä puhelu saattaa olla häirikköpuhelu."</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Saapuva videopyyntö"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Katvealueella"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Vastaa videopuheluun"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Poista lentokonetila käytöstä ennen puhelun soittamista."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ei rekisteröity verkkoon."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Matkapuhelinverkko ei ole käytettävissä."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobiilidataverkko ei ole käytettävissä."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Soita antamalla kelvollinen numero."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Puhelua ei voi soittaa."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Aloitetaan MMI-koodisekvenssiä..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Päätä puhelu"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Puhelinneuvottelu"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Puhelu käynnissä"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Jatketaan puhelua mobiilitiedonsiirron avulla…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Siirtyminen Wi-Fi-verkkoon epäonnistui."</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videopuhelu soitetaan matkapuhelinverkon kautta. Operaattori voi veloittaa tiedonsiirrosta hinnastonsa mukaan."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Jatketaan puhelua mobiilidatayhteydellä…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Vaihto Wi-Fi-verkkoon epäonnistui."</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videopuhelu soitetaan mobiilidatayhteyden kautta. Operaattori voi veloittaa tiedonsiirrosta."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Älä näytä tätä uudelleen"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-fr-rCA/strings.xml b/java/com/android/incallui/res/values-fr-rCA/strings.xml
index 6f4d8daa4..e83658d14 100644
--- a/java/com/android/incallui/res/values-fr-rCA/strings.xml
+++ b/java/com/android/incallui/res/values-fr-rCA/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Appel manqué de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Appel en cours"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Appel en cours - travail"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Appel Wi-Fi en cours"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Appel Wi-Fi en cours - travail"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Appel Wi-Fi en cours"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Appel professionnel Wi-Fi en cours"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"En attente"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Appel entrant"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Appel entrant avec photo"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Appel important avec photo, message et position"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Appel entrant important avec pièces jointes"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Appel entrant - travail"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Appel Wi-Fi entrant"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Appel Wi-Fi entrant - travail"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Appel Wi-Fi entrant"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Appel professionnel Wi-Fi entrant"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"L\'appel entrant est suspect"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Demande de vidéo reçue"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Aucun service"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Répondre à l\'appel vidéo"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Veuillez désactiver le mode Avion avant de passer un appel."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Non enregistré sur le réseau"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Réseau cellulaire non disponible."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Réseau cellulaire non disponible."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Pour faire un appel, entrez un numéro valide."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Impossible d\'appeler."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Lancement de la séquence IHM..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Mettre fin à l\'appel"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conférence téléphonique"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Appel en cours"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Poursuite de l\'appel à l\'aide de données cellulaires en cours…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Impossible de passer à un réseau Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"L\'appel vidéo restera sur le réseau cellulaire. Des frais de données standards peuvent s\'appliquer."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Poursuite de l\'appel utilisant des données mobiles en cours…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Impossible de passer à un réseau Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"L\'appel vidéo restera sur le réseau cellulaire. Des frais de données standards peuvent s\'appliquer."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ne plus afficher"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-fr/strings.xml b/java/com/android/incallui/res/values-fr/strings.xml
index c77fc190e..162c242bd 100644
--- a/java/com/android/incallui/res/values-fr/strings.xml
+++ b/java/com/android/incallui/res/values-fr/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Appel manqué de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Appel en cours"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Appel professionnel en cours"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Appel Wi-Fi en cours"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Appel Wi-Fi professionnel en cours"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Appel Wi-Fi en cours"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Appel Wi-Fi professionnel en cours"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"En attente"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Appel entrant"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Appel entrant avec photo"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Appel important avec photo, message et position"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Appel entrant important avec pièces jointes"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Appel professionnel entrant"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Appel Wi-Fi entrant"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Appel Wi-Fi professionnel entrant"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Appel Wi-Fi entrant"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Appel Wi-Fi professionnel entrant"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Appel entrant indésirable suspecté"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Demande de vidéo reçue"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Aucun service"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Répondre à l\'appel vidéo"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Veuillez d\'abord désactiver le mode Avion, afin d\'effectuer un appel."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Non enregistré sur le réseau."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Réseau mobile non disponible."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Réseau mobile non disponible"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Pour émettre un appel, veuillez saisir un numéro valide."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Impossible d\'émettre l\'appel."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Lancement de la séquence IHM..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Mettre fin à l\'appel"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conférence téléphonique"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Appel en cours"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuer l\'appel en utilisant les données mobiles…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Impossible de passer au réseau Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"L\'appel vidéo va continuer sur le réseau mobile. Des frais standard liés à la consommation de données peuvent être facturés."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Poursuite de l\'appel via les données mobiles…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Impossible de passer au réseau Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"L\'appel vidéo va continuer sur le réseau mobile. Des frais standards liés à la consommation de données peuvent être facturés."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ne plus afficher"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-gl/strings.xml b/java/com/android/incallui/res/values-gl/strings.xml
index 53278e58e..d926b1b1e 100644
--- a/java/com/android/incallui/res/values-gl/strings.xml
+++ b/java/com/android/incallui/res/values-gl/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Chamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Chamada en curso"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Chamada de traballo saínte"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Chamada wifi saínte"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chamada wifi de traballo saínte"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Chamada saínte por wifi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Chamada de traballo saínte por wifi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"En espera"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Chamada entrante"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Chamada entrante con foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Chamada entrante importante con foto, mensaxe e localización"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Chamada entrante importante con anexos"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Chamada de traballo entrante"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Chamada wifi entrante"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Chamada wifi de traballo entrante"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Chamada entrante por wifi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Chamada de traballo entrante por wifi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Chamada entrante sospeitosa de spam"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Solicitude de vídeo entrante"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Sen servizo"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Responder á videochamada"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Para facer unha chamada, primeiro desactiva o modo avión."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Sen rexistro na rede"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Rece móbil non dispoñible."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"A rede móbil non está dispoñible."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Para realizar unha chamada, introduce un número válido."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Non se pode chamar."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Iniciando secuencia MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Finalizar chamada"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conferencia telefónica"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Chamada en curso"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuando a chamada con datos móbiles…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Non se puido cambiar á rede wifi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"A videochamada permanecerá na rede móbil. É posible que o operador aplique tarifas de datos estándar."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Continuando a chamada con datos móbiles…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Non se puido cambiar á rede wifi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"A videochamada permanecerá na rede móbil. É posible que se apliquen tarifas de datos estándar."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Non mostrar de novo"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-gu/strings.xml b/java/com/android/incallui/res/values-gu/strings.xml
index 8b1ebe8e0..4a90fc568 100644
--- a/java/com/android/incallui/res/values-gu/strings.xml
+++ b/java/com/android/incallui/res/values-gu/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> નો કૉલ ચૂકી ગયાં"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"ચાલી રહેલ કૉલ"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"ચાલી રહેલ કાર્ય કૉલ"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"ચાલુ Wi-Fi કૉલ"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ચાલી રહેલ Wi-Fi કાર્ય કૉલ"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"ચાલી રહેલ Wi-Fi કૉલ"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"ચાલી રહેલ Wi-Fi કાર્ય કૉલ"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"હોલ્ડ પર"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ઇનકમિંગ કૉલ"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ફોટો સાથે ઇનકમિંગ કૉલ"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ફોટો, સંદેશ અને સ્થાન સાથે મહત્વનો ઇનકમિંગ કૉલ"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"જોડાણો સાથે મહત્વનો ઇનકમિંગ કૉલ"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"ઇનકમિંગ કાર્ય કૉલ"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"ઇનકમિંગ Wi-Fi કૉલ"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"ઇનકમિંગ Wi-Fi કાર્ય કૉલ"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"ઇનકમિંગ Wi-Fi કૉલ"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"ઇનકમિંગ Wi-Fi કાર્ય કૉલ"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"ઇનકમિંગ શંકાસ્પદ સ્પામ કૉલ"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"આવનાર વિડિઓ વિનંતી"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"કોઈ સેવા નથી"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"વિડિઓ કૉલ લો"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"કૉલ કરવા માટે, પહેલાં એરપ્લેન મોડને બંધ કરો."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"નેટવર્ક પર નોંધણી કરાયેલ નથી."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"સેલ્યુલર નેટવર્ક ઉપલબ્ધ નથી."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"મોબાઇલ નેટવર્ક ઉપલબ્ધ નથી."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"કૉલ કરવા માટે, માન્ય નંબર દાખલ કરો."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"કૉલ કરી શકાતો નથી."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI અનુક્રમ પ્રારંભ કરી રહ્યાં છે…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"કૉલ સમાપ્ત કરો"</string>
<string name="conference_call_name" msgid="8189987124611337174">"કૉન્ફરન્સ કૉલ"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"કૉલમાં"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"સેલ્યુલર ડેટાની મદદથી કૉલ ચાલુ રાખી રહ્યાં છે…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi નેટવર્ક પર સ્વિચ કરી શક્યાં નથી"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"વિડિઓ કૉલ સેલ્યુલર નેટવર્ક પર રહેશે. માનક ડેટા શુલ્ક લાગુ થઈ શકે છે."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"મોબાઇલ ડેટાની મદદથી કૉલ ચાલુ રાખી રહ્યાં છે…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi નેટવર્ક પર સ્વિચ કરી શક્યાં નથી"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"વિડિઓ કૉલ, મોબાઇલ નેટવર્ક પર રહેશે. માનક ડેટા શુલ્ક લાગુ થઈ શકે છે."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"આ ફરીથી બતાવશો નહીં"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-hi/strings.xml b/java/com/android/incallui/res/values-hi/strings.xml
index 09563dfc4..d3a4dcfa8 100644
--- a/java/com/android/incallui/res/values-hi/strings.xml
+++ b/java/com/android/incallui/res/values-hi/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> के छूटे कॉल"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"चल रही कॉल"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"कार्यस्थल की जारी कॉल"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"चल रहा वाई-फ़ाई कॉल"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"कार्यस्थल की जारी वाई-फ़ाई कॉल"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"जारी Wi‑Fi कॉल"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"जारी Wi‑Fi कार्य कॉल"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"होल्ड पर"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"इनकमिंग कॉल"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"फ़ोटो के साथ इनकमिंग कॉल"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"फोटो, संदेश और स्थान के साथ महत्वपूर्ण इनकमिंग कॉल"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"अटैचमेंट के साथ महत्वपूर्ण इनकमिंग कॉल"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"कार्यस्थल की आवक कॉल"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"इनकमिंग वाई-फ़ाई कॉल"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"कार्यस्थल की वाई-फ़ाई आवक कॉल"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"इनकमिंग Wi‑Fi कॉल"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"इनकमिंग Wi‑Fi कार्य कॉल"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"संदिग्ध आवक स्पैम कॉल"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"इनकमिंग वीडियो अनुरोध"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"कोई सेवा नहीं"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"वीडियो कॉल लें"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"कॉल करने के लिए, पहले विमान मोड बंद करें."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"नेटवर्क पर पंजीकृत नहीं."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"सेल्युलर नेटवर्क उपलब्ध नहीं."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"मोबाइल नेटवर्क उपलब्ध नहीं है."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"कॉल करने के लिए, मान्‍य नंबर डालें."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"कॉल नहीं किया जा सकता."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI अनुक्रम प्रारंभ हो रहा है…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"कॉल समाप्त करें"</string>
<string name="conference_call_name" msgid="8189987124611337174">"कॉन्फ़्रेंस कॉल"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"कॉल में"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"सेल्युलर डेटा का उपयोग करके कॉल जारी रखा जा रहा है…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"वाई-फ़ाई नेटवर्क में नहीं बदला जा सका"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"वीडियो कॉल सेल्यूलर नेटवर्क पर बना रहेगा. मानक डेटा शुल्क लागू हो सकते हैं."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"मोबाइल डेटा का उपयोग करके कॉल जारी रखा जा रहा है…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi‑Fi नेटवर्क पर स्विच नहीं कर सका"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"वीडियो कॉल मोबाइल नेटवर्क पर बना रहेगा. मानक डेटा शुल्क लागू हो सकते हैं."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"इसे दोबारा न दिखाएं"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-hr/strings.xml b/java/com/android/incallui/res/values-hr/strings.xml
index 7af16133a..2d389e666 100644
--- a/java/com/android/incallui/res/values-hr/strings.xml
+++ b/java/com/android/incallui/res/values-hr/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Propušten poziv kontakta <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Poziv u tijeku"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Poslovni poziv u tijeku"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Wi-Fi poziv u tijeku"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Poslovni Wi-Fi poziv u tijeku"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Wi-Fi poziv u tijeku"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Poslovni Wi-Fi poziv u tijeku"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Na čekanju"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Dolazni poziv"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Dolazni poziv s fotografijom"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Važan poziv s fotografijom, porukom i lokacijom"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Važan dolazni poziv s privicima"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Dolazni poslovni poziv"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Dolazni Wi-Fi poziv"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Dolazni poslovni Wi-Fi poziv"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Dolazni Wi-Fi poziv"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Dolazni poslovni Wi-Fi poziv"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Mogući neželjeni dolazni poziv"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Dolazni zahtjev za videopoziv"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nema usluge"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Preuzimanje videopoziva"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Da biste uspostavili poziv, prvo isključite način rada u zrakoplovu."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Nije registrirano na mreži."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilna mreža nije dostupna."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilna mreža nije dostupna."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Unesite važeći broj da biste uspostavili poziv."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Pozivanje nije moguće."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Pokretanje MMI sekvence…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Prekid poziva"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferencijski poziv"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Poziv u tijeku"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Poziv se nastavlja pomoću mobilnih podataka..."</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Prebacivanje na Wi-Fi mrežu nije moguće"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videopoziv će ostati na mobilnoj mreži. Možda ćete morati platiti podatkovni promet."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Poziv se nastavlja pomoću mobilnih podataka..."</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Prebacivanje na Wi-Fi mrežu nije moguće"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videopoziv će ostati na mobilnoj mreži. Možda ćete morati platiti podatkovni promet."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ne prikazuj ponovno"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-hu/strings.xml b/java/com/android/incallui/res/values-hu/strings.xml
index 08d374b41..fe524216c 100644
--- a/java/com/android/incallui/res/values-hu/strings.xml
+++ b/java/com/android/incallui/res/values-hu/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Nem fogadott hívás: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Hívás folyamatban"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Folyamatban lévő munkahelyi hívás"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Folyamatban lévő Wi-Fi-hívás"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Folyamatban lévő munkahelyi hívás Wi-Fin keresztül"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Folyamatban lévő Wi-Fi-hívás"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Folyamatban lévő munkahelyi hívás Wi-Fin keresztül"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Tartásban"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Bejövő hívás"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Bejövő hívás fotóval"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Fontos bejövő hívás fotóval, üzenettel és hellyel"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Fontos bejövő hívás mellékletekkel"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Bejövő munkahelyi hívás"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Beérkező Wi-Fi-hívás"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Bejövő munkahelyi hívás Wi-Fin keresztül"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Beérkező Wi-Fi-hívás"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Bejövő munkahelyi hívás Wi-Fin keresztül"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Bejövő gyanús spamhívás"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Bejövő videokérés"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nincs szolgáltatás"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Videohívás fogadása"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Híváskezdeményezéshez kapcsolja ki a Repülőgép üzemmódot."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Nincs regisztrálva a hálózaton."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"A mobilhálózat nem érhető el."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"A mobilhálózat nem érhető el."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Hívásindításhoz adjon meg egy érvényes számot."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"A hívás sikertelen."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI-sorozat indítása..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Hívás befejezése"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferenciahívás"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Hívásban"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Hívás folytatása mobil-adatkapcsolaton keresztül…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Nem sikerült Wi-Fi-hálózatra váltani"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"A videohívást továbbra is a mobilhálózaton folytatja. A mobilszolgáltató a normál adatforgalmi díjat számítja fel."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Hívás folytatása mobil-adatkapcsolaton keresztül…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Nem sikerült Wi-Fi-hálózatra váltani"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"A videohívást továbbra is a mobilhálózaton folytatja. A mobilszolgáltató a normál adatforgalmi díjat számítja fel."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ne jelenjen meg többé"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-hy/strings.xml b/java/com/android/incallui/res/values-hy/strings.xml
index f6496d14d..4287820c2 100644
--- a/java/com/android/incallui/res/values-hy/strings.xml
+++ b/java/com/android/incallui/res/values-hy/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Բաց թողնված զանգ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-ից"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Ընթացիկ զանգը"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Ընթացիկ աշխատանքային զանգ"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Ընթացիկ զանգ Wi-Fi-ի միջոցով"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Ընթացիկ աշխատանքային Wi-Fi զանգ"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Ընթացիկ զանգ Wi-Fi-ի միջոցով"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Ընթացիկ աշխատանքային զանգ Wi-Fi-ի միջոցով"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Սպասում"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Մուտքային զանգ"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Մուտքային զանգ՝ լուսանկարով"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Կարևոր մուտքային զանգ՝ կցորդներով"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Կարևոր մուտքային զանգ՝ կցորդներով"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Մուտքային աշխատանքային զանգ"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Մուտքային զանգ Wi-Fi-ի միջոցով"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Մուտքային աշխատանքային Wi-Fi զանգ"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Մուտքային զանգ Wi-Fi-ի միջոցով"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Մուտքային աշխատանքային զանգ Wi-Fi-ի միջոցով"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Մուտքային զանգը հավանաբար լցոն է"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Մուտքային տեսազանգի հայցում"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ծառայություններ չկան"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Ընդունել տեսազանգը"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Զանգի կատարման համար նախ անջատեք թռիչքային ռեժիմը:"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ցանցում գրանցված չէ:"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Բջջային ցանցն անհասանելի է:"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Բջջային ցանցն անհասանելի է:"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Զանգ կատարելու համար մուտքագրեք ճիշտ համար:"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Հնարավոր չէ զանգել:"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Մեկնարկում է MMI հաջորդականությունը..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Ավարտել զանգը"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Կոնֆերանս զանգ"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Զանգ"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Զանգն այժմ բջջային ինտերնետով է ընթանում…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Չհաջողվեց միանալ Wi-Fi ցանցին"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Տեսազանգը կշարունակվի բջջային ցանցով: Գանձումը կկատարվի ըստ ձեր սակագնային պլանի:"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Զանգն այժմ բջջային ինտերնետով է ընթանում…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Չհաջողվեց միանալ Wi-Fi ցանցին"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Տեսազանգը կշարունակվի բջջային ցանցով: Գանձումը կկատարվի ըստ ձեր սակագնային պլանի:"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Այլևս ցույց չտալ"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-in/strings.xml b/java/com/android/incallui/res/values-in/strings.xml
index 279e72d21..6de6136fb 100644
--- a/java/com/android/incallui/res/values-in/strings.xml
+++ b/java/com/android/incallui/res/values-in/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Panggilan tak terjawab dari <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Panggilan yang sedang berlangsung"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Panggilan telepon kerja yang sedang berlangsung"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Panggilan Wi-Fi keluar"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Panggilan Wi-Fi kerja yang sedang berlangsung"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Panggilan Wi-Fi keluar"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Panggilan kerja Wi-Fi yang berlangsung"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Ditangguhkan"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Panggilan masuk"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Panggilan masuk dengan foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Panggilan penting dengan foto, pesan, dan lokasi"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Panggilan masuk penting dengan lampiran"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Panggilan telepon kerja yang masuk"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Panggilan Wi-Fi masuk"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Panggilan telepon Wi-Fi kerja yang masuk"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Panggilan Wi-Fi masuk"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Panggilan kerja Wi-Fi masuk"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Panggilan masuk yang diduga spam"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Permintaan video masuk"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Tidak ada layanan"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Lakukan Video Call"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Untuk melakukan panggilan, pertama-tama matikan mode Pesawat."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Tidak terdaftar pada jaringan."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Jaringan seluler tidak tersedia."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Jaringan seluler tidak tersedia."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Untuk melakukan panggilan telepon, masukkan nomor yang valid."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Tidak dapat menelepon."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Memulai urutan MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Akhiri panggilan"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Telewicara"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Sedang menelepon"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Melanjutkan panggilan menggunakan data seluler..."</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Tidak dapat beralih ke jaringan Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video call akan tetap di jaringan seluler. Biaya data standar mungkin berlaku."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Melanjutkan panggilan menggunakan data seluler..."</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Tidak dapat beralih ke jaringan Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Video call akan tetap di jaringan seluler. Tarif data standar mungkin berlaku."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Jangan tampilkan ini lagi"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-is/strings.xml b/java/com/android/incallui/res/values-is/strings.xml
index 795e952c6..8393510c6 100644
--- a/java/com/android/incallui/res/values-is/strings.xml
+++ b/java/com/android/incallui/res/values-is/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Ósvarað símtal frá <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Samtal í gangi"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Vinnusímtal í gangi"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Wi-Fi símtal stendur yfir"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Vinnusímtal í gangi um Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Wi-Fi símtal stendur yfir"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Vinnusímtal í gangi um Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Í bið"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Móttekið símtal"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Móttekið símtal með mynd"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Mikilvægt móttekið símtal með mynd, skilaboðum og staðsetningu"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Mikilvægt móttekið símtal með viðhengjum"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Vinnusímtal berst"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Wi-Fi símtal berst"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Vinnusímtal berst um Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Wi-Fi símtal berst"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Vinnusímtal berst um Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Símtal sem berst er hugsanlega úr ruslnúmeri"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Myndbeiðni berst"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ekkert símasamband"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Þiggja myndsímtal"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Til að hringja símtal þarftu fyrst að slökkva á flugstillingu."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ekki skráð á símkerfi."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Farsímakerfi ekki til staðar."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Farsímakerfi ekki tiltækt."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Sláðu inn gilt númer til að hringja símtal."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Ekki hægt að hringja."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Ræsir MMI-runu…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Ljúka símtali"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Símafundur"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Í símtali"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Símtal heldur áfram og notar farsímagögn…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Ekki var hægt að skipta yfir á Wi-Fi-net"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Myndsímtal verður áfram á farsímaneti. Stöðluð gjöld fyrir gagnaflutning kunna að eiga við."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Símtal heldur áfram og notar farsímagögn…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Ekki var hægt að skipta yfir á Wi-Fi-net"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Myndsímtal verður áfram á farsímaneti. Stöðluð gjöld fyrir gagnaflutning kunna að eiga við."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ekki birta þetta aftur"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-it/strings.xml b/java/com/android/incallui/res/values-it/strings.xml
index 836b93452..ca2b4b14a 100644
--- a/java/com/android/incallui/res/values-it/strings.xml
+++ b/java/com/android/incallui/res/values-it/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Chiamata senza risposta da <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Chiamata in corso"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Chiamata di lavoro in corso"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Chiamata Wi-Fi in corso"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chiamata di lavoro tramite Wi-Fi in corso"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Chiamata Wi-Fi in corso"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Chiamata di lavoro tramite Wi-Fi in corso"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"In attesa"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Chiamata in arrivo"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Chiamata in arrivo con foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Chiamata importante in arrivo con foto, messaggio e posizione"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Chiamata importante in arrivo con allegati"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Chiamata di lavoro in arrivo"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Chiamata Wi-Fi in arrivo"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Chiamata di lavoro in arrivo tramite Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Chiamata Wi-Fi in arrivo"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Chiamata di lavoro tramite Wi-Fi in arrivo"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Chiamata di presunto spam in arrivo"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Richiesta video in arrivo"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nessun servizio"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Ricevi videochiamata"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Per fare una telefonata, disattiva la modalità aereo."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Non registrato sulla rete."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Rete cellulare non disponibile."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Rete mobile non disponibile."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Per effettuare una chiamata, inserisci un numero valido."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Impossibile chiamare."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Inizio sequenza MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Termina chiamata"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Audioconferenza"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Chiamata in corso"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Proseguimento della chiamata utilizzando la rete dati…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Impossibile passare alla rete Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"La videochiamata rimarrà sulla rete cellulare. Potrebbero essere applicati costi standard per il traffico dati."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Proseguimento della chiamata utilizzando i dati mobili…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Impossibile passare alla rete Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"La videochiamata rimarrà sulla rete mobile. Potrebbero essere applicati costi standard per il traffico dati."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Non mostrare più questo messaggio"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-iw/strings.xml b/java/com/android/incallui/res/values-iw/strings.xml
index 195cb0f25..326078ae8 100644
--- a/java/com/android/incallui/res/values-iw/strings.xml
+++ b/java/com/android/incallui/res/values-iw/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"שיחה שלא נענתה מאת <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"שיחה פעילה"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"שיחת עבודה פעילה"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"‏שיחת Wi-Fi מתבצעת"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"‏שיחת עבודה פעילה ברשת WiFi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"‏שיחת Wi-Fi פעילה"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"‏שיחת עבודה פעילה ברשת Wi‑Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"בהמתנה"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"שיחה נכנסת"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"שיחה נכנסת עם תמונה"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"שיחה נכנסת חשובה עם תמונה, הודעה ומיקום"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"שיחה נכנסת חשובה עם קבצים מצורפים"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"שיחת עבודה נכנסת"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"‏שיחת Wi-Fi נכנסת"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"‏שיחת עבודה נכנסת ברשת WiFi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"‏שיחת Wi-Fi נכנסת"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"‏שיחת עבודה נכנסת ברשת Wi‑Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"השיחה הנכנסת חשודה כספאם"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"בקשת וידאו נכנסת"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"אין שירות"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"קבל את שיחת הווידאו"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"כדי להתקשר, כבה תחילה את מצב טיסה."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"לא רשום ברשת."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"רשת סלולרית אינה זמינה."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"הרשת הסלולרית אינה זמינה."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"כדי להתקשר, הזן מספר טלפון חוקי."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"לא ניתן להתקשר."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"‏מתחיל רצף MMI…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"סיים שיחה"</string>
<string name="conference_call_name" msgid="8189987124611337174">"שיחת ועידה"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"בשיחה"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"ממשיך את השיחה באמצעות הרשת הסלולרית..."</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"‏לא ניתן לעבור לרשת Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"שיחת הווידאו תמשיך להיות ברשת הסלולרית. ייתכן שתחויב על ידי הספק הסלולרי בגין צריכת נתונים."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"ממשיך את השיחה באמצעות הרשת הסלולרית…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"‏לא ניתן לעבור לרשת Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"שיחת הווידאו תמשיך להיות ברשת הסלולרית. ייתכן שתחויב על שימוש בנתונים."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"אל תציג זאת שוב"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ja/strings.xml b/java/com/android/incallui/res/values-ja/strings.xml
index 0e186fa3d..a54c4e12a 100644
--- a/java/com/android/incallui/res/values-ja/strings.xml
+++ b/java/com/android/incallui/res/values-ja/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> さんからの不在着信"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"通話中"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"仕事の通話中"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Wi-Fi通話を発信中"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"仕事の Wi-Fi 通話中"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Wi-Fi 通話を発信中"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"仕事の Wi-Fi 通話を発信中"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"保留中"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"通話着信"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"着信(写真あり)"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"重要な着信(写真、メッセージ、位置情報あり)"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"重要な着信(添付ファイルあり)"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"仕事の通話が着信中"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Wi-Fi通話が着信中"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"仕事の Wi-Fi 通話が着信中"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Wi-Fi 通話が着信中"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"仕事の Wi-Fi 通話が着信中"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"迷惑電話の疑いがある通話を着信しています"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"ビデオハングアウトリクエスト着信"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"通信サービスなし"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"ビデオハングアウトを引き継ぐ"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"機内モードをOFFにしてから発信してください。"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"ご加入の通信サービスがありません"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"モバイルネットワークが利用できません。"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"モバイル ネットワークを利用できません。"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"発信するには、有効な番号を入力してください。"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"発信できません。"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMIシーケンスを開始中..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"通話を終了"</string>
<string name="conference_call_name" msgid="8189987124611337174">"グループ通話"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"通話中"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"モバイルデータを使用して通話を継続しています…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi ネットワークに切り替えることができませんでした"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"引き続きモバイル ネットワークを使用してビデオ通話を続行します。通常のデータ通信料が適用される場合があります。"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"モバイルデータを使用して通話を継続しています…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi ネットワークに切り替えることができませんでした"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"引き続きモバイル ネットワークを使用してビデオハングアウトを続行します。通常のデータ通信料が適用される場合があります。"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"今後このメッセージを表示しない"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ka/strings.xml b/java/com/android/incallui/res/values-ka/strings.xml
index 6c46bd0c7..fed398b49 100644
--- a/java/com/android/incallui/res/values-ka/strings.xml
+++ b/java/com/android/incallui/res/values-ka/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"გამოტოვებული ზარი <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-ისგან"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"მიმდინარე ზარი"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"მიმდინარე ზარი (სამსახური)"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"მიმდინარე Wi-Fi ზარი"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"მიმდინარე Wi-Fi ზარი (სამსახური)"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"მიმდინარე Wi-Fi ზარი"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"მიმდინარე Wi-Fi ზარი (სამსახური)"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"შეყოვნების რეჟიმში"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"შემომავალი ზარი"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"შემომავალი ზარი ფოტოთი"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ზარი ფოტოთი, შეტყობინებით და მდებარეობით"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"მნიშვნელოვანი შემომავალი ზარი დანართებით"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"შემომავალი ზარი (სამსახური)"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"შემომავალი Wi-Fi ზარი"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"შემომავალი Wi-Fi ზარი (სამსახური)"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"შემომავალი Wi-Fi ზარი"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"შემომავალი Wi-Fi ზარი (სამსახური)"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"შემომავალი ზარი - სავარაუდოდ სპამი"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"შემომავალი ვიდეოს მოთხოვნა"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"სერვისი არ არის"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Take ვიდეო ზარი"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ზარის განსახორციელებლად, ჯერ თვითმფრინავის რეჟიმი უნდა გამორთოთ."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"ქსელში რეგისტრირებული არ არის."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"ფიჭური ქსელი მიუწვდომელია"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"მობილური ქსელი მიუწვდომელია."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"ზარის განხორციელებისათვის, შეიყვანეთ მოქმედი ნომერი."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"არ ირეკება."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI თანმიმდევრობის დაწყება…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"ზარის დასრულება"</string>
<string name="conference_call_name" msgid="8189987124611337174">"საკონფერენციო ზარი"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"მონაწილეობს ზარში"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"ზარი გრძელდება მობილური ინტერნეტის გამოყენებით…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi ქსელზე გადართვა ვერ მოხერხდა"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ვიდეოზარი ფიჭურ ქსელში დარჩება. შესაძლოა მოგიწიოთ მობილური ინტერნეტის სტანდარტული ფასის გადახდა."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"ზარი გრძელდება მობილური ინტერნეტის გამოყენებით…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi ქსელზე გადართვა ვერ მოხერხდა"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ვიდეოზარი მობილური ინტერნეტის ქსელში დარჩება. შესაძლოა მოგიწიოთ მობილური ინტერნეტის სტანდარტული საფასურის გადახდა."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"აღარ მაჩვენო"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-kk/strings.xml b/java/com/android/incallui/res/values-kk/strings.xml
index 310ba4d28..42ac9b078 100644
--- a/java/com/android/incallui/res/values-kk/strings.xml
+++ b/java/com/android/incallui/res/values-kk/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> қоңырауы өткізіп алынған"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Ағымдағы қоңырау"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Ағымдағы жұмыс қоңырауы"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Ағымдық Wi-Fi қоңырауы"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Ағымдағы Wi-Fi жұмыс қоңырауы"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Қазіргі Wi-Fi қоңырауы"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Қазіргі Wi-Fi жұмыс қоңырауы"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Күтуде"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Келген қоңырау"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Сурет тіркелген кіріс қоңырау"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Сурет, хабар және орын дерегі тіркелген маңызды кіріс қоңырау"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Тіркемелері бар маңызды кіріс қоңырау"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Кіріс жұмыс қоңырауы"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Кіріс Wi-Fi қоңырауы"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Кіріс Wi-Fi жұмыс қоңырауы"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Кіріс Wi-Fi қоңырауы"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Кіріс Wi-Fi жұмыс қоңырауы"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Кіріс қоңырауы спам болуы мүмкін"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Кіріс бейне сұрау"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Қызмет көрсетілмейді"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Бейне қоңырауды бері бұру"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Қоңырау шалу үшін алдымен Ұшақ режимін өшіріңіз."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Желіде тіркелмеген."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Ұялы желі қол жетімді емес."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Мобильдік желі қолжетімсіз."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Қоңырау шалу үшін жарамды нөмірді енгізіңіз."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Қоңырау шалу мүмкін емес."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI қатарын бастау…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Қоңырауды аяқтау"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Мәжіліс қоңырауы"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Бос емес"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Қоңырау ұялы дерек арқылы жалғасады..."</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi желісіне қосылу мүмкін болмады"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Бейне қоңырау ұялы байланыс желісінде қалады. Стандартты деректер ақысы алынуы мүмкін."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Қоңырау мобильдік желі арқылы жалғасуда…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi желісіне қосылу мүмкін болмады"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Бейне қоңырау мобильдік желіде қалады. Стандартты мобильдік байланыс ақысы алынуы мүмкін."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Мұны қайтадан көрсетпеу"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-km/strings.xml b/java/com/android/incallui/res/values-km/strings.xml
index 4fbafef71..c6238de2b 100644
--- a/java/com/android/incallui/res/values-km/strings.xml
+++ b/java/com/android/incallui/res/values-km/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"ខកខាន​ទទួល​ពី <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"កំពុង​បន្ត​ការ​ហៅ"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"ការហៅពីកន្លែងការងារកំពុងដំណើរការ"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"ការហៅតាម Wi-Fi កំពុងបន្ត"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ការហៅតាម Wi-Fi ពីកន្លែងការងារកំពុងដំណើរការ"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"ការហៅតាម Wi-Fi កំពុង​ដំណើរការ"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"ការហៅតាម Wi-Fi ពីកន្លែងការងារ​កំពុង​ដំណើរការ"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"រង់ចាំ"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ការ​ហៅ​ចូល"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ការហៅ​ចូល​​ដែល​មាន​រូបថត"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ការ​ហៅ​ចូល​ដែល​សំខាន់​មាន​រូបថត សារ និង​ទីតាំង"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"ការហៅ​​ចូល​ដែល​សំខាន់​មាន​ឯកសារ​ភ្ជាប់"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"កំពុងហៅចូលពីកន្លែងការងារ"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"មានការហៅចូលមកតាម Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"កំពុងហៅចូលពីកន្លែងការងារតាម Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"មានការហៅចូលមកតាម Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"មាន​ការ​ហៅ​ចូល​ពី​កន្លែង​ការងារ​តាម Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"ការ​ហៅ​បន្លំ​​ចូល​​​ដែល​សង្ស័យ"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"សំណើ​ការ​ហៅ​ជា​វីដេអូ​ចូល"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"គ្មាន​សេវា"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"ទទួល​យក​ការ​ហៅ​វីដេអូ"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ដើម្បី​កំណត់​ការ​ហៅ ដំបូង​ត្រូវ​បិទ​របៀប​នៅ​ពេល​ជិះ​យន្តហោះ។"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"មិន​បាន​ចុះ​ឈ្មោះ​នៅ​លើ​បណ្ដាញ។"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"បណ្ដាញ​ចល័ត​មិន​អាច​ប្រើ​បាន។"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"សេវា​ទូរសព្ទ​ចល័ត​មិន​អាច​ប្រើប្រាស់​បាន។"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"ដើម្បីធ្វើការហៅ បញ្ចូលលេខដែលមានសុពលភាព។"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"មិនអាចហៅបានទេ។"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"កំពុង​ចាប់ផ្ដើម​លំដាប់ MMI ..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"បញ្ចប់ការហៅ"</string>
<string name="conference_call_name" msgid="8189987124611337174">"ហៅជា​សន្និសីទ"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"ស្ថិត​​ក្នុង​ការ​ហៅ"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"កំពុង​បន្ត​ហៅ​ទូរស័ព្ទ​ដោយ​ប្រើ​ទិន្នន័យ​ទូរស័ព្ទ​ចល័ត..."</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"មិន​អាច​ប្ដូរ​ទៅ​បណ្ដាញ Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ការហៅ​ជា​វីដេអូ​នឹង​នៅ​តែ​​ស្ថិត​លើ​បណ្ដាញ​ទូរសព្ទ​ចល័ត។ អាច​​នឹង​​គិតថ្លៃ​ទិន្នន័យ​តាម​តម្លៃ​​ស្តង់ដារ។"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"កំពុង​បន្ត​ការហៅ​ទូរសព្ទ​ ដោយ​ប្រើប្រាស់​ទិន្នន័យ​ចល័ត…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"មិន​អាច​ប្ដូរ​ទៅ​បណ្ដាញ Wi-Fi បាន​ទេ"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ការហៅ​តាម​វីដេអូ​នឹង​នៅតែ​មាន​នៅ​លើ​បណ្ដាញ​ទូរសព្ទ។ អាច​នឹង​គិតថ្លៃ​ទិន្នន័យ​តាម​តម្លៃ​ស្តង់ដារ។"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"កុំ​បង្ហាញ​វា​ម្ដង​ទៀត"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-kn/strings.xml b/java/com/android/incallui/res/values-kn/strings.xml
index 5d47c7e0e..cb47e35d9 100644
--- a/java/com/android/incallui/res/values-kn/strings.xml
+++ b/java/com/android/incallui/res/values-kn/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ಅವರಿಂದ ಮಿಸ್ಡ್ ಕಾಲ್"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆ"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕೆಲಸದ ಕರೆ"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ವೈ-ಫೈ ಕರೆ"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ವೈ-ಫೈ ಕೆಲಸದ ಕರೆ"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ವೈ-ಫೈ ಕರೆ"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"ಚಾಲ್ತಿಯಲ್ಲಿರುವ ವೈ-ಫೈ ಕೆಲಸದ ಕರೆ"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ಒಳಬರುವ ಕರೆ"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ಫೋಟೋದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಕರೆ"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ಪೋಟೋ, ಸಂದೇಶ ಮತ್ತು ಸ್ಥಳದೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"ಲಗತ್ತುಗಳೊಂದಿಗೆ ಒಳಬರುತ್ತಿರುವ ಪ್ರಮುಖ ಕರೆ"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"ಒಳಬರುವ ಕೆಲಸದ ಕರೆ"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"ಒಳಬರುವ ವೈ-ಫೈ ಕರೆ"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"ಒಳಬರುವ ವೈ-ಫೈ ಕೆಲಸದ ಕರೆ"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"ಒಳಬರುವ ವೈ-ಫೈ ಕರೆ"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"ಒಳಬರುವ ವೈ-ಫೈ ಕೆಲಸದ ಕರೆ"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"ಒಳಬರುವ ಶಂಕಿತ ಸ್ಪ್ಯಾಮ್ ಕರೆ"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"ಒಳಬರುವ ವೀಡಿಯೊ ವಿನಂತಿ"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"ಯಾವುದೇ ಸೇವೆಯಿಲ್ಲ"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"ವೀಡಿಯೊ ಕರೆ ತೆಗೆದುಕೊಳ್ಳಿ"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ಕರೆ ಮಾಡಲು, ಮೊದಲು ಏರ್‌ಪ್ಲೇನ್‌‌ ಮೋಡ್‌‌ ಆಫ್‌ ಮಾಡಿ."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಇನ್ನೂ ನೋಂದಣಿಯಾಗಿಲ್ಲ."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"ಸೆಲ್ಯುಲಾರ್ ನೆಟ್‌ವರ್ಕ್‌ ಲಭ್ಯವಿಲ್ಲ."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"ಮೊಬೈಲ್‌ ನೆಟ್‌ವರ್ಕ್‌ ಲಭ್ಯವಿಲ್ಲ."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"ಕರೆಯನ್ನು ಮಾಡಲು, ಮಾನ್ಯವಾದ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI ಅನುಕ್ರಮ ಪ್ರಾರಂಭವಾಗುತ್ತಿದೆ…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"ಕರೆ ಅಂತ್ಯಗೊಳಿಸಿ"</string>
<string name="conference_call_name" msgid="8189987124611337174">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆ"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"ಕರೆಯಲ್ಲಿ"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"ಸೆಲ್ಯುಲಾರ್ ಡೇಟಾ ಬಳಸಿಕೊಂಡು ಕರೆ ಮುಂದುವರಿಸಲಾಗುತ್ತಿದೆ…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"ವೈ-ಫೈ ನೆಟ್‍ವರ್ಕ್‌ಗೆ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ಸೆಲ್ಯುಲಾರ್ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ವೀಡಿಯೊ ಕರೆ ಹಾಗೆಯೇ ಉಳಿಯುತ್ತದೆ. ಪ್ರಮಾಣಿತ ಡೇಟಾ ಶುಲ್ಕಗಳು ಅನ್ವಯಿಸಬಹುದು."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"ಮೊಬೈಲ್ ಡೇಟಾ ಬಳಸಿಕೊಂಡು ಕರೆ ಮುಂದುವರಿಸಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"ವೈ-ಫೈ ನೆಟ್‍ವರ್ಕ್‌ಗೆ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ವೀಡಿಯೊ ಕರೆ ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಹಾಗೆಯೇ ಉಳಿಯುತ್ತದೆ. ಪ್ರಮಾಣಿತ ಡೇಟಾ ಶುಲ್ಕಗಳು ಅನ್ವಯಿಸಬಹುದು."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"ಮತ್ತೆ ಇದನ್ನು ತೋರಿಸಬೇಡ"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ko/strings.xml b/java/com/android/incallui/res/values-ko/strings.xml
index 44c53389a..676ba08f0 100644
--- a/java/com/android/incallui/res/values-ko/strings.xml
+++ b/java/com/android/incallui/res/values-ko/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>의 부재중 전화"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"현재 통화"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"발신 업무 전화"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Wi-Fi 발신 전화"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"발신 Wi-Fi 업무 전화"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"진행 중인 Wi-Fi 통화"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"진행 중인 Wi-Fi 업무 통화"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"대기 중"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"수신전화"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"사진이 있는 수신 전화"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"사진, 메시지, 위치가 있는 중요한 수신 전화"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"첨부파일이 있는 중요한 수신 전화"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"수신 업무 전화"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Wi-Fi 수신 전화"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"수신 Wi-Fi 업무 전화"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"수신 Wi-Fi 통화"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"수신 Wi-Fi 업무 통화"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"의심스러운 스팸 발신자로부터 온 전화"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"수신 동영상 요청"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"서비스 불가"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"화상 통화 받기"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"전화를 걸려면 먼저 비행기 모드를 해제하세요."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"네트워크에서 등록되지 않았습니다."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"사용 가능한 이동통신망이 없습니다."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"모바일 네트워크를 사용할 수 없습니다."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"전화를 걸려면 올바른 번호를 입력하세요."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"전화를 걸 수 없습니다."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI 시퀀스 시작 중..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"통화 종료"</string>
<string name="conference_call_name" msgid="8189987124611337174">"다자간 통화"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"통화 중"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"모바일 데이터를 사용하여 계속 통화 중…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi 네트워크로 전환할 수 없습니다."</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"화상 통화가 모바일 네트워크에서 유지됩니다. 표준 데이터 요금이 부과될 수 있습니다."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"모바일 데이터를 사용하여 통화를 계속합니다…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi 네트워크로 전환할 수 없습니다."</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"화상 통화가 모바일 네트워크에서 계속됩니다. 표준 데이터 요금이 부과될 수 있습니다."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"다시 표시하지 않음"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ky/strings.xml b/java/com/android/incallui/res/values-ky/strings.xml
index 0f8ee3cd8..1f6060412 100644
--- a/java/com/android/incallui/res/values-ky/strings.xml
+++ b/java/com/android/incallui/res/values-ky/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> дегенден кабыл алынбаган чалуу"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Учурдагы чалуу"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Учурда болуп жаткан чалуу (жумуш боюнча)"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Аткаруудагы Wi-Fi чалуу"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Учурда болуп жаткан Wi-Fi чалуу (жумуш боюнча)"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Учурдагы Wi-Fi чалуу"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Учурдагы Wi-Fi чалуу (жумуш боюнча)"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Күтүлүүдө"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Кирүүчү чалуу"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Сүрөтү бар кирүүчү чалуу"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Сүрөт, билдирүү жана жайгашкан жер бар маанилүү чалуу"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Тиркемелери бар маанилүү кирүүчү чалуу"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Жумуш боюнча келип жаткан чалуу"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Кирүүчү Wi-Fi чалуу"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Жумуш боюнча келип жаткан Wi-Fi чалуу"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Келип жаткан Wi-Fi чалуу"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Жумуш боюнча келип жаткан Wi-Fi чалуу"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Келип жаткан чалуу спам окшойт"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Келип жаткан видео сурамы"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Байланыш жок"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Видео чалууну кабыл алуу"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Чалуу үчүн, адегенде учак режимин өчүрүңүз."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Тармакта катталган эмес."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Мобилдик тармак жеткиликтүү эмес."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Мобилдик тармак жок."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Чалуу үчүн, жарактуу номер киргизиңиз."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Чалынбай жатат."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI кезеги башталууда…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Чалууну бүтүрүү"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Конференц-чалуу"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Чалууда"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Уюлдук дайындарды пайдалануу менен чалууну улантууда..."</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi тармагына туташа албай койдук"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Видео чалуу уюлдук тармак аркылуу аткарылат. Стандарттык тариф боюнча акы алынышы мүмкүн."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Мобилдик дайындарды пайдалануу менен чалууну улантууда…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi тармагына туташа албай койдук"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Видео чалуу мобилдик тармак аркылуу аткарылат. Стандарттык тариф боюнча акы алынышы мүмкүн."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Экинчи көрсөтүлбөсүн"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-lo/strings.xml b/java/com/android/incallui/res/values-lo/strings.xml
index 56335d416..45a2a4089 100644
--- a/java/com/android/incallui/res/values-lo/strings.xml
+++ b/java/com/android/incallui/res/values-lo/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"ສາຍບໍ່ໄດ້ຮັບຈາກ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"ສາຍທີ່ກຳລັງໂທອອກ"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"ສາຍໂທອອກຈາກບ່ອນເຮັດວຽກ"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"ການ​ໂທ Wi​-Fi ທີ່ດໍາເນີນຢູ່"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ສາຍໂທອອກ Wi-Fi ຈາກບ່ອນເຮັດວຽກ"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"ການໂທ Wi-Fi ທີ່ດໍາເນີນຢູ່"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"ການໂທ Wi-Fi ບ່ອນເຮັດວຽກທີ່ດໍາເນີນຢູ່"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"ພັກສາຍຊົ່ວຄາວ"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ສາຍໂທເຂົ້າ"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ສາຍໂທເຂົ້າພ້ອມຮູບພາບ"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ສາຍໂທເຂົ້າສຳຄັນພ້ອມຮູບພາບ, ຂໍ້ຄວາມ ແລະ ສະຖານທີ່"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"ສາຍໂທເຂົ້າສຳຄັນພ້ອມໄຟລ໌ແນບ"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"ສາຍໂທເຂົ້າຈາກບ່ອນເຮັດວຽກ"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"ສາຍໂທເຂົ້າ Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"ສາຍໂທເຂົ້າ Wi-Fi ຈາກບ່ອນເຮັດວຽກ"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"ສາຍໂທເຂົ້າ Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"ສາຍໂທເຂົ້າ Wi-Fi ບ່ອນເຮັດວຽກ"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"ມີການໂທທີ່ຄາດວ່າເປັນສະແປມໂທເຂົ້າມາ"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"​ຄຳ​ຮ້ອງ​ຂໍ​ວິ​ດີ​ໂອ​ເຂົ້າ​ມາ"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"ບໍ່ມີບໍລິການ"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"ຮັບສາຍວິດີໂອ"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ເພື່ອໂທລະສັບ, ໃຫ້ປິດໂໝດຢູ່ເທິງຍົນກ່ອນ."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"ບໍ່ໄດ້ລົງທະບຽນໃນເຄືອຂ່າຍ."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"ບໍ່​ມີ​ເຄືອ​ຂ່າຍ​ມື​ຖື​ທີ່​ສາ​ມາດ​ໃຊ້​ໄດ້."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"ເຄືອຂ່າຍມືຖືບໍ່ສາມາດໃຊ້ໄດ້."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"ເພື່ອ​ທີ່​ຈະ​ໂທ, ປ້ອນ​ເບີ​ໂທ​ທີ່​ໃຊ້​ໄດ້​ເຂົ້າ​ໄປ."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"ບໍ່​ສາ​ມາດ​ໂທ​ໄດ້."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"ກຳລັງເລີ່ມຕົ້ນລຳດັບ MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"ວາງສາຍ"</string>
<string name="conference_call_name" msgid="8189987124611337174">"ການປະຊຸມທາງໂທລະສັບ"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"ຢູ່ໃນສາຍ"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"ສືບຕໍ່ການໂທໂດຍໃຊ້ອິນເຕີເນັດມືຖື…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"ບໍ່ສາມາດສະຫຼັບໄປໃຊ້ເຄືອຂ່າຍ Wi-Fi ໄດ້"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ການໂທດ້ວຍວິດີໂອຈະຍັງໃຊ້ຜ່ານເຄືອຂ່າຍມືຖືຢູ່ ໂດຍອາດມີການຮຽກເກັບຄ່າບໍລິການຕາມປົກກະຕິ."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"ກຳລັງສືບຕໍ່ສາຍໂດຍໃຊ້ອິນເຕີເນັດມືຖື…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"ບໍ່ສາມາດສະຫຼັບໄປໃຊ້ເຄືອຂ່າຍ Wi-Fi ໄດ້"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ການໂທວິດີໂອຈະຍັງຄົງຢູ່ໃນເຄືອຂ່າຍມືຖືຕໍ່ໄປ. ອາດມີການຮຽກເກັບຄ່າບໍລິການມາດຕະຖານ."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"ບໍ່ຕ້ອງສະແດງຂໍ້ຄວາມນີ້ອີກ"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-lt/strings.xml b/java/com/android/incallui/res/values-lt/strings.xml
index 4d4a0c098..e63ca7018 100644
--- a/java/com/android/incallui/res/values-lt/strings.xml
+++ b/java/com/android/incallui/res/values-lt/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Praleistas skambutis nuo <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Vykstantis pokalbis"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Vykstantis darbo skambutis"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Vykstantis „Wi-Fi“ skambutis"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Vykstantis „Wi-Fi“ darbo skambutis"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Vykstantis „Wi-Fi“ skambutis"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Vykstantis „Wi-Fi“ darbo skambutis"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Sulaikyta"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Gaunamasis skambutis"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Gaunamasis skambutis su nuotrauka"</string>
@@ -55,15 +55,15 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Svarbus gaunam. skamb. su nuotr., praneš. ir viet."</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Svarbus gaunamasis skambutis su priedais"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Gaunamasis darbo skambutis"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Gaunamasis „Wi-Fi“ skambutis"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Gaunamasis „Wi-Fi“ darbo skambutis"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Gaunamasis „Wi-Fi“ skambutis"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Gaunamasis „Wi-Fi“ darbo skambutis"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Gaunamasis įtartinas šlamšto skambutis"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Gaunama vaizdo skambučio užklausa"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nėra paslaugos"</string>
<string name="notification_network_selection_text" msgid="7190860774239009625">"Pasirinktas tinklas (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) negalimas"</string>
<string name="notification_action_answer" msgid="8748275902211192568">"Atsakyti"</string>
<string name="notification_action_end_call" msgid="7467258454170007765">"Padėti ragelį"</string>
- <string name="notification_action_answer_video" msgid="8488108892919917287">"Vaizdo skambutis"</string>
+ <string name="notification_action_answer_video" msgid="8488108892919917287">"Vaizdo skam."</string>
<string name="notification_action_answer_voice" msgid="6237890905749760509">"Balsas"</string>
<string name="notification_action_accept" msgid="1272761514200507143">"Atsiliepti"</string>
<string name="notification_action_dismiss" msgid="3128241581632616226">"Atmesti"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Atlikti vaizdo skambutį"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Jei norite skambinti, išjunkite lėktuvo režimą."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Neregistruota tinkle."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Korinis tinklas nepasiekiamas"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobiliojo ryšio tinklas nepasiekiamas."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Kad galėtumėte paskambinti, įveskite tinkamą numerį."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Nepavyko paskambinti."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Paleidžiama MMI seka..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Baigti skambutį"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferencinis skambutis"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Skambinant"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Skambutis tęsiamas naudojant mobiliojo ryšio duomenis…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Nepavyko prisijungti prie „Wi-Fi“ tinklo"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Vaizdo skambutis ir toliau bus vykdomas naudojant mobiliojo ryšio tinklą. Gali būti taikomi įprasti duomenų mokesčiai."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Skambutis tęsiamas naudojant mobiliojo ryšio duomenis…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Nepavyko prisijungti prie „Wi-Fi“ tinklo"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Vaizdo skambutis ir toliau bus vykdomas naudojant mobiliojo ryšio tinklą. Gali būti taikomi įprasti duomenų mokesčiai."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Daugiau to nerodyti"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-lv/strings.xml b/java/com/android/incallui/res/values-lv/strings.xml
index 9be46c4fd..441733a9b 100644
--- a/java/com/android/incallui/res/values-lv/strings.xml
+++ b/java/com/android/incallui/res/values-lv/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Neatbildēts zvans no: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Pašreizējā saruna"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Notiekošs darba zvans"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Notiekošs Wi-Fi zvans"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Notiekošs darba Wi-Fi zvans"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Notiekošs Wi-Fi zvans"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Notiekošs darba Wi-Fi zvans"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Aizturēts"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Ienākošais zvans"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Ienākošais zvans ar fotoattēlu"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Zvans ar fotoattēlu, ziņojumu un atrašanās vietu"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Svarīgs ienākošais zvans ar pielikumiem"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Ienākošs darba zvans"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Ienākošs Wi-Fi zvans"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Ienākošs darba Wi-Fi zvans"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Ienākošs Wi-Fi zvans"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Ienākošs darba Wi-Fi zvans"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Ienākošs, iespējams, nevēlams zvans"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Ienākošs video pieprasījums"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nav pakalpojuma"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Pārsūtīt videozvanu"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Lai veiktu zvanu, vispirms izslēdziet lidojuma režīmu."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Tīklā nav reģistrēts."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilais tīkls nav pieejams."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilais tīkls nav pieejams."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Lai veiktu zvanu, ievadiet derīgu numuru."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Nevar veikt zvanu."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Notiek MMI secības startēšana…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Beigt zvanu"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferences zvans"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Notiek zvans"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Zvans tiek turpināts, izmantojot mobilos datus…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Nevarēja pārslēgt uz Wi-Fi tīklu"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videozvans tiks turpināts mobilo sakaru tīklā. Var tikt piemērota standarta maksa par datu pārraidi."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Zvans tiek turpināts, izmantojot mobilos datus…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Nevarēja pārslēgt uz Wi-Fi tīklu"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videozvans tiks turpināts mobilo sakaru tīklā. Var tikt piemērota standarta maksa par datu pārraidi."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Vairs nerādīt šo ziņojumu"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-mk/strings.xml b/java/com/android/incallui/res/values-mk/strings.xml
index 03be1d951..b712fe032 100644
--- a/java/com/android/incallui/res/values-mk/strings.xml
+++ b/java/com/android/incallui/res/values-mk/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Пропуштен повик од <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Тековен повик"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Тековен работен повик"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Појдовен повик преку Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Тековен работен повик преку Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Тековен повик преку Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Тековен работен повик преку Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"На чекање"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Дојдовен повик"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Дојдовен повик со фотографија"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Важен дојдовен повик со фото., порака и локација"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Важен дојдовен повик со прилози"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Дојдовен работен повик"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Дојдовен повик преку Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Дојдовен работен повик преку Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Дојдовен повик преку Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Дојдовен работен повик преку Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Дојдовниот повик може да е спам"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Дојдовно побарување за видео"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Нема услуга"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Прифатете видеоповик"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"За да воспоставите повик, прво исклучете режим на работа во авион."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Не е регистриран на мрежа."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Не е достапна мобилна мрежа."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Нема достапна мобилна мрежа."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"За да повикате, внесете важечки број."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Не може да повика."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Започнува MMI низа..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Завршете го повикот"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Конференциски повик"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Повик во тек"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Повикот ќе продолжи преку мобилен интернет…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Не можеше да се префрли на Wi-Fi-мрежа"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Видеоповикот ќе остане на мобилната мрежа. Може да се наплати за интернет-сообраќај."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Повикот ќе продолжи преку мобилен интернет…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Не можеше да се префрли на Wi-Fi-мрежа"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Видеоповикот ќе остане на мобилната мрежа. Може да се наплати за мобилен интернет."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Не го прикажувај ова повторно"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ml/strings.xml b/java/com/android/incallui/res/values-ml/strings.xml
index e207ccd45..db9f56018 100644
--- a/java/com/android/incallui/res/values-ml/strings.xml
+++ b/java/com/android/incallui/res/values-ml/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> എന്നതിൽ നിന്നുള്ള മിസ്‌ഡ് കോൾ"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"കോൾ സജീവമാണ്"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"ഓൺഗോയിംഗ് ഔദ്യോഗിക കോൾ"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"ഓൺഗോയിംഗ് വൈഫൈ കോൾ"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ഓൺഗോയിംഗ് വൈഫൈ ഔദ്യോഗിക കോൾ"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"നിലവിലുള്ള വൈഫൈ കോൾ"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"നിലവിലുള്ള വൈഫൈ ഔദ്യോഗിക കോൾ"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"ഹോള്‍ഡിലാണ്"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ഇന്‍കമിംഗ് കോള്‍"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ഫോട്ടോ ഉൾപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ഫോട്ടോയും സന്ദേശവും ലൊക്കേഷനും ഉൾപ്പെട്ട പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"അറ്റാച്ച്‌മെന്റുകൾ ഉൾപ്പെട്ട പ്രധാനപ്പെട്ട ഇൻകമിംഗ് കോൾ"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"ഇൻകമിംഗ് ഔദ്യോഗിക കോൾ"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"ഇൻകമിംഗ് വൈഫൈ കോൾ"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"ഇൻകമിംഗ് വൈഫൈ ഔദ്യോഗിക കോൾ"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"ഇൻകമിംഗ് വൈഫൈ കോൾ"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"ഇൻകമിംഗ് വൈഫൈ ഔദ്യോഗിക കോൾ"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"സംശയാസ്‌പദമായ ഇൻകമിംഗ് സ്‌പാം കോൾ"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"ഇൻകമിംഗ് വീഡിയോ അഭ്യർത്ഥന"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"സേവനമില്ല"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"വീഡിയോ കോൾ അറ്റൻഡ് ചെയ്യുക"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ഒരു കോൾ വിളിക്കാൻ, ആദ്യം ഫ്ലൈറ്റ് മോഡ് ഓഫുചെയ്യുക."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"നെറ്റ്‌വർക്കിൽ രജിസ്റ്റർ ചെയ്‌തിട്ടില്ല."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"സെല്ലുലാർ നെറ്റ്‌വർക്ക് ലഭ്യമല്ല."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"മൊബൈൽ നെറ്റ്‌വർക്ക് ലഭ്യമല്ല."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"ഒരു കോൾ ചെയ്യുന്നതിന്, സാധുതയുള്ള നമ്പർ നൽകുക."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"കോൾ ചെയ്യാനായില്ല."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI സീക്വൻസ് ആരംഭിക്കുന്നു…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"കോള്‍ അവസാനിപ്പിക്കൂ"</string>
<string name="conference_call_name" msgid="8189987124611337174">"കോൺഫറൻസ് കോൾ"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"കോളിലാണ്"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"സെല്ലുലാർ ഡാറ്റ ഉപയോഗിച്ച് കോൾ തുടരുന്നു…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi നെറ്റ്‌വർക്കിലേക്ക് മാറാനായില്ല"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"സെല്ലുലാർ നെറ്റ്‌വർക്കിൽത്തന്നെ വീഡിയോ കോൾ തുടരും. സാധാരണ ഡാറ്റ നിരക്കുകൾ ബാധകമാകാം."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"മൊബൈൽ ഡാറ്റ ഉപയോഗിച്ച് കോൾ തുടരുന്നു…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"വൈഫൈ നെറ്റ്‌വർക്കിലേക്ക് മാറാനായില്ല"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"മൊബൈൽ നെറ്റ്‌വർക്കിൽത്തന്നെ വീഡിയോ കോൾ തുടരും. സാധാരണ ഡാറ്റ നിരക്കുകൾ ബാധകമാകാം."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"ഇത് വീണ്ടും കാണിക്കരുത്"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-mn/strings.xml b/java/com/android/incallui/res/values-mn/strings.xml
index 0e269170b..7757af9ac 100644
--- a/java/com/android/incallui/res/values-mn/strings.xml
+++ b/java/com/android/incallui/res/values-mn/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>-н аваагүй дуудлага"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Хийгдэж буй дуудлага"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Залгаж буй албаны дуудлага"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Ярьж буй Wi-Fi дуудлага"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Залгаж буй Wi-Fi албаны дуудлага"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Холбогдсон Wi-Fi дуудлага"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Холбогдсон Wi-Fi албаны дуудлага"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Хүлээлгэнд"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Ирж буй дуудлага"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Зураг бүхий орж ирсэн дуудлага"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Зураг, зурвас, байршилтай орж ирсэн чухал дуудлага"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Хавсралт бүхий орж ирсэн чухал дуудлага"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Ирж буй албаны дуудлага"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Орж ирсэн Wi-Fi дуудлага"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Ирж буй Wi-Fi албаны дуудлага"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Ирж буй Wi-Fi дуудлага"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Ирж буй Wi-Fi албаны дуудлага"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Орж ирсэн сэжигтэй спам дуудлага"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Ирж буй видео хүсэлт"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Үйлчилгээ байхгүй"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Видео дуудлага авах"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Дуудлага хийхийн тулд юуны өмнө Нислэгийн төлвийг идэвхгүйжүүлнэ үү."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Сүлжээнд бүртгэгдээгүй."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Үүрэн сүлжээ байхгүй."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Мобайл сүлжээ байхгүй."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Дуудлага хийхийн тулд хүчин төгөлдөр дугаар оруулна уу."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Дуудлага хийх боломжгүй байна."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI дарааллыг эхлүүлж байна…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Дуудлагыг таслах"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Хурлын дуудлага"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Ярьж байна"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Үүрэн дата ашиглан дуудлагыг үргэлжлүүлж байна..."</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi сүлжээ рүү сэлгэж чадсангүй"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Видео дуудлага үүрэн сүлжээнд үлдэнэ. Стандарт датаны төлбөр тооцогдож магадгүй."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Мобайл дата ашиглан дуудлагыг үргэлжлүүлж байна…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi сүлжээ рүү сэлгэж чадсангүй"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Видео дуудлага мобайл сүлжээнд үлдэнэ. Стандарт датаны төлбөр тооцогдож магадгүй."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Үүнийг дахин бүү үзүүл"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-mr/strings.xml b/java/com/android/incallui/res/values-mr/strings.xml
index c56c61012..e422897b0 100644
--- a/java/com/android/incallui/res/values-mr/strings.xml
+++ b/java/com/android/incallui/res/values-mr/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> कडील सुटलेला कॉल"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"सुरू असलेला कॉल"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"सुरु असलेला कार्य कॉल"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"सुरु असलेला वाय-फाय कॉल"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"सुरु असलेला वाय-फाय कार्य कॉल"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"सुरु असलेला वाय-फाय कॉल"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"सुरु असलेला वाय-फाय कार्य कॉल"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"होल्ड वर"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"येणारा कॉल"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"फोटोसह येणारा कॉल"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"फोटो, संदेश आणि स्थानासह महत्त्वाचा येणारा कॉल"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"संलग्नकांसह महत्त्वाचा येणारा कॉल"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"येणारा कार्य कॉल"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"येणारा वाय-फाय कॉल"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"येणारा वाय-फाय कार्य कॉल"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"येणारा वाय-फाय कॉल"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"येणारा वाय-फाय कार्य कॉल"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"येणारा संशयित स्पॅम कॉल"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"येणारी व्हिडिओ विनंती"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"सेवा नाही"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"व्हिडिओ कॉल घ्या"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"कॉल करण्यासाठी, प्रथम विमान मोड बंद करा."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"नेटवर्कवर नोंदणीकृत नाही."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"सेल्युलर नेटवर्क उपलब्ध नाही."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"मोबाइल नेटवर्क उपलब्ध नाही."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"कॉल करण्यासाठी, एक वैध नंबर प्रविष्ट करा."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"कॉल करू शकत नाही."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI क्रम प्रारंभ करीत आहे..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"कॉल समाप्त करा"</string>
<string name="conference_call_name" msgid="8189987124611337174">"परिषद कॉल"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"कॉल मध्ये"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"मोबाइल डेटा वापरून कॉल सुरू ठेवत आहेत…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"वाय-फाय नेटवर्कवर स्विच करणे शक्य झाले नाही"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"व्हिडिओ कॉल मोबाईल नेटवर्कवर असेल. मानक डेटा शुल्क लागू होऊ शकतात."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"मोबाइल डेटा वापरून कॉल करणे सुरु ठेवत आहे..."</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"वाय-फाय नेटवर्कवर स्विच करणे शक्य झाले नाही"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"व्हिडिओ कॉल मोबाइल नेटवर्कवर असेल. मानक डेटा शुल्क लागू शकतात."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"हे पुन्हा दर्शवू नका"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ms/strings.xml b/java/com/android/incallui/res/values-ms/strings.xml
index a5be5934d..7a5900adb 100644
--- a/java/com/android/incallui/res/values-ms/strings.xml
+++ b/java/com/android/incallui/res/values-ms/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Panggilan tidak dijawab daripada <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Panggilan sedang berjalan"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Panggilan sedang berlangsung daripada tempat kerja"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Panggilan Wi-Fi sedang berlangsung"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Panggian Wi-Fi sedang berlangsung daripada tempat kerja"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Panggilan Wi-Fi sedang berlangsung"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Panggilan Wi-Fi daripada tempat kerja sedang berlangsung"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Ditunda"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Panggilan masuk"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Panggilan masuk dengan foto"</string>
@@ -55,15 +55,15 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Panggilan masuk penting dengan foto, mesej dan lokasi"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Panggilan masuk penting dengan lampiran"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Panggilan masuk daripada tempat kerja"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Panggilan Wi-Fi masuk"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Panggilan masuk melalui Wi-Fi daripada tempat kerja"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Panggilan masuk Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Panggilan masuk Wi-Fi daripada tempat kerja"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Disyaki panggilan spam masuk"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Permintaan video masuk"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Tiada perkhidmatan"</string>
<string name="notification_network_selection_text" msgid="7190860774239009625">"Rangkaian pilihan (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) tidak tersedia"</string>
<string name="notification_action_answer" msgid="8748275902211192568">"Jawapan"</string>
<string name="notification_action_end_call" msgid="7467258454170007765">"Letakkan gagang"</string>
- <string name="notification_action_answer_video" msgid="8488108892919917287">"Video dalam strim"</string>
+ <string name="notification_action_answer_video" msgid="8488108892919917287">"Video"</string>
<string name="notification_action_answer_voice" msgid="6237890905749760509">"Suara"</string>
<string name="notification_action_accept" msgid="1272761514200507143">"Terima"</string>
<string name="notification_action_dismiss" msgid="3128241581632616226">"Tolak"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Jawab Panggilan Video"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Untuk membuat panggilan, matikan mod Pesawat terlebih dahulu."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Tidak didaftarkan pada rangkaian."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Rangkaian selular tidak tersedia."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Rangkaian mudah alih tidak tersedia."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Untuk membuat panggilan, masukkan nombor yang sah."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Tidak dapat memanggil."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Memulakan jujukan MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Tamatkan panggilan"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Panggilan sidang"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Dalam panggilan"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Meneruskan panggilan menggunakan data selular…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Tidak dapat beralih ke rangkaian Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Panggilan video akan menggunakan rangkaian selular. Caj data standard boleh dikenakan."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Meneruskan panggilan menggunakan data mudah alih…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Tidak dapat beralih ke rangkaian Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Panggilan video akan menggunakan rangkaian mudah alih. Caj data standard boleh dikenakan."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Jangan tunjukkan ini lagi"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-my/strings.xml b/java/com/android/incallui/res/values-my/strings.xml
index 5cca49874..5513b7975 100644
--- a/java/com/android/incallui/res/values-my/strings.xml
+++ b/java/com/android/incallui/res/values-my/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> မှလွတ်သွားသော ခေါ်ဆိုမှု"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"ဆက်သွားနေသော ဖုန်းခေါ်မှု"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"ခေါ်နေဆဲ အလုပ်မှ ခေါ်ဆိုမှု"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"ခေါ်နေဆဲ ဝိုင်ဖိုင်ခေါ်ဆိုမှု"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ခေါ်နေဆဲ Wi-Fi အလုပ်မှ ခေါ်ဆိုမှု"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"လက်ရှိ Wi-Fi ဖုန်းခေါ်ဆိုမှု"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"လက်ရှိ Wi-Fi အလုပ်ဖုန်းခေါ်ဆိုမှု"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"ခဏ ကိုင်ထားစဉ်"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"အဝင်ခေါ်ဆိုမှု"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ဓာတ်ပုံဖြင့် အဝင်ခေါ်ဆိုမှု"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ဓာတ်ပုံ၊မက်ဆေ့ဂျ်၊တည်နေရာဖြင့် အရေးကြီးခေါ်ဆိုမှု"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"ပူးတွဲပါဖိုင်များဖြင့် အရေးကြီးသော အဝင်ခေါ်ဆိုမှု"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"အဝင် ခေါ်ဆိုမှု"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"ဝင်လာသော ဝိုင်ဖိုင်ခေါ်ဆိုမှု"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Wi-Fi အလုပ်မှ အဝင် ခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"အဝင် Wi‑Fi ဖုန်းခေါ်ဆိုမှု"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"အဝင် Wi‑Fi အလုပ်ဖုန်းခေါ်ဆိုမှု"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"ခေါ်နေသော မသင်္ကာဖွယ်ရာ စပမ်းခေါ်ဆိုမှု"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"အသံ ခေါ်ဆိုမှုအဖြစ် တောင်းဆိုမှု"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"ဝန်ဆောင်မှု မရှိပါ"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"ဗီဒီယိုခေါ်ဆိုမှုလွှဲယူပါ"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ဖုန်းခေါ်ဆိုမှုပြုရန်, လေယာဥ်ပျံပေါ်အသုံးပြုသောစနစ်ကို ပိတ်ပါ"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"ကွန်ယက်ပေါ်မှာ မှတ်ပုံတင်မှု မပြုလုပ်ထားပါ"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"ဆဲလ်လူလာ ကွန်ရက် မရှိပါ။"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"မိုဘိုင်းကွန်ရက် မရနိုင်ပါ"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"ဖုန်းခေါ်ရန်အတွက်၊ သင့်လျော်သည့်နံပါတ် ရိုက်ထည့်ပါ။"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"မခေါ်ဆိုနိုင်ပါ။"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI အမှတ်စဉ်ကို စတင်နေပါသည်…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"ခေါ်ဆိုမှုအပြီးသတ်ရန်"</string>
<string name="conference_call_name" msgid="8189987124611337174">"အစည်းအဝေးခေါ်ဆိုမှု"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"ဖုန်းပြောနေသည်"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"ဆယ်လူလာဒေတာသုံးပြီး ဆက်လက်ခေါ်ဆိုနေသည်…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi ကွန်ရက်သို့ မပြောင်းနိုင်ပါ"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ဗီဒီယိုခေါ်ဆိုမှုသည် ဆယ်လူလာကွန်ရက်တွင် ဆက်ရှိနေပါမည်။ ပုံမှန်ဒေတာသုံးစွဲခများ ကျသင့်နိုင်ပါသည်။"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"မိုဘိုင်းဒေတာသုံးပြီး ဆက်လက်ခေါ်ဆိုနေသည်…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi‑Fi ကွန်ရက်သို့ မပြောင်းနိုင်ပါ"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ဗီဒီယိုခေါ်ဆိုမှုသည် မိုဘိုင်းကွန်ရက်တွင် ဆက်ရှိနေပါမည်။ ပုံမှန်ဒေတာသုံးစွဲခများ ကျသင့်နိုင်ပါသည်။"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"ဤသည်ကို ထပ်မပြပါနှင့်"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-nb/strings.xml b/java/com/android/incallui/res/values-nb/strings.xml
index d0883a2cc..4e8d79668 100644
--- a/java/com/android/incallui/res/values-nb/strings.xml
+++ b/java/com/android/incallui/res/values-nb/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Tapt anrop fra <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Pågående samtale"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Pågående jobbanrop"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Pågående Wi-Fi-anrop"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Pågående jobbanrop via Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Pågående Wi-Fi-samtale"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Pågående jobbsamtale via Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Parkert"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Innkommende samtale"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Innkommende anrop med bilde"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Viktig anrop med bilde, melding og posisjon"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Viktig innkommende anrop med vedlegg"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Innkommende jobbanrop"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Innkommende anrop via Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Innkommende jobbanrop via Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Innkommende anrop via Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Innkommende jobbanrop via Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Innkommende anrop fra en mulig useriøs oppringer"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Innkommende videoforespørsel"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ingen tjeneste"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Svar på videoanropet"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"For å ringe, slå av flymodus først."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ikke registrert på nettverket."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilnettverket er ikke tilgjengelig."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilnettverket er ikke tilgjengelig."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Skriv inn et gyldig nummer for å plassere en samtale."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Kan ikke ringe."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Begynner MMI-sekvens…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Avslutt samtalen"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Telefonmøte"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Samtale pågår"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Fortsetter samtalen via mobildata …"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Kan ikke bytte til Wi-Fi-nettverk"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videosamtalen blir værende på mobilnettet. Standard datakostnader kan påløpe."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Fortsetter samtalen via mobildata …"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Kunne ikke bytte til Wi-Fi-nettverk"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videosamtalen blir værende på mobilnettverket. Standard datakostnader kan påløpe."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ikke vis dette igjen"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ne/strings.xml b/java/com/android/incallui/res/values-ne/strings.xml
index b5894797c..b19c2ae80 100644
--- a/java/com/android/incallui/res/values-ne/strings.xml
+++ b/java/com/android/incallui/res/values-ne/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> बाट आएको छुटेको कल"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"चलिरहेको कल"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"चालू रहेको कार्यको कल"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"चालु रहेको WI-Fi कल"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"चालू रहेको Wi-Fi कार्यको कल"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"जारी रहेको WI-Fi कल"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Wi-Fi मार्फत जारी रहेको कार्यालयको कल"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"होल्डमा"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"आगमन कल"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"तस्बिरसहितको आगमन कल"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"तस्बिर, सन्देश र स्थानसहितको महत्त्वपूर्ण आगमन कल"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"समावेश गरिएको वस्तुसहितको महत्त्वपूर्ण आगमन कल"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"आगमन कार्यको कल"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"आगमन Wi-Fi कल"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"आगमन Wi-Fi कार्यको कल"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Wi-Fi मार्फत आगमन कल"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Wi-Fi मार्फत कार्यालयबाट आएको कल"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"शंकास्पद आगमन स्प्याम कल"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"आगमन भिडियो अनुरोध"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"सेवा छैन"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"भिडियो कल लिनुहोस्"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"कल राख्नका लागि, पहिले हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"नेटवर्कमा दर्ता भएको छैन।"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"सेलुलर सञ्जाल उपलब्ध छैन।"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"मोबाइल नेटवर्क उपलब्ध छैन।"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"एक कल गर्नको लागि, एक वैध नम्बर प्रविष्ट गर्नुहोस्।"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"कल गर्न सक्दैन।"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI अनुक्रम सुरु गर्दै..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"कल अन्त्य गर्नुहोस्"</string>
<string name="conference_call_name" msgid="8189987124611337174">"सम्मेलन कल"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"कलमा"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"सेलुलर डेटा प्रयोग गरी कललाई निरन्तरता दिइँदै…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi नेटवर्कमा स्विच गर्न सकिएन"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"भिडियो कल सेलुलर नेटवर्कमा रहने छ। मानक डेटा शुल्क लाग्न सक्छ।"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"मोबाइल डेटा प्रयोग गरी कललाई निरन्तरता दिइँदै…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi नेटवर्कमा स्विच गर्न सकिएन"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"भिडियो कल मोबाइल नेटवर्कमा रहने छ। मानक डेटा शुल्क लाग्न सक्छ।"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"यसलाई फेरि नदेखाउनुहोस्"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-nl/strings.xml b/java/com/android/incallui/res/values-nl/strings.xml
index 930acdc86..73508818e 100644
--- a/java/com/android/incallui/res/values-nl/strings.xml
+++ b/java/com/android/incallui/res/values-nl/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Gemiste oproep van <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Actieve oproep"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Actieve zakelijke oproep"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Actieve wifi-oproep"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Actieve zakelijke oproep via wifi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Actieve wifi-oproep"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Actieve zakelijke oproep via wifi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"In de wacht"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Inkomende oproep"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Inkomende oproep met foto"</string>
@@ -55,15 +55,15 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Belangrijke oproep met foto, bericht en locatie"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Belangrijke inkomende oproep met bijlagen"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Inkomende zakelijke oproep"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Inkomende wifi-oproep"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Inkomende zakelijke oproep via wifi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Inkomende wifi-oproep"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Inkomende zakelijke oproep via wifi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Inkomende vermoedelijke spamoproep"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Binnenkomend videoverzoek"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Geen service"</string>
<string name="notification_network_selection_text" msgid="7190860774239009625">"Geselecteerd netwerk (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) niet beschikbaar"</string>
<string name="notification_action_answer" msgid="8748275902211192568">"Antwoord"</string>
<string name="notification_action_end_call" msgid="7467258454170007765">"Ophangen"</string>
- <string name="notification_action_answer_video" msgid="8488108892919917287">"InStream-video"</string>
+ <string name="notification_action_answer_video" msgid="8488108892919917287">"Video"</string>
<string name="notification_action_answer_voice" msgid="6237890905749760509">"Spraak"</string>
<string name="notification_action_accept" msgid="1272761514200507143">"Accepteren"</string>
<string name="notification_action_dismiss" msgid="3128241581632616226">"Weigeren"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Videogesprek beantwoorden"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Als je wilt bellen, moet je eerst de Vliegtuigmodus uitschakelen."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Niet geregistreerd op netwerk."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobiel netwerk niet beschikbaar."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobiel netwerk niet beschikbaar."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Als je wilt bellen, moet je een geldig nummer invoeren."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Kan niet bellen."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI-reeks starten..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Oproep beëindigen"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Telefonische vergadering"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"In gesprek"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Gesprek voortzetten via mobiele data…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Overschakelen naar wifi-netwerk mislukt"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videogesprek loopt via mobiel netwerk. Er kunnen standaard datakosten in rekening worden gebracht."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Gesprek voortzetten via mobiele data…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Overschakelen naar wifi-netwerk mislukt"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videogesprek loopt via mobiel netwerk. Er kunnen standaard datakosten in rekening worden gebracht."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Dit niet meer weergeven"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-no/strings.xml b/java/com/android/incallui/res/values-no/strings.xml
index d0883a2cc..4e8d79668 100644
--- a/java/com/android/incallui/res/values-no/strings.xml
+++ b/java/com/android/incallui/res/values-no/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Tapt anrop fra <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Pågående samtale"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Pågående jobbanrop"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Pågående Wi-Fi-anrop"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Pågående jobbanrop via Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Pågående Wi-Fi-samtale"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Pågående jobbsamtale via Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Parkert"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Innkommende samtale"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Innkommende anrop med bilde"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Viktig anrop med bilde, melding og posisjon"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Viktig innkommende anrop med vedlegg"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Innkommende jobbanrop"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Innkommende anrop via Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Innkommende jobbanrop via Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Innkommende anrop via Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Innkommende jobbanrop via Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Innkommende anrop fra en mulig useriøs oppringer"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Innkommende videoforespørsel"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ingen tjeneste"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Svar på videoanropet"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"For å ringe, slå av flymodus først."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ikke registrert på nettverket."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilnettverket er ikke tilgjengelig."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilnettverket er ikke tilgjengelig."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Skriv inn et gyldig nummer for å plassere en samtale."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Kan ikke ringe."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Begynner MMI-sekvens…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Avslutt samtalen"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Telefonmøte"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Samtale pågår"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Fortsetter samtalen via mobildata …"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Kan ikke bytte til Wi-Fi-nettverk"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videosamtalen blir værende på mobilnettet. Standard datakostnader kan påløpe."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Fortsetter samtalen via mobildata …"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Kunne ikke bytte til Wi-Fi-nettverk"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videosamtalen blir værende på mobilnettverket. Standard datakostnader kan påløpe."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ikke vis dette igjen"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-pa/strings.xml b/java/com/android/incallui/res/values-pa/strings.xml
index 22cd7da3b..b21cbd3a6 100644
--- a/java/com/android/incallui/res/values-pa/strings.xml
+++ b/java/com/android/incallui/res/values-pa/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ਤੋਂ ਖੁੰਝੀ ਹੋਈ ਕਾਲ"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"ਜਾਰੀ ਕਾਲ"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"ਕੰਮ ਸਬੰਧਿਤ ਜਾਰੀ ਕਾਲ"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"ਜਾਰੀ Wi-Fi ਕਾਲ"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"ਕੰਮ ਸਬੰਧਿਤ ਜਾਰੀ Wi-Fi ਕਾਲ"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"ਜਾਰੀ Wi‑Fi ਕਾਲ"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"ਕੰਮ ਸਬੰਧੀ ਜਾਰੀ Wi‑Fi ਕਾਲ"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"ਹੋਲਡ ਤੇ"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ਇਨਕਮਿੰਗ ਕਾਲ"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ਫ਼ੋਟੋ ਨਾਲ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ਫ਼ੋਟੋ, ਸੁਨੇਹੇ ਅਤੇ ਟਿਕਾਣੇ ਨਾਲ ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"ਅਟੈਚਮੈਂਟਾਂ ਨਾਲ ਮਹੱਤਵਪੂਰਨ ਇਨਕਮਿੰਗ ਕਾਲ"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"ਕੰਮ ਸਬੰਧਿਤ ਆ ਰਹੀ ਕਾਲ"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"ਇਨਕਮਿੰਗ Wi-Fi ਕਾਲ"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"ਕੰਮ ਸਬੰਧਿਤ ਆ ਰਹੀ Wi-Fi ਕਾਲ"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"ਆ ਰਹੀ Wi‑Fi ਕਾਲ"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"ਕੰਮ ਸਬੰਧੀ ਆ ਰਹੀ Wi‑Fi ਕਾਲ"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"ਸ਼ੱਕੀ ਸਪੈਮ ਕਾਲ ਆ ਰਹੀ ਹੈ"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"ਇਨਕਮਿੰਗ ਵੀਡੀਓ ਬੇਨਤੀ"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"ਕੋਈ ਸੇਵਾ ਨਹੀਂ"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"ਵੀਡੀਓ ਕਾਲ ਲਓ"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਏਅਰਪਲੇਨ ਮੋਡ ਬੰਦ ਕਰੋ।"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"ਨੈਟਵਰਕ ਤੇ ਰਜਿਸਟਰ ਨਹੀਂ ਕੀਤਾ।"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ, ਇੱਕ ਪ੍ਰਮਾਣਿਕ ਨੰਬਰ ਦਰਜ ਕਰੋ।"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"ਕਾਲ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI ਕੜੀ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"ਕਾਲ ਸਮਾਪਤ ਕਰੋ"</string>
<string name="conference_call_name" msgid="8189987124611337174">"ਕਾਨਫਰੰਸ ਕਾਲ"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"ਕਾਲ ਵਿੱਚ"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"ਸੈਲਿਊਲਰ ਡੈਟੇ ਦੀ ਵਰਤੋਂ ਨਾਲ ਕਾਲ ਜਾਰੀ ਰੱਖੀ ਜਾ ਰਹੀ ਹੈ…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi ਨੈੱਟਵਰਕ \'ਤੇ ਬਦਲੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ਵੀਡੀਓ ਕਾਲ ਸੈਲਿਊਲਰ ਨੈੱਟਵਰਕ \'ਤੇ ਰਹੇਗੀ। ਸਧਾਰਨ ਡੈਟਾ ਖਰਚੇ ਲਾਗੂ ਹੋ ਸਕਦੇ ਹਨ।"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"ਮੋਬਾਈਲ ਡੈਟੇ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਾਲ ਜਾਰੀ ਰੱਖੀ ਜਾ ਰਹੀ ਹੈ…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi‑Fi ਨੈੱਟਵਰਕ \'ਤੇ ਬਦਲੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ਵੀਡੀਓ ਕਾਲ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ \'ਤੇ ਜਾਰੀ ਰਹੇਗੀ। ਮਿਆਰੀ ਡੈਟਾ ਖਰਚੇ ਲਾਗੂ ਹੋ ਸਕਦੇ ਹਨ।"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"ਇਸ ਨੂੰ ਦੁਬਾਰਾ ਨਾ ਵਿਖਾਓ"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-pl/strings.xml b/java/com/android/incallui/res/values-pl/strings.xml
index 77c83399f..451c8ba73 100644
--- a/java/com/android/incallui/res/values-pl/strings.xml
+++ b/java/com/android/incallui/res/values-pl/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Nieodebrane połączenie od: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Trwa połączenie"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Trwa połączenie służbowe"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Trwające połączenie przez Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Trwa połączenie służbowe przez Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Trwające połączenie przez Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Trwa połączenie służbowe przez Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Oczekujące"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Połączenie"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Połączenie przychodzące ze zdjęciem"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Ważne połączenie przychodzące z załącznikami"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Ważne połączenie przychodzące z załącznikami"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Przychodzące połączenie służbowe"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Przychodzące połączenie przez Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Przychodzące połączenie służbowe przez Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Przychodzące połączenie przez Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Przychodzące połączenie służbowe przez Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Przychodzące połączenie podejrzanie o spam"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Przychodzące żądanie wideo"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Brak usługi"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Odbierz rozmowę wideo"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Aby rozpocząć połączenie, wyłącz najpierw tryb samolotowy"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Nie zarejestrowano w sieci"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Sieć komórkowa jest niedostępna."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Sieć komórkowa jest niedostępna."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Aby zadzwonić, wybierz prawidłowy numer."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Nie można dzwonić."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Rozpoczynanie sekwencji MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Zakończ połączenie"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Połączenie konferencyjne"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"W trakcie rozmowy"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Kontynuuję rozmowę przy użyciu transmisji danych komórkowych…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Nie udało się przełączyć na sieć Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Rozmowa wideo pozostanie w sieci komórkowej. Za transfer danych może zostać pobrana opłata."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Kontynuuję rozmowę przy użyciu mobilnej transmisji danych…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Nie udało się przełączyć na sieć Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Rozmowa wideo będzie nadal prowadzona przez sieć komórkową. Za transfer danych może zostać pobrana opłata."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Nie pokazuj ponownie tego komunikatu"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-pt-rBR/strings.xml b/java/com/android/incallui/res/values-pt-rBR/strings.xml
index b0e46dfa3..f3c1b2367 100644
--- a/java/com/android/incallui/res/values-pt-rBR/strings.xml
+++ b/java/com/android/incallui/res/values-pt-rBR/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Chamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Chamada em andamento"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Chamada de trabalho em andamento"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Chamada Wi-Fi em andamento"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chamada trabalho por Wi-Fi em andamento"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Chamada por Wi-Fi em andamento"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Chamada de trabalho por Wi-Fi em andamento"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Em espera"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Chamada recebida"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Chamada recebida com foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Chamada recebida importante com foto, mensagem e local"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Chamada recebida importante com anexos"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Chamada de trabalho recebida"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Chamada Wi-Fi recebida"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Chamada de trabalho recebida por Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Chamada recebida por Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Chamada de trabalho recebida por Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Chamada recebida suspeita (spam)"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Recebendo solicitação de vídeo"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Sem serviço"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Atender à videochamada"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Para fazer uma chamada, primeiro desative o modo avião."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Não registrado na rede."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Rede celular não disponível."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Rede móvel indisponível."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Para realizar uma chamada, digite um número válido."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Não é possível realizar chamadas."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Iniciando sequência MMI…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Encerrar chamada"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Teleconferência"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Em chamada"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuando a chamada com dados da rede celular…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Não foi possível alternar para a rede Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"A videochamada continuará via rede celular. Sujeito a cobranças por uso de dados."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Continuando chamada por dados móveis…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Não foi possível alternar para a rede Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"A videochamada continuará via rede móvel. O uso de dados está sujeito a cobranças padrão."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Não exibir novamente"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-pt-rPT/strings.xml b/java/com/android/incallui/res/values-pt-rPT/strings.xml
index b42b0e56c..104043229 100644
--- a/java/com/android/incallui/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/res/values-pt-rPT/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Chamada não atendida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Chamada em curso"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Chamada de trabalho em curso"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Chamada Wi-Fi em curso"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chamada de trabalho por Wi-Fi em curso"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Chamada por Wi-Fi em curso"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Chamada de trabalho por Wi-Fi em curso"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Em espera"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Chamada recebida"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Chamada recebida com foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"."</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Chamada recebida importante com anexos"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Chamada de trabalho recebida"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Chamada Wi-Fi recebida"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Chamada de trabalho recebida por Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Chamada por Wi-Fi recebida"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Chamada de trabalho por Wi-Fi recebida"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"A receber chamada spam suspeita"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Pedido de vídeo recebido"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nenhum serviço"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Aceitar videochamada"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Para efectuar uma chamada, desactive primeiro o modo para Avião."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Sem registo na rede."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Rede móvel não disponível."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Rede móvel não disponível."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Para telefonar, introduza um número válido."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Não é possível telefonar."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"A iniciar sequência de MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Terminar chamada"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Chamada de conferência"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Numa chamada"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"A continuar a chamada com dados móveis…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Não foi possível mudar para a rede Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"As videochamadas continuarão a ser efetuadas através de rede móvel. Poderão ser aplicados custos de dados."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"A continuar a chamada com dados móveis…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Não foi possível mudar para a rede Wi-Fi."</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"As videochamadas irão continuar a ser efetuadas através da rede móvel. Poderão ser aplicados custos de dados padrão."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Não voltar a mostrar este aviso"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-pt/strings.xml b/java/com/android/incallui/res/values-pt/strings.xml
index b0e46dfa3..f3c1b2367 100644
--- a/java/com/android/incallui/res/values-pt/strings.xml
+++ b/java/com/android/incallui/res/values-pt/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Chamada perdida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Chamada em andamento"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Chamada de trabalho em andamento"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Chamada Wi-Fi em andamento"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chamada trabalho por Wi-Fi em andamento"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Chamada por Wi-Fi em andamento"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Chamada de trabalho por Wi-Fi em andamento"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Em espera"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Chamada recebida"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Chamada recebida com foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Chamada recebida importante com foto, mensagem e local"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Chamada recebida importante com anexos"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Chamada de trabalho recebida"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Chamada Wi-Fi recebida"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Chamada de trabalho recebida por Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Chamada recebida por Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Chamada de trabalho recebida por Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Chamada recebida suspeita (spam)"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Recebendo solicitação de vídeo"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Sem serviço"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Atender à videochamada"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Para fazer uma chamada, primeiro desative o modo avião."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Não registrado na rede."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Rede celular não disponível."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Rede móvel indisponível."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Para realizar uma chamada, digite um número válido."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Não é possível realizar chamadas."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Iniciando sequência MMI…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Encerrar chamada"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Teleconferência"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Em chamada"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Continuando a chamada com dados da rede celular…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Não foi possível alternar para a rede Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"A videochamada continuará via rede celular. Sujeito a cobranças por uso de dados."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Continuando chamada por dados móveis…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Não foi possível alternar para a rede Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"A videochamada continuará via rede móvel. O uso de dados está sujeito a cobranças padrão."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Não exibir novamente"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ro/strings.xml b/java/com/android/incallui/res/values-ro/strings.xml
index db8be10e2..b78be2e6a 100644
--- a/java/com/android/incallui/res/values-ro/strings.xml
+++ b/java/com/android/incallui/res/values-ro/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Apel nepreluat de la <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Apel în desfășurare"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Apel de serviciu în desfășurare"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Apel Wi-Fi în desfășurare"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Apel de serviciu prin Wi-Fi în desfășurare"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Apel Wi-Fi în desfășurare"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Apel de serviciu prin Wi-Fi în desfășurare"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"În așteptare"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Apel de intrare"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Apel primit cu fotografie"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Apel primit important cu poză, mesaj și locație"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Apel primit important cu atașamente"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Apel de serviciu primit"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Apel prin Wi-Fi primit"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Apel de serviciu prin Wi-Fi primit"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Apel primit prin Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Apel de serviciu primit prin Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Un apel primit posibil spam"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Solicitare de trecere la apel video"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Fără serviciu"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Preluați apelul video"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Pentru a efectua un apel, mai întâi dezactivați modul Avion."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Neînregistrat în rețea."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Rețeaua mobilă nu este disponibilă"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Rețeaua mobilă nu este disponibilă."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Pentru a apela, introduceți un număr valid."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Nu se poate apela."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Se pornește secvența MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Încheiați apelul"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Teleconferință"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Apel în desfășurare"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Se continuă apelul folosind datele mobile…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Nu s-a putut comuta la rețeaua Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Apelul video rămâne în rețeaua mobilă. Se pot aplica tarife standard pentru date."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Se continuă apelul folosind datele mobile…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Nu s-a putut comuta la rețeaua Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Apelul video continuă prin rețeaua mobilă. Se pot aplica tarife standard pentru date."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Nu mai afișa acest mesaj"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ru/strings.xml b/java/com/android/incallui/res/values-ru/strings.xml
index 8fd924ec6..06276c601 100644
--- a/java/com/android/incallui/res/values-ru/strings.xml
+++ b/java/com/android/incallui/res/values-ru/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Пропущенные вызовы от абонента <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Текущий вызов"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Текущий звонок (работа)"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Текущий Wi-Fi-звонок"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Текущий Wi-Fi-звонок (работа)"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Текущий вызов по Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Текущий вызов по Wi-Fi (работа)"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Ждет ответа"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Входящий вызов"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Входящий вызов с фотографией"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Важный вызов с фото, сообщением и геоданными"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Важный входящий вызов с прикрепленными файлами"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Входящий звонок (работа)"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Входящий Wi-Fi-звонок"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Входящий Wi-Fi-звонок (работа)"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Входящий вызов по Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Входящий вызов по Wi-Fi (работа)"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Входящий вызов: подозрение на спам"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Входящий видеовызов"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Сеть не найдена"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Продолжить на этом устройстве"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Перед тем как звонить, отключите режим полета."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Нет регистрации в сети."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Мобильная сеть недоступна."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Мобильная сеть недоступна."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Недействительный номер."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Не удалось позвонить."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Запуск последовательности MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Завершить вызов"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Конференц-вызов"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Вызов"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Переключение на мобильные данные…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Не удалось подключиться к сети Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Видеовызов будет выполняться по мобильной сети. Может взиматься стандартная плата за передачу данных."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Переключение на мобильный Интернет…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Не удалось переключиться на сеть Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Видеовызов будет выполняться по мобильной сети. Может взиматься стандартная плата за передачу данных."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Больше не показывать"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-si/strings.xml b/java/com/android/incallui/res/values-si/strings.xml
index 989879ae0..0497b7831 100644
--- a/java/com/android/incallui/res/values-si/strings.xml
+++ b/java/com/android/incallui/res/values-si/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> වෙතින් මඟ හැරුණු ඇමතුම"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"කරගෙනය යන ඇමතුම"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"කරගෙන යන කාර්යාල ඇමතුම"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"දැනට ක්‍රියාත්මක Wi-Fi ඇමතුම"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"කරගෙන යන Wi-Fi කාර්යාල ඇමතුම"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"කරගෙන යන Wi-Fi ඇමතුම"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"කරගෙන යන Wi-Fi කාර්යාල ඇමතුම"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"රඳවා ගනිමින්"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"එන ඇමතුම"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ඡායාරූපය සමග එන ඇමතුම"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ඡායාරූපය, පණිවිඩය සහ ස්ථානය සමග වැදගත් එන ඇමතුම"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"ඇමුණුම් සමග වැදගත් එන ඇමතුම"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"පැමිණෙන කාර්යාල ඇමතුම"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"පැමිණෙන Wi-Fi ඇමතුම"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"පැමිණෙන Wi-Fi කාර්යාල ඇමතුම"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"එන Wi-Fi ඇමතුම"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"එන Wi-Fi කාර්යාල ඇමතුම"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"එන සැකසහිත අයාචිත තැපැල් ඇමතුම"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"පැමිණෙන වීඩියෝ ඉල්ලීම"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"සේවාව නැත"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"වීඩියෝ ඇමතුම ගන්න"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"ඇමතුමක් ගැනීමට, මුලින්ම ගුවන්යානා ආකාරය අක්‍රිය කරන්න."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"ජාලය මත ලියාපදිංචි වී නැත."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"සෙලියුලර් ජාලය නොමැත"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"ජංගම ජාලය නොමැත."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"ඇමතුමක් ලබාගැනීමට, වලංගු අංකයක් ලබාගන්න."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"ඇමතුම් ගැනීමට නොහැක."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI අනුපිළිවෙල ආරම්භ කරමින්…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"ඇමතුම අවසන් කරන්න"</string>
<string name="conference_call_name" msgid="8189987124611337174">"සම්මන්ත්‍රණ ඇමතුම"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"ඇමතුමක"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"සෙලියුලර් දත්ත භාවිතයෙන් ඇමතුම දිගටම කරගෙන යමින්…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi ජාලය වෙත මාරු කිරීමට නොහැකි විය"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"වීඩියෝ ඇමතුම සෙලියුලර් ජාලයේ පවතිනු ඇත. සම්මත දත්ත ගාස්තු අදාළ විය හැකිය."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"ජංගම දත්ත භාවිතයෙන් ඇමතුම දිගටම කරගෙන යමින්…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi ජාලය වෙත මාරු කිරීමට නොහැකි විය"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"වීඩියෝ ඇමතුම ජංගම ජාලයේ පවතිනු ඇත. සම්මත දත්ත ගාස්තු අදාළ විය හැකිය."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"නැවත මෙය නොපෙන්වන්න"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-sk/strings.xml b/java/com/android/incallui/res/values-sk/strings.xml
index d09ba44d0..b83cd949b 100644
--- a/java/com/android/incallui/res/values-sk/strings.xml
+++ b/java/com/android/incallui/res/values-sk/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Zmeškaný hovor od volajúceho <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Prebiehajúci hovor"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Prebiehajúci pracovný hovor"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Odchádzajúci hovor prostredníctvom siete Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Prebiehajúci pracovný hovor cez Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Prebiehajúci hovor cez Wi‑Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Prebiehajúci pracovný hovor cez Wi‑Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Podržaný hovor"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Prichádzajúci hovor"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Prichádzajúci hovor s fotkou"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Dôležitý prich. hovor s fotkou, správou a polohou"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Dôležitý prichádzajúci hovor s prílohami"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Prichádzajúci pracovný hovor"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Prichádzajúci hovor prostredníctvom siete Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Prichádzajúci pracovný hovor cez Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Prichádzajúci hovor cez Wi‑Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Prichádzajúci pracovný hovor cez Wi‑Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Prichádzajúci hovor, pri ktorom je podozrenie, že ide o spam"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Prichádzajúca žiadosť o video"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Žiadny signál"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Prevziať videohovor"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Ak chcete telefonovať, vypnite najprv režim v lietadle."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Prihlásenie do siete nebolo úspešné."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilná sieť nie je k dispozícii."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilná sieť nie je k dispozícii."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Ak chcete volať, zadajte platné číslo"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Hovor nie je možné uskutočniť"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Prebieha spúšťanie sekvencie MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Ukončiť hovor"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferenčný hovor"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Prebieha hovor"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Pokračuje sa v hovore pomocou mobilných dát…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Nepodarilo sa prepnúť na sieť Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videohovor bude pokračovať v mobilnej sieti. Môžu sa účtovať štandardné poplatky za prenos dát."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Pokračuje sa v hovore pomocou mobilných dát…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Nepodarilo sa prepnúť na sieť Wi‑Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videohovor bude pokračovať v mobilnej sieti. Môžu sa účtovať štandardné poplatky za prenos dát."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Informácie nabudúce nezobrazovať"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-sl/strings.xml b/java/com/android/incallui/res/values-sl/strings.xml
index b083e1bae..cf51ff55b 100644
--- a/java/com/android/incallui/res/values-sl/strings.xml
+++ b/java/com/android/incallui/res/values-sl/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Neodgovorjeni klic od: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Aktivni klic"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Aktivni delovni klic"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Odhodni klic prek Wi-Fi-ja"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Aktivni delovni klic prek omrežja Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Aktivni klic prek omrežja Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Aktivni delovni klic prek omrežja Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Zadržano"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Dohodni klic"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Dohodni klic s fotografijo"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Pomemben klic s fotografijo, sporočilom, lokacijo"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Pomemben dohodni klic s prilogami"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Dohodni delovni klic"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Dohodni klic prek Wi-Fi-ja"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Dohodni delovni klic prek omrežja Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Dohodni klic prek omrežja Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Dohodni delovni klic prek omrežja Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Domnevno neželeni dohodni klic"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Dohodna zahteva za video"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ni storitve"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Sprejmi videoklic"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Če želite poklicati, najprej izklopite način za letalo."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ni registrirano v omrežju."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobilno omrežje ni na voljo."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobilno omrežje ni na voljo."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Če želite opraviti klic, vnesite veljavno številko."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Klicanje ni mogoče."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Začetek zaporedja MMI ..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Končaj klic"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferenčni klic"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Poteka klic"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Nadaljevanje klica prek prenosa podatkov v mobilnih omrežjih …"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Ni bilo mogoče preklopiti v omrežje Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videoklic bo še naprej potekal v mobilnem omrežju. Morda boste morali plačati standardne stroške prenosa podatkov."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Nadaljevanje klica prek prenosa podatkov v mobilnem omrežju …"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Ni bilo mogoče preklopiti v omrežje Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videoklic bo še naprej potekal v mobilnem omrežju. Morda boste morali plačati standardne stroške prenosa podatkov."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Tega ne kaži več"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-sq/strings.xml b/java/com/android/incallui/res/values-sq/strings.xml
index fd1964266..76bb87b80 100644
--- a/java/com/android/incallui/res/values-sq/strings.xml
+++ b/java/com/android/incallui/res/values-sq/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Telefonatë e humbur nga <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Telefonatë në vazhdim"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Telefonatë pune dalëse"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Telefonatë në vazhdim me Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Telefonatë pune dalëse përmes Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Telefonatë në vazhdim me Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Telefonatë pune dalëse me Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Në pritje"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Telefonatë hyrëse"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Telefonatë hyrëse me fotografi"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Tel. e rëndësishme me foto, mesazh e vendndodhje"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Telefonatë hyrëse e rëndësishme me bashkëngjitje"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Telefonatë pune hyrëse"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Telefonatë hyrëse Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Telefonatë pune hyrëse përmes Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Telefonatë hyrëse me Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Telefonatë pune hyrëse me Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Telefonatë e dyshuar si e padëshiruar"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Kërkesë për video hyrëse"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Nuk ka shërbim"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Prano telefonatën me video"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Për të kryer telefonatë, së pari çaktivizo modalitetin e aeroplanit."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"I paregjistruar në rrjet."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Rrjeti celular nuk mundësohet."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Rrjeti celular nuk mundësohet."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Për të kryer një telefonatë, fut një numër të vlefshëm."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Nuk mund të telefonojë."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Po fillon sekuencën MMI…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Mbylle telefonatën"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Telefonatë konferencë"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Në telefonatë"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Po vazhdon telefonatën duke përdorur të dhënat celulare…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Nuk mund të kalonte në rrjetin Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Telefonata me video do të mbetet në rrjetin celular. Mund të zbatohen tarifat standarde."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Po vazhdon telefonatën duke përdorur të dhënat celulare…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Nuk mund të kalonte në rrjetin Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Telefonata me video do të mbetet në rrjetin celular. Mund të zbatohen tarifat standarde të të dhënave."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Mos e shfaq më këtë"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-sr/strings.xml b/java/com/android/incallui/res/values-sr/strings.xml
index 4fa7a6133..85e76a9e9 100644
--- a/java/com/android/incallui/res/values-sr/strings.xml
+++ b/java/com/android/incallui/res/values-sr/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Пропуштен позив од: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Актуелни позив"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Текући позив за Work"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Текући Wi-Fi позив"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Текући позив за Work преко Wi-Fi-ја"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Wi‑Fi позив у току"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Wi‑Fi пословни позив у току"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"На чекању"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Долазни позив"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Долазни позив са сликом"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Важан долазни позив са сликом, поруком и локацијом"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Важан долазни позив са прилозима"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Долазни позив за Work"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Долазни Wi-Fi позив"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Долазни позив за Work преко Wi-Fi-ја"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Долазни Wi‑Fi позив"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Долазни Wi‑Fi пословни позив"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Сумња на непожељан долазни позив"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Захтев за долазни видео позив"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Нема услуге"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Преузми видео позив"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Да бисте упутили позив, прво искључите режим рада у авиону."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Није регистровано на мрежи."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Мобилна мрежа није доступна."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Мобилна мрежа није доступна."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Да бисте упутили позив, унесите важећи број."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Позив није успео."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Покретање MMI секвенце"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Завршите позив"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Конференцијски позив"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"У позиву"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Позив се наставља помоћу мобилних података…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Пребацивање на Wi-Fi мрежу није успело"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Видео позив ће остати на мобилној мрежи. Могу да важе стандардне накнаде за пренос података."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Позив се наставља помоћу мобилних података…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Пребацивање на Wi‑Fi мрежу није успело"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Видео позив ће остати на мобилној мрежи. Важе стандардне накнаде за пренос података."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Не приказуј ово поново"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-sv/strings.xml b/java/com/android/incallui/res/values-sv/strings.xml
index 6d58d90f3..4bbce1d6a 100644
--- a/java/com/android/incallui/res/values-sv/strings.xml
+++ b/java/com/android/incallui/res/values-sv/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Missat samtal från <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Pågående samtal"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Pågående jobbsamtal"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Pågående Wi-Fi-samtal"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Pågående jobbsamtal via Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Pågående Wi-Fi-samtal"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Pågående jobbsamtal på Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Parkerat"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Inkommande samtal"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Inkommande samtal med foto"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Viktigt inkommande samtal med foto, meddelande och plats"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Viktigt inkommande samtal med bilagor"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Inkommande jobbsamtal"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Inkommande Wi-Fi-samtal"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Inkommande jobbsamtal via Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Inkommande Wi-Fi-samtal"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Inkommande jobbsamtal på Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Inkommande misstänkt spamsamtal"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Inkommande begäran om videosamtal"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ingen tjänst"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Svara på videosamtal"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Om du vill ringa ett samtal måste du först inaktivera flygplansläge."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Inte registrerat på nätverk."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Det finns inget mobilnät tillgängligt."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Inga tillgängliga mobilnätverk."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Ange ett giltigt nummer om du vill ringa ett samtal."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Det gick inte att ringa."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Startar sekvens för MMI-kod…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Avsluta samtal"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferenssamtal"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"I samtal"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Samtalet fortsätter med mobildata …"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Det gick inte att växla till Wi-Fi-nätverk"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Videosamtalet förblir i mobilnätverket. Vanliga dataavgifter kan tillkomma."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Samtalet fortsätter med mobildata …"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Det gick inte att växla till Wi-Fi-nätverk"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Videosamtalet förblir i mobilnätverket. Vanliga dataavgifter kan tillkomma."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Visa inte detta igen"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-sw/strings.xml b/java/com/android/incallui/res/values-sw/strings.xml
index 0bb1b8cf0..17c3a52ab 100644
--- a/java/com/android/incallui/res/values-sw/strings.xml
+++ b/java/com/android/incallui/res/values-sw/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Simu ambayo hukujibu kutoka <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Simu inayoendelea"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Simu ya kazi inayoendelea"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Simu ya Wi-Fi inayoendelea"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Simu ya Wi-Fi ya kazi inayoendelea"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Simu ya Wi-Fi inaendelea"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Simu ya Wi-Fi ya kazi inaendelea"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Inangoja"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Unapigiwa simu"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Simu inayoingia yenye picha"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Simu muhimu yenye picha, ujumbe na mahali"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Simu muhimu inayoingia yenye viambatisho"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Simu ya kazi inayoingia"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Simu ya Wi-Fi inayoingia"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Simu ya Wi-Fi ya kazi inayoingia"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Simu ya Wi-Fi inaingia"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Simu ya Wi-Fi ya kazi inaingia"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Simu inayoingia inashukiwa kuwa taka"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Ombi linaloingia la video"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Hakuna huduma"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Pokea Simu ya Video"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Kupiga simu, kwanza zima hali ya ndegeni."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Haijasajiliwa kwa mitandao"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mitandao ya simu za mkononi haipatikani"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mtandao wa simu haupatikani."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Ili upige simu, weka nambari sahihi."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Haiwezi kupiga simu."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Inaanzisha msururu wa MMI…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Kata simu"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Simu ya kongamano"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Mazungumzo ya simu yanaendelea"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Endelea na mazungumzo ya simu ukitumia data ya kifaa cha mkononi…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Imeshindwa kuhamia mtandao wa Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Hangout ya video itaendelea kwenye mtandao wa simu. Huenda ukatozwa gharama za kawaida za data."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Endelea na mazungumzo ya simu ukitumia data ya simu…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Imeshindwa kuhamia mtandao wa Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Hangout ya video itaendelea kwenye mtandao wa simu. Huenda ukatozwa gharama za kawaida za data."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Usiionyeshe tena"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ta/strings.xml b/java/com/android/incallui/res/values-ta/strings.xml
index bae8d6a67..bb228a0e2 100644
--- a/java/com/android/incallui/res/values-ta/strings.xml
+++ b/java/com/android/incallui/res/values-ta/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> இடமிருந்து தவறிய அழைப்பு"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"செயலில் இருக்கும் அழைப்பு"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"வெளிச்செல்லும் அழைப்பு (பணி)"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"வெளிச்செல்லும் வைஃபை அழைப்பு"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"வெளிச்செல்லும் வைஃபை அழைப்பு (பணி)"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"செயலில் இருக்கும் வைஃபை அழைப்பு"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"செயலில் இருக்கும் வைஃபை அழைப்பு (பணி)"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"காத்திருப்பில்"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"உள்வரும் அழைப்பு"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"படத்துடன் உள்வரும் அழைப்பு"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"படம், செய்தி, இருப்பிடத்துடன் உள்வரும் முக்கியமான அழைப்பு"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"இணைப்புகளுடன் உள்வரும் முக்கியமான அழைப்பு"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"உள்வரும் அழைப்பு (பணி)"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"உள்வரும் வைஃபை அழைப்பு"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"உள்வரும் வைஃபை அழைப்பு (பணி)"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"உள்வரும் வைஃபை அழைப்பு"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"உள்வரும் வைஃபை அழைப்பு (பணி)"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"உள்வரும் சந்தேகத்திற்குரிய ஸ்பேம் அழைப்பு"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"உள்வரும் வீடியோ கோரிக்கை"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"சேவை இல்லை"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"வீடியோ அழைப்பை எடு"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"அழைப்பதற்கு, முதலில் விமானப் பயன்முறையை முடக்கவும்."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"நெட்வொர்க்கில் பதிவுசெய்யப்படவில்லை."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"செல்லுலார் நெட்வொர்க் கிடைக்கவில்லை."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"மொபைல் நெட்வொர்க் கிடைக்கவில்லை."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"அழைக்க, சரியான எண்ணை உள்ளிடவும்."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"அழைக்க முடியாது."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI வரிசையைத் தொடங்குகிறது..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"அழைப்பைத் துண்டிக்கும்"</string>
<string name="conference_call_name" msgid="8189987124611337174">"குழு அழைப்பு"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"அழைப்பில்"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"செல்லுலார் தரவைப் பயன்படுத்தி அழைப்பைத் தொடர்கிறது…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"வைஃபை நெட்வொர்க்கிற்கு மாற முடியவில்லை"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"செல்லுலார் நெட்வொர்க்கைப் பயன்படுத்தி தொடர்ந்து வீடியோ அழைப்பைச் செய்யலாம். வழக்கமான தரவுக் கட்டணங்கள் விதிக்கப்படக்கூடும்."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"மொபைல் தரவைப் பயன்படுத்தி அழைப்பைத் தொடர்கிறது…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"வைஃபை நெட்வொர்க்கிற்கு மாற முடியவில்லை"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"மொபைல் நெட்வொர்க்கைப் பயன்படுத்தி தொடர்ந்து வீடியோ அழைப்பைச் செய்யலாம். வழக்கமான தரவுக் கட்டணங்கள் விதிக்கப்படக்கூடும்."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"இதை மீண்டும் காட்டாதே"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-te/strings.xml b/java/com/android/incallui/res/values-te/strings.xml
index 6b833886b..a5da32a01 100644
--- a/java/com/android/incallui/res/values-te/strings.xml
+++ b/java/com/android/incallui/res/values-te/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> నుండి సమాధానం ఇవ్వని కాల్"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"కాల్ కొనసాగుతోంది"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"కార్యాలయ కాల్ కొనసాగుతోంది"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Wi-Fi కాల్ కొనసాగుతోంది"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Wi-Fi కార్యాలయ కాల్ కొనసాగుతోంది"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"మాట్లాడుతున్న Wi‑Fi కాల్"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"మాట్లాడుతున్న Wi‑Fi కార్యాలయ కాల్"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"హోల్డ్‌లో ఉంది"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"ఇన్‌కమింగ్ కాల్"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"ఫోటోతో ఇన్‌కమింగ్ కాల్"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"ఫోటో, సందేశం, స్థానంతో ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"జోడింపులతో ముఖ్యమైన ఇన్‌కమింగ్ కాల్"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"ఇన్‌కమింగ్ కార్యాలయ కాల్"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Wi-Fi కాల్ వస్తోంది"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"ఇన్‌కమింగ్ Wi-Fi కార్యాలయ కాల్"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"ఇన్‌కమింగ్ Wi-Fi కాల్"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"ఇన్‌కమింగ్ Wi-Fi కార్యాలయ కాల్"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"అనుమానాస్పద స్పామ్ కాల్ వస్తోంది"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"ఇన్‌కమింగ్ వీడియో అభ్యర్థన"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"సేవ లేదు"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"వీడియో కాల్‌ను తీయి"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"కాల్ చేయడానికి, మొదట ఎయిర్‌ప్లైన్ మోడ్‌ను ఆపివేయండి."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"నెట్‌వర్క్‌లో నమోదు కాలేదు."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"సెల్యులార్ నెట్‌వర్క్ అందుబాటులో లేదు."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"మొబైల్ నెట్‌వర్క్ అందుబాటులో లేదు."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"కాల్ చేయడానికి, చెల్లుబాటు అయ్యే నంబర్‌ను నమోదు చేయండి."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"కాల్ చేయలేరు."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI శ్రేణిని ప్రారంభిస్తోంది…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"కాల్‌ను ముగిస్తుంది"</string>
<string name="conference_call_name" msgid="8189987124611337174">"కాన్ఫరెన్స్ కాల్"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"కాల్‌లో ఉన్నారు"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"సెల్యులార్ డేటాను ఉపయోగించి కాల్‌ను కొనసాగిస్తోంది…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi నెట్‌వర్క్‌కి మార్చలేకపోయింది"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"వీడియో కాల్ సెల్యులార్ నెట్‌వర్క్‌లో కొనసాగుతుంది. ప్రామాణిక డేటా ఛార్జీలు వర్తించవచ్చు."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"మొబైల్ డేటాను ఉపయోగించి కాల్‌ను కొనసాగిస్తోంది…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi నెట్‌వర్క్‌కి మార్చడం సాధ్యపడలేదు"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"వీడియో కాల్ మొబైల్ నెట్‌వర్క్‌లో కొనసాగుతుంది. ప్రామాణిక డేటా ఛార్జీలు వర్తించవచ్చు."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"దీన్ని మళ్లీ చూపవద్దు"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-th/strings.xml b/java/com/android/incallui/res/values-th/strings.xml
index 11023b93a..102faf20a 100644
--- a/java/com/android/incallui/res/values-th/strings.xml
+++ b/java/com/android/incallui/res/values-th/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"สายที่ไม่ได้รับจาก <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"โทรต่อเนื่อง"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"กำลังอยู่ในสายจากที่ทำงาน"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"กำลังโทรผ่าน Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"กำลังอยู่ในสายจากที่ทำงานผ่าน Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"กำลังโทรผ่าน Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"กำลังอยู่ในสายจากที่ทำงานผ่าน Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"พักสาย"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"สายเรียกเข้า"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"สายเรียกเข้าพร้อมรูปภาพ"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"สายเรียกเข้าที่สำคัญพร้อมรูปภาพ ข้อความ และตำแหน่ง"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"สายเรียกเข้าที่สำคัญพร้อมไฟล์แนบ"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"มีสายเรียกเข้าจากที่ทำงาน"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"สายโทรเข้าผ่าน Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"มีสายเรียกเข้าจากที่ทำงานผ่าน Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"สายโทรเข้าผ่าน Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"มีสายเรียกเข้าจากที่ทำงานผ่าน Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"สายเรียกเข้าที่สงสัยว่าเป็นสแปม"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"คำขอโทรเข้าเป็นวิดีโอ"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"ไม่มีบริการ"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"รับสายแฮงเอาท์วิดีโอ"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"หากต้องการโทรออก ให้ปิดโหมดใช้งานบนเครื่องบินก่อน"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"ยังไม่ได้ลงทะเบียนบนเครือข่าย"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"เครือข่ายมือถือใช้งานไม่ได้"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"เครือข่ายมือถือใช้งานไม่ได้"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"หากต้องการโทรออก โปรดป้อนหมายเลขที่ถูกต้อง"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"ไม่สามารถโทรได้"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"กำลังเริ่มต้นลำดับ MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"วางสาย"</string>
<string name="conference_call_name" msgid="8189987124611337174">"การประชุมสาย"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"อยู่ในสาย"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"กำลังทำการโทรต่อโดยใช้ข้อมูลเครือข่ายมือถือ…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"ไม่สามารถเปลี่ยนไปใช้เครือข่าย Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"แฮงเอาท์วิดีโอจะยังคงอยู่ในเครือข่ายมือถือ อาจมีการเรียกเก็บค่าบริการข้อมูลมาตรฐาน"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"โทรต่อโดยใช้อินเทอร์เน็ตมือถือ..."</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"ไม่สามารถเปลี่ยนไปใช้เครือข่าย Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"แฮงเอาท์วิดีโอจะยังคงอยู่ในเครือข่ายมือถือ อาจมีการเรียกเก็บค่าบริการข้อมูลมาตรฐาน"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"อย่าแสดงสิ่งนี้อีก"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-tl/strings.xml b/java/com/android/incallui/res/values-tl/strings.xml
index 00a4623b5..9cc2f543e 100644
--- a/java/com/android/incallui/res/values-tl/strings.xml
+++ b/java/com/android/incallui/res/values-tl/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Hindi nasagot ang tawag mula kay <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Kasalukuyang tawag"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Kasalukuyang tawag sa trabaho"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Isinasagawang tawag sa Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Kasalukuyang tawag sa trabaho sa pamamagitan ng Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Kasalukuyang isinasagawang tawag sa Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Kasalukuyang isinasagawang tawag sa trabaho gamit ang Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Naka-hold"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Papasok na tawag"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Papasok na tawag na may larawan"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Mahalagang papasok na tawag na may larawan, mensahe, at lokasyon"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Mahalagang papasok na tawag na may mga attachment"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Papasok na tawag sa trabaho"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Papasok na tawag sa Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Papasok na tawag sa trabaho sa pamamagitan ng Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Papasok na tawag sa Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Papasok na tawag sa trabaho gamit ang Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Papasok na pinaghihinalaang spam na tawag"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Papasok na kahilingan ng video"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Walang serbisyo"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Sagutin ang Video Call"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Upang tumawag, paki-off ang Airplane mode."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Hindi nakarehistro sa network."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Hindi available ang cellular network"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Hindi available ang mobile network."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Upang tumawag, maglagay ng wastong numero."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Hindi makatawag."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Sinisimulan ang pagkakasunud-sunod ng MMI…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Tapusin ang tawag"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Conference call"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Nasa tawag"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Ipinagpapatuloy ang tawag gamit ang cellular data…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Hindi makalipat sa Wi-Fi network"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Mananatili sa cellular network ang video call. Maaaring may mga babayaran sa data."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Ipinagpapatuloy ang tawag gamit ang mobile data…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Hindi makalipat sa Wi-Fi network"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Mananatili sa mobile network ang video call. Maaaring may mga babayaran sa data."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Huwag itong ipakitang muli"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-tr/strings.xml b/java/com/android/incallui/res/values-tr/strings.xml
index 9820a6989..9126624cf 100644
--- a/java/com/android/incallui/res/values-tr/strings.xml
+++ b/java/com/android/incallui/res/values-tr/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Cevapsız çağrı: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Devam eden çağrılar"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Süren iş çağrısı"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Giden kablosuz çağrı"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Süren kablosuz iş çağrısı"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Devam eden kablosuz çağrı"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"İşle ilgili devam eden kablosuz çağrı"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Beklemede"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Gelen çağrı"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Fotoğraf eklenmiş gelen çağrı"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Fotoğraf, mesaj ve konum eklenmiş önemli çağrı"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Ek iliştirilmiş önemli gelen çağrı"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Gelen iş çağrısı"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Gelen kablosuz çağrı"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Gelen kablosuz iş çağrısı"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Gelen kablosuz çağrı"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"İşle ilgili gelen kablosuz çağrı"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Spam olabilecek gelen arama"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Gelen video isteği"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Hizmet yok"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Video Görüşmesini Al"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Bir çağrı yapmak için öncelikle Uçak modunu kapatın."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ağda kayıtlı değil."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Hücresel ağ kullanılamıyor."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mobil ağ kullanılamıyor."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Telefon etmek için geçerli bir numara girin."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Arama yapılamıyor."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI dizisi başlatılıyor..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Çağrı sonlandırılır"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferans çağrısı"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Konferans çağrısında"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Görüşmeye hücresel veri kullanılarak devam ediliyor…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Kablosuz ağa geçilemedi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video görüşmesi hücresel ağda devam edecek. Standart veri ücretleri alınabilir."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Görüşmeye mobil veri kullanılarak devam ediliyor…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Kablosuz ağa geçilemedi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Görüntülü görüşme mobil ağda devam edecek. Standart veri ücretleri alınabilir."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Bunu bir daha gösterme"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-uk/strings.xml b/java/com/android/incallui/res/values-uk/strings.xml
index b3b297dc7..30c202c76 100644
--- a/java/com/android/incallui/res/values-uk/strings.xml
+++ b/java/com/android/incallui/res/values-uk/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Пропущений виклик: <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Поточний виклик"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Поточний дзвінок на робочий телефон"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Активний дзвінок через Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Поточний дзвінок на робочий телефон через Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Поточний дзвінок через Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Поточний дзвінок на робочий телефон через Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Очікує"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Вхідний виклик"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Вхідний дзвінок із фото"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Важливий дзвінок із фото, повідомленням і адресою"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Важливий вхідний дзвінок із вкладеними файлами"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Вхідний дзвінок на робочий телефон"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Вхідний дзвінок через Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Вхідний дзвінок на робочий телефон через Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Вхідний дзвінок через Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Вхідний дзвінок на робочий телефон через Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Цей дзвінок може бути спамом"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Запит на вхідний відеодзвінок"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Нема служби"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Прийняти відеодзвінок"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Щоб установ. з\'єднання, споч. вимк. режим польоту."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Не зареєстровано в мережі."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Мобільна мережа недоступна."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Мобільна мережа недоступна."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Щоб зателефонувати, введіть дійсний номер."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Неможливо зателефонувати."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Запуск ряду MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Завершити виклик"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Конференц-зв’язок"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Триває виклик"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Продовження виклику через мобільний трафік…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Не вдалося перейти в мережу Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Відеодзвінок продовжиться в мобільній мережі. Діють стандартні тарифи."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Продовження виклику з використанням мобільного Інтернету…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Не вдалося перейти на мережу Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Відеодзвінок продовжиться з використанням мобільного Інтернету. Діють стандартні тарифи."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Більше не показувати це"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-ur/strings.xml b/java/com/android/incallui/res/values-ur/strings.xml
index e3326a27e..8e70bad8b 100644
--- a/java/com/android/incallui/res/values-ur/strings.xml
+++ b/java/com/android/incallui/res/values-ur/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> کی جانب سے چھوٹی ہوئی کال"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"جاری کال"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"کام سے متعلق جاری کال"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"‏Wi-Fi کال جاری ہے"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"‏کام سے متعلق جاری Wi-Fi کال"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"‏جاری Wi-Fi کال"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"‏کام سے متعلق جاری Wi-Fi کال"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"ہولڈ پر"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"آنے والی کال"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"تصویر کے ساتھ آنے والی کال"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"تصویر، پیغام اور مقام کے ساتھ آنے والی اہم کال"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"منسلکات کے ساتھ آنے والی اہم کال"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"کام سے متعلق آنے والی کال"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"‏Wi-Fi کال آ رہی ہے"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"‏کام سے متعلق آنے والی Wi-Fi کال"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"‏Wi-Fi کال آ رہی ہے"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"‏کام سے متعلق آنے والی Wi-Fi کال"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"آنے والی مشتبہ سپام کال"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"اِن کمنگ ویڈیو درخواست"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"کوئی سروس نہیں ہے"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"ویڈیو کال لیں"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"کال کرنے کیلئے، پہلے ہوائی جہاز طرز کو آف کریں۔"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"نیٹ ورک پر رجسٹرڈ نہیں ہے۔"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"سیلولر نیٹ ورک دستیاب نہیں ہے۔"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"موبائل نیٹ ورک دستیاب نہیں ہے۔"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"کال کرنے کیلئے، ایک درست نمبر درج کریں۔"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"کال نہیں کر سکتے۔"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"‏MMI ترتیب شروع ہو رہی ہے…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"کال ختم کریں"</string>
<string name="conference_call_name" msgid="8189987124611337174">"کانفرنس کال"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"کال میں"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"سیلولر ڈیٹا استعمال کرکے کال جاری ہے"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"‏Wi-Fi نیٹ ورک پر سوئچ نہیں ہو سکا"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"ویڈیو کال سیلولر نیٹ ورک پر رہے گی۔ ڈیٹا کے معیاری چارجز کا اطلاق ہو سکتا ہے۔"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"موبائل ڈیٹا استعمال کرکے کال جاری ہے"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"‏Wi-Fi نیٹ ورک پر سوئچ نہیں ہو سکا"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"ویڈیو کال موبائل نیٹ ورک پر رہے گی۔ ڈیٹا کے معیاری چارجز کا اطلاق ہو سکتا ہے۔"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"اسے دوبارہ مت دکھائیں"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-uz/strings.xml b/java/com/android/incallui/res/values-uz/strings.xml
index 38285015a..c460f9504 100644
--- a/java/com/android/incallui/res/values-uz/strings.xml
+++ b/java/com/android/incallui/res/values-uz/strings.xml
@@ -33,10 +33,10 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> chaqiruvi javobsiz qoldi"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Joriy qo‘ng‘iroq"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Chiquvchi ishchi qo‘ng‘irog‘i"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Chiquvchi Wi-Fi qo‘ng‘irog‘i"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Chiquvchi Wi-Fi ishchi qo‘ng‘irog‘i"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Joriy Wi-Fi qo‘ng‘iroq"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Joriy Wi-Fi qo‘ng‘iroq (ish)"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Kutmoqda"</string>
- <string name="notification_incoming_call" msgid="7520580807513849283">"Kiruvchi qo‘ng‘iroq"</string>
+ <string name="notification_incoming_call" msgid="7520580807513849283">"Kiruvchi chaqiruv"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Suratga ega kiruvchi chaqiruv"</string>
<string name="notification_incoming_call_with_message" msgid="5608687985694956601">"Xabarga ega kiruvchi chaqiruv"</string>
<string name="notification_incoming_call_with_location" msgid="4519498445081598767">"Joylashuv axborotiga ega kiruvchi chaqiruv"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Surat, xabar va joy. ax. ega muhim kiruv. chaqiruv"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Biriktirmalarga ega muhim kiruvchi chaqiruv"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Kiruvchi ishchi qo‘ng‘irog‘i"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Kiruvchi Wi-Fi qo‘ng‘irog‘i"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Kiruvchi Wi-Fi ishchi qo‘ng‘irog‘i"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Kiruvchi Wi-Fi qo‘ng‘iroq"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Kiruvchi Wi-Fi qo‘ng‘iroq (ish)"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Shubhali kiruvchi qo‘ng‘iroq"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Kiruvchi video so\'rovi"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Xizmat mavjud emas"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Video qo‘ng‘iroq. qabul qilish"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Qo‘ng‘iroq qilish uchun, avval \"Parvoz rejimi\" o‘chirilishi kerak."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Tarmoqda ro‘yxatdan o‘tmagan."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Mobil tarmoq mavjud emas."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Uyali aloqa tarmog‘i mavjud emas."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Qo‘ng‘iroq qilish uchun raqamni to‘g‘ri kiriting."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Qo‘ng‘iroq qilib bo‘lmadi."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"MMI tartibi ishga tushmoqda..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Qo‘ng‘iroqni tugatish"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Konferens-aloqa"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Qo‘ng‘iroq davom etmoqda"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Qo‘ng‘iroq mobil internet orqali davom ettirilmoqda…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Wi-Fi tarmog‘iga o‘tib bo‘lmadi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Video qo‘ng‘iroq uyali tarmoqda davom etilaveradi. Internet uchun operator tarifi bo‘yicha haq olinishi mumkin."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Qo‘ng‘iroq mobil internetga o‘tkazilmoqda…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Wi-Fi tarmog‘iga o‘tib bo‘lmadi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Video qo‘ng‘iroq mobil internet orqali davom ettiriladi. Internet uchun operator tarifi bo‘yicha haq olinishi mumkin."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Bu xabar boshqa ko‘rsatilmasin"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-vi/strings.xml b/java/com/android/incallui/res/values-vi/strings.xml
index b466b020d..8c0dbceeb 100644
--- a/java/com/android/incallui/res/values-vi/strings.xml
+++ b/java/com/android/incallui/res/values-vi/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Cuộc gọi nhỡ từ <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Cuộc gọi đang thực hiện"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Cuộc gọi đang diễn ra về công việc"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Cuộc gọi đang diễn ra qua Wi-Fi"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Cuộc gọi đang diễn ra qua Wi-Fi về công việc"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Cuộc gọi đang diễn ra qua Wi-Fi"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Cuộc gọi về công việc đang diễn ra qua Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Đang chờ"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Cuộc gọi đến"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Cuộc gọi đến có ảnh"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Cuộc gọi đến quan trọng có ảnh, tin nhắn và vị trí"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Cuộc gọi đến quan trọng có tệp đính kèm"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Cuộc gọi đến về công việc"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Cuộc gọi đến qua Wi-Fi"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Cuộc gọi đến qua Wi-Fi về công việc"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Cuộc gọi đến qua Wi-Fi"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Cuộc gọi đến về công việc qua Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Cuộc gọi spam đến bị nghi ngờ"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Yêu cầu video đến"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Không có dịch vụ nào"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Nhận cuộc gọi điện video"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Để thực hiện cuộc gọi, trước tiên, hãy tắt chế độ trên Máy bay."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Chưa được đăng ký trên mạng."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Không có mạng di động."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Mạng di động không khả dụng."</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Để thực hiện cuộc gọi, hãy nhập một số hợp lệ."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Không thực hiện được cuộc gọi."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Khởi động chuỗi MMI…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Kết thúc cuộc gọi"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Cuộc gọi nhiều bên"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Đang trong cuộc gọi"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Đang tiếp tục cuộc gọi bằng cách sử dụng dữ liệu di động…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Không thể chuyển sang mạng Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Cuộc gọi điện video sẽ duy trì trên mạng di động. Có thể áp dụng phí dữ liệu chuẩn."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Đang tiếp tục cuộc gọi bằng cách sử dụng dữ liệu di động…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Không thể chuyển sang mạng Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Cuộc gọi điện video sẽ tiếp tục trên mạng di động. Bạn có thể phải trả phí dữ liệu chuẩn."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Không hiển thị lại"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-zh-rCN/strings.xml b/java/com/android/incallui/res/values-zh-rCN/strings.xml
index e26ab0ca2..4ede0cb3e 100644
--- a/java/com/android/incallui/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/res/values-zh-rCN/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"来自<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>的未接电话"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"当前通话"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"工作通话进行中"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"正在进行 WLAN 通话"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"WLAN 工作通话进行中"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"正在进行 WLAN 通话"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"正在进行 WLAN 工作通话"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"保持"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"来电"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"包含照片的来电"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"包含照片、讯息和位置信息的重要来电"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"包含附件的重要来电"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"工作来电"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"WLAN 来电"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"WLAN 工作来电"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"WLAN 来电"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"WLAN 工作来电"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"有疑似骚扰来电"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"收到视频通话邀请"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"无服务"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"接通视频通话"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"要进行呼叫,请先关闭飞行模式。"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"尚未注册网络。"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"无法连接到移动网络。"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"无法连接到移动网络。"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"要拨打电话,请输入有效的电话号码。"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"无法拨打该电话。"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"正在启动 MMI 序列..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"结束通话"</string>
<string name="conference_call_name" msgid="8189987124611337174">"电话会议"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"正在通话"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"正在使用移动数据网络继续通话…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"无法切换到 WLAN 网络"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"系统将使用移动网络继续视频通话。这可能会产生标准数据流量费。"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"正在使用移动数据继续通话…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"无法切换到 WLAN 网络"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"系统将使用移动网络继续视频通话。这可能会产生标准数据流量费。"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"不再显示"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-zh-rHK/strings.xml b/java/com/android/incallui/res/values-zh-rHK/strings.xml
index 5eb8892e9..c4934eade 100644
--- a/java/com/android/incallui/res/values-zh-rHK/strings.xml
+++ b/java/com/android/incallui/res/values-zh-rHK/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"來自 <xliff:g id="MISSED_CALL_FROM">%s</xliff:g> 的未接來電"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"通話中"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"正在進行工作通話"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"正在進行 Wi-Fi 通話"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"正在進行 Wi-Fi 工作通話"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"正在進行 Wi-Fi 通話"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"正在進行 Wi-Fi 工作通話"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"保留通話"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"來電"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"附有相片的來電"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"附有相片、訊息和位置的重要來電"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"附有附件的重要來電"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"工作來電"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Wi-Fi 來電"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Wi-Fi 工作來電"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Wi-Fi 來電"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Wi-Fi 工作來電"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"疑似收到垃圾來電"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"收到視像要求"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"沒有服務"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"接受視像通話"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"請先關閉飛行模式後再撥打電話。"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"未在網絡上完成註冊。"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"無法連線至流動網絡。"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"無法使用流動網絡。"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"要撥打電話,請輸入有效的號碼。"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"無法通話。"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"開始 MMI 序列..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"結束通話"</string>
<string name="conference_call_name" msgid="8189987124611337174">"會議通話"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"正在通話"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"使用流動數據繼續通話…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"無法切換為 Wi-Fi 網絡"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"視像通話仍會使用流動網絡 (可能需要支付標準數據用量費用)。"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"使用流動數據繼續通話…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"無法切換為 Wi-Fi 網絡"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"視像通話仍會使用流動網絡 (可能需要支付標準數據用量費用)。"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"不要再顯示此訊息"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-zh-rTW/strings.xml b/java/com/android/incallui/res/values-zh-rTW/strings.xml
index 9f028661e..9b85a2862 100644
--- a/java/com/android/incallui/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/res/values-zh-rTW/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"來自 <xliff:g id="MISSED_CALL_FROM">%s</xliff:g> 的未接來電"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"通話中"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"進行中的公司通話"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"撥出的 Wi-Fi 電話"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"進行中的公司通話 (透過 Wi-Fi)"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"進行中的通話 (透過 Wi-Fi)"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"進行中的公司通話 (透過 Wi-Fi)"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"通話保留"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"來電"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"包含相片的來電"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"包含相片、訊息和位置資訊的重要來電"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"包含附件的重要來電"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"公司來電"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"撥入的 Wi-Fi 電話"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"公司來電 (透過 Wi-Fi)"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"來電 (透過 Wi-Fi)"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"公司來電 (透過 Wi-Fi)"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"可疑的騷擾/廣告來電"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"收到視訊要求"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"沒有服務"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"接聽視訊通話"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"撥號前,請先關閉飛航模式。"</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"尚未註冊網路。"</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"無法連線到行動網路。"</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"無法使用行動網路。"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"如要撥打電話,請輸入有效的號碼。"</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"無法通話。"</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"開始 MMI 序列…"</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"結束通話"</string>
<string name="conference_call_name" msgid="8189987124611337174">"電話會議"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"通話中"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"使用行動數據繼續進行通話…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"無法切換至 Wi-Fi 網路"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"視訊通話將繼續透過行動網路進行 (可能需支付一般數據傳輸費用)。"</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"使用行動網路繼續進行通話…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"無法切換至 Wi-Fi 網路"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"視訊通話將繼續透過行動網路進行 (可能需支付一般數據傳輸費用)。"</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"不要再顯示這項說明"</string>
</resources>
diff --git a/java/com/android/incallui/res/values-zu/strings.xml b/java/com/android/incallui/res/values-zu/strings.xml
index db415cc45..bc5a92735 100644
--- a/java/com/android/incallui/res/values-zu/strings.xml
+++ b/java/com/android/incallui/res/values-zu/strings.xml
@@ -33,8 +33,8 @@
<string name="notification_missedCallTicker" msgid="238492086972857643">"Uphuthelwe ikholi kusukela ku-<xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
<string name="notification_ongoing_call" msgid="8712641937577776125">"Ikholi eqhubekayo"</string>
<string name="notification_ongoing_work_call" msgid="3189581218078981547">"Ikholi yomsebenzi eqhubekayo"</string>
- <string name="notification_ongoing_call_wifi" msgid="297183051021070949">"Ikholi ye-Wi-Fi eqhubekayo"</string>
- <string name="notification_ongoing_work_call_wifi" msgid="6769311641293583197">"Ikholi yomsebenzi eqhubekayo ye-Wi-Fi"</string>
+ <string name="notification_ongoing_call_wifi" msgid="4393238962909277019">"Ikholi ye-Wi-Fi eqhubekayo"</string>
+ <string name="notification_ongoing_work_call_wifi" msgid="3169378605818323964">"Ikholi yomsebenzi eqhubekayo ye-Wi-Fi"</string>
<string name="notification_on_hold" msgid="7141827443379205682">"Ibambile"</string>
<string name="notification_incoming_call" msgid="7520580807513849283">"Ikholi engenayo"</string>
<string name="notification_incoming_call_with_photo" msgid="4360505044807517422">"Ikholi engenayo enesithombe"</string>
@@ -55,8 +55,8 @@
<string name="important_notification_incoming_call_with_photo_message_location" msgid="513692941317253479">"Ikholi engenayo ebalulekile enesithombe, umlayezo nendawo"</string>
<string name="important_notification_incoming_call_attachments" msgid="4594375776340303751">"Ikholi engenayo ebalulekile enokunamathiselwe kwi-imeyili"</string>
<string name="notification_incoming_work_call" msgid="5291275092734261918">"Ikholi engenayo yomsebenzi"</string>
- <string name="notification_incoming_call_wifi" msgid="1039173395425774684">"Ikholi ye-Wi-Fi engenayo"</string>
- <string name="notification_incoming_work_call_wifi" msgid="322580182203435905">"Ikholi engenayo yomsebenzi ye-Wi-Fi"</string>
+ <string name="notification_incoming_call_wifi" msgid="1020138378061234203">"Ikholi ye-Wi-Fi engenayo"</string>
+ <string name="notification_incoming_work_call_wifi" msgid="3549264481033044684">"Ikholi engenayo yomsebenzi ye-Wi-Fi"</string>
<string name="notification_incoming_spam_call" msgid="7591506944666791937">"Ikholi engenayo osolisayo kagaxekile"</string>
<string name="notification_requesting_video_call" msgid="1807679328811515758">"Isicelo sevidiyo engenayo"</string>
<string name="notification_network_selection_title" msgid="8639159088474275747">"Ayikho isevisi"</string>
@@ -73,7 +73,7 @@
<string name="notification_take_video_call" msgid="4473387503712341390">"Thatha ikholi yevidiyo"</string>
<string name="incall_error_power_off" msgid="3244691852792529453">"Ukwenza ikholi, vala kuqala imodi Yendiza."</string>
<string name="incall_error_emergency_only" msgid="8313690034696753566">"Ayibhalisiwe kwinethiwekhi."</string>
- <string name="incall_error_out_of_service" msgid="539611768312332950">"Inethiwekhi yeselula ayitholakali."</string>
+ <string name="incall_error_out_of_service" msgid="5027539470868484145">"Inethiwekhi yefoni ayitholakali"</string>
<string name="incall_error_no_phone_number_supplied" msgid="293343960362630925">"Ukuze wenze ikholi, faka inombolo evumelekile."</string>
<string name="incall_error_call_failed" msgid="5560521345862514733">"Ayikwazi ukushaya."</string>
<string name="incall_status_dialed_mmi" msgid="3341365334358686873">"Iqalisa ukulandelana kwe-MMI..."</string>
@@ -134,8 +134,8 @@
<string name="conference_caller_disconnect_content_description" msgid="2821988368803183644">"Qeda ikholi"</string>
<string name="conference_call_name" msgid="8189987124611337174">"Ikholi yengqungquthela"</string>
<string name="generic_conference_call_name" msgid="1546941472424243894">"Isecingweni"</string>
- <string name="video_call_wifi_to_lte_handover_toast" msgid="2495974172657183700">"Iqhuba ikholi isebenzisa idatha yeselula…"</string>
- <string name="video_call_lte_to_wifi_failed_title" msgid="2793524281399509056">"Ayikwazanga ukushintshela kunethiwekhi ye-Wi-Fi"</string>
- <string name="video_call_lte_to_wifi_failed_message" msgid="5950700221126447109">"Ikholi yevidiyo izohlala kunethiwekhi yeselula. Izindleko zedatha ejwayelekile zingasebenza."</string>
+ <string name="video_call_wifi_to_lte_handover_toast" msgid="2108633957233856099">"Iqhubekisa ikholi isebenzisa idatha yeselula…"</string>
+ <string name="video_call_lte_to_wifi_failed_title" msgid="1343446383310594456">"Ayikwazanga ukushintshela kunethiwekhi ye-Wi-Fi"</string>
+ <string name="video_call_lte_to_wifi_failed_message" msgid="3703332569739939335">"Ikholi yevidiyo izohlala ikunethiwekhi yeselula. Amashaji edatha avamile angasebenza."</string>
<string name="video_call_lte_to_wifi_failed_do_not_show" msgid="7609115874511223150">"Ungabonisi lokhu futhi"</string>
</resources>
diff --git a/java/com/android/incallui/res/values/dimens.xml b/java/com/android/incallui/res/values/dimens.xml
index 18816f645..56b9ae158 100644
--- a/java/com/android/incallui/res/values/dimens.xml
+++ b/java/com/android/incallui/res/values/dimens.xml
@@ -38,7 +38,7 @@
<dimen name="incall_dialpad_zero_key_number_margin_bottom">0dp</dimen>
<dimen name="incall_dialpad_digits_adjustable_text_size">20sp</dimen>
<dimen name="incall_dialpad_digits_adjustable_height">50dp</dimen>
- <dimen name="incall_dialpad_key_numbers_size">36sp</dimen>
+ <dimen name="incall_dialpad_key_numbers_size">36dp</dimen>
<!-- Dimensions for OTA Call Card -->
<dimen name="otaactivate_layout_marginTop">10dp</dimen>
@@ -58,6 +58,8 @@
<dimen name="conference_call_manager_button_dimension">48dp</dimen>
+ <dimen name="return_to_call_initial_offset_y">120dp</dimen>
+
<!-- Whether or not the landscape mode layout is currently being used -->
<bool name="is_layout_landscape">false</bool>
diff --git a/java/com/android/incallui/res/values/strings.xml b/java/com/android/incallui/res/values/strings.xml
index aede4289b..4113313df 100644
--- a/java/com/android/incallui/res/values/strings.xml
+++ b/java/com/android/incallui/res/values/strings.xml
@@ -78,10 +78,10 @@
<string name="notification_ongoing_work_call">Ongoing work call</string>
<!-- The "label" of the in-call Notification for an ongoing call, which is being made over
Wi-Fi. [CHAR LIMIT=60] -->
- <string name="notification_ongoing_call_wifi">Ongoing Wi-Fi call</string>
+ <string name="notification_ongoing_call_wifi">Ongoing Wi\u2011Fi call</string>
<!-- The "label" of the in-call Notification for an ongoing work call, which is being made
over Wi-Fi. [CHAR LIMIT=60] -->
- <string name="notification_ongoing_work_call_wifi">Ongoing Wi-Fi work call</string>
+ <string name="notification_ongoing_work_call_wifi">Ongoing Wi\u2011Fi work call</string>
<!-- The "label" of the in-call Notification for a call that's on hold -->
<string name="notification_on_hold">On hold</string>
<!-- The "label" of the in-call Notification for an incoming ringing call. [CHAR LIMIT=60] -->
@@ -126,10 +126,10 @@
<string name="notification_incoming_work_call">Incoming work call</string>
<!-- The "label" of the in-call Notification for an incoming ringing call,
which is being made over Wi-Fi. [CHAR LIMIT=60] -->
- <string name="notification_incoming_call_wifi">Incoming Wi-Fi call</string>
+ <string name="notification_incoming_call_wifi">Incoming Wi\u2011Fi call</string>
<!-- The "label" of the in-call Notification for an incoming ringing work call,
which is being made over Wi-Fi. [CHAR LIMIT=60] -->
- <string name="notification_incoming_work_call_wifi">Incoming Wi-Fi work call</string>
+ <string name="notification_incoming_work_call_wifi">Incoming Wi\u2011Fi work call</string>
<!-- The "label" of the in-call Notification for an incoming ringing spam call. -->
<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. -->
@@ -190,7 +190,7 @@
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">Cellular network not available.</string>
+ <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 -->
@@ -349,11 +349,11 @@
<string name="generic_conference_call_name">In call</string>
<!-- Displayed when handover from WiFi to Lte occurs during a video call -->
- <string name="video_call_wifi_to_lte_handover_toast">Continuing call using cellular data…</string>
+ <string name="video_call_wifi_to_lte_handover_toast">Continuing call using mobile data\u2026</string>
<!-- Displayed when WiFi handover from LTE fails during a video call. -->
- <string name="video_call_lte_to_wifi_failed_title">Couldn\'t switch to Wi-Fi network</string>
- <string name="video_call_lte_to_wifi_failed_message">Video call will remain on cellular network. Standard
+ <string name="video_call_lte_to_wifi_failed_title">Couldn\'t switch to Wi\u2011Fi network</string>
+ <string name="video_call_lte_to_wifi_failed_message">Video call will remain on the mobile network. Standard
data charges may apply.
</string>
<string name="video_call_lte_to_wifi_failed_do_not_show">Do not show this again</string>
diff --git a/java/com/android/incallui/res/values/styles.xml b/java/com/android/incallui/res/values/styles.xml
index 68a38f0b2..3c036c95f 100644
--- a/java/com/android/incallui/res/values/styles.xml
+++ b/java/com/android/incallui/res/values/styles.xml
@@ -78,4 +78,13 @@
<item name="android:colorAccent">@color/dialer_theme_color</item>
</style>
+ <style name="Theme.Incall.DialogHolder" parent="Theme.AppCompat.Translucent">
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:windowActivityTransitions">false</item>
+
+ <item name="android:statusBarColor">@android:color/transparent</item>
+ <item name="android:navigationBarColor">@android:color/transparent</item>
+ <item name="android:windowDrawsSystemBarBackgrounds">true</item>
+ </style>
+
</resources>
diff --git a/java/com/android/incallui/sessiondata/MultimediaFragment.java b/java/com/android/incallui/sessiondata/MultimediaFragment.java
index 85a60b6e3..3e6cdbbe0 100644
--- a/java/com/android/incallui/sessiondata/MultimediaFragment.java
+++ b/java/com/android/incallui/sessiondata/MultimediaFragment.java
@@ -107,6 +107,7 @@ public class MultimediaFragment extends Fragment implements AvatarPresenter {
public View onCreateView(
LayoutInflater layoutInflater, @Nullable ViewGroup viewGroup, @Nullable Bundle bundle) {
if (isSpam) {
+ LogUtil.i("MultimediaFragment.onCreateView", "show spam layout");
return layoutInflater.inflate(R.layout.fragment_spam, viewGroup, false);
}
@@ -116,23 +117,30 @@ public class MultimediaFragment extends Fragment implements AvatarPresenter {
if (hasMap && MapsComponent.get(getContext()).getMaps().isAvailable()) {
if (hasImage) {
if (hasSubject) {
+ LogUtil.i("MultimediaFragment.onCreateView", "show text, image, location layout");
return layoutInflater.inflate(
R.layout.fragment_composer_text_image_frag, viewGroup, false);
} else {
+ LogUtil.i("MultimediaFragment.onCreateView", "show image, location layout");
return layoutInflater.inflate(R.layout.fragment_composer_image_frag, viewGroup, false);
}
} else if (hasSubject) {
+ LogUtil.i("MultimediaFragment.onCreateView", "show text, location layout");
return layoutInflater.inflate(R.layout.fragment_composer_text_frag, viewGroup, false);
} else {
+ LogUtil.i("MultimediaFragment.onCreateView", "show location layout");
return layoutInflater.inflate(R.layout.fragment_composer_frag, viewGroup, false);
}
} else if (hasImage) {
if (hasSubject) {
+ LogUtil.i("MultimediaFragment.onCreateView", "show text, image layout");
return layoutInflater.inflate(R.layout.fragment_composer_text_image, viewGroup, false);
} else {
+ LogUtil.i("MultimediaFragment.onCreateView", "show image layout");
return layoutInflater.inflate(R.layout.fragment_composer_image, viewGroup, false);
}
} else {
+ LogUtil.i("MultimediaFragment.onCreateView", "show text layout");
return layoutInflater.inflate(R.layout.fragment_composer_text, viewGroup, false);
}
}
@@ -155,11 +163,11 @@ public class MultimediaFragment extends Fragment implements AvatarPresenter {
((TextView) view.findViewById(R.id.spam_text)).setText(R.string.spam_message_text);
}
- TextView messageText = (TextView) view.findViewById(R.id.answer_message_text);
+ TextView messageText = view.findViewById(R.id.answer_message_text);
if (messageText != null) {
messageText.setText(getSubject());
}
- ImageView mainImage = (ImageView) view.findViewById(R.id.answer_message_image);
+ ImageView mainImage = view.findViewById(R.id.answer_message_image);
if (mainImage != null) {
Glide.with(this)
.load(getImageUri())
@@ -185,6 +193,7 @@ public class MultimediaFragment extends Fragment implements AvatarPresenter {
Target<Drawable> target,
DataSource dataSource,
boolean isFirstResource) {
+ LogUtil.enterBlock("MultimediaFragment.onResourceReady");
view.findViewById(R.id.loading_spinner).setVisibility(View.GONE);
return false;
}
@@ -192,7 +201,7 @@ public class MultimediaFragment extends Fragment implements AvatarPresenter {
.into(mainImage);
mainImage.setClipToOutline(true);
}
- FrameLayout fragmentHolder = (FrameLayout) view.findViewById(R.id.answer_message_frag);
+ FrameLayout fragmentHolder = view.findViewById(R.id.answer_message_frag);
if (fragmentHolder != null) {
fragmentHolder.setClipToOutline(true);
Fragment mapFragment =
@@ -202,7 +211,7 @@ public class MultimediaFragment extends Fragment implements AvatarPresenter {
.replace(R.id.answer_message_frag, mapFragment)
.commitNow();
}
- avatarImageView = ((ImageView) view.findViewById(R.id.answer_message_avatar));
+ avatarImageView = view.findViewById(R.id.answer_message_avatar);
if (avatarImageView != null) {
avatarImageView.setVisibility(showAvatar ? View.VISIBLE : View.GONE);
}
diff --git a/java/com/android/incallui/sessiondata/res/layout/fragment_composer_image.xml b/java/com/android/incallui/sessiondata/res/layout/fragment_composer_image.xml
index ed29e78c4..3b3327d4f 100644
--- a/java/com/android/incallui/sessiondata/res/layout/fragment_composer_image.xml
+++ b/java/com/android/incallui/sessiondata/res/layout/fragment_composer_image.xml
@@ -24,8 +24,8 @@
<ImageView
android:id="@id/answer_message_image"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
android:layout_marginTop="@dimen/answer_message_contents_margin_top"
android:layout_marginBottom="4dp"
android:layout_centerInParent="true"
@@ -34,7 +34,7 @@
android:background="@drawable/answer_data_background"
android:elevation="@dimen/answer_data_elevation"
android:adjustViewBounds="true"
- android:scaleType="fitCenter"/>
+ android:scaleType="centerCrop"/>
<ProgressBar
android:layout_width="wrap_content"
diff --git a/java/com/android/incallui/spam/SpamCallListListener.java b/java/com/android/incallui/spam/SpamCallListListener.java
index 547337eda..b9c70ebd0 100644
--- a/java/com/android/incallui/spam/SpamCallListListener.java
+++ b/java/com/android/incallui/spam/SpamCallListListener.java
@@ -24,6 +24,7 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Icon;
import android.support.annotation.NonNull;
+import android.support.v4.os.BuildCompat;
import android.telecom.DisconnectCause;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
@@ -35,8 +36,7 @@ import com.android.dialer.location.GeoUtil;
import com.android.dialer.logging.ContactLookupResult;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
-import com.android.dialer.notification.NotificationChannelManager;
-import com.android.dialer.notification.NotificationChannelManager.Channel;
+import com.android.dialer.notification.NotificationChannelId;
import com.android.dialer.spam.Spam;
import com.android.incallui.R;
import com.android.incallui.call.CallList;
@@ -49,9 +49,8 @@ import java.util.Random;
* etc).
*/
public class SpamCallListListener implements CallList.Listener {
+ static final int NOTIFICATION_ID = 1;
- static final int NOTIFICATION_ID = R.id.notification_spam_call;
- private static final String TAG = "SpamCallListListener";
private final Context context;
private final Random random;
@@ -65,10 +64,6 @@ public class SpamCallListListener implements CallList.Listener {
this.random = rand;
}
- private static String pii(String pii) {
- return com.android.incallui.Log.pii(pii);
- }
-
@Override
public void onIncomingCall(final DialerCall call) {
String number = call.getNumber();
@@ -127,7 +122,6 @@ public class SpamCallListListener implements CallList.Listener {
if (call.isSpam()) {
maybeShowSpamCallNotification(call);
} else {
- LogUtil.d(TAG, "Showing not spam notification for number=" + pii(call.getNumber()));
maybeShowNonSpamCallNotification(call);
}
}
@@ -161,7 +155,7 @@ public class SpamCallListListener implements CallList.Listener {
if (callHistoryStatus == DialerCall.CALL_HISTORY_STATUS_PRESENT) {
return false;
} else if (callHistoryStatus == DialerCall.CALL_HISTORY_STATUS_UNKNOWN) {
- LogUtil.i(TAG, "DialerCall history status is unknown, returning false");
+ LogUtil.i("SpamCallListListener.shouldShowAfterCallNotification", "history status unknown");
return false;
}
@@ -171,7 +165,7 @@ public class SpamCallListListener implements CallList.Listener {
return false;
}
- LogUtil.i(TAG, "shouldShowAfterCallNotification, returning true");
+ LogUtil.i("SpamCallListListener.shouldShowAfterCallNotification", "returning true");
return true;
}
@@ -179,7 +173,7 @@ public class SpamCallListListener implements CallList.Listener {
* Creates a notification builder with properties common among the two after call notifications.
*/
private Notification.Builder createAfterCallNotificationBuilder(DialerCall call) {
- Builder builder =
+ Notification.Builder builder =
new Builder(context)
.setContentIntent(
createActivityPendingIntent(call, SpamNotificationActivity.ACTION_SHOW_DIALOG))
@@ -187,7 +181,9 @@ public class SpamCallListListener implements CallList.Listener {
.setPriority(Notification.PRIORITY_DEFAULT)
.setColor(context.getColor(R.color.dialer_theme_color))
.setSmallIcon(R.drawable.ic_call_end_white_24dp);
- NotificationChannelManager.applyChannel(builder, context, Channel.DEFAULT, null);
+ if (BuildCompat.isAtLeastO()) {
+ builder.setChannelId(NotificationChannelId.DEFAULT);
+ }
return builder;
}
@@ -234,21 +230,20 @@ public class SpamCallListListener implements CallList.Listener {
int thresholdForShowing = Spam.get(context).percentOfSpamNotificationsToShow();
if (thresholdForShowing == 0) {
LogUtil.d(
- TAG,
- "shouldThrottleSpamNotification, not showing - percentOfSpamNotificationsToShow is 0");
+ "SpamCallListListener.shouldThrottleSpamNotification",
+ "not showing - percentOfSpamNotificationsToShow is 0");
return true;
} else if (randomNumber < thresholdForShowing) {
LogUtil.d(
- TAG,
- "shouldThrottleSpamNotification, showing " + randomNumber + " < " + thresholdForShowing);
+ "SpamCallListListener.shouldThrottleSpamNotification",
+ "showing " + randomNumber + " < " + thresholdForShowing);
return false;
} else {
LogUtil.d(
- TAG,
- "shouldThrottleSpamNotification, not showing "
- + randomNumber
- + " >= "
- + thresholdForShowing);
+ "SpamCallListListener.shouldThrottleSpamNotification",
+ "not showing %d >= %d",
+ randomNumber,
+ thresholdForShowing);
return true;
}
}
@@ -257,15 +252,23 @@ public class SpamCallListListener implements CallList.Listener {
int randomNumber = random.nextInt(100);
int thresholdForShowing = Spam.get(context).percentOfNonSpamNotificationsToShow();
if (thresholdForShowing == 0) {
- LogUtil.d(TAG, "Not showing non spam notification: percentOfNonSpamNotificationsToShow is 0");
+ LogUtil.d(
+ "SpamCallListListener.shouldThrottleNonSpamNotification",
+ "not showing non spam notification: percentOfNonSpamNotificationsToShow is 0");
return true;
} else if (randomNumber < thresholdForShowing) {
LogUtil.d(
- TAG, "Showing non spam notification: " + randomNumber + " < " + thresholdForShowing);
+ "SpamCallListListener.shouldThrottleNonSpamNotification",
+ "showing non spam notification: %d < %d",
+ randomNumber,
+ thresholdForShowing);
return false;
} else {
LogUtil.d(
- TAG, "Not showing non spam notification:" + randomNumber + " >= " + thresholdForShowing);
+ "SpamCallListListener.shouldThrottleNonSpamNotification",
+ "not showing non spam notification: %d >= %d",
+ randomNumber,
+ thresholdForShowing);
return true;
}
}
diff --git a/java/com/android/incallui/speakerbuttonlogic/AndroidManifest.xml b/java/com/android/incallui/speakerbuttonlogic/AndroidManifest.xml
new file mode 100644
index 000000000..9557d0362
--- /dev/null
+++ b/java/com/android/incallui/speakerbuttonlogic/AndroidManifest.xml
@@ -0,0 +1,18 @@
+<!--
+ ~ 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
+ -->
+<manifest
+ package="com.android.incallui.speakerbuttonlogic">
+</manifest>
diff --git a/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java b/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java
new file mode 100644
index 000000000..5ab821be0
--- /dev/null
+++ b/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java
@@ -0,0 +1,91 @@
+/*
+ * 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
+ */
+
+package com.android.incallui.speakerbuttonlogic;
+
+import android.support.annotation.DrawableRes;
+import android.support.annotation.IntDef;
+import android.support.annotation.StringRes;
+import android.telecom.CallAudioState;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/** Info about how a "Speaker" button should be displayed */
+public class SpeakerButtonInfo {
+
+ // Testing note: most of this is exercised in ReturnToCallTest.java
+
+ /** Preferred size for icons */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({IconSize.SIZE_24_DP, IconSize.SIZE_36_DP})
+ public @interface IconSize {
+ int SIZE_24_DP = 1;
+ int SIZE_36_DP = 2;
+ }
+
+ @DrawableRes public final int icon;
+ @StringRes public final int contentDescription;
+ @StringRes public final int label;
+ public final boolean checkable;
+ public final boolean isChecked;
+
+ public SpeakerButtonInfo(CallAudioState audioState, @IconSize int iconSize) {
+ if ((audioState.getSupportedRouteMask() & CallAudioState.ROUTE_BLUETOOTH)
+ == CallAudioState.ROUTE_BLUETOOTH) {
+ checkable = false;
+ isChecked = false;
+ label = R.string.incall_label_audio;
+
+ if ((audioState.getRoute() & CallAudioState.ROUTE_BLUETOOTH)
+ == CallAudioState.ROUTE_BLUETOOTH) {
+ icon =
+ iconSize == IconSize.SIZE_36_DP
+ ? R.drawable.quantum_ic_bluetooth_audio_white_36
+ : R.drawable.quantum_ic_bluetooth_audio_white_24;
+ contentDescription = R.string.incall_content_description_bluetooth;
+ } else if ((audioState.getRoute() & CallAudioState.ROUTE_SPEAKER)
+ == CallAudioState.ROUTE_SPEAKER) {
+ icon =
+ iconSize == IconSize.SIZE_36_DP
+ ? R.drawable.quantum_ic_volume_up_white_36
+ : R.drawable.quantum_ic_volume_up_white_24;
+ contentDescription = R.string.incall_content_description_speaker;
+ } else if ((audioState.getRoute() & CallAudioState.ROUTE_WIRED_HEADSET)
+ == CallAudioState.ROUTE_WIRED_HEADSET) {
+ icon =
+ iconSize == IconSize.SIZE_36_DP
+ ? R.drawable.quantum_ic_headset_white_36
+ : R.drawable.quantum_ic_headset_white_24;
+ contentDescription = R.string.incall_content_description_headset;
+ } else {
+ icon =
+ iconSize == IconSize.SIZE_36_DP
+ ? R.drawable.quantum_ic_phone_in_talk_white_36
+ : R.drawable.quantum_ic_phone_in_talk_white_24;
+ contentDescription = R.string.incall_content_description_earpiece;
+ }
+ } else {
+ checkable = true;
+ isChecked = audioState.getRoute() == CallAudioState.ROUTE_SPEAKER;
+ label = R.string.incall_label_speaker;
+ icon =
+ iconSize == IconSize.SIZE_36_DP
+ ? R.drawable.quantum_ic_volume_up_white_36
+ : R.drawable.quantum_ic_volume_up_white_24;
+ contentDescription = R.string.incall_content_description_speaker;
+ }
+ }
+}
diff --git a/java/com/android/incallui/video/impl/SpeakerButtonController.java b/java/com/android/incallui/video/impl/SpeakerButtonController.java
index e12032abf..d98545feb 100644
--- a/java/com/android/incallui/video/impl/SpeakerButtonController.java
+++ b/java/com/android/incallui/video/impl/SpeakerButtonController.java
@@ -88,7 +88,7 @@ public class SpeakerButtonController implements OnCheckedChangeListener, OnClick
icon = R.drawable.quantum_ic_headset_white_36;
contentDescriptionResId = R.string.incall_content_description_headset;
} else {
- icon = R.drawable.ic_phone_audio_white_36dp;
+ icon = R.drawable.quantum_ic_phone_in_talk_white_36;
contentDescriptionResId = R.string.incall_content_description_earpiece;
}
} else {
diff --git a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
index b7a960e35..489f72b7d 100644
--- a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
@@ -495,7 +495,7 @@ public class SurfaceViewVideoCallFragment extends Fragment
}
private View[] getAllPreviewRelatedViews() {
- return new View[] {previewRoot};
+ return new View[] {previewRoot, mutePreviewOverlay};
}
private int getOffsetTop(View view) {
@@ -644,12 +644,6 @@ public class SurfaceViewVideoCallFragment extends Fragment
updateVideoOffViews();
}
- /**
- * This method scales the video feed inside the texture view, it doesn't change the texture view's
- * size. In the old UI we would change the view size to match the aspect ratio of the video. In
- * the new UI the view is always square (with the circular clip) so we have to do additional work
- * to make sure the non-square video doesn't look squished.
- */
@Override
public void onLocalVideoDimensionsChanged() {
LogUtil.i("SurfaceViewVideoCallFragment.onLocalVideoDimensionsChanged", null);
@@ -834,6 +828,9 @@ public class SurfaceViewVideoCallFragment extends Fragment
}
@Override
+ public void onAudioRouteSelectorDismiss() {}
+
+ @Override
public void setPrimary(@NonNull PrimaryInfo primaryInfo) {
LogUtil.i("SurfaceViewVideoCallFragment.setPrimary", primaryInfo.toString());
contactGridManager.setPrimary(primaryInfo);
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index 8e2f5aefd..609cb691e 100644
--- a/java/com/android/incallui/video/impl/VideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/VideoCallFragment.java
@@ -59,6 +59,7 @@ import android.widget.TextView;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.dialer.compat.ActivityCompat;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
@@ -121,6 +122,10 @@ public class VideoCallFragment extends Fragment
outline.setOval(x - radius, y - radius, x + radius, y + radius);
}
};
+
+ // Must use a named method reference as otherwise they do not match.
+ // https://stackoverflow.com/questions/28190304/two-exact-method-references-are-not-equal
+ private final Runnable updatePreviewVideoIfSafe = this::updatePreviewVideoScaling;
private InCallScreenDelegate inCallScreenDelegate;
private VideoCallScreenDelegate videoCallScreenDelegate;
private InCallButtonUiDelegate inCallButtonUiDelegate;
@@ -349,6 +354,9 @@ public class VideoCallFragment extends Fragment
super.onPause();
LogUtil.i("VideoCallFragment.onPause", null);
inCallScreenDelegate.onInCallScreenPaused();
+
+ // If this is scheduled we should remove it
+ ThreadUtil.getUiThreadHandler().removeCallbacks(updatePreviewVideoIfSafe);
}
@Override
@@ -665,22 +673,14 @@ public class VideoCallFragment extends Fragment
updateRemoteVideoScaling();
}
- /**
- * This method scales the video feed inside the texture view, it doesn't change the texture view's
- * size. In the old UI we would change the view size to match the aspect ratio of the video. In
- * the new UI the view is always square (with the circular clip) so we have to do additional work
- * to make sure the non-square video doesn't look squished.
- */
@Override
public void onLocalVideoDimensionsChanged() {
LogUtil.i("VideoCallFragment.onLocalVideoDimensionsChanged", null);
- updatePreviewVideoScaling();
}
@Override
public void onLocalVideoOrientationChanged() {
LogUtil.i("VideoCallFragment.onLocalVideoOrientationChanged", null);
- updatePreviewVideoScaling();
}
/** Called when the remote video's dimensions change. */
@@ -853,6 +853,9 @@ public class VideoCallFragment extends Fragment
}
@Override
+ public void onAudioRouteSelectorDismiss() {}
+
+ @Override
public void setPrimary(@NonNull PrimaryInfo primaryInfo) {
LogUtil.i("VideoCallFragment.setPrimary", primaryInfo.toString());
contactGridManager.setPrimary(primaryInfo);
@@ -1045,7 +1048,6 @@ public class VideoCallFragment extends Fragment
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
previewTextureView.setLayoutParams(params);
previewTextureView.setOutlineProvider(circleOutlineProvider);
- updatePreviewVideoScaling();
updateOverlayBackground();
contactGridManager.setIsMiddleRowVisible(false);
updateMutePreviewOverlayVisibility();
@@ -1053,6 +1055,9 @@ public class VideoCallFragment extends Fragment
previewOffBlurredImageView.setLayoutParams(params);
previewOffBlurredImageView.setOutlineProvider(circleOutlineProvider);
previewOffBlurredImageView.setClipToOutline(true);
+
+ // Wait until the layout pass has finished before updating the scaling
+ ThreadUtil.postOnUiThread(updatePreviewVideoIfSafe);
}
private void updateVideoOffViews() {
diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml
index c67246675..1a2bc2429 100644
--- a/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml
+++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml
@@ -14,7 +14,7 @@
~ See the License for the specific language governing permissions and
~ limitations under the License
-->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -32,7 +32,7 @@
android:id="@+id/videocall_remote_video_off"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="center"
+ android:layout_centerInParent="true"
android:accessibilityTraversalBefore="@+id/videocall_speaker_button"
android:drawablePadding="8dp"
android:drawableTop="@drawable/quantum_ic_videocam_off_white_36"
@@ -71,20 +71,23 @@
android:visibility="gone"
android:importantForAccessibility="no"
tools:visibility="visible"/>
-
- <ImageView
- android:id="@+id/videocall_video_preview_mute_overlay"
- android:layout_width="32dp"
- android:layout_height="32dp"
- android:layout_gravity="center"
- android:background="@drawable/videocall_background_circle_white"
- android:contentDescription="@string/incall_content_description_muted"
- android:scaleType="center"
- android:src="@drawable/quantum_ic_mic_off_black_24"
- android:visibility="gone"
- tools:visibility="visible"/>
</FrameLayout>
+ <ImageView
+ android:id="@+id/videocall_video_preview_mute_overlay"
+ android:layout_width="32dp"
+ android:layout_height="32dp"
+ android:layout_alignBottom="@id/videocall_preview_root"
+ android:layout_alignEnd="@id/videocall_preview_root"
+ android:layout_marginBottom="-8dp"
+ android:layout_marginEnd="-8dp"
+ android:background="@drawable/videocall_background_circle_white"
+ android:contentDescription="@string/incall_content_description_muted"
+ android:scaleType="center"
+ android:src="@drawable/quantum_ic_mic_off_black_24"
+ android:visibility="gone"
+ tools:visibility="visible"/>
+
<View
android:id="@+id/videocall_green_screen_background"
android:layout_width="match_parent"
@@ -102,4 +105,4 @@
android:layout_height="wrap_content"
android:layout_gravity="top"/>
-</FrameLayout>
+</RelativeLayout>
diff --git a/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml b/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml
index a53fb6404..e9e7f9e8b 100644
--- a/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml
+++ b/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml
@@ -19,5 +19,5 @@
<dimen name="videocall_button_size">72dp</dimen>
<dimen name="videocall_preview_width">88dp</dimen>
<dimen name="videocall_preview_height">88dp</dimen>
- <dimen name="videocall_preview_long">104dp</dimen>
+ <dimen name="videocall_preview_long">116dp</dimen>
</resources>
diff --git a/java/com/android/incallui/video/impl/res/values-land/dimens.xml b/java/com/android/incallui/video/impl/res/values-land/dimens.xml
index 6485735e2..d0a5e409a 100644
--- a/java/com/android/incallui/video/impl/res/values-land/dimens.xml
+++ b/java/com/android/incallui/video/impl/res/values-land/dimens.xml
@@ -15,5 +15,5 @@
~ limitations under the License
-->
<resources>
- <dimen name="videocall_preview_long">92dp</dimen>
+ <dimen name="videocall_preview_long">96dp</dimen>
</resources>
diff --git a/java/com/android/incallui/video/impl/res/values-land/styles.xml b/java/com/android/incallui/video/impl/res/values-land/styles.xml
index a809708df..f60dbd1d6 100644
--- a/java/com/android/incallui/video/impl/res/values-land/styles.xml
+++ b/java/com/android/incallui/video/impl/res/values-land/styles.xml
@@ -16,7 +16,8 @@
-->
<resources>
<style name="VideoPreviewHolder">
- <item name="android:layout_gravity">bottom|end</item>
+ <item name="android:layout_alignParentBottom">true</item>
+ <item name="android:layout_alignParentEnd">true</item>
<item name="android:layout_width">@dimen/videocall_preview_long</item>
<item name="android:layout_height">@dimen/videocall_preview_height</item>
<item name="android:layout_marginBottom">@dimen/videocall_preview_margin_bottom</item>
diff --git a/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml b/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml
index a53fb6404..e9e7f9e8b 100644
--- a/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml
+++ b/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml
@@ -19,5 +19,5 @@
<dimen name="videocall_button_size">72dp</dimen>
<dimen name="videocall_preview_width">88dp</dimen>
<dimen name="videocall_preview_height">88dp</dimen>
- <dimen name="videocall_preview_long">104dp</dimen>
+ <dimen name="videocall_preview_long">116dp</dimen>
</resources>
diff --git a/java/com/android/incallui/video/impl/res/values/dimens.xml b/java/com/android/incallui/video/impl/res/values/dimens.xml
index aa08c9d6d..606b158d9 100644
--- a/java/com/android/incallui/video/impl/res/values/dimens.xml
+++ b/java/com/android/incallui/video/impl/res/values/dimens.xml
@@ -17,7 +17,7 @@
<resources>
<dimen name="videocall_preview_width">72dp</dimen>
<dimen name="videocall_preview_height">72dp</dimen>
- <dimen name="videocall_preview_long">84dp</dimen>
+ <dimen name="videocall_preview_long">96dp</dimen>
<dimen name="videocall_preview_margin_bottom">24dp</dimen>
<dimen name="videocall_preview_margin_start">24dp</dimen>
<dimen name="videocall_preview_margin_end">24dp</dimen>
diff --git a/java/com/android/incallui/video/impl/res/values/styles.xml b/java/com/android/incallui/video/impl/res/values/styles.xml
index f73075f09..010aca2d1 100644
--- a/java/com/android/incallui/video/impl/res/values/styles.xml
+++ b/java/com/android/incallui/video/impl/res/values/styles.xml
@@ -23,7 +23,8 @@
<item name="android:stateListAnimator">@animator/disabled_alpha</item>
</style>
<style name="VideoPreviewHolder">
- <item name="android:layout_gravity">bottom|start</item>
+ <item name="android:layout_alignParentBottom">true</item>
+ <item name="android:layout_alignParentStart">true</item>
<item name="android:layout_width">@dimen/videocall_preview_width</item>
<item name="android:layout_height">@dimen/videocall_preview_long</item>
<item name="android:layout_marginBottom">@dimen/videocall_preview_margin_bottom</item>
diff --git a/java/com/android/incallui/videotech/VideoTech.java b/java/com/android/incallui/videotech/VideoTech.java
index 7da74c057..34c3e2ca9 100644
--- a/java/com/android/incallui/videotech/VideoTech.java
+++ b/java/com/android/incallui/videotech/VideoTech.java
@@ -17,6 +17,7 @@
package com.android.incallui.videotech;
import android.content.Context;
+import android.support.annotation.Nullable;
import com.android.incallui.video.protocol.VideoCallScreen;
import com.android.incallui.video.protocol.VideoCallScreenDelegate;
import com.android.incallui.videotech.utils.SessionModificationState;
@@ -41,6 +42,8 @@ public interface VideoTech {
void onCallStateChanged(Context context, int newState);
+ void onRemovedFromCallList();
+
@SessionModificationState
int getSessionModificationState();
@@ -62,7 +65,7 @@ public interface VideoTech {
void unpause();
- void setCamera(String cameraId);
+ void setCamera(@Nullable String cameraId);
void setDeviceOrientation(int rotation);
diff --git a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
index d0a111d62..85eb64ee4 100644
--- a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
+++ b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
@@ -17,6 +17,7 @@
package com.android.incallui.videotech.empty;
import android.content.Context;
+import android.support.annotation.Nullable;
import com.android.dialer.common.Assert;
import com.android.incallui.video.protocol.VideoCallScreen;
import com.android.incallui.video.protocol.VideoCallScreenDelegate;
@@ -56,6 +57,9 @@ public class EmptyVideoTech implements VideoTech {
public void onCallStateChanged(Context context, int newState) {}
@Override
+ public void onRemovedFromCallList() {}
+
+ @Override
public int getSessionModificationState() {
return SessionModificationState.NO_REQUEST;
}
@@ -90,7 +94,7 @@ public class EmptyVideoTech implements VideoTech {
public void unpause() {}
@Override
- public void setCamera(String cameraId) {}
+ public void setCamera(@Nullable String cameraId) {}
@Override
public void setDeviceOrientation(int rotation) {}
diff --git a/java/com/android/incallui/videotech/ims/ImsVideoTech.java b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
index 01e4bb84c..a6cef7b81 100644
--- a/java/com/android/incallui/videotech/ims/ImsVideoTech.java
+++ b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
@@ -18,6 +18,7 @@ package com.android.incallui.videotech.ims;
import android.content.Context;
import android.os.Build;
+import android.support.annotation.Nullable;
import android.telecom.Call;
import android.telecom.Call.Details;
import android.telecom.VideoProfile;
@@ -120,6 +121,9 @@ public class ImsVideoTech implements VideoTech {
}
@Override
+ public void onRemovedFromCallList() {}
+
+ @Override
public int getSessionModificationState() {
return sessionModificationState;
}
@@ -183,8 +187,6 @@ public class ImsVideoTech implements VideoTech {
public void stopTransmission() {
LogUtil.enterBlock("ImsVideoTech.stopTransmission");
- setCamera(null);
-
int unpausedVideoState = getUnpausedVideoState(call.getDetails().getVideoState());
call.getVideoCall()
.sendSessionModifyRequest(
@@ -235,7 +237,7 @@ public class ImsVideoTech implements VideoTech {
}
@Override
- public void setCamera(String cameraId) {
+ public void setCamera(@Nullable String cameraId) {
call.getVideoCall().setCamera(cameraId);
call.getVideoCall().requestCameraCapabilities();
}
@@ -248,7 +250,7 @@ public class ImsVideoTech implements VideoTech {
private boolean canPause() {
return call.getDetails().can(Details.CAPABILITY_CAN_PAUSE_VIDEO)
&& call.getState() == Call.STATE_ACTIVE
- && isTransmitting();
+ && isTransmittingOrReceiving();
}
static int getUnpausedVideoState(int videoState) {
diff --git a/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java b/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
index e49d0b84d..55ee2db21 100644
--- a/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
+++ b/java/com/android/incallui/videotech/lightbringer/LightbringerTech.java
@@ -17,9 +17,13 @@
package com.android.incallui.videotech.lightbringer;
import android.content.Context;
+import android.os.Build;
import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
import android.telecom.Call;
+import com.android.contacts.common.compat.telecom.TelecomManagerCompat;
import com.android.dialer.common.Assert;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.lightbringer.Lightbringer;
import com.android.dialer.lightbringer.LightbringerListener;
import com.android.incallui.video.protocol.VideoCallScreen;
@@ -30,15 +34,18 @@ import com.android.incallui.videotech.utils.SessionModificationState;
public class LightbringerTech implements VideoTech, LightbringerListener {
private final Lightbringer lightbringer;
private final VideoTechListener listener;
+ private final Call call;
private final String callingNumber;
private int callState = Call.STATE_NEW;
public LightbringerTech(
@NonNull Lightbringer lightbringer,
@NonNull VideoTechListener listener,
+ @NonNull Call call,
@NonNull String callingNumber) {
this.lightbringer = Assert.isNotNull(lightbringer);
this.listener = Assert.isNotNull(listener);
+ this.call = Assert.isNotNull(call);
this.callingNumber = Assert.isNotNull(callingNumber);
lightbringer.registerListener(this);
@@ -46,7 +53,11 @@ public class LightbringerTech implements VideoTech, LightbringerListener {
@Override
public boolean isAvailable(Context context) {
- return callState == Call.STATE_ACTIVE && lightbringer.isReachable(context, callingNumber);
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
+ && ConfigProviderBindings.get(context).getBoolean("enable_lightbringer_video_upgrade", true)
+ && callState == Call.STATE_ACTIVE
+ && lightbringer.supportsUpgrade(context, callingNumber)
+ && TelecomManagerCompat.supportsHandover();
}
@Override
@@ -80,13 +91,16 @@ public class LightbringerTech implements VideoTech, LightbringerListener {
}
@Override
+ public void onRemovedFromCallList() {}
+
+ @Override
public int getSessionModificationState() {
return SessionModificationState.NO_REQUEST;
}
@Override
public void upgradeToVideo() {
- // TODO: upgrade to a video call
+ lightbringer.requestUpgrade(call);
}
@Override
@@ -120,17 +134,13 @@ public class LightbringerTech implements VideoTech, LightbringerListener {
}
@Override
- public void pause() {
- throw Assert.createUnsupportedOperationFailException();
- }
+ public void pause() {}
@Override
- public void unpause() {
- throw Assert.createUnsupportedOperationFailException();
- }
+ public void unpause() {}
@Override
- public void setCamera(String cameraId) {
+ public void setCamera(@Nullable String cameraId) {
throw Assert.createUnsupportedOperationFailException();
}
diff --git a/java/com/android/voicemail/permissions.xml b/java/com/android/voicemail/AndroidManifest.xml
index bedf06898..aedfd6fbf 100644
--- a/java/com/android/voicemail/permissions.xml
+++ b/java/com/android/voicemail/AndroidManifest.xml
@@ -1,3 +1,18 @@
+<!--
+ ~ 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
+ -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.voicemailomtp">
diff --git a/java/com/android/voicemail/impl/AndroidManifest.xml b/java/com/android/voicemail/impl/AndroidManifest.xml
index 95e6e8212..be7dac10d 100644
--- a/java/com/android/voicemail/impl/AndroidManifest.xml
+++ b/java/com/android/voicemail/impl/AndroidManifest.xml
@@ -97,6 +97,11 @@
android:exported="false"/>
<service
+ android:name="com.android.voicemail.impl.transcribe.TranscriptionService"
+ android:permission="android.permission.BIND_JOB_SERVICE"
+ android:exported="false"/>
+
+ <service
android:name="com.android.voicemail.impl.OmtpService"
android:permission="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
android:exported="true"
diff --git a/java/com/android/voicemail/impl/OmtpReceiver.java b/java/com/android/voicemail/impl/OmtpReceiver.java
deleted file mode 100644
index 9baf95415..000000000
--- a/java/com/android/voicemail/impl/OmtpReceiver.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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
- */
-
-package com.android.voicemail.impl;
-
-import android.annotation.TargetApi;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Build.VERSION_CODES;
-import android.telecom.PhoneAccountHandle;
-import android.telephony.VisualVoicemailSms;
-import com.android.dialer.common.Assert;
-import com.android.dialer.logging.DialerImpression;
-import com.android.dialer.logging.Logger;
-import com.android.voicemail.VoicemailComponent;
-import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
-import com.android.voicemail.impl.sync.VvmAccountManager;
-
-/** Listens to com.android.phone.vvm.ACTION_TEMP_VISUAL_VOICEMAIL_SERVICE_EVENT */
-@TargetApi(VERSION_CODES.O)
-public class OmtpReceiver extends BroadcastReceiver {
-
- private static final String TAG = "VvmOmtpReceiver";
-
- public static final String ACTION_SMS_RECEIVED = "com.android.vociemailomtp.sms.sms_received";
-
- public static final String EXTRA_VOICEMAIL_SMS = "extra_voicemail_sms";
-
- private static final String EXTRA_WHAT = "what";
-
- private static final int MSG_ON_CELL_SERVICE_CONNECTED = 1;
-
- private static final int MSG_ON_SMS_RECEIVED = 2;
-
- private static final int MSG_ON_SIM_REMOVED = 3;
-
- private static final int MSG_TASK_STOPPED = 5;
-
- private static final String DATA_PHONE_ACCOUNT_HANDLE = "data_phone_account_handle";
-
- private static final String DATA_SMS = "data_sms";
-
- @Override
- public void onReceive(Context context, Intent intent) {
- // ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT is not a protected broadcast pre-O.
- if (!VoicemailComponent.get(context).getVoicemailClient().isVoicemailModuleEnabled()) {
- VvmLog.e(TAG, "ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT received when module is disabled");
- return;
- }
-
- int what = intent.getIntExtra(EXTRA_WHAT, -1);
- PhoneAccountHandle phoneAccountHandle = intent.getParcelableExtra(DATA_PHONE_ACCOUNT_HANDLE);
- OmtpVvmCarrierConfigHelper config = new OmtpVvmCarrierConfigHelper(context, phoneAccountHandle);
- if (!config.isValid()) {
- VvmLog.i(TAG, "VVM not supported on " + phoneAccountHandle);
- return;
- }
- if (!VisualVoicemailSettingsUtil.isEnabled(context, phoneAccountHandle)
- && !config.isLegacyModeEnabled()) {
- VvmLog.i(TAG, "VVM is disabled");
- return;
- }
- switch (what) {
- case MSG_ON_CELL_SERVICE_CONNECTED:
- VvmLog.i(TAG, "onCellServiceConnected");
- Logger.get(context).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
- ActivationTask.start(context, phoneAccountHandle, null);
- break;
- case MSG_ON_SMS_RECEIVED:
- VvmLog.i(TAG, "onSmsReceived");
- Logger.get(context).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
- VisualVoicemailSms sms = intent.getParcelableExtra(DATA_SMS);
- Intent receivedIntent = new Intent(ACTION_SMS_RECEIVED);
- receivedIntent.setPackage(context.getPackageName());
- receivedIntent.putExtra(EXTRA_VOICEMAIL_SMS, sms);
- context.sendBroadcast(receivedIntent);
- break;
- case MSG_ON_SIM_REMOVED:
- VvmLog.i(TAG, "onSimRemoved");
- Logger.get(context).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
- VvmAccountManager.removeAccount(context, phoneAccountHandle);
- break;
- case MSG_TASK_STOPPED:
- VvmLog.i(TAG, "onStopped");
- Logger.get(context).logImpression(DialerImpression.Type.VVM_UNBUNDLED_EVENT_RECEIVED);
- break;
- default:
- throw Assert.createIllegalStateFailException("unexpected what: " + what);
- }
- }
-}
diff --git a/java/com/android/voicemail/impl/TelephonyManagerStub.java b/java/com/android/voicemail/impl/TelephonyManagerStub.java
deleted file mode 100644
index 4762e9023..000000000
--- a/java/com/android/voicemail/impl/TelephonyManagerStub.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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
- */
-
-package com.android.voicemail.impl;
-
-import android.annotation.TargetApi;
-import android.os.Build.VERSION_CODES;
-
-/**
- * Temporary stub for public APIs that should be added into telephony manager.
- *
- * <p>TODO(b/32637799) remove this.
- */
-@TargetApi(VERSION_CODES.O)
-public class TelephonyManagerStub {
-
- public static void showVoicemailNotification(int voicemailCount) {}
-
- /**
- * Dismisses the message waiting (voicemail) indicator.
- *
- * @param subId the subscription id we should dismiss the notification for.
- */
- public static void clearMwiIndicator(int subId) {}
-
- public static void setShouldCheckVisualVoicemailConfigurationForMwi(int subId, boolean enabled) {}
-}
diff --git a/java/com/android/voicemail/impl/TelephonyVvmConfigManager.java b/java/com/android/voicemail/impl/TelephonyVvmConfigManager.java
index b4def2fc3..046113c26 100644
--- a/java/com/android/voicemail/impl/TelephonyVvmConfigManager.java
+++ b/java/com/android/voicemail/impl/TelephonyVvmConfigManager.java
@@ -21,7 +21,7 @@ import android.os.PersistableBundle;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.util.ArrayMap;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.voicemail.impl.utils.XmlUtils;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/java/com/android/voicemail/impl/VoicemailClientImpl.java b/java/com/android/voicemail/impl/VoicemailClientImpl.java
index 83c0523bf..83ce6c588 100644
--- a/java/com/android/voicemail/impl/VoicemailClientImpl.java
+++ b/java/com/android/voicemail/impl/VoicemailClientImpl.java
@@ -24,8 +24,8 @@ import android.support.v4.os.BuildCompat;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.voicemail.VisualVoicemailTypeExtensions;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
diff --git a/java/com/android/voicemail/impl/VoicemailModule.java b/java/com/android/voicemail/impl/VoicemailModule.java
index 5a4e739f5..e689e47d2 100644
--- a/java/com/android/voicemail/impl/VoicemailModule.java
+++ b/java/com/android/voicemail/impl/VoicemailModule.java
@@ -18,6 +18,7 @@ package com.android.voicemail.impl;
import android.content.Context;
import android.support.v4.os.BuildCompat;
+import com.android.dialer.inject.ApplicationContext;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.VoicemailPermissionHelper;
import com.android.voicemail.stub.StubVoicemailClient;
@@ -31,7 +32,7 @@ public final class VoicemailModule {
@Provides
@Singleton
- static VoicemailClient provideVoicemailClient(Context context) {
+ static VoicemailClient provideVoicemailClient(@ApplicationContext Context context) {
if (!BuildCompat.isAtLeastO()) {
VvmLog.i("VoicemailModule.provideVoicemailClient", "SDK below O");
return new StubVoicemailClient();
diff --git a/java/com/android/voicemail/impl/VvmPackageInstallReceiver.java b/java/com/android/voicemail/impl/VvmPackageInstallReceiver.java
deleted file mode 100644
index 1e2de6070..000000000
--- a/java/com/android/voicemail/impl/VvmPackageInstallReceiver.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.voicemail.impl;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import com.android.voicemail.VoicemailComponent;
-import com.android.voicemail.impl.settings.VisualVoicemailSettingsUtil;
-
-/**
- * When a new package is installed, check if it matches any of the vvm carrier apps of the currently
- * enabled dialer VVM sources. The dialer VVM client will be disabled upon carrier VVM app
- * installation, unless it was explicitly enabled by the user.
- */
-public class VvmPackageInstallReceiver extends BroadcastReceiver {
-
- private static final String TAG = "VvmPkgInstallReceiver";
-
- @Override
- public void onReceive(Context context, Intent intent) {
- if (!VoicemailComponent.get(context).getVoicemailClient().isVoicemailModuleEnabled()) {
- return;
- }
-
- if (intent.getData() == null) {
- return;
- }
-
- String packageName = intent.getData().getSchemeSpecificPart();
- if (packageName == null) {
- return;
- }
-
- // This get called every time an app is installed and will be noisy. Don't log until the app
- // is identified as a carrier VVM app.
- for (PhoneAccountHandle phoneAccount :
- context.getSystemService(TelecomManager.class).getCallCapablePhoneAccounts()) {
- OmtpVvmCarrierConfigHelper carrierConfigHelper =
- new OmtpVvmCarrierConfigHelper(context, phoneAccount);
- if (!carrierConfigHelper.isValid()) {
- continue;
- }
- if (carrierConfigHelper.getCarrierVvmPackageNames() == null) {
- continue;
- }
- if (!carrierConfigHelper.getCarrierVvmPackageNames().contains(packageName)) {
- continue;
- }
-
- VvmLog.i(TAG, "Carrier app installed");
- if (VisualVoicemailSettingsUtil.isEnabledUserSet(context, phoneAccount)) {
- // Skip the check if this voicemail source's setting is overridden by the user.
- VvmLog.i(TAG, "VVM enabled by user, not disabling");
- continue;
- }
-
- // Force deactivate the client. The user can re-enable it in the settings.
- // There is no need to update the settings for deactivation. At this point, if the
- // default value is used it should be false because a carrier package is present.
- VvmLog.i(TAG, "Carrier VVM package installed, disabling system VVM client");
- VisualVoicemailSettingsUtil.setEnabled(context, phoneAccount, false);
- }
- }
-}
diff --git a/java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java b/java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java
new file mode 100644
index 000000000..448c69356
--- /dev/null
+++ b/java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java
@@ -0,0 +1,254 @@
+/*
+ * 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
+ */
+
+package com.google.internal.communications.voicemailtranscription.v1;
+
+import static io.grpc.stub.ClientCalls.asyncUnaryCall;
+import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
+import static io.grpc.stub.ClientCalls.blockingUnaryCall;
+import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
+import static io.grpc.stub.ClientCalls.futureUnaryCall;
+import static io.grpc.MethodDescriptor.generateFullMethodName;
+import static io.grpc.stub.ServerCalls.asyncUnaryCall;
+import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
+import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
+
+/**
+ * <pre>
+ * RPC service for transcribing voicemails.
+ * </pre>
+ */
+@javax.annotation.Generated(
+ value = "by gRPC proto compiler (version 1.0.3)",
+ comments = "Source: voicemail_transcription.proto")
+public class VoicemailTranscriptionServiceGrpc {
+
+ private VoicemailTranscriptionServiceGrpc() {}
+
+ public static final String SERVICE_NAME = "google.internal.communications.voicemailtranscription.v1.VoicemailTranscriptionService";
+
+ // Static method descriptors that strictly reflect the proto.
+ @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
+ public static final io.grpc.MethodDescriptor<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest,
+ com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse> METHOD_TRANSCRIBE_VOICEMAIL =
+ io.grpc.MethodDescriptor.create(
+ io.grpc.MethodDescriptor.MethodType.UNARY,
+ generateFullMethodName(
+ "google.internal.communications.voicemailtranscription.v1.VoicemailTranscriptionService", "TranscribeVoicemail"),
+ io.grpc.protobuf.lite.ProtoLiteUtils.marshaller(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest.getDefaultInstance()),
+ io.grpc.protobuf.lite.ProtoLiteUtils.marshaller(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse.getDefaultInstance()));
+
+ /**
+ * Creates a new async stub that supports all call types for the service
+ */
+ public static VoicemailTranscriptionServiceStub newStub(io.grpc.Channel channel) {
+ return new VoicemailTranscriptionServiceStub(channel);
+ }
+
+ /**
+ * Creates a new blocking-style stub that supports unary and streaming output calls on the service
+ */
+ public static VoicemailTranscriptionServiceBlockingStub newBlockingStub(
+ io.grpc.Channel channel) {
+ return new VoicemailTranscriptionServiceBlockingStub(channel);
+ }
+
+ /**
+ * Creates a new ListenableFuture-style stub that supports unary and streaming output calls on the service
+ */
+ public static VoicemailTranscriptionServiceFutureStub newFutureStub(
+ io.grpc.Channel channel) {
+ return new VoicemailTranscriptionServiceFutureStub(channel);
+ }
+
+ /**
+ * <pre>
+ * RPC service for transcribing voicemails.
+ * </pre>
+ */
+ public static abstract class VoicemailTranscriptionServiceImplBase implements io.grpc.BindableService {
+
+ /**
+ * <pre>
+ * Returns a transcript of the given voicemail.
+ * </pre>
+ */
+ public void transcribeVoicemail(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest request,
+ io.grpc.stub.StreamObserver<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse> responseObserver) {
+ asyncUnimplementedUnaryCall(METHOD_TRANSCRIBE_VOICEMAIL, responseObserver);
+ }
+
+ @java.lang.Override public io.grpc.ServerServiceDefinition bindService() {
+ return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
+ .addMethod(
+ METHOD_TRANSCRIBE_VOICEMAIL,
+ asyncUnaryCall(
+ new MethodHandlers<
+ com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest,
+ com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse>(
+ this, METHODID_TRANSCRIBE_VOICEMAIL)))
+ .build();
+ }
+ }
+
+ /**
+ * <pre>
+ * RPC service for transcribing voicemails.
+ * </pre>
+ */
+ public static final class VoicemailTranscriptionServiceStub extends io.grpc.stub.AbstractStub<VoicemailTranscriptionServiceStub> {
+ private VoicemailTranscriptionServiceStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private VoicemailTranscriptionServiceStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected VoicemailTranscriptionServiceStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new VoicemailTranscriptionServiceStub(channel, callOptions);
+ }
+
+ /**
+ * <pre>
+ * Returns a transcript of the given voicemail.
+ * </pre>
+ */
+ public void transcribeVoicemail(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest request,
+ io.grpc.stub.StreamObserver<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse> responseObserver) {
+ asyncUnaryCall(
+ getChannel().newCall(METHOD_TRANSCRIBE_VOICEMAIL, getCallOptions()), request, responseObserver);
+ }
+ }
+
+ /**
+ * <pre>
+ * RPC service for transcribing voicemails.
+ * </pre>
+ */
+ public static final class VoicemailTranscriptionServiceBlockingStub extends io.grpc.stub.AbstractStub<VoicemailTranscriptionServiceBlockingStub> {
+ private VoicemailTranscriptionServiceBlockingStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private VoicemailTranscriptionServiceBlockingStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected VoicemailTranscriptionServiceBlockingStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new VoicemailTranscriptionServiceBlockingStub(channel, callOptions);
+ }
+
+ /**
+ * <pre>
+ * Returns a transcript of the given voicemail.
+ * </pre>
+ */
+ public com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse transcribeVoicemail(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest request) {
+ return blockingUnaryCall(
+ getChannel(), METHOD_TRANSCRIBE_VOICEMAIL, getCallOptions(), request);
+ }
+ }
+
+ /**
+ * <pre>
+ * RPC service for transcribing voicemails.
+ * </pre>
+ */
+ public static final class VoicemailTranscriptionServiceFutureStub extends io.grpc.stub.AbstractStub<VoicemailTranscriptionServiceFutureStub> {
+ private VoicemailTranscriptionServiceFutureStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private VoicemailTranscriptionServiceFutureStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected VoicemailTranscriptionServiceFutureStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new VoicemailTranscriptionServiceFutureStub(channel, callOptions);
+ }
+
+ /**
+ * <pre>
+ * Returns a transcript of the given voicemail.
+ * </pre>
+ */
+ public com.google.common.util.concurrent.ListenableFuture<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse> transcribeVoicemail(
+ com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest request) {
+ return futureUnaryCall(
+ getChannel().newCall(METHOD_TRANSCRIBE_VOICEMAIL, getCallOptions()), request);
+ }
+ }
+
+ private static final int METHODID_TRANSCRIBE_VOICEMAIL = 0;
+
+ private static class MethodHandlers<Req, Resp> implements
+ io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
+ private final VoicemailTranscriptionServiceImplBase serviceImpl;
+ private final int methodId;
+
+ public MethodHandlers(VoicemailTranscriptionServiceImplBase serviceImpl, int methodId) {
+ this.serviceImpl = serviceImpl;
+ this.methodId = methodId;
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("unchecked")
+ public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
+ switch (methodId) {
+ case METHODID_TRANSCRIBE_VOICEMAIL:
+ serviceImpl.transcribeVoicemail((com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest) request,
+ (io.grpc.stub.StreamObserver<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse>) responseObserver);
+ break;
+ default:
+ throw new AssertionError();
+ }
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("unchecked")
+ public io.grpc.stub.StreamObserver<Req> invoke(
+ io.grpc.stub.StreamObserver<Resp> responseObserver) {
+ switch (methodId) {
+ default:
+ throw new AssertionError();
+ }
+ }
+ }
+
+ public static io.grpc.ServiceDescriptor getServiceDescriptor() {
+ return new io.grpc.ServiceDescriptor(SERVICE_NAME,
+ METHOD_TRANSCRIBE_VOICEMAIL);
+ }
+
+}
diff --git a/java/com/android/voicemail/impl/fetch/VoicemailFetchedCallback.java b/java/com/android/voicemail/impl/fetch/VoicemailFetchedCallback.java
index f386fce0e..d15ce12ef 100644
--- a/java/com/android/voicemail/impl/fetch/VoicemailFetchedCallback.java
+++ b/java/com/android/voicemail/impl/fetch/VoicemailFetchedCallback.java
@@ -23,9 +23,12 @@ import android.provider.VoicemailContract.Voicemails;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.voicemail.impl.R;
import com.android.voicemail.impl.VvmLog;
import com.android.voicemail.impl.imap.VoicemailPayload;
+import com.android.voicemail.impl.transcribe.TranscriptionService;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
@@ -56,6 +59,7 @@ public class VoicemailFetchedCallback {
* @param voicemailPayload The object containing the content data for the voicemail
*/
public void setVoicemailContent(@Nullable VoicemailPayload voicemailPayload) {
+ Assert.isWorkerThread();
if (voicemailPayload == null) {
VvmLog.i(TAG, "Payload not found, message has unsupported format");
ContentValues values = new ContentValues();
@@ -90,13 +94,23 @@ public class VoicemailFetchedCallback {
ContentValues values = new ContentValues();
values.put(Voicemails.MIME_TYPE, voicemailPayload.getMimeType());
values.put(Voicemails.HAS_CONTENT, true);
- updateVoicemail(values);
+ if (updateVoicemail(values)) {
+ ThreadUtil.postOnUiThread(
+ () -> {
+ if (!TranscriptionService.transcribeVoicemail(mContext, mUri)) {
+ VvmLog.w(TAG, String.format("Failed to schedule transcription for %s", mUri));
+ }
+ });
+ }
}
- private void updateVoicemail(ContentValues values) {
+ private boolean updateVoicemail(ContentValues values) {
int updatedCount = mContentResolver.update(mUri, values, null, null);
if (updatedCount != 1) {
VvmLog.e(TAG, "Updating voicemail should have updated 1 row, was: " + updatedCount);
+ return false;
+ } else {
+ return true;
}
}
}
diff --git a/java/com/android/voicemail/impl/imap/ImapHelper.java b/java/com/android/voicemail/impl/imap/ImapHelper.java
index f1bc8b221..94abe9bad 100644
--- a/java/com/android/voicemail/impl/imap/ImapHelper.java
+++ b/java/com/android/voicemail/impl/imap/ImapHelper.java
@@ -251,13 +251,18 @@ public class ImapHelper implements Closeable {
long time = messageDetails.getSentDate().getTime();
String number = getNumber(messageDetails.getFrom());
boolean isRead = Arrays.asList(messageDetails.getFlags()).contains(Flag.SEEN);
- return Voicemail.createForInsertion(time, number)
- .setPhoneAccount(mPhoneAccount)
- .setSourcePackage(mContext.getPackageName())
- .setSourceData(messageDetails.getUid())
- .setIsRead(isRead)
- .setTranscription(listener.getVoicemailTranscription())
- .build();
+ Long duration = messageDetails.getDuration();
+ Voicemail.Builder builder =
+ Voicemail.createForInsertion(time, number)
+ .setPhoneAccount(mPhoneAccount)
+ .setSourcePackage(mContext.getPackageName())
+ .setSourceData(messageDetails.getUid())
+ .setIsRead(isRead)
+ .setTranscription(listener.getVoicemailTranscription());
+ if (duration != null) {
+ builder.setDuration(duration);
+ }
+ return builder.build();
}
/**
diff --git a/java/com/android/voicemail/impl/mail/MailTransport.java b/java/com/android/voicemail/impl/mail/MailTransport.java
index 3df36d544..00339f03d 100644
--- a/java/com/android/voicemail/impl/mail/MailTransport.java
+++ b/java/com/android/voicemail/impl/mail/MailTransport.java
@@ -17,7 +17,9 @@ package com.android.voicemail.impl.mail;
import android.content.Context;
import android.net.Network;
+import android.net.TrafficStats;
import android.support.annotation.VisibleForTesting;
+import com.android.dialer.constants.TrafficStatsTags;
import com.android.voicemail.impl.OmtpEvents;
import com.android.voicemail.impl.imap.ImapHelper;
import com.android.voicemail.impl.mail.store.ImapStore;
@@ -188,6 +190,7 @@ public class MailTransport {
try {
LogUtils.v(TAG, "createSocket: network specified");
+ TrafficStats.setThreadStatsTag(TrafficStatsTags.VISUAL_VOICEMAIL_TAG);
return mNetwork.getSocketFactory().createSocket();
} catch (IOException ioe) {
LogUtils.d(TAG, ioe.toString());
diff --git a/java/com/android/voicemail/impl/mail/Message.java b/java/com/android/voicemail/impl/mail/Message.java
index aea5d3ead..ca65d3d73 100644
--- a/java/com/android/voicemail/impl/mail/Message.java
+++ b/java/com/android/voicemail/impl/mail/Message.java
@@ -15,6 +15,7 @@
*/
package com.android.voicemail.impl.mail;
+import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import java.util.Date;
import java.util.HashSet;
@@ -64,6 +65,9 @@ public abstract class Message implements Part, Body {
public abstract void setSentDate(Date sentDate) throws MessagingException;
+ @Nullable
+ public abstract Long getDuration() throws MessagingException;
+
public abstract Address[] getRecipients(String type) throws MessagingException;
public abstract void setRecipients(String type, Address[] addresses) throws MessagingException;
diff --git a/java/com/android/voicemail/impl/mail/internet/MimeHeader.java b/java/com/android/voicemail/impl/mail/internet/MimeHeader.java
index d41cdb3e4..8f0817650 100644
--- a/java/com/android/voicemail/impl/mail/internet/MimeHeader.java
+++ b/java/com/android/voicemail/impl/mail/internet/MimeHeader.java
@@ -36,6 +36,7 @@ public class MimeHeader {
public static final String HEADER_CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding";
public static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition";
public static final String HEADER_CONTENT_ID = "Content-ID";
+ public static final String HEADER_CONTENT_DURATION = "Content-Duration";
/** Fields that should be omitted when writing the header using writeTo() */
private static final String[] WRITE_OMIT_FIELDS = {
diff --git a/java/com/android/voicemail/impl/mail/internet/MimeMessage.java b/java/com/android/voicemail/impl/mail/internet/MimeMessage.java
index 589720660..39378a092 100644
--- a/java/com/android/voicemail/impl/mail/internet/MimeMessage.java
+++ b/java/com/android/voicemail/impl/mail/internet/MimeMessage.java
@@ -15,7 +15,9 @@
*/
package com.android.voicemail.impl.mail.internet;
+import android.support.annotation.Nullable;
import android.text.TextUtils;
+import com.android.voicemail.impl.VvmLog;
import com.android.voicemail.impl.mail.Address;
import com.android.voicemail.impl.mail.Body;
import com.android.voicemail.impl.mail.BodyPart;
@@ -197,6 +199,28 @@ public class MimeMessage extends Message {
}
@Override
+ @Nullable
+ public Long getDuration() {
+ String durationHeader = null;
+ try {
+ durationHeader = getFirstHeader(MimeHeader.HEADER_CONTENT_DURATION);
+ } catch (MessagingException e) {
+ VvmLog.e("MimeMessage.getDuration", "cannot retrieve header: ", e);
+ return null;
+ }
+ if (durationHeader == null) {
+ VvmLog.w("MimeMessage.getDuration", "message missing Content-Duration header");
+ return null;
+ }
+ try {
+ return Long.valueOf(durationHeader);
+ } catch (NumberFormatException e) {
+ VvmLog.w("MimeMessage.getDuration", "cannot parse duration " + durationHeader);
+ return null;
+ }
+ }
+
+ @Override
public String getContentType() throws MessagingException {
final String contentType = getFirstHeader(MimeHeader.HEADER_CONTENT_TYPE);
if (contentType == null) {
diff --git a/java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java b/java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java
index 88ec0ed90..fd56952d7 100644
--- a/java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java
+++ b/java/com/android/voicemail/impl/mail/store/imap/ImapConstants.java
@@ -27,7 +27,7 @@ public final class ImapConstants {
public static final String FETCH_FIELD_BODY_PEEK_SANE =
String.format(Locale.US, "BODY.PEEK[]<0.%d>", ImapStore.FETCH_BODY_SANE_SUGGESTED_SIZE);
public static final String FETCH_FIELD_HEADERS =
- "BODY.PEEK[HEADER.FIELDS (date subject from content-type to cc message-id)]";
+ "BODY.PEEK[HEADER.FIELDS (date subject from content-type to cc message-id content-duration)]";
public static final String ALERT = "ALERT";
public static final String APPEND = "APPEND";
diff --git a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
index 1cdbbfbca..d9a06494e 100644
--- a/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
+++ b/java/com/android/voicemail/impl/protocol/Vvm3Subscriber.java
@@ -31,7 +31,7 @@ import android.text.Html;
import android.text.Spanned;
import android.text.style.URLSpan;
import android.util.ArrayMap;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.voicemail.impl.ActivationTask;
import com.android.voicemail.impl.Assert;
import com.android.voicemail.impl.OmtpEvents;
diff --git a/java/com/android/voicemail/impl/res/xml/vvm_config.xml b/java/com/android/voicemail/impl/res/xml/vvm_config.xml
index b03115abb..2bac66be5 100644
--- a/java/com/android/voicemail/impl/res/xml/vvm_config.xml
+++ b/java/com/android/voicemail/impl/res/xml/vvm_config.xml
@@ -21,75 +21,6 @@
<item value="TEST"/>
</string-array>
</pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Orange Belgium -->
- <string name="feature_flag_name">vvm_carrier_flag_20610</string>
- <string-array name="mccmnc">
- <item value="20610"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="0"/>
- <string name="vvm_destination_number_string">8082</string>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <!-- Carrier VVM app com.orange.vvm only supports Orange FR-->
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- b/32365569 -->
- <item value="STARTTLS"/>
- </string-array>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Orange France -->
- <string-array name="mccmnc">
- <item value="20801"/>
- <item value="20802"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="20481"/>
- <string name="vvm_destination_number_string">21101</string>
- <string-array name="carrier_vvm_package_name_string_array">
- <item value="com.orange.vvm"/>
- </string-array>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- b/32365569 -->
- <item value="STARTTLS"/>
- </string-array>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Orange Luxembourg -->
- <string name="feature_flag_name">vvm_carrier_flag_27099</string>
- <string-array name="mccmnc">
- <item value="27099"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="0"/>
- <string name="vvm_destination_number_string">64085</string>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <!-- Carrier VVM app com.orange.vvm only supports Orange FR-->
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- b/32365569 -->
- <item value="STARTTLS"/>
- </string-array>
- </pbundle_as_map>
-
<pbundle_as_map>
<!-- T-Mobile USA-->
<string-array name="mccmnc">
diff --git a/java/com/android/voicemail/impl/scheduling/TaskSchedulerService.java b/java/com/android/voicemail/impl/scheduling/TaskSchedulerService.java
deleted file mode 100644
index 5ad2447de..000000000
--- a/java/com/android/voicemail/impl/scheduling/TaskSchedulerService.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- * Copyright (C) 2016 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.voicemail.impl.scheduling;
-
-import android.annotation.TargetApi;
-import android.app.Service;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Binder;
-import android.os.Build.VERSION_CODES;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.IBinder;
-import android.os.Looper;
-import android.os.Message;
-import android.support.annotation.MainThread;
-import android.support.annotation.Nullable;
-import android.support.annotation.VisibleForTesting;
-import android.support.annotation.WorkerThread;
-import com.android.voicemail.impl.Assert;
-import com.android.voicemail.impl.NeededForTesting;
-import com.android.voicemail.impl.VvmLog;
-import com.android.voicemail.impl.scheduling.TaskQueue.NextTask;
-import java.util.List;
-
-/**
- * A service to queue and run {@link Task} with the {@link android.app.job.JobScheduler}. A task is
- * queued using {@link Context#startService(Intent)}. The intent should contain enough information
- * in {@link Intent#getExtras()} to construct the task (see {@link Tasks#createIntent(Context,
- * Class)}).
- *
- * <p>All tasks are ran in the background with a wakelock being held by the {@link
- * android.app.job.JobScheduler}, which is between {@link #onStartJob(Job, List)} and {@link
- * #finishJob()}. The {@link TaskSchedulerJobService} also has a {@link TaskQueue}, but the data is
- * stored in the {@link android.app.job.JobScheduler} instead of the process memory, so if the
- * process is killed the queued tasks will be restored. If a new task is added, a new {@link
- * TaskSchedulerJobService} will be scheduled to run the task. If the job is already scheduled, the
- * new task will be pushed into the queue of the scheduled job. If the job is already running, the
- * job will be queued in process memory.
- *
- * <p>Only one task will be ran at a time, and same task cannot exist in the queue at the same time.
- * Refer to {@link TaskQueue} for queuing and execution order.
- *
- * <p>If there are still tasks in the queue but none are executable immediately, the service will
- * enter a "sleep", pushing all remaining task into a new job and end the current job.
- *
- * <p>The service will be started when a intent is received, and stopped when there are no more
- * tasks in the queue.
- *
- * <p>{@link android.app.job.JobScheduler} is not used directly due to:
- *
- * <ul>
- * <li>The {@link android.telecom.PhoneAccountHandle} used to differentiate task can not be easily
- * mapped into an integer for job id
- * <li>A job cannot be mutated to store information such as retry count.
- * </ul>
- */
-@SuppressWarnings("AndroidApiChecker") /* stream() */
-@TargetApi(VERSION_CODES.O)
-public class TaskSchedulerService extends Service {
-
- interface Job {
- void finish();
- }
-
- private static final String TAG = "VvmTaskScheduler";
-
- private static final int READY_TOLERANCE_MILLISECONDS = 100;
-
- /**
- * Threshold to determine whether to do a short or long sleep when a task is scheduled in the
- * future.
- *
- * <p>A short sleep will continue the job and use {@link Handler#postDelayed(Runnable, long)} to
- * wait for the next task.
- *
- * <p>A long sleep will finish the job and schedule a new one. The exact execution time is
- * subjected to {@link android.app.job.JobScheduler} battery optimization, and is not exact.
- */
- private static final int SHORT_SLEEP_THRESHOLD_MILLISECONDS = 10_000;
- /**
- * When there are no more tasks to be run the service should be stopped. But when all tasks has
- * finished there might still be more tasks in the message queue waiting to be processed,
- * especially the ones submitted in {@link Task#onCompleted()}. Wait for a while before stopping
- * the service to make sure there are no pending messages.
- */
- private static final int STOP_DELAY_MILLISECONDS = 5_000;
-
- // The thread to run tasks on
- private volatile WorkerThreadHandler mWorkerThreadHandler;
-
- /**
- * Used by tests to turn task handling into a single threaded process by calling {@link
- * Handler#handleMessage(Message)} directly
- */
- private MessageSender mMessageSender = new MessageSender();
-
- private MainThreadHandler mMainThreadHandler;
-
- // Binder given to clients
- private final IBinder mBinder = new LocalBinder();
-
- /** Main thread only, access through {@link #getTasks()} */
- private final TaskQueue mTasks = new TaskQueue();
-
- private boolean mWorkerThreadIsBusy = false;
-
- private Job mJob;
-
- private final Runnable mStopServiceWithDelay =
- new Runnable() {
- @MainThread
- @Override
- public void run() {
- VvmLog.i(TAG, "Stopping service");
- finishJob();
- stopSelf();
- }
- };
-
- /** Should attempt to run the next task when a task has finished or been added. */
- private boolean mTaskAutoRunDisabledForTesting = false;
-
- @VisibleForTesting
- final class WorkerThreadHandler extends Handler {
-
- public WorkerThreadHandler(Looper looper) {
- super(looper);
- }
-
- @Override
- @WorkerThread
- public void handleMessage(Message msg) {
- Assert.isNotMainThread();
- Task task = (Task) msg.obj;
- try {
- VvmLog.i(TAG, "executing task " + task);
- task.onExecuteInBackgroundThread();
- } catch (Throwable throwable) {
- VvmLog.e(TAG, "Exception while executing task " + task + ":", throwable);
- }
-
- Message schedulerMessage = mMainThreadHandler.obtainMessage();
- schedulerMessage.obj = task;
- mMessageSender.send(schedulerMessage);
- }
- }
-
- @VisibleForTesting
- final class MainThreadHandler extends Handler {
-
- public MainThreadHandler(Looper looper) {
- super(looper);
- }
-
- @Override
- @MainThread
- public void handleMessage(Message msg) {
- Assert.isMainThread();
- Task task = (Task) msg.obj;
- getTasks().remove(task);
- task.onCompleted();
- mWorkerThreadIsBusy = false;
- maybeRunNextTask();
- }
- }
-
- @Override
- @MainThread
- public void onCreate() {
- super.onCreate();
- HandlerThread thread = new HandlerThread("VvmTaskSchedulerService");
- thread.start();
-
- mWorkerThreadHandler = new WorkerThreadHandler(thread.getLooper());
- mMainThreadHandler = new MainThreadHandler(Looper.getMainLooper());
- }
-
- @Override
- public void onDestroy() {
- mWorkerThreadHandler.getLooper().quit();
- }
-
- @Override
- @MainThread
- public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
- Assert.isMainThread();
- if (intent == null) {
- VvmLog.w(TAG, "null intent received");
- return START_NOT_STICKY;
- }
- Task task = Tasks.createTask(this, intent.getExtras());
- Assert.isTrue(task != null);
- addTask(task);
-
- mMainThreadHandler.removeCallbacks(mStopServiceWithDelay);
- VvmLog.i(TAG, "task added");
- if (mJob == null) {
- scheduleJob(0, true);
- } else {
- maybeRunNextTask();
- }
- // STICKY means the service will be automatically restarted will the last intent if it is
- // killed.
- return START_NOT_STICKY;
- }
-
- @MainThread
- @VisibleForTesting
- void addTask(Task task) {
- Assert.isMainThread();
- getTasks().add(task);
- }
-
- @MainThread
- @VisibleForTesting
- TaskQueue getTasks() {
- Assert.isMainThread();
- return mTasks;
- }
-
- @MainThread
- private void maybeRunNextTask() {
- Assert.isMainThread();
- if (mWorkerThreadIsBusy) {
- return;
- }
- if (mTaskAutoRunDisabledForTesting) {
- // If mTaskAutoRunDisabledForTesting is true, runNextTask() must be explicitly called
- // to run the next task.
- return;
- }
-
- runNextTask();
- }
-
- @VisibleForTesting
- @MainThread
- void runNextTask() {
- Assert.isMainThread();
- if (getTasks().isEmpty()) {
- prepareStop();
- return;
- }
- NextTask nextTask = getTasks().getNextTask(READY_TOLERANCE_MILLISECONDS);
-
- if (nextTask.task != null) {
- nextTask.task.onBeforeExecute();
- Message message = mWorkerThreadHandler.obtainMessage();
- message.obj = nextTask.task;
- mWorkerThreadIsBusy = true;
- mMessageSender.send(message);
- return;
- }
- VvmLog.i(TAG, "minimal wait time:" + nextTask.minimalWaitTimeMillis);
- if (!mTaskAutoRunDisabledForTesting && nextTask.minimalWaitTimeMillis != null) {
- // No tasks are currently ready. Sleep until the next one should be.
- // If a new task is added during the sleep the service will wake immediately.
- sleep(nextTask.minimalWaitTimeMillis);
- }
- }
-
- @MainThread
- private void sleep(long timeMillis) {
- VvmLog.i(TAG, "sleep for " + timeMillis + " millis");
- if (timeMillis < SHORT_SLEEP_THRESHOLD_MILLISECONDS) {
- mMainThreadHandler.postDelayed(
- new Runnable() {
- @Override
- public void run() {
- maybeRunNextTask();
- }
- },
- timeMillis);
- return;
- }
- finishJob();
- mMainThreadHandler.post(() -> scheduleJob(timeMillis, false));
- }
-
- private List<Bundle> serializePendingTasks() {
- return getTasks().toBundles();
- }
-
- private void prepareStop() {
- VvmLog.i(
- TAG,
- "no more tasks, stopping service if no task are added in "
- + STOP_DELAY_MILLISECONDS
- + " millis");
- mMainThreadHandler.postDelayed(mStopServiceWithDelay, STOP_DELAY_MILLISECONDS);
- }
-
- @NeededForTesting
- static class MessageSender {
-
- public void send(Message message) {
- message.sendToTarget();
- }
- }
-
- @NeededForTesting
- void setTaskAutoRunDisabledForTest(boolean value) {
- mTaskAutoRunDisabledForTesting = value;
- }
-
- @NeededForTesting
- void setMessageSenderForTest(MessageSender sender) {
- mMessageSender = sender;
- }
-
- /**
- * The {@link TaskSchedulerJobService} has started and all queued task should be executed in the
- * worker thread.
- */
- @MainThread
- public void onStartJob(Job job, List<Bundle> pendingTasks) {
- VvmLog.i(TAG, "onStartJob");
- mJob = job;
- mTasks.fromBundles(this, pendingTasks);
- maybeRunNextTask();
- }
-
- /**
- * The {@link TaskSchedulerJobService} is being terminated by the system (timeout or network
- * lost). A new job will be queued to resume all pending tasks. The current unfinished job may be
- * ran again.
- */
- @MainThread
- public void onStopJob() {
- VvmLog.e(TAG, "onStopJob");
- if (isJobRunning()) {
- finishJob();
- mMainThreadHandler.post(() -> scheduleJob(0, true));
- }
- }
-
- /**
- * Serializes all pending tasks and schedule a new {@link TaskSchedulerJobService}.
- *
- * @param delayMillis the delay before stating the job, see {@link
- * android.app.job.JobInfo.Builder#setMinimumLatency(long)}. This must be 0 if {@code
- * isNewJob} is true.
- * @param isNewJob a new job will be requested to run immediately, bypassing all requirements.
- */
- @MainThread
- private void scheduleJob(long delayMillis, boolean isNewJob) {
- Assert.isMainThread();
- TaskSchedulerJobService.scheduleJob(this, serializePendingTasks(), delayMillis, isNewJob);
- mTasks.clear();
- }
-
- /**
- * Signals {@link TaskSchedulerJobService} the current session of tasks has finished, and the wake
- * lock can be released. Note: this only takes effect after the main thread has been returned. If
- * a new job need to be scheduled, it should be posted on the main thread handler instead of
- * calling directly.
- */
- @MainThread
- private void finishJob() {
- Assert.isMainThread();
- VvmLog.i(TAG, "finishing Job");
- mJob.finish();
- mJob = null;
- }
-
- @Override
- @Nullable
- public IBinder onBind(Intent intent) {
- return mBinder;
- }
-
- @NeededForTesting
- class LocalBinder extends Binder {
-
- @NeededForTesting
- public TaskSchedulerService getService() {
- return TaskSchedulerService.this;
- }
- }
-
- private boolean isJobRunning() {
- return mJob != null;
- }
-}
diff --git a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
index ac5f3cac9..4860649b3 100644
--- a/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
+++ b/java/com/android/voicemail/impl/settings/VoicemailSettingsFragment.java
@@ -22,6 +22,7 @@ import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
+import android.provider.Settings;
import android.support.annotation.Nullable;
import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
@@ -29,7 +30,6 @@ import com.android.dialer.common.Assert;
import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.notification.NotificationChannelManager;
-import com.android.dialer.notification.NotificationChannelManager.Channel;
import com.android.voicemail.VoicemailClient;
import com.android.voicemail.VoicemailComponent;
import com.android.voicemail.impl.OmtpVvmCarrierConfigHelper;
@@ -43,8 +43,7 @@ import com.android.voicemail.impl.sync.VvmAccountManager;
*/
@TargetApi(VERSION_CODES.O)
public class VoicemailSettingsFragment extends PreferenceFragment
- implements Preference.OnPreferenceChangeListener,
- VvmAccountManager.Listener {
+ implements Preference.OnPreferenceChangeListener, VvmAccountManager.Listener {
private static final String TAG = "VmSettingsActivity";
@@ -83,9 +82,8 @@ public class VoicemailSettingsFragment extends PreferenceFragment
voicemailNotificationPreference =
findPreference(getString(R.string.voicemail_notifications_key));
- voicemailNotificationPreference.setIntent(
- NotificationChannelManager.getInstance()
- .getSettingsIntentForChannel(getContext(), Channel.VOICEMAIL, phoneAccountHandle));
+ voicemailNotificationPreference.setIntent(getNotificationSettingsIntent());
+
voicemailNotificationPreference.setOnPreferenceClickListener(
new OnPreferenceClickListener() {
@Override
@@ -233,4 +231,12 @@ public class VoicemailSettingsFragment extends PreferenceFragment
updateChangePin();
}
}
+
+ private Intent getNotificationSettingsIntent() {
+ String channelId =
+ NotificationChannelManager.getVoicemailChannelId(getContext(), phoneAccountHandle);
+ return new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
+ .putExtra(Settings.EXTRA_CHANNEL_ID, channelId)
+ .putExtra(Settings.EXTRA_APP_PACKAGE, getContext().getPackageName());
+ }
}
diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java b/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java
new file mode 100644
index 000000000..0c83615b4
--- /dev/null
+++ b/java/com/android/voicemail/impl/transcribe/TranscriptionConfigProvider.java
@@ -0,0 +1,62 @@
+/*
+ * 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
+ */
+package com.android.voicemail.impl.transcribe;
+
+import android.content.Context;
+import com.android.dialer.configprovider.ConfigProviderBindings;
+
+/** Provides configuration values needed to connect to the transcription server. */
+public class TranscriptionConfigProvider {
+ private final Context context;
+
+ public TranscriptionConfigProvider(Context context) {
+ this.context = context;
+ }
+
+ public boolean isVoicemailTranscriptionEnabled() {
+ return ConfigProviderBindings.get(context).getBoolean("voicemail_transcription_enabled", false);
+ }
+
+ public String getServerAddress() {
+ // Private voicemail transcription service
+ return ConfigProviderBindings.get(context)
+ .getString(
+ "voicemail_transcription_server_address", "voicemailtranscription-pa.googleapis.com");
+ }
+
+ public String getApiKey() {
+ // Android API key restricted to com.google.android.dialer
+ return ConfigProviderBindings.get(context)
+ .getString(
+ "voicemail_transcription_client_api_key", "AIzaSyAXdDnif6B7sBYxU8hzw9qAp3pRPVHs060");
+ }
+
+ public String getAuthToken() {
+ return null;
+ }
+
+ public boolean shouldUsePlaintext() {
+ return ConfigProviderBindings.get(context)
+ .getBoolean("voicemail_transcription_server_use_plaintext", false);
+ }
+
+ @Override
+ public String toString() {
+ return String.format(
+ "{ address: %s, api key: %s, auth token: %s, plaintext: %b }",
+ getServerAddress(), getApiKey(), getAuthToken(), shouldUsePlaintext());
+ }
+}
diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionDbHelper.java b/java/com/android/voicemail/impl/transcribe/TranscriptionDbHelper.java
new file mode 100644
index 000000000..cbc5cb8a0
--- /dev/null
+++ b/java/com/android/voicemail/impl/transcribe/TranscriptionDbHelper.java
@@ -0,0 +1,105 @@
+/*
+ * 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
+ */
+package com.android.voicemail.impl.transcribe;
+
+import android.annotation.TargetApi;
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Build.VERSION_CODES;
+import android.provider.VoicemailContract.Voicemails;
+import android.support.annotation.WorkerThread;
+import android.support.v4.os.BuildCompat;
+import android.util.Pair;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+
+/** Helper class for reading and writing transcription data in the database */
+@TargetApi(VERSION_CODES.O)
+public class TranscriptionDbHelper {
+ private static final String[] PROJECTION =
+ new String[] {
+ Voicemails.TRANSCRIPTION, // 0
+ VoicemailCompat.TRANSCRIPTION_STATE // 1
+ };
+
+ public static final int TRANSCRIPTION = 0;
+ public static final int TRANSCRIPTION_STATE = 1;
+
+ private final ContentResolver contentResolver;
+ private final Uri uri;
+
+ TranscriptionDbHelper(Context context, Uri uri) {
+ Assert.isNotNull(uri);
+ this.contentResolver = context.getContentResolver();
+ this.uri = uri;
+ }
+
+ @WorkerThread
+ @TargetApi(VERSION_CODES.M) // used for try with resources
+ Pair<String, Integer> getTranscriptionAndState() {
+ Assert.checkArgument(BuildCompat.isAtLeastO());
+ Assert.isWorkerThread();
+ try (Cursor cursor = contentResolver.query(uri, PROJECTION, null, null, null)) {
+ if (cursor == null) {
+ LogUtil.e("TranscriptionDbHelper.getTranscriptionAndState", "query failed.");
+ return null;
+ }
+
+ if (cursor.moveToFirst()) {
+ String transcription = cursor.getString(TRANSCRIPTION);
+ int transcriptionState = cursor.getInt(TRANSCRIPTION_STATE);
+ return new Pair<>(transcription, transcriptionState);
+ }
+ }
+ LogUtil.i("TranscriptionDbHelper.getTranscriptionAndState", "query returned no results");
+ return null;
+ }
+
+ @WorkerThread
+ void setTranscriptionState(int transcriptionState) {
+ Assert.isWorkerThread();
+ LogUtil.i(
+ "TranscriptionDbHelper.setTranscriptionState",
+ "uri: " + uri + ", state: " + transcriptionState);
+ ContentValues values = new ContentValues();
+ values.put(VoicemailCompat.TRANSCRIPTION_STATE, transcriptionState);
+ updateDatabase(values);
+ }
+
+ @WorkerThread
+ void setTranscriptionAndState(String transcription, int transcriptionState) {
+ Assert.isWorkerThread();
+ LogUtil.i(
+ "TranscriptionDbHelper.setTranscriptionAndState",
+ "uri: " + uri + ", state: " + transcriptionState);
+ ContentValues values = new ContentValues();
+ values.put(Voicemails.TRANSCRIPTION, transcription);
+ values.put(VoicemailCompat.TRANSCRIPTION_STATE, transcriptionState);
+ updateDatabase(values);
+ }
+
+ private void updateDatabase(ContentValues values) {
+ int updatedCount = contentResolver.update(uri, values, null, null);
+ if (updatedCount != 1) {
+ LogUtil.e(
+ "TranscriptionDbHelper.updateDatabase",
+ "Wrong row count, should have updated 1 row, was: " + updatedCount);
+ }
+ }
+}
diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionService.java b/java/com/android/voicemail/impl/transcribe/TranscriptionService.java
new file mode 100644
index 000000000..3e80a7f59
--- /dev/null
+++ b/java/com/android/voicemail/impl/transcribe/TranscriptionService.java
@@ -0,0 +1,203 @@
+/*
+ * 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
+ */
+package com.android.voicemail.impl.transcribe;
+
+import android.app.job.JobInfo;
+import android.app.job.JobParameters;
+import android.app.job.JobScheduler;
+import android.app.job.JobService;
+import android.app.job.JobWorkItem;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.StrictMode;
+import android.support.annotation.MainThread;
+import android.support.annotation.VisibleForTesting;
+import android.support.v4.os.BuildCompat;
+import android.text.TextUtils;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.constants.ScheduledJobIds;
+import com.android.voicemail.impl.transcribe.grpc.TranscriptionClientFactory;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * Job scheduler callback for launching voicemail transcription tasks. The transcription tasks will
+ * run in the background and will typically last for approximately the length of the voicemail audio
+ * (since thats how long the backend transcription service takes to do the transcription).
+ */
+public class TranscriptionService extends JobService {
+ @VisibleForTesting static final String EXTRA_VOICEMAIL_URI = "extra_voicemail_uri";
+
+ private ExecutorService executorService;
+ private JobParameters jobParameters;
+ private TranscriptionClientFactory clientFactory;
+ private TranscriptionConfigProvider configProvider;
+ private StrictMode.VmPolicy originalPolicy;
+
+ /** Callback used by a task to indicate it has finished processing its work item */
+ interface JobCallback {
+ void onWorkCompleted(JobWorkItem completedWorkItem);
+ }
+
+ // Schedule a task to transcribe the indicated voicemail, return true if transcription task was
+ // scheduled.
+ public static boolean transcribeVoicemail(Context context, Uri voicemailUri) {
+ Assert.isMainThread();
+ if (BuildCompat.isAtLeastO()) {
+ LogUtil.i("TranscriptionService.transcribeVoicemail", "scheduling transcription");
+ ComponentName componentName = new ComponentName(context, TranscriptionService.class);
+ JobInfo.Builder builder =
+ new JobInfo.Builder(ScheduledJobIds.VVM_TRANSCRIPTION_JOB, componentName)
+ .setMinimumLatency(0)
+ .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
+ JobScheduler scheduler = context.getSystemService(JobScheduler.class);
+ JobWorkItem workItem = makeWorkItem(voicemailUri);
+ return scheduler.enqueue(builder.build(), workItem) == JobScheduler.RESULT_SUCCESS;
+ } else {
+ LogUtil.i("TranscriptionService.transcribeVoicemail", "not supported");
+ return false;
+ }
+ }
+
+ // Cancel all transcription tasks
+ public static void cancelTranscriptions(Context context) {
+ Assert.isMainThread();
+ LogUtil.enterBlock("TranscriptionService.cancelTranscriptions");
+ JobScheduler scheduler = context.getSystemService(JobScheduler.class);
+ scheduler.cancel(ScheduledJobIds.VVM_TRANSCRIPTION_JOB);
+ }
+
+ public TranscriptionService() {
+ Assert.isMainThread();
+ }
+
+ @VisibleForTesting
+ TranscriptionService(
+ ExecutorService executorService,
+ TranscriptionClientFactory clientFactory,
+ TranscriptionConfigProvider configProvider) {
+ this.executorService = executorService;
+ this.clientFactory = clientFactory;
+ this.configProvider = configProvider;
+ }
+
+ @Override
+ public boolean onStartJob(JobParameters params) {
+ Assert.isMainThread();
+ LogUtil.enterBlock("TranscriptionService.onStartJob");
+ if (!getConfigProvider().isVoicemailTranscriptionEnabled()) {
+ LogUtil.i("TranscriptionService.onStartJob", "transcription not enabled, exiting.");
+ return false;
+ } else if (TextUtils.isEmpty(getConfigProvider().getServerAddress())) {
+ LogUtil.i("TranscriptionService.onStartJob", "transcription server not configured, exiting.");
+ return false;
+ } else {
+ LogUtil.i(
+ "TranscriptionService.onStartJob",
+ "transcription server address: " + configProvider.getServerAddress());
+ originalPolicy = StrictMode.getVmPolicy();
+ StrictMode.enableDefaults();
+ jobParameters = params;
+ return checkForWork();
+ }
+ }
+
+ @Override
+ public boolean onStopJob(JobParameters params) {
+ Assert.isMainThread();
+ LogUtil.enterBlock("TranscriptionService.onStopJob");
+ cleanup();
+ return true;
+ }
+
+ @Override
+ public void onDestroy() {
+ Assert.isMainThread();
+ LogUtil.enterBlock("TranscriptionService.onDestroy");
+ cleanup();
+ }
+
+ private void cleanup() {
+ if (clientFactory != null) {
+ clientFactory.shutdown();
+ clientFactory = null;
+ }
+ if (executorService != null) {
+ executorService.shutdownNow();
+ executorService = null;
+ }
+ if (originalPolicy != null) {
+ StrictMode.setVmPolicy(originalPolicy);
+ originalPolicy = null;
+ }
+ }
+
+ @MainThread
+ private boolean checkForWork() {
+ Assert.isMainThread();
+ JobWorkItem workItem = jobParameters.dequeueWork();
+ if (workItem != null) {
+ getExecutorService()
+ .execute(new TranscriptionTask(this, new Callback(), workItem, getClientFactory()));
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ private ExecutorService getExecutorService() {
+ if (executorService == null) {
+ // The common use case is transcribing a single voicemail so just use a single thread executor
+ // The reason we're not using DialerExecutor here is because the transcription task can be
+ // very long running (ie. multiple minutes).
+ executorService = Executors.newSingleThreadExecutor();
+ }
+ return executorService;
+ }
+
+ private class Callback implements JobCallback {
+ @Override
+ public void onWorkCompleted(JobWorkItem completedWorkItem) {
+ Assert.isMainThread();
+ LogUtil.i("TranscriptionService.Callback.onWorkCompleted", completedWorkItem.toString());
+ jobParameters.completeWork(completedWorkItem);
+ checkForWork();
+ }
+ }
+
+ private static JobWorkItem makeWorkItem(Uri voicemailUri) {
+ Intent intent = new Intent();
+ intent.putExtra(EXTRA_VOICEMAIL_URI, voicemailUri);
+ return new JobWorkItem(intent);
+ }
+
+ private TranscriptionConfigProvider getConfigProvider() {
+ if (configProvider == null) {
+ configProvider = new TranscriptionConfigProvider(this);
+ }
+ return configProvider;
+ }
+
+ private TranscriptionClientFactory getClientFactory() {
+ if (clientFactory == null) {
+ clientFactory = new TranscriptionClientFactory(this, getConfigProvider());
+ }
+ return clientFactory;
+ }
+}
diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionTask.java b/java/com/android/voicemail/impl/transcribe/TranscriptionTask.java
new file mode 100644
index 000000000..0fbc33ad5
--- /dev/null
+++ b/java/com/android/voicemail/impl/transcribe/TranscriptionTask.java
@@ -0,0 +1,191 @@
+/*
+ * 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
+ */
+package com.android.voicemail.impl.transcribe;
+
+import android.annotation.TargetApi;
+import android.app.job.JobWorkItem;
+import android.content.Context;
+import android.net.Uri;
+import android.text.TextUtils;
+import com.android.dialer.common.concurrent.ThreadUtil;
+import com.android.voicemail.impl.VvmLog;
+import com.android.voicemail.impl.transcribe.TranscriptionService.JobCallback;
+import com.android.voicemail.impl.transcribe.grpc.TranscriptionClient;
+import com.android.voicemail.impl.transcribe.grpc.TranscriptionClientFactory;
+import com.google.internal.communications.voicemailtranscription.v1.AudioFormat;
+import com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest;
+import com.google.protobuf.ByteString;
+import io.grpc.Status;
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * Background task to get a voicemail transcription and update the database.
+ *
+ * <pre>
+ * This task performs the following steps:
+ * 1. Update the transcription-state in the database to 'in-progress'
+ * 2. Create grpc client and transcription request
+ * 3. Make synchronous grpc transcription request to backend server
+ * 3a. On response
+ * Update the database with transcription (if successful) and new transcription-state
+ * 3b. On network error
+ * If retry-count < max then increment retry-count and retry the request
+ * Otherwise update the transcription-state in the database to 'transcription-failed'
+ * 4. Notify the callback that the work item is complete
+ * </pre>
+ */
+public class TranscriptionTask implements Runnable {
+ private static final String TAG = "TranscriptionTask";
+
+ private final Context context;
+ private final JobCallback callback;
+ private final JobWorkItem workItem;
+ private final TranscriptionClientFactory clientFactory;
+ private final Uri voicemailUri;
+ private final TranscriptionDbHelper databaseHelper;
+ private ByteString audioData;
+ private AudioFormat encoding;
+
+ private static final int MAX_RETRIES = 2;
+ static final String AMR_PREFIX = "#!AMR\n";
+
+ public TranscriptionTask(
+ Context context,
+ JobCallback callback,
+ JobWorkItem workItem,
+ TranscriptionClientFactory clientFactory) {
+ this.context = context;
+ this.callback = callback;
+ this.workItem = workItem;
+ this.clientFactory = clientFactory;
+ this.voicemailUri = getVoicemailUri(workItem);
+ databaseHelper = new TranscriptionDbHelper(context, voicemailUri);
+ }
+
+ @Override
+ public void run() {
+ VvmLog.i(TAG, "run");
+ if (readAndValidateAudioFile()) {
+ updateTranscriptionState(VoicemailCompat.TRANSCRIPTION_IN_PROGRESS);
+ transcribeVoicemail();
+ } else {
+ updateTranscriptionState(VoicemailCompat.TRANSCRIPTION_FAILED);
+ }
+ ThreadUtil.postOnUiThread(
+ () -> {
+ callback.onWorkCompleted(workItem);
+ });
+ }
+
+ private void transcribeVoicemail() {
+ VvmLog.i(TAG, "transcribeVoicemail");
+ TranscribeVoicemailRequest request = makeRequest();
+ TranscriptionClient client = clientFactory.getClient();
+ String transcript = null;
+ for (int i = 0; transcript == null && i < MAX_RETRIES; i++) {
+ VvmLog.i(TAG, "transcribeVoicemail, try: " + (i + 1));
+ TranscriptionClient.TranscriptionResponseWrapper responseWrapper =
+ client.transcribeVoicemail(request);
+ if (responseWrapper.status != null) {
+ VvmLog.i(TAG, "transcribeVoicemail, status: " + responseWrapper.status.getCode());
+ if (shouldRetryRequest(responseWrapper.status)) {
+ backoff(i);
+ } else {
+ break;
+ }
+ } else if (responseWrapper.response != null) {
+ if (!TextUtils.isEmpty(responseWrapper.response.getTranscript())) {
+ VvmLog.i(TAG, "transcribeVoicemail, got response");
+ transcript = responseWrapper.response.getTranscript();
+ } else {
+ VvmLog.i(TAG, "transcribeVoicemail, empty transcription");
+ }
+ } else {
+ VvmLog.w(TAG, "transcribeVoicemail, no response");
+ }
+ }
+
+ int newState =
+ (transcript == null)
+ ? VoicemailCompat.TRANSCRIPTION_FAILED
+ : VoicemailCompat.TRANSCRIPTION_AVAILABLE;
+ updateTranscriptionAndState(transcript, newState);
+ }
+
+ private static boolean shouldRetryRequest(Status status) {
+ return status.getCode() == Status.Code.UNAVAILABLE;
+ }
+
+ private static void backoff(int retryCount) {
+ VvmLog.i(TAG, "backoff, count: " + retryCount);
+ try {
+ long millis = (1 << retryCount) * 1000;
+ Thread.sleep(millis);
+ } catch (InterruptedException e) {
+ VvmLog.w(TAG, "interrupted");
+ Thread.currentThread().interrupt();
+ }
+ }
+
+ private void updateTranscriptionAndState(String transcript, int newState) {
+ databaseHelper.setTranscriptionAndState(transcript, newState);
+ }
+
+ private void updateTranscriptionState(int newState) {
+ databaseHelper.setTranscriptionState(newState);
+ }
+
+ private TranscribeVoicemailRequest makeRequest() {
+ return TranscribeVoicemailRequest.newBuilder()
+ .setVoicemailData(audioData)
+ .setAudioFormat(encoding)
+ .build();
+ }
+
+ // Uses try-with-resource
+ @TargetApi(android.os.Build.VERSION_CODES.M)
+ private boolean readAndValidateAudioFile() {
+ if (voicemailUri == null) {
+ VvmLog.i(TAG, "Transcriber.readAndValidateAudioFile, file not found.");
+ return false;
+ } else {
+ VvmLog.i(TAG, "Transcriber.readAndValidateAudioFile, reading: " + voicemailUri);
+ }
+
+ try (InputStream in = context.getContentResolver().openInputStream(voicemailUri)) {
+ audioData = ByteString.readFrom(in);
+ VvmLog.i(TAG, "Transcriber.readAndValidateAudioFile, read " + audioData.size() + " bytes");
+ } catch (IOException e) {
+ VvmLog.e(TAG, "Transcriber.readAndValidateAudioFile", e);
+ return false;
+ }
+
+ if (audioData.startsWith(ByteString.copyFromUtf8(AMR_PREFIX))) {
+ encoding = AudioFormat.AMR_NB_8KHZ;
+ } else {
+ VvmLog.i(TAG, "Transcriber.readAndValidateAudioFile, unknown encoding");
+ encoding = AudioFormat.AUDIO_FORMAT_UNSPECIFIED;
+ return false;
+ }
+
+ return true;
+ }
+
+ private static Uri getVoicemailUri(JobWorkItem workItem) {
+ return workItem.getIntent().getParcelableExtra(TranscriptionService.EXTRA_VOICEMAIL_URI);
+ }
+}
diff --git a/java/com/android/voicemail/impl/transcribe/VoicemailCompat.java b/java/com/android/voicemail/impl/transcribe/VoicemailCompat.java
new file mode 100644
index 000000000..c6e30c6de
--- /dev/null
+++ b/java/com/android/voicemail/impl/transcribe/VoicemailCompat.java
@@ -0,0 +1,59 @@
+/*
+ * 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
+ */
+package com.android.voicemail.impl.transcribe;
+
+/**
+ * Provide access to new API constants before they're publicly available
+ *
+ * <p>Copied from android.provider.VoicemailContract.Voicemails. These should become public in O-MR1
+ * and these constants can be removed then.
+ */
+public class VoicemailCompat {
+
+ /**
+ * The state of the voicemail transcription.
+ *
+ * <p>Possible values: {@link #TRANSCRIPTION_NOT_STARTED}, {@link #TRANSCRIPTION_IN_PROGRESS},
+ * {@link #TRANSCRIPTION_FAILED}, {@link #TRANSCRIPTION_AVAILABLE}.
+ *
+ * <p>Type: INTEGER
+ */
+ public static final String TRANSCRIPTION_STATE = "transcription_state";
+
+ /**
+ * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has not yet been
+ * attempted.
+ */
+ public static final int TRANSCRIPTION_NOT_STARTED = 0;
+
+ /**
+ * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has begun but is not yet
+ * complete.
+ */
+ public static final int TRANSCRIPTION_IN_PROGRESS = 1;
+
+ /**
+ * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has been attempted and
+ * failed.
+ */
+ public static final int TRANSCRIPTION_FAILED = 2;
+
+ /**
+ * Value of {@link #TRANSCRIPTION_STATE} when the voicemail transcription has completed and the
+ * result has been stored in the {@link #TRANSCRIPTION} column.
+ */
+ public static final int TRANSCRIPTION_AVAILABLE = 3;
+}
diff --git a/java/com/android/voicemail/impl/transcribe/grpc/TranscriptionClient.java b/java/com/android/voicemail/impl/transcribe/grpc/TranscriptionClient.java
new file mode 100644
index 000000000..27603d910
--- /dev/null
+++ b/java/com/android/voicemail/impl/transcribe/grpc/TranscriptionClient.java
@@ -0,0 +1,61 @@
+/*
+ * 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
+ */
+package com.android.voicemail.impl.transcribe.grpc;
+
+import android.support.annotation.Nullable;
+import android.support.annotation.WorkerThread;
+import com.android.dialer.common.Assert;
+import com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest;
+import com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse;
+import com.google.internal.communications.voicemailtranscription.v1.VoicemailTranscriptionServiceGrpc;
+import io.grpc.Status;
+import io.grpc.StatusRuntimeException;
+
+/** Wrapper around Grpc transcription server stub */
+public class TranscriptionClient {
+
+ private final VoicemailTranscriptionServiceGrpc.VoicemailTranscriptionServiceBlockingStub stub;
+
+ /** Wraps the server response and status objects, either of which may be null. */
+ public static class TranscriptionResponseWrapper {
+ public final TranscribeVoicemailResponse response;
+ public final Status status;
+
+ public TranscriptionResponseWrapper(
+ @Nullable TranscribeVoicemailResponse response, @Nullable Status status) {
+ Assert.checkArgument(!(response == null && status == null));
+ this.response = response;
+ this.status = status;
+ }
+ }
+
+ TranscriptionClient(
+ VoicemailTranscriptionServiceGrpc.VoicemailTranscriptionServiceBlockingStub stub) {
+ this.stub = stub;
+ }
+
+ @WorkerThread
+ public TranscriptionResponseWrapper transcribeVoicemail(TranscribeVoicemailRequest request) {
+ TranscribeVoicemailResponse response = null;
+ Status status = null;
+ try {
+ response = stub.transcribeVoicemail(request);
+ } catch (StatusRuntimeException e) {
+ status = e.getStatus();
+ }
+ return new TranscriptionClient.TranscriptionResponseWrapper(response, status);
+ }
+}
diff --git a/java/com/android/voicemail/impl/transcribe/grpc/TranscriptionClientFactory.java b/java/com/android/voicemail/impl/transcribe/grpc/TranscriptionClientFactory.java
new file mode 100644
index 000000000..6101ed516
--- /dev/null
+++ b/java/com/android/voicemail/impl/transcribe/grpc/TranscriptionClientFactory.java
@@ -0,0 +1,194 @@
+/*
+ * 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
+ */
+package com.android.voicemail.impl.transcribe.grpc;
+
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.text.TextUtils;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.LogUtil;
+import com.android.voicemail.impl.transcribe.TranscriptionConfigProvider;
+import com.google.internal.communications.voicemailtranscription.v1.VoicemailTranscriptionServiceGrpc;
+import io.grpc.CallOptions;
+import io.grpc.Channel;
+import io.grpc.ClientCall;
+import io.grpc.ClientInterceptor;
+import io.grpc.ClientInterceptors;
+import io.grpc.ForwardingClientCall;
+import io.grpc.ManagedChannel;
+import io.grpc.ManagedChannelBuilder;
+import io.grpc.Metadata;
+import io.grpc.MethodDescriptor;
+import io.grpc.okhttp.OkHttpChannelBuilder;
+import java.security.MessageDigest;
+
+/**
+ * Factory for creating grpc clients that talk to the transcription server. This allows all clients
+ * to share the same channel, which is relatively expensive to create.
+ */
+public class TranscriptionClientFactory {
+ private static final String DIGEST_ALGORITHM_SHA1 = "SHA1";
+ private static final char[] HEX_UPPERCASE = {
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
+ };
+
+ private final TranscriptionConfigProvider configProvider;
+ private final ManagedChannel originalChannel;
+ private final String packageName;
+ private final String cert;
+
+ public TranscriptionClientFactory(Context context, TranscriptionConfigProvider configProvider) {
+ this(context, configProvider, getManagedChannel(configProvider));
+ }
+
+ public TranscriptionClientFactory(
+ Context context, TranscriptionConfigProvider configProvider, ManagedChannel managedChannel) {
+ this.configProvider = configProvider;
+ this.packageName = context.getPackageName();
+ this.cert = getCertificateFingerprint(context);
+ originalChannel = managedChannel;
+ }
+
+ public TranscriptionClient getClient() {
+ LogUtil.enterBlock("TranscriptionClientFactory.getClient");
+ Assert.checkState(!originalChannel.isShutdown());
+ Channel channel =
+ ClientInterceptors.intercept(
+ originalChannel,
+ new Interceptor(
+ packageName, cert, configProvider.getApiKey(), configProvider.getAuthToken()));
+ return new TranscriptionClient(VoicemailTranscriptionServiceGrpc.newBlockingStub(channel));
+ }
+
+ public void shutdown() {
+ LogUtil.enterBlock("TranscriptionClientFactory.shutdown");
+ originalChannel.shutdown();
+ }
+
+ private static ManagedChannel getManagedChannel(TranscriptionConfigProvider configProvider) {
+ ManagedChannelBuilder<OkHttpChannelBuilder> builder =
+ OkHttpChannelBuilder.forTarget(configProvider.getServerAddress());
+ // Only use plaintext for debugging
+ if (configProvider.shouldUsePlaintext()) {
+ // Just passing 'false' doesnt have the same effect as not setting this field
+ builder.usePlaintext(true);
+ }
+ return builder.build();
+ }
+
+ private static String getCertificateFingerprint(Context context) {
+ try {
+ PackageInfo packageInfo =
+ context
+ .getPackageManager()
+ .getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
+ if (packageInfo != null
+ && packageInfo.signatures != null
+ && packageInfo.signatures.length > 0) {
+ MessageDigest messageDigest = MessageDigest.getInstance(DIGEST_ALGORITHM_SHA1);
+ if (messageDigest == null) {
+ LogUtil.w(
+ "TranscriptionClientFactory.getCertificateFingerprint", "error getting digest.");
+ return null;
+ }
+ byte[] bytes = messageDigest.digest(packageInfo.signatures[0].toByteArray());
+ if (bytes == null) {
+ LogUtil.w(
+ "TranscriptionClientFactory.getCertificateFingerprint", "empty message digest.");
+ return null;
+ }
+
+ int length = bytes.length;
+ StringBuilder out = new StringBuilder(length * 2);
+ for (int i = 0; i < length; i++) {
+ out.append(HEX_UPPERCASE[(bytes[i] & 0xf0) >>> 4]);
+ out.append(HEX_UPPERCASE[bytes[i] & 0x0f]);
+ }
+ return out.toString();
+ } else {
+ LogUtil.w(
+ "TranscriptionClientFactory.getCertificateFingerprint",
+ "failed to get package signature.");
+ }
+ } catch (Exception e) {
+ LogUtil.e(
+ "TranscriptionClientFactory.getCertificateFingerprint",
+ "error getting certificate fingerprint.",
+ e);
+ }
+
+ return null;
+ }
+
+ private static final class Interceptor implements ClientInterceptor {
+ private final String packageName;
+ private final String cert;
+ private final String apiKey;
+ private final String authToken;
+
+ private static final Metadata.Key<String> API_KEY_HEADER =
+ Metadata.Key.of("X-Goog-Api-Key", Metadata.ASCII_STRING_MARSHALLER);
+ private static final Metadata.Key<String> ANDROID_PACKAGE_HEADER =
+ Metadata.Key.of("X-Android-Package", Metadata.ASCII_STRING_MARSHALLER);
+ private static final Metadata.Key<String> ANDROID_CERT_HEADER =
+ Metadata.Key.of("X-Android-Cert", Metadata.ASCII_STRING_MARSHALLER);
+ private static final Metadata.Key<String> AUTHORIZATION_HEADER =
+ Metadata.Key.of("authorization", Metadata.ASCII_STRING_MARSHALLER);
+
+ public Interceptor(String packageName, String cert, String apiKey, String authToken) {
+ this.packageName = packageName;
+ this.cert = cert;
+ this.apiKey = apiKey;
+ this.authToken = authToken;
+ }
+
+ @Override
+ public <ReqT, RespT> ClientCall<ReqT, RespT> interceptCall(
+ MethodDescriptor<ReqT, RespT> method, CallOptions callOptions, Channel next) {
+ LogUtil.enterBlock(
+ "TranscriptionClientFactory.interceptCall, intercepted " + method.getFullMethodName());
+ ClientCall<ReqT, RespT> call = next.newCall(method, callOptions);
+
+ call =
+ new ForwardingClientCall.SimpleForwardingClientCall<ReqT, RespT>(call) {
+ @Override
+ public void start(Listener<RespT> responseListener, Metadata headers) {
+ if (!TextUtils.isEmpty(packageName)) {
+ LogUtil.i(
+ "TranscriptionClientFactory.interceptCall",
+ "attaching package name: " + packageName);
+ headers.put(ANDROID_PACKAGE_HEADER, packageName);
+ }
+ if (!TextUtils.isEmpty(cert)) {
+ LogUtil.i("TranscriptionClientFactory.interceptCall", "attaching android cert");
+ headers.put(ANDROID_CERT_HEADER, cert);
+ }
+ if (!TextUtils.isEmpty(apiKey)) {
+ LogUtil.i("TranscriptionClientFactory.interceptCall", "attaching API Key");
+ headers.put(API_KEY_HEADER, apiKey);
+ }
+ if (!TextUtils.isEmpty(authToken)) {
+ LogUtil.i("TranscriptionClientFactory.interceptCall", "attaching auth token");
+ headers.put(AUTHORIZATION_HEADER, "Bearer " + authToken);
+ }
+ super.start(responseListener, headers);
+ }
+ };
+ return call;
+ }
+ }
+}
diff --git a/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto b/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto
new file mode 100644
index 000000000..1fa4727f9
--- /dev/null
+++ b/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto
@@ -0,0 +1,44 @@
+// LINT.IfChange
+
+syntax = "proto2";
+
+package google.internal.communications.voicemailtranscription.v1;
+
+option java_multiple_files = true;
+option java_package = "com.google.internal.communications.voicemailtranscription.v1";
+option optimize_for = LITE_RUNTIME;
+
+// Enum that specifies supported audio formats.
+enum AudioFormat {
+ // Default but invalid value.
+ AUDIO_FORMAT_UNSPECIFIED = 0;
+
+ // Adaptive Multi-Rate Narrowband, 8kHz sampling frequency.
+ // https://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec
+ AMR_NB_8KHZ = 1;
+}
+
+// Request for synchronous voicemail transcription.
+message TranscribeVoicemailRequest {
+ // Voicemail audio file containing the raw bytes we receive from the carrier.
+ optional bytes voicemail_data = 1;
+
+ // Audio format of the voicemail file.
+ optional AudioFormat audio_format = 2;
+}
+
+// Response for synchronous voicemail transcription.
+message TranscribeVoicemailResponse {
+ // The transcribed text of the voicemail.
+ optional string transcript = 1;
+}
+
+// RPC service for transcribing voicemails.
+service VoicemailTranscriptionService {
+ // Returns a transcript of the given voicemail.
+ rpc TranscribeVoicemail(TranscribeVoicemailRequest)
+ returns (TranscribeVoicemailResponse) {}
+}
+
+// LINT.ThenChange(//depot/google3/google/internal/communications/voicemailtranscription/v1/\
+// voicemail_transcription.proto) \ No newline at end of file